summaryrefslogtreecommitdiff
path: root/lib/unicode
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2001-07-04 01:32:11 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2001-07-04 01:32:11 +0000
commit2796c109dc2c56e2241410992d78bd8e0cccd71f (patch)
tree6afcbd325dc2525c4681ef8e20e95afc8fcd49a4 /lib/unicode
parentad9cab3708f3a6aff28b5c1ca3a390c013235283 (diff)
downloadperl-2796c109dc2c56e2241410992d78bd8e0cccd71f.tar.gz
Support preferentially the Unicode 'scripts' definition
in the \p{In...} notation since according to Unicode the scripts concept is more natural for matching than using the somewhat artificial block names. The block names are still available, though, and if there's a name conflict, the scripts one wins and the blocks one has to do with 'Block' appended to its name. For more information see http://www.unicode.org/unicode/reports/tr24/ p4raw-id: //depot/perl@11132
Diffstat (limited to 'lib/unicode')
-rw-r--r--lib/unicode/Blocks.pl297
-rw-r--r--lib/unicode/In.pl232
-rw-r--r--lib/unicode/In/0.pl19
-rw-r--r--lib/unicode/In/1.pl21
-rw-r--r--lib/unicode/In/10.pl16
-rw-r--r--lib/unicode/In/100.pl6
-rw-r--r--lib/unicode/In/101.pl6
-rw-r--r--lib/unicode/In/102.pl6
-rw-r--r--lib/unicode/In/103.pl6
-rw-r--r--lib/unicode/In/104.pl6
-rw-r--r--lib/unicode/In/105.pl6
-rw-r--r--lib/unicode/In/106.pl6
-rw-r--r--lib/unicode/In/107.pl6
-rw-r--r--lib/unicode/In/108.pl6
-rw-r--r--lib/unicode/In/109.pl6
-rw-r--r--lib/unicode/In/11.pl13
-rw-r--r--lib/unicode/In/110.pl6
-rw-r--r--lib/unicode/In/111.pl6
-rw-r--r--lib/unicode/In/112.pl6
-rw-r--r--lib/unicode/In/113.pl6
-rw-r--r--lib/unicode/In/114.pl6
-rw-r--r--lib/unicode/In/115.pl6
-rw-r--r--lib/unicode/In/116.pl6
-rw-r--r--lib/unicode/In/117.pl6
-rw-r--r--lib/unicode/In/118.pl6
-rw-r--r--lib/unicode/In/119.pl6
-rw-r--r--lib/unicode/In/12.pl14
-rw-r--r--lib/unicode/In/120.pl6
-rw-r--r--lib/unicode/In/121.pl6
-rw-r--r--lib/unicode/In/122.pl6
-rw-r--r--lib/unicode/In/123.pl6
-rw-r--r--lib/unicode/In/124.pl6
-rw-r--r--lib/unicode/In/125.pl6
-rw-r--r--lib/unicode/In/126.pl6
-rw-r--r--lib/unicode/In/127.pl6
-rw-r--r--lib/unicode/In/128.pl6
-rw-r--r--lib/unicode/In/129.pl6
-rw-r--r--lib/unicode/In/13.pl16
-rw-r--r--lib/unicode/In/130.pl6
-rw-r--r--lib/unicode/In/131.pl6
-rw-r--r--lib/unicode/In/132.pl6
-rw-r--r--lib/unicode/In/133.pl6
-rw-r--r--lib/unicode/In/134.pl6
-rw-r--r--lib/unicode/In/135.pl6
-rw-r--r--lib/unicode/In/14.pl14
-rw-r--r--lib/unicode/In/15.pl14
-rw-r--r--lib/unicode/In/16.pl12
-rw-r--r--lib/unicode/In/17.pl10
-rw-r--r--lib/unicode/In/18.pl7
-rw-r--r--lib/unicode/In/19.pl15
-rw-r--r--lib/unicode/In/2.pl8
-rw-r--r--lib/unicode/In/20.pl12
-rw-r--r--lib/unicode/In/21.pl10
-rw-r--r--lib/unicode/In/22.pl3
-rw-r--r--lib/unicode/In/23.pl11
-rw-r--r--lib/unicode/In/24.pl22
-rw-r--r--lib/unicode/In/25.pl2
-rw-r--r--lib/unicode/In/26.pl3
-rw-r--r--lib/unicode/In/27.pl2
-rw-r--r--lib/unicode/In/28.pl3
-rw-r--r--lib/unicode/In/29.pl8
-rw-r--r--lib/unicode/In/3.pl4
-rw-r--r--lib/unicode/In/30.pl5
-rw-r--r--lib/unicode/In/31.pl3
-rw-r--r--lib/unicode/In/32.pl5
-rw-r--r--lib/unicode/In/33.pl3
-rw-r--r--lib/unicode/In/34.pl11
-rw-r--r--lib/unicode/In/35.pl6
-rw-r--r--lib/unicode/In/36.pl2
-rw-r--r--lib/unicode/In/37.pl2
-rw-r--r--lib/unicode/In/38.pl3
-rw-r--r--lib/unicode/In/39.pl24
-rw-r--r--lib/unicode/In/4.pl9
-rw-r--r--lib/unicode/In/40.pl2
-rw-r--r--lib/unicode/In/41.pl2
-rw-r--r--lib/unicode/In/42.pl2
-rw-r--r--lib/unicode/In/43.pl2
-rw-r--r--lib/unicode/In/44.pl2
-rw-r--r--lib/unicode/In/45.pl2
-rw-r--r--lib/unicode/In/46.pl2
-rw-r--r--lib/unicode/In/47.pl2
-rw-r--r--lib/unicode/In/48.pl2
-rw-r--r--lib/unicode/In/49.pl2
-rw-r--r--lib/unicode/In/5.pl13
-rw-r--r--lib/unicode/In/50.pl2
-rw-r--r--lib/unicode/In/51.pl2
-rw-r--r--lib/unicode/In/52.pl2
-rw-r--r--lib/unicode/In/53.pl2
-rw-r--r--lib/unicode/In/54.pl2
-rw-r--r--lib/unicode/In/55.pl2
-rw-r--r--lib/unicode/In/56.pl2
-rw-r--r--lib/unicode/In/57.pl2
-rw-r--r--lib/unicode/In/58.pl2
-rw-r--r--lib/unicode/In/59.pl2
-rw-r--r--lib/unicode/In/6.pl3
-rw-r--r--lib/unicode/In/60.pl2
-rw-r--r--lib/unicode/In/61.pl2
-rw-r--r--lib/unicode/In/62.pl2
-rw-r--r--lib/unicode/In/63.pl2
-rw-r--r--lib/unicode/In/64.pl2
-rw-r--r--lib/unicode/In/65.pl2
-rw-r--r--lib/unicode/In/66.pl2
-rw-r--r--lib/unicode/In/67.pl2
-rw-r--r--lib/unicode/In/68.pl2
-rw-r--r--lib/unicode/In/69.pl2
-rw-r--r--lib/unicode/In/7.pl3
-rw-r--r--lib/unicode/In/70.pl2
-rw-r--r--lib/unicode/In/71.pl2
-rw-r--r--lib/unicode/In/72.pl2
-rw-r--r--lib/unicode/In/73.pl2
-rw-r--r--lib/unicode/In/74.pl2
-rw-r--r--lib/unicode/In/75.pl2
-rw-r--r--lib/unicode/In/76.pl2
-rw-r--r--lib/unicode/In/77.pl2
-rw-r--r--lib/unicode/In/78.pl2
-rw-r--r--lib/unicode/In/79.pl2
-rw-r--r--lib/unicode/In/8.pl10
-rw-r--r--lib/unicode/In/80.pl2
-rw-r--r--lib/unicode/In/81.pl2
-rw-r--r--lib/unicode/In/82.pl2
-rw-r--r--lib/unicode/In/83.pl2
-rw-r--r--lib/unicode/In/84.pl2
-rw-r--r--lib/unicode/In/85.pl2
-rw-r--r--lib/unicode/In/86.pl2
-rw-r--r--lib/unicode/In/87.pl2
-rw-r--r--lib/unicode/In/88.pl2
-rw-r--r--lib/unicode/In/89.pl2
-rw-r--r--lib/unicode/In/9.pl15
-rw-r--r--lib/unicode/In/90.pl2
-rw-r--r--lib/unicode/In/91.pl2
-rw-r--r--lib/unicode/In/92.pl2
-rw-r--r--lib/unicode/In/93.pl2
-rw-r--r--lib/unicode/In/94.pl2
-rw-r--r--lib/unicode/In/95.pl2
-rw-r--r--lib/unicode/In/96.pl6
-rw-r--r--lib/unicode/In/97.pl6
-rw-r--r--lib/unicode/In/98.pl6
-rw-r--r--lib/unicode/In/99.pl6
-rw-r--r--lib/unicode/Scripts.pl341
-rwxr-xr-xlib/unicode/mktables.PL91
140 files changed, 1282 insertions, 407 deletions
diff --git a/lib/unicode/Blocks.pl b/lib/unicode/Blocks.pl
index ef60058ba3..e45026a996 100644
--- a/lib/unicode/Blocks.pl
+++ b/lib/unicode/Blocks.pl
@@ -2,202 +2,103 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0000 007F Basic Latin
-# In/0.pl BasicLatin
-0080 00FF Latin-1 Supplement
-# In/1.pl Latin1Supplement
-0100 017F Latin Extended-A
-# In/2.pl LatinExtendedA
-0180 024F Latin Extended-B
-# In/3.pl LatinExtendedB
-0250 02AF IPA Extensions
-# In/4.pl IPAExtensions
-02B0 02FF Spacing Modifier Letters
-# In/5.pl SpacingModifierLetters
-0300 036F Combining Diacritical Marks
-# In/6.pl CombiningDiacriticalMarks
-0370 03FF Greek
-# In/7.pl Greek
-0400 04FF Cyrillic
-# In/8.pl Cyrillic
-0530 058F Armenian
-# In/9.pl Armenian
-0590 05FF Hebrew
-# In/10.pl Hebrew
-0600 06FF Arabic
-# In/11.pl Arabic
-0700 074F Syriac
-# In/12.pl Syriac
-0780 07BF Thaana
-# In/13.pl Thaana
-0900 097F Devanagari
-# In/14.pl Devanagari
-0980 09FF Bengali
-# In/15.pl Bengali
-0A00 0A7F Gurmukhi
-# In/16.pl Gurmukhi
-0A80 0AFF Gujarati
-# In/17.pl Gujarati
-0B00 0B7F Oriya
-# In/18.pl Oriya
-0B80 0BFF Tamil
-# In/19.pl Tamil
-0C00 0C7F Telugu
-# In/20.pl Telugu
-0C80 0CFF Kannada
-# In/21.pl Kannada
-0D00 0D7F Malayalam
-# In/22.pl Malayalam
-0D80 0DFF Sinhala
-# In/23.pl Sinhala
-0E00 0E7F Thai
-# In/24.pl Thai
-0E80 0EFF Lao
-# In/25.pl Lao
-0F00 0FFF Tibetan
-# In/26.pl Tibetan
-1000 109F Myanmar
-# In/27.pl Myanmar
-10A0 10FF Georgian
-# In/28.pl Georgian
-1100 11FF Hangul Jamo
-# In/29.pl HangulJamo
-1200 137F Ethiopic
-# In/30.pl Ethiopic
-13A0 13FF Cherokee
-# In/31.pl Cherokee
-1400 167F Unified Canadian Aboriginal Syllabics
-# In/32.pl UnifiedCanadianAboriginalSyllabics
-1680 169F Ogham
-# In/33.pl Ogham
-16A0 16FF Runic
-# In/34.pl Runic
-1780 17FF Khmer
-# In/35.pl Khmer
-1800 18AF Mongolian
-# In/36.pl Mongolian
-1E00 1EFF Latin Extended Additional
-# In/37.pl LatinExtendedAdditional
-1F00 1FFF Greek Extended
-# In/38.pl GreekExtended
-2000 206F General Punctuation
-# In/39.pl GeneralPunctuation
-2070 209F Superscripts and Subscripts
-# In/40.pl SuperscriptsandSubscripts
-20A0 20CF Currency Symbols
-# In/41.pl CurrencySymbols
-20D0 20FF Combining Marks for Symbols
-# In/42.pl CombiningMarksforSymbols
-2100 214F Letterlike Symbols
-# In/43.pl LetterlikeSymbols
-2150 218F Number Forms
-# In/44.pl NumberForms
-2190 21FF Arrows
-# In/45.pl Arrows
-2200 22FF Mathematical Operators
-# In/46.pl MathematicalOperators
-2300 23FF Miscellaneous Technical
-# In/47.pl MiscellaneousTechnical
-2400 243F Control Pictures
-# In/48.pl ControlPictures
-2440 245F Optical Character Recognition
-# In/49.pl OpticalCharacterRecognition
-2460 24FF Enclosed Alphanumerics
-# In/50.pl EnclosedAlphanumerics
-2500 257F Box Drawing
-# In/51.pl BoxDrawing
-2580 259F Block Elements
-# In/52.pl BlockElements
-25A0 25FF Geometric Shapes
-# In/53.pl GeometricShapes
-2600 26FF Miscellaneous Symbols
-# In/54.pl MiscellaneousSymbols
-2700 27BF Dingbats
-# In/55.pl Dingbats
-2800 28FF Braille Patterns
-# In/56.pl BraillePatterns
-2E80 2EFF CJK Radicals Supplement
-# In/57.pl CJKRadicalsSupplement
-2F00 2FDF Kangxi Radicals
-# In/58.pl KangxiRadicals
-2FF0 2FFF Ideographic Description Characters
-# In/59.pl IdeographicDescriptionCharacters
-3000 303F CJK Symbols and Punctuation
-# In/60.pl CJKSymbolsandPunctuation
-3040 309F Hiragana
-# In/61.pl Hiragana
-30A0 30FF Katakana
-# In/62.pl Katakana
-3100 312F Bopomofo
-# In/63.pl Bopomofo
-3130 318F Hangul Compatibility Jamo
-# In/64.pl HangulCompatibilityJamo
-3190 319F Kanbun
-# In/65.pl Kanbun
-31A0 31BF Bopomofo Extended
-# In/66.pl BopomofoExtended
-3200 32FF Enclosed CJK Letters and Months
-# In/67.pl EnclosedCJKLettersandMonths
-3300 33FF CJK Compatibility
-# In/68.pl CJKCompatibility
-3400 4DB5 CJK Unified Ideographs Extension A
-# In/69.pl CJKUnifiedIdeographsExtensionA
-4E00 9FFF CJK Unified Ideographs
-# In/70.pl CJKUnifiedIdeographs
-A000 A48F Yi Syllables
-# In/71.pl YiSyllables
-A490 A4CF Yi Radicals
-# In/72.pl YiRadicals
-AC00 D7A3 Hangul Syllables
-# In/73.pl HangulSyllables
-D800 DB7F High Surrogates
-# In/74.pl HighSurrogates
-DB80 DBFF High Private Use Surrogates
-# In/75.pl HighPrivateUseSurrogates
-DC00 DFFF Low Surrogates
-# In/76.pl LowSurrogates
-E000 F8FF Private Use
-# In/77.pl PrivateUse
-F900 FAFF CJK Compatibility Ideographs
-# In/78.pl CJKCompatibilityIdeographs
-FB00 FB4F Alphabetic Presentation Forms
-# In/79.pl AlphabeticPresentationForms
-FB50 FDFF Arabic Presentation Forms-A
-# In/80.pl ArabicPresentationFormsA
-FE20 FE2F Combining Half Marks
-# In/81.pl CombiningHalfMarks
-FE30 FE4F CJK Compatibility Forms
-# In/82.pl CJKCompatibilityForms
-FE50 FE6F Small Form Variants
-# In/83.pl SmallFormVariants
-FE70 FEFE Arabic Presentation Forms-B
-# In/84.pl ArabicPresentationFormsB
-FEFF FEFF Specials
-# In/85.pl Specials
-FF00 FFEF Halfwidth and Fullwidth Forms
-# In/86.pl HalfwidthandFullwidthForms
-FFF0 FFFD Specials
-# In/85.pl Specials
-10300 1032F Old Italic
-# In/87.pl OldItalic
-10330 1034F Gothic
-# In/88.pl Gothic
-10400 1044F Deseret
-# In/89.pl Deseret
-1D000 1D0FF Byzantine Musical Symbols
-# In/90.pl ByzantineMusicalSymbols
-1D100 1D1FF Musical Symbols
-# In/91.pl MusicalSymbols
-1D400 1D7FF Mathematical Alphanumeric Symbols
-# In/92.pl MathematicalAlphanumericSymbols
-20000 2A6D6 CJK Unified Ideographs Extension B
-# In/93.pl CJKUnifiedIdeographsExtensionB
-2F800 2FA1F CJK Compatibility Ideographs Supplement
-# In/94.pl CJKCompatibilityIdeographsSupplement
-E0000 E007F Tags
-# In/95.pl Tags
-F0000 FFFFD Private Use
-# In/77.pl PrivateUse
-100000 10FFFD Private Use
-# In/77.pl PrivateUse
+0000 007F Basic Latin # BasicLatin In/40.pl
+0080 00FF Latin-1 Supplement # Latin1Supplement In/41.pl
+0100 017F Latin Extended-A # LatinExtendedA In/42.pl
+0180 024F Latin Extended-B # LatinExtendedB In/43.pl
+0250 02AF IPA Extensions # IPAExtensions In/44.pl
+02B0 02FF Spacing Modifier Letters # SpacingModifierLetters In/45.pl
+0300 036F Combining Diacritical Marks # CombiningDiacriticalMarks In/46.pl
+0370 03FF Greek # GreekBlock In/47.pl
+0400 04FF Cyrillic # CyrillicBlock In/48.pl
+0530 058F Armenian # ArmenianBlock In/49.pl
+0590 05FF Hebrew # HebrewBlock In/50.pl
+0600 06FF Arabic # ArabicBlock In/51.pl
+0700 074F Syriac # SyriacBlock In/52.pl
+0780 07BF Thaana # ThaanaBlock In/53.pl
+0900 097F Devanagari # DevanagariBlock In/54.pl
+0980 09FF Bengali # BengaliBlock In/55.pl
+0A00 0A7F Gurmukhi # GurmukhiBlock In/56.pl
+0A80 0AFF Gujarati # GujaratiBlock In/57.pl
+0B00 0B7F Oriya # OriyaBlock In/58.pl
+0B80 0BFF Tamil # TamilBlock In/59.pl
+0C00 0C7F Telugu # TeluguBlock In/60.pl
+0C80 0CFF Kannada # KannadaBlock In/61.pl
+0D00 0D7F Malayalam # MalayalamBlock In/62.pl
+0D80 0DFF Sinhala # SinhalaBlock In/63.pl
+0E00 0E7F Thai # ThaiBlock In/64.pl
+0E80 0EFF Lao # LaoBlock In/65.pl
+0F00 0FFF Tibetan # TibetanBlock In/66.pl
+1000 109F Myanmar # MyanmarBlock In/67.pl
+10A0 10FF Georgian # GeorgianBlock In/68.pl
+1100 11FF Hangul Jamo # HangulJamo In/69.pl
+1200 137F Ethiopic # EthiopicBlock In/70.pl
+13A0 13FF Cherokee # CherokeeBlock In/71.pl
+1400 167F Unified Canadian Aboriginal Syllabics # UnifiedCanadianAboriginalSyllabics In/72.pl
+1680 169F Ogham # OghamBlock In/73.pl
+16A0 16FF Runic # RunicBlock In/74.pl
+1780 17FF Khmer # KhmerBlock In/75.pl
+1800 18AF Mongolian # MongolianBlock In/76.pl
+1E00 1EFF Latin Extended Additional # LatinExtendedAdditional In/77.pl
+1F00 1FFF Greek Extended # GreekExtended In/78.pl
+2000 206F General Punctuation # GeneralPunctuation In/79.pl
+2070 209F Superscripts and Subscripts # SuperscriptsandSubscripts In/80.pl
+20A0 20CF Currency Symbols # CurrencySymbols In/81.pl
+20D0 20FF Combining Marks for Symbols # CombiningMarksforSymbols In/82.pl
+2100 214F Letterlike Symbols # LetterlikeSymbols In/83.pl
+2150 218F Number Forms # NumberForms In/84.pl
+2190 21FF Arrows # Arrows In/85.pl
+2200 22FF Mathematical Operators # MathematicalOperators In/86.pl
+2300 23FF Miscellaneous Technical # MiscellaneousTechnical In/87.pl
+2400 243F Control Pictures # ControlPictures In/88.pl
+2440 245F Optical Character Recognition # OpticalCharacterRecognition In/89.pl
+2460 24FF Enclosed Alphanumerics # EnclosedAlphanumerics In/90.pl
+2500 257F Box Drawing # BoxDrawing In/91.pl
+2580 259F Block Elements # BlockElements In/92.pl
+25A0 25FF Geometric Shapes # GeometricShapes In/93.pl
+2600 26FF Miscellaneous Symbols # MiscellaneousSymbols In/94.pl
+2700 27BF Dingbats # Dingbats In/95.pl
+2800 28FF Braille Patterns # BraillePatterns In/96.pl
+2E80 2EFF CJK Radicals Supplement # CJKRadicalsSupplement In/97.pl
+2F00 2FDF Kangxi Radicals # KangxiRadicals In/98.pl
+2FF0 2FFF Ideographic Description Characters # IdeographicDescriptionCharacters In/99.pl
+3000 303F CJK Symbols and Punctuation # CJKSymbolsandPunctuation In/100.pl
+3040 309F Hiragana # HiraganaBlock In/101.pl
+30A0 30FF Katakana # KatakanaBlock In/102.pl
+3100 312F Bopomofo # BopomofoBlock In/103.pl
+3130 318F Hangul Compatibility Jamo # HangulCompatibilityJamo In/104.pl
+3190 319F Kanbun # Kanbun In/105.pl
+31A0 31BF Bopomofo Extended # BopomofoExtended In/106.pl
+3200 32FF Enclosed CJK Letters and Months # EnclosedCJKLettersandMonths In/107.pl
+3300 33FF CJK Compatibility # CJKCompatibility In/108.pl
+3400 4DB5 CJK Unified Ideographs Extension A # CJKUnifiedIdeographsExtensionA In/109.pl
+4E00 9FFF CJK Unified Ideographs # CJKUnifiedIdeographs In/110.pl
+A000 A48F Yi Syllables # YiSyllables In/111.pl
+A490 A4CF Yi Radicals # YiRadicals In/112.pl
+AC00 D7A3 Hangul Syllables # HangulSyllables In/113.pl
+D800 DB7F High Surrogates # HighSurrogates In/114.pl
+DB80 DBFF High Private Use Surrogates # HighPrivateUseSurrogates In/115.pl
+DC00 DFFF Low Surrogates # LowSurrogates In/116.pl
+E000 F8FF Private Use # PrivateUse In/117.pl
+F900 FAFF CJK Compatibility Ideographs # CJKCompatibilityIdeographs In/118.pl
+FB00 FB4F Alphabetic Presentation Forms # AlphabeticPresentationForms In/119.pl
+FB50 FDFF Arabic Presentation Forms-A # ArabicPresentationFormsA In/120.pl
+FE20 FE2F Combining Half Marks # CombiningHalfMarks In/121.pl
+FE30 FE4F CJK Compatibility Forms # CJKCompatibilityForms In/122.pl
+FE50 FE6F Small Form Variants # SmallFormVariants In/123.pl
+FE70 FEFE Arabic Presentation Forms-B # ArabicPresentationFormsB In/124.pl
+FEFF FEFF Specials # Specials In/125.pl
+FF00 FFEF Halfwidth and Fullwidth Forms # HalfwidthandFullwidthForms In/126.pl
+FFF0 FFFD Specials # Specials In/125.pl
+10300 1032F Old Italic # OldItalicBlock In/127.pl
+10330 1034F Gothic # GothicBlock In/128.pl
+10400 1044F Deseret # DeseretBlock In/129.pl
+1D000 1D0FF Byzantine Musical Symbols # ByzantineMusicalSymbols In/130.pl
+1D100 1D1FF Musical Symbols # MusicalSymbols In/131.pl
+1D400 1D7FF Mathematical Alphanumeric Symbols # MathematicalAlphanumericSymbols In/132.pl
+20000 2A6D6 CJK Unified Ideographs Extension B # CJKUnifiedIdeographsExtensionB In/133.pl
+2F800 2FA1F CJK Compatibility Ideographs Supplement # CJKCompatibilityIdeographsSupplement In/134.pl
+E0000 E007F Tags # Tags In/135.pl
+F0000 FFFFD Private Use # PrivateUse In/117.pl
+100000 10FFFD Private Use # PrivateUse In/117.pl
END
diff --git a/lib/unicode/In.pl b/lib/unicode/In.pl
index e0b7a5a5f8..a6c24199a7 100644
--- a/lib/unicode/In.pl
+++ b/lib/unicode/In.pl
@@ -2,100 +2,140 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
%utf8::In = (
-'BasicLatin' => 0,
-'Latin1Supplement' => 1,
-'LatinExtendedA' => 2,
-'LatinExtendedB' => 3,
-'IPAExtensions' => 4,
-'SpacingModifierLetters' => 5,
-'CombiningDiacriticalMarks' => 6,
-'Greek' => 7,
-'Cyrillic' => 8,
-'Armenian' => 9,
-'Hebrew' => 10,
-'Arabic' => 11,
-'Syriac' => 12,
-'Thaana' => 13,
-'Devanagari' => 14,
-'Bengali' => 15,
-'Gurmukhi' => 16,
-'Gujarati' => 17,
-'Oriya' => 18,
-'Tamil' => 19,
-'Telugu' => 20,
-'Kannada' => 21,
-'Malayalam' => 22,
-'Sinhala' => 23,
-'Thai' => 24,
-'Lao' => 25,
-'Tibetan' => 26,
-'Myanmar' => 27,
-'Georgian' => 28,
-'HangulJamo' => 29,
-'Ethiopic' => 30,
-'Cherokee' => 31,
-'UnifiedCanadianAboriginalSyllabics' => 32,
-'Ogham' => 33,
-'Runic' => 34,
-'Khmer' => 35,
-'Mongolian' => 36,
-'LatinExtendedAdditional' => 37,
-'GreekExtended' => 38,
-'GeneralPunctuation' => 39,
-'SuperscriptsandSubscripts' => 40,
-'CurrencySymbols' => 41,
-'CombiningMarksforSymbols' => 42,
-'LetterlikeSymbols' => 43,
-'NumberForms' => 44,
-'Arrows' => 45,
-'MathematicalOperators' => 46,
-'MiscellaneousTechnical' => 47,
-'ControlPictures' => 48,
-'OpticalCharacterRecognition' => 49,
-'EnclosedAlphanumerics' => 50,
-'BoxDrawing' => 51,
-'BlockElements' => 52,
-'GeometricShapes' => 53,
-'MiscellaneousSymbols' => 54,
-'Dingbats' => 55,
-'BraillePatterns' => 56,
-'CJKRadicalsSupplement' => 57,
-'KangxiRadicals' => 58,
-'IdeographicDescriptionCharacters' => 59,
-'CJKSymbolsandPunctuation' => 60,
-'Hiragana' => 61,
-'Katakana' => 62,
-'Bopomofo' => 63,
-'HangulCompatibilityJamo' => 64,
-'Kanbun' => 65,
-'BopomofoExtended' => 66,
-'EnclosedCJKLettersandMonths' => 67,
-'CJKCompatibility' => 68,
-'CJKUnifiedIdeographsExtensionA' => 69,
-'CJKUnifiedIdeographs' => 70,
-'YiSyllables' => 71,
-'YiRadicals' => 72,
-'HangulSyllables' => 73,
-'HighSurrogates' => 74,
-'HighPrivateUseSurrogates' => 75,
-'LowSurrogates' => 76,
-'PrivateUse' => 77,
-'CJKCompatibilityIdeographs' => 78,
-'AlphabeticPresentationForms' => 79,
-'ArabicPresentationFormsA' => 80,
-'CombiningHalfMarks' => 81,
-'CJKCompatibilityForms' => 82,
-'SmallFormVariants' => 83,
-'ArabicPresentationFormsB' => 84,
-'Specials' => 85,
-'HalfwidthandFullwidthForms' => 86,
-'OldItalic' => 87,
-'Gothic' => 88,
-'Deseret' => 89,
-'ByzantineMusicalSymbols' => 90,
-'MusicalSymbols' => 91,
-'MathematicalAlphanumericSymbols' => 92,
-'CJKUnifiedIdeographsExtensionB' => 93,
-'CJKCompatibilityIdeographsSupplement' => 94,
-'Tags' => 95,
+'Latin' => 0,
+'Greek' => 1,
+'Cyrillic' => 2,
+'Armenian' => 3,
+'Hebrew' => 4,
+'Arabic' => 5,
+'Syriac' => 6,
+'Thaana' => 7,
+'Devanagari' => 8,
+'Bengali' => 9,
+'Gurmukhi' => 10,
+'Gujarati' => 11,
+'Oriya' => 12,
+'Tamil' => 13,
+'Telugu' => 14,
+'Kannada' => 15,
+'Malayalam' => 16,
+'Sinhala' => 17,
+'Thai' => 18,
+'Lao' => 19,
+'Tibetan' => 20,
+'Myanmar' => 21,
+'Georgian' => 22,
+'Hangul' => 23,
+'Ethiopic' => 24,
+'Cherokee' => 25,
+'CanadianAboriginal' => 26,
+'Ogham' => 27,
+'Runic' => 28,
+'Khmer' => 29,
+'Mongolian' => 30,
+'Hiragana' => 31,
+'Katakana' => 32,
+'Bopomofo' => 33,
+'Han' => 34,
+'Yi' => 35,
+'OldItalic' => 36,
+'Gothic' => 37,
+'Deseret' => 38,
+'Inherited' => 39,
+'BasicLatin' => 40,
+'Latin1Supplement' => 41,
+'LatinExtendedA' => 42,
+'LatinExtendedB' => 43,
+'IPAExtensions' => 44,
+'SpacingModifierLetters' => 45,
+'CombiningDiacriticalMarks' => 46,
+'GreekBlock' => 47,
+'CyrillicBlock' => 48,
+'ArmenianBlock' => 49,
+'HebrewBlock' => 50,
+'ArabicBlock' => 51,
+'SyriacBlock' => 52,
+'ThaanaBlock' => 53,
+'DevanagariBlock' => 54,
+'BengaliBlock' => 55,
+'GurmukhiBlock' => 56,
+'GujaratiBlock' => 57,
+'OriyaBlock' => 58,
+'TamilBlock' => 59,
+'TeluguBlock' => 60,
+'KannadaBlock' => 61,
+'MalayalamBlock' => 62,
+'SinhalaBlock' => 63,
+'ThaiBlock' => 64,
+'LaoBlock' => 65,
+'TibetanBlock' => 66,
+'MyanmarBlock' => 67,
+'GeorgianBlock' => 68,
+'HangulJamo' => 69,
+'EthiopicBlock' => 70,
+'CherokeeBlock' => 71,
+'UnifiedCanadianAboriginalSyllabics' => 72,
+'OghamBlock' => 73,
+'RunicBlock' => 74,
+'KhmerBlock' => 75,
+'MongolianBlock' => 76,
+'LatinExtendedAdditional' => 77,
+'GreekExtended' => 78,
+'GeneralPunctuation' => 79,
+'SuperscriptsandSubscripts' => 80,
+'CurrencySymbols' => 81,
+'CombiningMarksforSymbols' => 82,
+'LetterlikeSymbols' => 83,
+'NumberForms' => 84,
+'Arrows' => 85,
+'MathematicalOperators' => 86,
+'MiscellaneousTechnical' => 87,
+'ControlPictures' => 88,
+'OpticalCharacterRecognition' => 89,
+'EnclosedAlphanumerics' => 90,
+'BoxDrawing' => 91,
+'BlockElements' => 92,
+'GeometricShapes' => 93,
+'MiscellaneousSymbols' => 94,
+'Dingbats' => 95,
+'BraillePatterns' => 96,
+'CJKRadicalsSupplement' => 97,
+'KangxiRadicals' => 98,
+'IdeographicDescriptionCharacters' => 99,
+'CJKSymbolsandPunctuation' => 100,
+'HiraganaBlock' => 101,
+'KatakanaBlock' => 102,
+'BopomofoBlock' => 103,
+'HangulCompatibilityJamo' => 104,
+'Kanbun' => 105,
+'BopomofoExtended' => 106,
+'EnclosedCJKLettersandMonths' => 107,
+'CJKCompatibility' => 108,
+'CJKUnifiedIdeographsExtensionA' => 109,
+'CJKUnifiedIdeographs' => 110,
+'YiSyllables' => 111,
+'YiRadicals' => 112,
+'HangulSyllables' => 113,
+'HighSurrogates' => 114,
+'HighPrivateUseSurrogates' => 115,
+'LowSurrogates' => 116,
+'PrivateUse' => 117,
+'CJKCompatibilityIdeographs' => 118,
+'AlphabeticPresentationForms' => 119,
+'ArabicPresentationFormsA' => 120,
+'CombiningHalfMarks' => 121,
+'CJKCompatibilityForms' => 122,
+'SmallFormVariants' => 123,
+'ArabicPresentationFormsB' => 124,
+'Specials' => 125,
+'HalfwidthandFullwidthForms' => 126,
+'OldItalicBlock' => 127,
+'GothicBlock' => 128,
+'DeseretBlock' => 129,
+'ByzantineMusicalSymbols' => 130,
+'MusicalSymbols' => 131,
+'MathematicalAlphanumericSymbols' => 132,
+'CJKUnifiedIdeographsExtensionB' => 133,
+'CJKCompatibilityIdeographsSupplement' => 134,
+'Tags' => 135,
);
diff --git a/lib/unicode/In/0.pl b/lib/unicode/In/0.pl
index 475c1dfed0..4d6dcfd35d 100644
--- a/lib/unicode/In/0.pl
+++ b/lib/unicode/In/0.pl
@@ -2,5 +2,22 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0000 007F
+0041 005A
+0061 007A
+00C0 00D6
+00D8 00F6
+00F8 01BA
+01BC 01BF
+01C0 01C3
+01C4 021F
+0222 0233
+0250 02AD
+02B0 02B8
+02E0 02E4
+1E00 1E9B
+1EA0 1EF9
+212A 212B
+FB00 FB06
+FF21 FF3A
+FF41 FF5A
END
diff --git a/lib/unicode/In/1.pl b/lib/unicode/In/1.pl
index 5a5aa0e18c..f64aca7f78 100644
--- a/lib/unicode/In/1.pl
+++ b/lib/unicode/In/1.pl
@@ -2,5 +2,24 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0080 00FF
+0388 038A
+038E 03A1
+03A3 03CE
+03D0 03D7
+03DA 03F5
+1F00 1F15
+1F18 1F1D
+1F20 1F45
+1F48 1F4D
+1F50 1F57
+1F5F 1F7D
+1F80 1FB4
+1FB6 1FBC
+1FC2 1FC4
+1FC6 1FCC
+1FD0 1FD3
+1FD6 1FDB
+1FE0 1FEC
+1FF2 1FF4
+1FF6 1FFC
END
diff --git a/lib/unicode/In/10.pl b/lib/unicode/In/10.pl
index f1d866c049..f656245f64 100644
--- a/lib/unicode/In/10.pl
+++ b/lib/unicode/In/10.pl
@@ -2,5 +2,19 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0590 05FF
+0A05 0A0A
+0A0F 0A10
+0A13 0A28
+0A2A 0A30
+0A32 0A33
+0A35 0A36
+0A38 0A39
+0A3E 0A40
+0A41 0A42
+0A47 0A48
+0A4B 0A4D
+0A59 0A5C
+0A66 0A6F
+0A70 0A71
+0A72 0A74
END
diff --git a/lib/unicode/In/100.pl b/lib/unicode/In/100.pl
new file mode 100644
index 0000000000..0c66f051a4
--- /dev/null
+++ b/lib/unicode/In/100.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3000 303F
+END
diff --git a/lib/unicode/In/101.pl b/lib/unicode/In/101.pl
new file mode 100644
index 0000000000..49b4e4976a
--- /dev/null
+++ b/lib/unicode/In/101.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3040 309F
+END
diff --git a/lib/unicode/In/102.pl b/lib/unicode/In/102.pl
new file mode 100644
index 0000000000..e5568a283a
--- /dev/null
+++ b/lib/unicode/In/102.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+30A0 30FF
+END
diff --git a/lib/unicode/In/103.pl b/lib/unicode/In/103.pl
new file mode 100644
index 0000000000..4f9b5f46b2
--- /dev/null
+++ b/lib/unicode/In/103.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3100 312F
+END
diff --git a/lib/unicode/In/104.pl b/lib/unicode/In/104.pl
new file mode 100644
index 0000000000..b15c4cc760
--- /dev/null
+++ b/lib/unicode/In/104.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3130 318F
+END
diff --git a/lib/unicode/In/105.pl b/lib/unicode/In/105.pl
new file mode 100644
index 0000000000..d78c2088c0
--- /dev/null
+++ b/lib/unicode/In/105.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3190 319F
+END
diff --git a/lib/unicode/In/106.pl b/lib/unicode/In/106.pl
new file mode 100644
index 0000000000..96150b4f3f
--- /dev/null
+++ b/lib/unicode/In/106.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+31A0 31BF
+END
diff --git a/lib/unicode/In/107.pl b/lib/unicode/In/107.pl
new file mode 100644
index 0000000000..2708fec7e3
--- /dev/null
+++ b/lib/unicode/In/107.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3200 32FF
+END
diff --git a/lib/unicode/In/108.pl b/lib/unicode/In/108.pl
new file mode 100644
index 0000000000..d504529398
--- /dev/null
+++ b/lib/unicode/In/108.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3300 33FF
+END
diff --git a/lib/unicode/In/109.pl b/lib/unicode/In/109.pl
new file mode 100644
index 0000000000..83adb815d7
--- /dev/null
+++ b/lib/unicode/In/109.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+3400 4DB5
+END
diff --git a/lib/unicode/In/11.pl b/lib/unicode/In/11.pl
index 7546a743b5..edbbfbebf0 100644
--- a/lib/unicode/In/11.pl
+++ b/lib/unicode/In/11.pl
@@ -2,5 +2,16 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0600 06FF
+0A81 0A82
+0A85 0A8B
+0A8F 0A91
+0A93 0AA8
+0AAA 0AB0
+0AB2 0AB3
+0AB5 0AB9
+0ABE 0AC0
+0AC1 0AC5
+0AC7 0AC8
+0ACB 0ACC
+0AE6 0AEF
END
diff --git a/lib/unicode/In/110.pl b/lib/unicode/In/110.pl
new file mode 100644
index 0000000000..f74552e661
--- /dev/null
+++ b/lib/unicode/In/110.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+4E00 9FFF
+END
diff --git a/lib/unicode/In/111.pl b/lib/unicode/In/111.pl
new file mode 100644
index 0000000000..0636a82e56
--- /dev/null
+++ b/lib/unicode/In/111.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+A000 A48F
+END
diff --git a/lib/unicode/In/112.pl b/lib/unicode/In/112.pl
new file mode 100644
index 0000000000..56404c5fb5
--- /dev/null
+++ b/lib/unicode/In/112.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+A490 A4CF
+END
diff --git a/lib/unicode/In/113.pl b/lib/unicode/In/113.pl
new file mode 100644
index 0000000000..e1e26945e5
--- /dev/null
+++ b/lib/unicode/In/113.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+AC00 D7A3
+END
diff --git a/lib/unicode/In/114.pl b/lib/unicode/In/114.pl
new file mode 100644
index 0000000000..0f4eb5727b
--- /dev/null
+++ b/lib/unicode/In/114.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+D800 DB7F
+END
diff --git a/lib/unicode/In/115.pl b/lib/unicode/In/115.pl
new file mode 100644
index 0000000000..ec4ca07885
--- /dev/null
+++ b/lib/unicode/In/115.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+DB80 DBFF
+END
diff --git a/lib/unicode/In/116.pl b/lib/unicode/In/116.pl
new file mode 100644
index 0000000000..d056168c66
--- /dev/null
+++ b/lib/unicode/In/116.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+DC00 DFFF
+END
diff --git a/lib/unicode/In/117.pl b/lib/unicode/In/117.pl
new file mode 100644
index 0000000000..530166da95
--- /dev/null
+++ b/lib/unicode/In/117.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+100000 10FFFD
+END
diff --git a/lib/unicode/In/118.pl b/lib/unicode/In/118.pl
new file mode 100644
index 0000000000..0c553d6ee2
--- /dev/null
+++ b/lib/unicode/In/118.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+F900 FAFF
+END
diff --git a/lib/unicode/In/119.pl b/lib/unicode/In/119.pl
new file mode 100644
index 0000000000..42cc1ca029
--- /dev/null
+++ b/lib/unicode/In/119.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FB00 FB4F
+END
diff --git a/lib/unicode/In/12.pl b/lib/unicode/In/12.pl
index e5247ad937..ab920ef0c6 100644
--- a/lib/unicode/In/12.pl
+++ b/lib/unicode/In/12.pl
@@ -2,5 +2,17 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0700 074F
+0B02 0B03
+0B05 0B0C
+0B0F 0B10
+0B13 0B28
+0B2A 0B30
+0B32 0B33
+0B36 0B39
+0B41 0B43
+0B47 0B48
+0B4B 0B4C
+0B5C 0B5D
+0B5F 0B61
+0B66 0B6F
END
diff --git a/lib/unicode/In/120.pl b/lib/unicode/In/120.pl
new file mode 100644
index 0000000000..ffb4f1eb3a
--- /dev/null
+++ b/lib/unicode/In/120.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FB50 FDFF
+END
diff --git a/lib/unicode/In/121.pl b/lib/unicode/In/121.pl
new file mode 100644
index 0000000000..cc8a4a21b1
--- /dev/null
+++ b/lib/unicode/In/121.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FE20 FE2F
+END
diff --git a/lib/unicode/In/122.pl b/lib/unicode/In/122.pl
new file mode 100644
index 0000000000..4e462b8402
--- /dev/null
+++ b/lib/unicode/In/122.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FE30 FE4F
+END
diff --git a/lib/unicode/In/123.pl b/lib/unicode/In/123.pl
new file mode 100644
index 0000000000..4eff1ea01e
--- /dev/null
+++ b/lib/unicode/In/123.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FE50 FE6F
+END
diff --git a/lib/unicode/In/124.pl b/lib/unicode/In/124.pl
new file mode 100644
index 0000000000..dc5a32e4b1
--- /dev/null
+++ b/lib/unicode/In/124.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FE70 FEFE
+END
diff --git a/lib/unicode/In/125.pl b/lib/unicode/In/125.pl
new file mode 100644
index 0000000000..931fc5b902
--- /dev/null
+++ b/lib/unicode/In/125.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FFF0 FFFD
+END
diff --git a/lib/unicode/In/126.pl b/lib/unicode/In/126.pl
new file mode 100644
index 0000000000..03e85154fb
--- /dev/null
+++ b/lib/unicode/In/126.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+FF00 FFEF
+END
diff --git a/lib/unicode/In/127.pl b/lib/unicode/In/127.pl
new file mode 100644
index 0000000000..44a5e47510
--- /dev/null
+++ b/lib/unicode/In/127.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+10300 1032F
+END
diff --git a/lib/unicode/In/128.pl b/lib/unicode/In/128.pl
new file mode 100644
index 0000000000..803041101c
--- /dev/null
+++ b/lib/unicode/In/128.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+10330 1034F
+END
diff --git a/lib/unicode/In/129.pl b/lib/unicode/In/129.pl
new file mode 100644
index 0000000000..d2c50bbcad
--- /dev/null
+++ b/lib/unicode/In/129.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+10400 1044F
+END
diff --git a/lib/unicode/In/13.pl b/lib/unicode/In/13.pl
index 5bda401f7b..a69c6d28a2 100644
--- a/lib/unicode/In/13.pl
+++ b/lib/unicode/In/13.pl
@@ -2,5 +2,19 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0780 07BF
+0B85 0B8A
+0B8E 0B90
+0B92 0B95
+0B99 0B9A
+0B9E 0B9F
+0BA3 0BA4
+0BA8 0BAA
+0BAE 0BB5
+0BB7 0BB9
+0BBE 0BBF
+0BC1 0BC2
+0BC6 0BC8
+0BCA 0BCC
+0BE7 0BEF
+0BF0 0BF2
END
diff --git a/lib/unicode/In/130.pl b/lib/unicode/In/130.pl
new file mode 100644
index 0000000000..f1073c7392
--- /dev/null
+++ b/lib/unicode/In/130.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+1D000 1D0FF
+END
diff --git a/lib/unicode/In/131.pl b/lib/unicode/In/131.pl
new file mode 100644
index 0000000000..7435889d7c
--- /dev/null
+++ b/lib/unicode/In/131.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+1D100 1D1FF
+END
diff --git a/lib/unicode/In/132.pl b/lib/unicode/In/132.pl
new file mode 100644
index 0000000000..7e40edc3ed
--- /dev/null
+++ b/lib/unicode/In/132.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+1D400 1D7FF
+END
diff --git a/lib/unicode/In/133.pl b/lib/unicode/In/133.pl
new file mode 100644
index 0000000000..931aec3891
--- /dev/null
+++ b/lib/unicode/In/133.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+20000 2A6D6
+END
diff --git a/lib/unicode/In/134.pl b/lib/unicode/In/134.pl
new file mode 100644
index 0000000000..c025148c04
--- /dev/null
+++ b/lib/unicode/In/134.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+2F800 2FA1F
+END
diff --git a/lib/unicode/In/135.pl b/lib/unicode/In/135.pl
new file mode 100644
index 0000000000..495d2d581d
--- /dev/null
+++ b/lib/unicode/In/135.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+E0000 E007F
+END
diff --git a/lib/unicode/In/14.pl b/lib/unicode/In/14.pl
index a20b68d031..f82057d367 100644
--- a/lib/unicode/In/14.pl
+++ b/lib/unicode/In/14.pl
@@ -2,5 +2,17 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0900 097F
+0C01 0C03
+0C05 0C0C
+0C0E 0C10
+0C12 0C28
+0C2A 0C33
+0C35 0C39
+0C3E 0C40
+0C41 0C44
+0C46 0C48
+0C4A 0C4D
+0C55 0C56
+0C60 0C61
+0C66 0C6F
END
diff --git a/lib/unicode/In/15.pl b/lib/unicode/In/15.pl
index 306f653dbc..0b3207d22b 100644
--- a/lib/unicode/In/15.pl
+++ b/lib/unicode/In/15.pl
@@ -2,5 +2,17 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0980 09FF
+0C82 0C83
+0C85 0C8C
+0C8E 0C90
+0C92 0CA8
+0CAA 0CB3
+0CB5 0CB9
+0CC0 0CC4
+0CC7 0CC8
+0CCA 0CCB
+0CCC 0CCD
+0CD5 0CD6
+0CE0 0CE1
+0CE6 0CEF
END
diff --git a/lib/unicode/In/16.pl b/lib/unicode/In/16.pl
index d37d4849ca..e35e526827 100644
--- a/lib/unicode/In/16.pl
+++ b/lib/unicode/In/16.pl
@@ -2,5 +2,15 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0A00 0A7F
+0D02 0D03
+0D05 0D0C
+0D0E 0D10
+0D12 0D28
+0D2A 0D39
+0D3E 0D40
+0D41 0D43
+0D46 0D48
+0D4A 0D4C
+0D60 0D61
+0D66 0D6F
END
diff --git a/lib/unicode/In/17.pl b/lib/unicode/In/17.pl
index 65d853b314..82209905ff 100644
--- a/lib/unicode/In/17.pl
+++ b/lib/unicode/In/17.pl
@@ -2,5 +2,13 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0A80 0AFF
+0D82 0D83
+0D85 0D96
+0D9A 0DB1
+0DB3 0DBB
+0DC0 0DC6
+0DCF 0DD1
+0DD2 0DD4
+0DD8 0DDF
+0DF2 0DF3
END
diff --git a/lib/unicode/In/18.pl b/lib/unicode/In/18.pl
index 14e1027fb6..356cb5c1cf 100644
--- a/lib/unicode/In/18.pl
+++ b/lib/unicode/In/18.pl
@@ -2,5 +2,10 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0B00 0B7F
+0E01 0E30
+0E32 0E33
+0E34 0E3A
+0E40 0E45
+0E47 0E4E
+0E50 0E59
END
diff --git a/lib/unicode/In/19.pl b/lib/unicode/In/19.pl
index a28ba3d909..6d3598668a 100644
--- a/lib/unicode/In/19.pl
+++ b/lib/unicode/In/19.pl
@@ -2,5 +2,18 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0B80 0BFF
+0E81 0E82
+0E87 0E88
+0E94 0E97
+0E99 0E9F
+0EA1 0EA3
+0EAA 0EAB
+0EAD 0EB0
+0EB2 0EB3
+0EB4 0EB9
+0EBB 0EBC
+0EC0 0EC4
+0EC8 0ECD
+0ED0 0ED9
+0EDC 0EDD
END
diff --git a/lib/unicode/In/2.pl b/lib/unicode/In/2.pl
index 0f6acf9853..4c8985ff9a 100644
--- a/lib/unicode/In/2.pl
+++ b/lib/unicode/In/2.pl
@@ -2,5 +2,11 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0100 017F
+0400 0481
+0483 0486
+048C 04C4
+04C7 04C8
+04CB 04CC
+04D0 04F5
+04F8 04F9
END
diff --git a/lib/unicode/In/20.pl b/lib/unicode/In/20.pl
index aff6cc93f4..7a1a630d03 100644
--- a/lib/unicode/In/20.pl
+++ b/lib/unicode/In/20.pl
@@ -2,5 +2,15 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0C00 0C7F
+0F18 0F19
+0F20 0F29
+0F2A 0F33
+0F40 0F47
+0F49 0F6A
+0F71 0F7E
+0F80 0F84
+0F86 0F87
+0F88 0F8B
+0F90 0F97
+0F99 0FBC
END
diff --git a/lib/unicode/In/21.pl b/lib/unicode/In/21.pl
index 41e05bdc3b..4743cd14a9 100644
--- a/lib/unicode/In/21.pl
+++ b/lib/unicode/In/21.pl
@@ -2,5 +2,13 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0C80 0CFF
+1000 1021
+1023 1027
+1029 102A
+102D 1030
+1036 1037
+1040 1049
+1050 1055
+1056 1057
+1058 1059
END
diff --git a/lib/unicode/In/22.pl b/lib/unicode/In/22.pl
index b42bbeea8d..df0b24153d 100644
--- a/lib/unicode/In/22.pl
+++ b/lib/unicode/In/22.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0D00 0D7F
+10A0 10C5
+10D0 10F6
END
diff --git a/lib/unicode/In/23.pl b/lib/unicode/In/23.pl
index 00da6d144f..902b03c75f 100644
--- a/lib/unicode/In/23.pl
+++ b/lib/unicode/In/23.pl
@@ -2,5 +2,14 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0D80 0DFF
+1100 1159
+115F 11A2
+11A8 11F9
+3131 318E
+AC00 D7A3
+FFA0 FFBE
+FFC2 FFC7
+FFCA FFCF
+FFD2 FFD7
+FFDA FFDC
END
diff --git a/lib/unicode/In/24.pl b/lib/unicode/In/24.pl
index 2fa00eb135..c56ed970d8 100644
--- a/lib/unicode/In/24.pl
+++ b/lib/unicode/In/24.pl
@@ -2,5 +2,25 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0E00 0E7F
+1200 1206
+1208 1246
+124A 124D
+1250 1256
+125A 125D
+1260 1286
+128A 128D
+1290 12AE
+12B2 12B5
+12B8 12BE
+12C2 12C5
+12C8 12CE
+12D0 12D6
+12D8 12EE
+12F0 130E
+1312 1315
+1318 131E
+1320 1346
+1348 135A
+1369 1371
+1372 137C
END
diff --git a/lib/unicode/In/25.pl b/lib/unicode/In/25.pl
index 5fd607c08f..42d0af4dbf 100644
--- a/lib/unicode/In/25.pl
+++ b/lib/unicode/In/25.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0E80 0EFF
+13A0 13F4
END
diff --git a/lib/unicode/In/26.pl b/lib/unicode/In/26.pl
index 3ae5e6248d..fda7338bb9 100644
--- a/lib/unicode/In/26.pl
+++ b/lib/unicode/In/26.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0F00 0FFF
+1401 166C
+166F 1676
END
diff --git a/lib/unicode/In/27.pl b/lib/unicode/In/27.pl
index ecc3448361..31dfc66e2d 100644
--- a/lib/unicode/In/27.pl
+++ b/lib/unicode/In/27.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1000 109F
+1681 169A
END
diff --git a/lib/unicode/In/28.pl b/lib/unicode/In/28.pl
index 73a8818c71..77b12e1ef6 100644
--- a/lib/unicode/In/28.pl
+++ b/lib/unicode/In/28.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-10A0 10FF
+16A0 16EA
+16EE 16F0
END
diff --git a/lib/unicode/In/29.pl b/lib/unicode/In/29.pl
index 692be7d813..a3cb8b3634 100644
--- a/lib/unicode/In/29.pl
+++ b/lib/unicode/In/29.pl
@@ -2,5 +2,11 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1100 11FF
+1780 17B3
+17B4 17B6
+17B7 17BD
+17BE 17C5
+17C7 17C8
+17C9 17D3
+17E0 17E9
END
diff --git a/lib/unicode/In/3.pl b/lib/unicode/In/3.pl
index 68f093234e..22f6f4d884 100644
--- a/lib/unicode/In/3.pl
+++ b/lib/unicode/In/3.pl
@@ -2,5 +2,7 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0180 024F
+0531 0556
+0561 0587
+FB13 FB17
END
diff --git a/lib/unicode/In/30.pl b/lib/unicode/In/30.pl
index ad4776df99..0552657467 100644
--- a/lib/unicode/In/30.pl
+++ b/lib/unicode/In/30.pl
@@ -2,5 +2,8 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1200 137F
+1810 1819
+1820 1842
+1844 1877
+1880 18A8
END
diff --git a/lib/unicode/In/31.pl b/lib/unicode/In/31.pl
index f40dfa2be0..df3dd8c071 100644
--- a/lib/unicode/In/31.pl
+++ b/lib/unicode/In/31.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-13A0 13FF
+3041 3094
+309D 309E
END
diff --git a/lib/unicode/In/32.pl b/lib/unicode/In/32.pl
index 7318008076..87fe407bf7 100644
--- a/lib/unicode/In/32.pl
+++ b/lib/unicode/In/32.pl
@@ -2,5 +2,8 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1400 167F
+30A1 30FA
+30FD 30FE
+FF66 FF6F
+FF71 FF9D
END
diff --git a/lib/unicode/In/33.pl b/lib/unicode/In/33.pl
index 5d7bd970e8..bafc4c7156 100644
--- a/lib/unicode/In/33.pl
+++ b/lib/unicode/In/33.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1680 169F
+3105 312C
+31A0 31B7
END
diff --git a/lib/unicode/In/34.pl b/lib/unicode/In/34.pl
index d404cb6cfb..7f947b5541 100644
--- a/lib/unicode/In/34.pl
+++ b/lib/unicode/In/34.pl
@@ -2,5 +2,14 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-16A0 16FF
+2E80 2E99
+2E9B 2EF3
+2F00 2FD5
+3021 3029
+3038 303A
+3400 4DB5
+4E00 9FA5
+F900 FA2D
+20000 2A6D6
+2F800 2FA1D
END
diff --git a/lib/unicode/In/35.pl b/lib/unicode/In/35.pl
index 2b0b198216..924b0e02e7 100644
--- a/lib/unicode/In/35.pl
+++ b/lib/unicode/In/35.pl
@@ -2,5 +2,9 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1780 17FF
+A000 A48C
+A490 A4A1
+A4A4 A4B3
+A4B5 A4C0
+A4C2 A4C4
END
diff --git a/lib/unicode/In/36.pl b/lib/unicode/In/36.pl
index 06526c64d9..a2dcdc2cb9 100644
--- a/lib/unicode/In/36.pl
+++ b/lib/unicode/In/36.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1800 18AF
+10300 1031E
END
diff --git a/lib/unicode/In/37.pl b/lib/unicode/In/37.pl
index c288810ca2..486486ddd2 100644
--- a/lib/unicode/In/37.pl
+++ b/lib/unicode/In/37.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1E00 1EFF
+10330 10349
END
diff --git a/lib/unicode/In/38.pl b/lib/unicode/In/38.pl
index 74cd2c88e0..98b1f16ca6 100644
--- a/lib/unicode/In/38.pl
+++ b/lib/unicode/In/38.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1F00 1FFF
+10400 10425
+10428 1044D
END
diff --git a/lib/unicode/In/39.pl b/lib/unicode/In/39.pl
index b9b0e7efaa..f4b0a17026 100644
--- a/lib/unicode/In/39.pl
+++ b/lib/unicode/In/39.pl
@@ -2,5 +2,27 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2000 206F
+0300 034E
+0360 0362
+0488 0489
+0591 05A1
+05A3 05B9
+05BB 05BD
+05C1 05C2
+064B 0655
+06D6 06DC
+06DD 06DE
+06DF 06E4
+06E7 06E8
+06EA 06ED
+20D0 20DC
+20DD 20E0
+20E2 20E3
+302A 302F
+3099 309A
+FE20 FE23
+1D167 1D169
+1D17B 1D182
+1D185 1D18B
+1D1AA 1D1AD
END
diff --git a/lib/unicode/In/4.pl b/lib/unicode/In/4.pl
index f6e9454fe0..2a9a94e514 100644
--- a/lib/unicode/In/4.pl
+++ b/lib/unicode/In/4.pl
@@ -2,5 +2,12 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0250 02AF
+05D0 05EA
+05F0 05F2
+FB1F FB28
+FB2A FB36
+FB38 FB3C
+FB40 FB41
+FB43 FB44
+FB46 FB4F
END
diff --git a/lib/unicode/In/40.pl b/lib/unicode/In/40.pl
index 2e36ac331c..475c1dfed0 100644
--- a/lib/unicode/In/40.pl
+++ b/lib/unicode/In/40.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2070 209F
+0000 007F
END
diff --git a/lib/unicode/In/41.pl b/lib/unicode/In/41.pl
index 12c67371cc..5a5aa0e18c 100644
--- a/lib/unicode/In/41.pl
+++ b/lib/unicode/In/41.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-20A0 20CF
+0080 00FF
END
diff --git a/lib/unicode/In/42.pl b/lib/unicode/In/42.pl
index 2d58a56712..0f6acf9853 100644
--- a/lib/unicode/In/42.pl
+++ b/lib/unicode/In/42.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-20D0 20FF
+0100 017F
END
diff --git a/lib/unicode/In/43.pl b/lib/unicode/In/43.pl
index c735821edc..68f093234e 100644
--- a/lib/unicode/In/43.pl
+++ b/lib/unicode/In/43.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2100 214F
+0180 024F
END
diff --git a/lib/unicode/In/44.pl b/lib/unicode/In/44.pl
index a1949a194d..f6e9454fe0 100644
--- a/lib/unicode/In/44.pl
+++ b/lib/unicode/In/44.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2150 218F
+0250 02AF
END
diff --git a/lib/unicode/In/45.pl b/lib/unicode/In/45.pl
index 799f739085..a242e0207a 100644
--- a/lib/unicode/In/45.pl
+++ b/lib/unicode/In/45.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2190 21FF
+02B0 02FF
END
diff --git a/lib/unicode/In/46.pl b/lib/unicode/In/46.pl
index 8bc8295cc5..cf9bb94991 100644
--- a/lib/unicode/In/46.pl
+++ b/lib/unicode/In/46.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2200 22FF
+0300 036F
END
diff --git a/lib/unicode/In/47.pl b/lib/unicode/In/47.pl
index 67867951d6..8d89b7176b 100644
--- a/lib/unicode/In/47.pl
+++ b/lib/unicode/In/47.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2300 23FF
+0370 03FF
END
diff --git a/lib/unicode/In/48.pl b/lib/unicode/In/48.pl
index 7aad2fcacf..0075ce1ddf 100644
--- a/lib/unicode/In/48.pl
+++ b/lib/unicode/In/48.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2400 243F
+0400 04FF
END
diff --git a/lib/unicode/In/49.pl b/lib/unicode/In/49.pl
index c7cecd02da..a6d50e3be5 100644
--- a/lib/unicode/In/49.pl
+++ b/lib/unicode/In/49.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2440 245F
+0530 058F
END
diff --git a/lib/unicode/In/5.pl b/lib/unicode/In/5.pl
index a242e0207a..feac649802 100644
--- a/lib/unicode/In/5.pl
+++ b/lib/unicode/In/5.pl
@@ -2,5 +2,16 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-02B0 02FF
+0621 063A
+0641 064A
+0671 06D3
+06E5 06E6
+06FA 06FC
+FB50 FBB1
+FBD3 FD3D
+FD50 FD8F
+FD92 FDC7
+FDF0 FDFB
+FE70 FE72
+FE76 FEFC
END
diff --git a/lib/unicode/In/50.pl b/lib/unicode/In/50.pl
index 7b1b778af0..f1d866c049 100644
--- a/lib/unicode/In/50.pl
+++ b/lib/unicode/In/50.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2460 24FF
+0590 05FF
END
diff --git a/lib/unicode/In/51.pl b/lib/unicode/In/51.pl
index 4d446863fe..7546a743b5 100644
--- a/lib/unicode/In/51.pl
+++ b/lib/unicode/In/51.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2500 257F
+0600 06FF
END
diff --git a/lib/unicode/In/52.pl b/lib/unicode/In/52.pl
index 6135c93e90..e5247ad937 100644
--- a/lib/unicode/In/52.pl
+++ b/lib/unicode/In/52.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2580 259F
+0700 074F
END
diff --git a/lib/unicode/In/53.pl b/lib/unicode/In/53.pl
index 855d98ebff..5bda401f7b 100644
--- a/lib/unicode/In/53.pl
+++ b/lib/unicode/In/53.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-25A0 25FF
+0780 07BF
END
diff --git a/lib/unicode/In/54.pl b/lib/unicode/In/54.pl
index 0949bc2b55..a20b68d031 100644
--- a/lib/unicode/In/54.pl
+++ b/lib/unicode/In/54.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2600 26FF
+0900 097F
END
diff --git a/lib/unicode/In/55.pl b/lib/unicode/In/55.pl
index 3013f73c75..306f653dbc 100644
--- a/lib/unicode/In/55.pl
+++ b/lib/unicode/In/55.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2700 27BF
+0980 09FF
END
diff --git a/lib/unicode/In/56.pl b/lib/unicode/In/56.pl
index d785c31676..d37d4849ca 100644
--- a/lib/unicode/In/56.pl
+++ b/lib/unicode/In/56.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2800 28FF
+0A00 0A7F
END
diff --git a/lib/unicode/In/57.pl b/lib/unicode/In/57.pl
index 2bf56517d1..65d853b314 100644
--- a/lib/unicode/In/57.pl
+++ b/lib/unicode/In/57.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2E80 2EFF
+0A80 0AFF
END
diff --git a/lib/unicode/In/58.pl b/lib/unicode/In/58.pl
index 3903f15c4c..14e1027fb6 100644
--- a/lib/unicode/In/58.pl
+++ b/lib/unicode/In/58.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2F00 2FDF
+0B00 0B7F
END
diff --git a/lib/unicode/In/59.pl b/lib/unicode/In/59.pl
index 07799e6941..a28ba3d909 100644
--- a/lib/unicode/In/59.pl
+++ b/lib/unicode/In/59.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2FF0 2FFF
+0B80 0BFF
END
diff --git a/lib/unicode/In/6.pl b/lib/unicode/In/6.pl
index cf9bb94991..7fc0239613 100644
--- a/lib/unicode/In/6.pl
+++ b/lib/unicode/In/6.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0300 036F
+0712 072C
+0730 074A
END
diff --git a/lib/unicode/In/60.pl b/lib/unicode/In/60.pl
index 0c66f051a4..aff6cc93f4 100644
--- a/lib/unicode/In/60.pl
+++ b/lib/unicode/In/60.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3000 303F
+0C00 0C7F
END
diff --git a/lib/unicode/In/61.pl b/lib/unicode/In/61.pl
index 49b4e4976a..41e05bdc3b 100644
--- a/lib/unicode/In/61.pl
+++ b/lib/unicode/In/61.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3040 309F
+0C80 0CFF
END
diff --git a/lib/unicode/In/62.pl b/lib/unicode/In/62.pl
index e5568a283a..b42bbeea8d 100644
--- a/lib/unicode/In/62.pl
+++ b/lib/unicode/In/62.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-30A0 30FF
+0D00 0D7F
END
diff --git a/lib/unicode/In/63.pl b/lib/unicode/In/63.pl
index 4f9b5f46b2..00da6d144f 100644
--- a/lib/unicode/In/63.pl
+++ b/lib/unicode/In/63.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3100 312F
+0D80 0DFF
END
diff --git a/lib/unicode/In/64.pl b/lib/unicode/In/64.pl
index b15c4cc760..2fa00eb135 100644
--- a/lib/unicode/In/64.pl
+++ b/lib/unicode/In/64.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3130 318F
+0E00 0E7F
END
diff --git a/lib/unicode/In/65.pl b/lib/unicode/In/65.pl
index d78c2088c0..5fd607c08f 100644
--- a/lib/unicode/In/65.pl
+++ b/lib/unicode/In/65.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3190 319F
+0E80 0EFF
END
diff --git a/lib/unicode/In/66.pl b/lib/unicode/In/66.pl
index 96150b4f3f..3ae5e6248d 100644
--- a/lib/unicode/In/66.pl
+++ b/lib/unicode/In/66.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-31A0 31BF
+0F00 0FFF
END
diff --git a/lib/unicode/In/67.pl b/lib/unicode/In/67.pl
index 2708fec7e3..ecc3448361 100644
--- a/lib/unicode/In/67.pl
+++ b/lib/unicode/In/67.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3200 32FF
+1000 109F
END
diff --git a/lib/unicode/In/68.pl b/lib/unicode/In/68.pl
index d504529398..73a8818c71 100644
--- a/lib/unicode/In/68.pl
+++ b/lib/unicode/In/68.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3300 33FF
+10A0 10FF
END
diff --git a/lib/unicode/In/69.pl b/lib/unicode/In/69.pl
index 83adb815d7..692be7d813 100644
--- a/lib/unicode/In/69.pl
+++ b/lib/unicode/In/69.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-3400 4DB5
+1100 11FF
END
diff --git a/lib/unicode/In/7.pl b/lib/unicode/In/7.pl
index 8d89b7176b..2421d05621 100644
--- a/lib/unicode/In/7.pl
+++ b/lib/unicode/In/7.pl
@@ -2,5 +2,6 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0370 03FF
+0780 07A5
+07A6 07B0
END
diff --git a/lib/unicode/In/70.pl b/lib/unicode/In/70.pl
index f74552e661..ad4776df99 100644
--- a/lib/unicode/In/70.pl
+++ b/lib/unicode/In/70.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-4E00 9FFF
+1200 137F
END
diff --git a/lib/unicode/In/71.pl b/lib/unicode/In/71.pl
index 0636a82e56..f40dfa2be0 100644
--- a/lib/unicode/In/71.pl
+++ b/lib/unicode/In/71.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-A000 A48F
+13A0 13FF
END
diff --git a/lib/unicode/In/72.pl b/lib/unicode/In/72.pl
index 56404c5fb5..7318008076 100644
--- a/lib/unicode/In/72.pl
+++ b/lib/unicode/In/72.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-A490 A4CF
+1400 167F
END
diff --git a/lib/unicode/In/73.pl b/lib/unicode/In/73.pl
index e1e26945e5..5d7bd970e8 100644
--- a/lib/unicode/In/73.pl
+++ b/lib/unicode/In/73.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-AC00 D7A3
+1680 169F
END
diff --git a/lib/unicode/In/74.pl b/lib/unicode/In/74.pl
index 0f4eb5727b..d404cb6cfb 100644
--- a/lib/unicode/In/74.pl
+++ b/lib/unicode/In/74.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-D800 DB7F
+16A0 16FF
END
diff --git a/lib/unicode/In/75.pl b/lib/unicode/In/75.pl
index ec4ca07885..2b0b198216 100644
--- a/lib/unicode/In/75.pl
+++ b/lib/unicode/In/75.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-DB80 DBFF
+1780 17FF
END
diff --git a/lib/unicode/In/76.pl b/lib/unicode/In/76.pl
index d056168c66..06526c64d9 100644
--- a/lib/unicode/In/76.pl
+++ b/lib/unicode/In/76.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-DC00 DFFF
+1800 18AF
END
diff --git a/lib/unicode/In/77.pl b/lib/unicode/In/77.pl
index 530166da95..c288810ca2 100644
--- a/lib/unicode/In/77.pl
+++ b/lib/unicode/In/77.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-100000 10FFFD
+1E00 1EFF
END
diff --git a/lib/unicode/In/78.pl b/lib/unicode/In/78.pl
index 0c553d6ee2..74cd2c88e0 100644
--- a/lib/unicode/In/78.pl
+++ b/lib/unicode/In/78.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-F900 FAFF
+1F00 1FFF
END
diff --git a/lib/unicode/In/79.pl b/lib/unicode/In/79.pl
index 42cc1ca029..b9b0e7efaa 100644
--- a/lib/unicode/In/79.pl
+++ b/lib/unicode/In/79.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FB00 FB4F
+2000 206F
END
diff --git a/lib/unicode/In/8.pl b/lib/unicode/In/8.pl
index 0075ce1ddf..b8c23d10eb 100644
--- a/lib/unicode/In/8.pl
+++ b/lib/unicode/In/8.pl
@@ -2,5 +2,13 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0400 04FF
+0901 0902
+0905 0939
+093E 0940
+0941 0948
+0949 094C
+0951 0954
+0958 0961
+0962 0963
+0966 096F
END
diff --git a/lib/unicode/In/80.pl b/lib/unicode/In/80.pl
index ffb4f1eb3a..2e36ac331c 100644
--- a/lib/unicode/In/80.pl
+++ b/lib/unicode/In/80.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FB50 FDFF
+2070 209F
END
diff --git a/lib/unicode/In/81.pl b/lib/unicode/In/81.pl
index cc8a4a21b1..12c67371cc 100644
--- a/lib/unicode/In/81.pl
+++ b/lib/unicode/In/81.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FE20 FE2F
+20A0 20CF
END
diff --git a/lib/unicode/In/82.pl b/lib/unicode/In/82.pl
index 4e462b8402..2d58a56712 100644
--- a/lib/unicode/In/82.pl
+++ b/lib/unicode/In/82.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FE30 FE4F
+20D0 20FF
END
diff --git a/lib/unicode/In/83.pl b/lib/unicode/In/83.pl
index 4eff1ea01e..c735821edc 100644
--- a/lib/unicode/In/83.pl
+++ b/lib/unicode/In/83.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FE50 FE6F
+2100 214F
END
diff --git a/lib/unicode/In/84.pl b/lib/unicode/In/84.pl
index dc5a32e4b1..a1949a194d 100644
--- a/lib/unicode/In/84.pl
+++ b/lib/unicode/In/84.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FE70 FEFE
+2150 218F
END
diff --git a/lib/unicode/In/85.pl b/lib/unicode/In/85.pl
index 931fc5b902..799f739085 100644
--- a/lib/unicode/In/85.pl
+++ b/lib/unicode/In/85.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FFF0 FFFD
+2190 21FF
END
diff --git a/lib/unicode/In/86.pl b/lib/unicode/In/86.pl
index 03e85154fb..8bc8295cc5 100644
--- a/lib/unicode/In/86.pl
+++ b/lib/unicode/In/86.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-FF00 FFEF
+2200 22FF
END
diff --git a/lib/unicode/In/87.pl b/lib/unicode/In/87.pl
index 44a5e47510..67867951d6 100644
--- a/lib/unicode/In/87.pl
+++ b/lib/unicode/In/87.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-10300 1032F
+2300 23FF
END
diff --git a/lib/unicode/In/88.pl b/lib/unicode/In/88.pl
index 803041101c..7aad2fcacf 100644
--- a/lib/unicode/In/88.pl
+++ b/lib/unicode/In/88.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-10330 1034F
+2400 243F
END
diff --git a/lib/unicode/In/89.pl b/lib/unicode/In/89.pl
index d2c50bbcad..c7cecd02da 100644
--- a/lib/unicode/In/89.pl
+++ b/lib/unicode/In/89.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-10400 1044F
+2440 245F
END
diff --git a/lib/unicode/In/9.pl b/lib/unicode/In/9.pl
index a6d50e3be5..b0947968fe 100644
--- a/lib/unicode/In/9.pl
+++ b/lib/unicode/In/9.pl
@@ -2,5 +2,18 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-0530 058F
+0985 098C
+098F 0990
+0993 09A8
+09AA 09B0
+09B6 09B9
+09BE 09C0
+09C1 09C4
+09C7 09C8
+09CB 09CC
+09DC 09DD
+09DF 09E1
+09E2 09E3
+09E6 09EF
+09F0 09F1
END
diff --git a/lib/unicode/In/90.pl b/lib/unicode/In/90.pl
index f1073c7392..7b1b778af0 100644
--- a/lib/unicode/In/90.pl
+++ b/lib/unicode/In/90.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1D000 1D0FF
+2460 24FF
END
diff --git a/lib/unicode/In/91.pl b/lib/unicode/In/91.pl
index 7435889d7c..4d446863fe 100644
--- a/lib/unicode/In/91.pl
+++ b/lib/unicode/In/91.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1D100 1D1FF
+2500 257F
END
diff --git a/lib/unicode/In/92.pl b/lib/unicode/In/92.pl
index 7e40edc3ed..6135c93e90 100644
--- a/lib/unicode/In/92.pl
+++ b/lib/unicode/In/92.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-1D400 1D7FF
+2580 259F
END
diff --git a/lib/unicode/In/93.pl b/lib/unicode/In/93.pl
index 931aec3891..855d98ebff 100644
--- a/lib/unicode/In/93.pl
+++ b/lib/unicode/In/93.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-20000 2A6D6
+25A0 25FF
END
diff --git a/lib/unicode/In/94.pl b/lib/unicode/In/94.pl
index c025148c04..0949bc2b55 100644
--- a/lib/unicode/In/94.pl
+++ b/lib/unicode/In/94.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-2F800 2FA1F
+2600 26FF
END
diff --git a/lib/unicode/In/95.pl b/lib/unicode/In/95.pl
index 495d2d581d..3013f73c75 100644
--- a/lib/unicode/In/95.pl
+++ b/lib/unicode/In/95.pl
@@ -2,5 +2,5 @@
# This file is built by mktables.PL from e.g. Unicode.txt.
# Any changes made here will be lost!
return <<'END';
-E0000 E007F
+2700 27BF
END
diff --git a/lib/unicode/In/96.pl b/lib/unicode/In/96.pl
new file mode 100644
index 0000000000..d785c31676
--- /dev/null
+++ b/lib/unicode/In/96.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+2800 28FF
+END
diff --git a/lib/unicode/In/97.pl b/lib/unicode/In/97.pl
new file mode 100644
index 0000000000..2bf56517d1
--- /dev/null
+++ b/lib/unicode/In/97.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+2E80 2EFF
+END
diff --git a/lib/unicode/In/98.pl b/lib/unicode/In/98.pl
new file mode 100644
index 0000000000..3903f15c4c
--- /dev/null
+++ b/lib/unicode/In/98.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+2F00 2FDF
+END
diff --git a/lib/unicode/In/99.pl b/lib/unicode/In/99.pl
new file mode 100644
index 0000000000..07799e6941
--- /dev/null
+++ b/lib/unicode/In/99.pl
@@ -0,0 +1,6 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+2FF0 2FFF
+END
diff --git a/lib/unicode/Scripts.pl b/lib/unicode/Scripts.pl
new file mode 100644
index 0000000000..361069b382
--- /dev/null
+++ b/lib/unicode/Scripts.pl
@@ -0,0 +1,341 @@
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by mktables.PL from e.g. Unicode.txt.
+# Any changes made here will be lost!
+return <<'END';
+0041 005A LATIN # Latin In/0.pl
+0061 007A LATIN # Latin In/0.pl
+00C0 00D6 LATIN # Latin In/0.pl
+00D8 00F6 LATIN # Latin In/0.pl
+00F8 01BA LATIN # Latin In/0.pl
+01BC 01BF LATIN # Latin In/0.pl
+01C0 01C3 LATIN # Latin In/0.pl
+01C4 021F LATIN # Latin In/0.pl
+0222 0233 LATIN # Latin In/0.pl
+0250 02AD LATIN # Latin In/0.pl
+02B0 02B8 LATIN # Latin In/0.pl
+02E0 02E4 LATIN # Latin In/0.pl
+1E00 1E9B LATIN # Latin In/0.pl
+1EA0 1EF9 LATIN # Latin In/0.pl
+212A 212B LATIN # Latin In/0.pl
+FB00 FB06 LATIN # Latin In/0.pl
+FF21 FF3A LATIN # Latin In/0.pl
+FF41 FF5A LATIN # Latin In/0.pl
+0388 038A GREEK # Greek In/1.pl
+038E 03A1 GREEK # Greek In/1.pl
+03A3 03CE GREEK # Greek In/1.pl
+03D0 03D7 GREEK # Greek In/1.pl
+03DA 03F5 GREEK # Greek In/1.pl
+1F00 1F15 GREEK # Greek In/1.pl
+1F18 1F1D GREEK # Greek In/1.pl
+1F20 1F45 GREEK # Greek In/1.pl
+1F48 1F4D GREEK # Greek In/1.pl
+1F50 1F57 GREEK # Greek In/1.pl
+1F5F 1F7D GREEK # Greek In/1.pl
+1F80 1FB4 GREEK # Greek In/1.pl
+1FB6 1FBC GREEK # Greek In/1.pl
+1FC2 1FC4 GREEK # Greek In/1.pl
+1FC6 1FCC GREEK # Greek In/1.pl
+1FD0 1FD3 GREEK # Greek In/1.pl
+1FD6 1FDB GREEK # Greek In/1.pl
+1FE0 1FEC GREEK # Greek In/1.pl
+1FF2 1FF4 GREEK # Greek In/1.pl
+1FF6 1FFC GREEK # Greek In/1.pl
+0400 0481 CYRILLIC # Cyrillic In/2.pl
+0483 0486 CYRILLIC # Cyrillic In/2.pl
+048C 04C4 CYRILLIC # Cyrillic In/2.pl
+04C7 04C8 CYRILLIC # Cyrillic In/2.pl
+04CB 04CC CYRILLIC # Cyrillic In/2.pl
+04D0 04F5 CYRILLIC # Cyrillic In/2.pl
+04F8 04F9 CYRILLIC # Cyrillic In/2.pl
+0531 0556 ARMENIAN # Armenian In/3.pl
+0561 0587 ARMENIAN # Armenian In/3.pl
+FB13 FB17 ARMENIAN # Armenian In/3.pl
+05D0 05EA HEBREW # Hebrew In/4.pl
+05F0 05F2 HEBREW # Hebrew In/4.pl
+FB1F FB28 HEBREW # Hebrew In/4.pl
+FB2A FB36 HEBREW # Hebrew In/4.pl
+FB38 FB3C HEBREW # Hebrew In/4.pl
+FB40 FB41 HEBREW # Hebrew In/4.pl
+FB43 FB44 HEBREW # Hebrew In/4.pl
+FB46 FB4F HEBREW # Hebrew In/4.pl
+0621 063A ARABIC # Arabic In/5.pl
+0641 064A ARABIC # Arabic In/5.pl
+0671 06D3 ARABIC # Arabic In/5.pl
+06E5 06E6 ARABIC # Arabic In/5.pl
+06FA 06FC ARABIC # Arabic In/5.pl
+FB50 FBB1 ARABIC # Arabic In/5.pl
+FBD3 FD3D ARABIC # Arabic In/5.pl
+FD50 FD8F ARABIC # Arabic In/5.pl
+FD92 FDC7 ARABIC # Arabic In/5.pl
+FDF0 FDFB ARABIC # Arabic In/5.pl
+FE70 FE72 ARABIC # Arabic In/5.pl
+FE76 FEFC ARABIC # Arabic In/5.pl
+0712 072C SYRIAC # Syriac In/6.pl
+0730 074A SYRIAC # Syriac In/6.pl
+0780 07A5 THAANA # Thaana In/7.pl
+07A6 07B0 THAANA # Thaana In/7.pl
+0901 0902 DEVANAGARI # Devanagari In/8.pl
+0905 0939 DEVANAGARI # Devanagari In/8.pl
+093E 0940 DEVANAGARI # Devanagari In/8.pl
+0941 0948 DEVANAGARI # Devanagari In/8.pl
+0949 094C DEVANAGARI # Devanagari In/8.pl
+0951 0954 DEVANAGARI # Devanagari In/8.pl
+0958 0961 DEVANAGARI # Devanagari In/8.pl
+0962 0963 DEVANAGARI # Devanagari In/8.pl
+0966 096F DEVANAGARI # Devanagari In/8.pl
+0985 098C BENGALI # Bengali In/9.pl
+098F 0990 BENGALI # Bengali In/9.pl
+0993 09A8 BENGALI # Bengali In/9.pl
+09AA 09B0 BENGALI # Bengali In/9.pl
+09B6 09B9 BENGALI # Bengali In/9.pl
+09BE 09C0 BENGALI # Bengali In/9.pl
+09C1 09C4 BENGALI # Bengali In/9.pl
+09C7 09C8 BENGALI # Bengali In/9.pl
+09CB 09CC BENGALI # Bengali In/9.pl
+09DC 09DD BENGALI # Bengali In/9.pl
+09DF 09E1 BENGALI # Bengali In/9.pl
+09E2 09E3 BENGALI # Bengali In/9.pl
+09E6 09EF BENGALI # Bengali In/9.pl
+09F0 09F1 BENGALI # Bengali In/9.pl
+0A05 0A0A GURMUKHI # Gurmukhi In/10.pl
+0A0F 0A10 GURMUKHI # Gurmukhi In/10.pl
+0A13 0A28 GURMUKHI # Gurmukhi In/10.pl
+0A2A 0A30 GURMUKHI # Gurmukhi In/10.pl
+0A32 0A33 GURMUKHI # Gurmukhi In/10.pl
+0A35 0A36 GURMUKHI # Gurmukhi In/10.pl
+0A38 0A39 GURMUKHI # Gurmukhi In/10.pl
+0A3E 0A40 GURMUKHI # Gurmukhi In/10.pl
+0A41 0A42 GURMUKHI # Gurmukhi In/10.pl
+0A47 0A48 GURMUKHI # Gurmukhi In/10.pl
+0A4B 0A4D GURMUKHI # Gurmukhi In/10.pl
+0A59 0A5C GURMUKHI # Gurmukhi In/10.pl
+0A66 0A6F GURMUKHI # Gurmukhi In/10.pl
+0A70 0A71 GURMUKHI # Gurmukhi In/10.pl
+0A72 0A74 GURMUKHI # Gurmukhi In/10.pl
+0A81 0A82 GUJARATI # Gujarati In/11.pl
+0A85 0A8B GUJARATI # Gujarati In/11.pl
+0A8F 0A91 GUJARATI # Gujarati In/11.pl
+0A93 0AA8 GUJARATI # Gujarati In/11.pl
+0AAA 0AB0 GUJARATI # Gujarati In/11.pl
+0AB2 0AB3 GUJARATI # Gujarati In/11.pl
+0AB5 0AB9 GUJARATI # Gujarati In/11.pl
+0ABE 0AC0 GUJARATI # Gujarati In/11.pl
+0AC1 0AC5 GUJARATI # Gujarati In/11.pl
+0AC7 0AC8 GUJARATI # Gujarati In/11.pl
+0ACB 0ACC GUJARATI # Gujarati In/11.pl
+0AE6 0AEF GUJARATI # Gujarati In/11.pl
+0B02 0B03 ORIYA # Oriya In/12.pl
+0B05 0B0C ORIYA # Oriya In/12.pl
+0B0F 0B10 ORIYA # Oriya In/12.pl
+0B13 0B28 ORIYA # Oriya In/12.pl
+0B2A 0B30 ORIYA # Oriya In/12.pl
+0B32 0B33 ORIYA # Oriya In/12.pl
+0B36 0B39 ORIYA # Oriya In/12.pl
+0B41 0B43 ORIYA # Oriya In/12.pl
+0B47 0B48 ORIYA # Oriya In/12.pl
+0B4B 0B4C ORIYA # Oriya In/12.pl
+0B5C 0B5D ORIYA # Oriya In/12.pl
+0B5F 0B61 ORIYA # Oriya In/12.pl
+0B66 0B6F ORIYA # Oriya In/12.pl
+0B85 0B8A TAMIL # Tamil In/13.pl
+0B8E 0B90 TAMIL # Tamil In/13.pl
+0B92 0B95 TAMIL # Tamil In/13.pl
+0B99 0B9A TAMIL # Tamil In/13.pl
+0B9E 0B9F TAMIL # Tamil In/13.pl
+0BA3 0BA4 TAMIL # Tamil In/13.pl
+0BA8 0BAA TAMIL # Tamil In/13.pl
+0BAE 0BB5 TAMIL # Tamil In/13.pl
+0BB7 0BB9 TAMIL # Tamil In/13.pl
+0BBE 0BBF TAMIL # Tamil In/13.pl
+0BC1 0BC2 TAMIL # Tamil In/13.pl
+0BC6 0BC8 TAMIL # Tamil In/13.pl
+0BCA 0BCC TAMIL # Tamil In/13.pl
+0BE7 0BEF TAMIL # Tamil In/13.pl
+0BF0 0BF2 TAMIL # Tamil In/13.pl
+0C01 0C03 TELUGU # Telugu In/14.pl
+0C05 0C0C TELUGU # Telugu In/14.pl
+0C0E 0C10 TELUGU # Telugu In/14.pl
+0C12 0C28 TELUGU # Telugu In/14.pl
+0C2A 0C33 TELUGU # Telugu In/14.pl
+0C35 0C39 TELUGU # Telugu In/14.pl
+0C3E 0C40 TELUGU # Telugu In/14.pl
+0C41 0C44 TELUGU # Telugu In/14.pl
+0C46 0C48 TELUGU # Telugu In/14.pl
+0C4A 0C4D TELUGU # Telugu In/14.pl
+0C55 0C56 TELUGU # Telugu In/14.pl
+0C60 0C61 TELUGU # Telugu In/14.pl
+0C66 0C6F TELUGU # Telugu In/14.pl
+0C82 0C83 KANNADA # Kannada In/15.pl
+0C85 0C8C KANNADA # Kannada In/15.pl
+0C8E 0C90 KANNADA # Kannada In/15.pl
+0C92 0CA8 KANNADA # Kannada In/15.pl
+0CAA 0CB3 KANNADA # Kannada In/15.pl
+0CB5 0CB9 KANNADA # Kannada In/15.pl
+0CC0 0CC4 KANNADA # Kannada In/15.pl
+0CC7 0CC8 KANNADA # Kannada In/15.pl
+0CCA 0CCB KANNADA # Kannada In/15.pl
+0CCC 0CCD KANNADA # Kannada In/15.pl
+0CD5 0CD6 KANNADA # Kannada In/15.pl
+0CE0 0CE1 KANNADA # Kannada In/15.pl
+0CE6 0CEF KANNADA # Kannada In/15.pl
+0D02 0D03 MALAYALAM # Malayalam In/16.pl
+0D05 0D0C MALAYALAM # Malayalam In/16.pl
+0D0E 0D10 MALAYALAM # Malayalam In/16.pl
+0D12 0D28 MALAYALAM # Malayalam In/16.pl
+0D2A 0D39 MALAYALAM # Malayalam In/16.pl
+0D3E 0D40 MALAYALAM # Malayalam In/16.pl
+0D41 0D43 MALAYALAM # Malayalam In/16.pl
+0D46 0D48 MALAYALAM # Malayalam In/16.pl
+0D4A 0D4C MALAYALAM # Malayalam In/16.pl
+0D60 0D61 MALAYALAM # Malayalam In/16.pl
+0D66 0D6F MALAYALAM # Malayalam In/16.pl
+0D82 0D83 SINHALA # Sinhala In/17.pl
+0D85 0D96 SINHALA # Sinhala In/17.pl
+0D9A 0DB1 SINHALA # Sinhala In/17.pl
+0DB3 0DBB SINHALA # Sinhala In/17.pl
+0DC0 0DC6 SINHALA # Sinhala In/17.pl
+0DCF 0DD1 SINHALA # Sinhala In/17.pl
+0DD2 0DD4 SINHALA # Sinhala In/17.pl
+0DD8 0DDF SINHALA # Sinhala In/17.pl
+0DF2 0DF3 SINHALA # Sinhala In/17.pl
+0E01 0E30 THAI # Thai In/18.pl
+0E32 0E33 THAI # Thai In/18.pl
+0E34 0E3A THAI # Thai In/18.pl
+0E40 0E45 THAI # Thai In/18.pl
+0E47 0E4E THAI # Thai In/18.pl
+0E50 0E59 THAI # Thai In/18.pl
+0E81 0E82 LAO # Lao In/19.pl
+0E87 0E88 LAO # Lao In/19.pl
+0E94 0E97 LAO # Lao In/19.pl
+0E99 0E9F LAO # Lao In/19.pl
+0EA1 0EA3 LAO # Lao In/19.pl
+0EAA 0EAB LAO # Lao In/19.pl
+0EAD 0EB0 LAO # Lao In/19.pl
+0EB2 0EB3 LAO # Lao In/19.pl
+0EB4 0EB9 LAO # Lao In/19.pl
+0EBB 0EBC LAO # Lao In/19.pl
+0EC0 0EC4 LAO # Lao In/19.pl
+0EC8 0ECD LAO # Lao In/19.pl
+0ED0 0ED9 LAO # Lao In/19.pl
+0EDC 0EDD LAO # Lao In/19.pl
+0F18 0F19 TIBETAN # Tibetan In/20.pl
+0F20 0F29 TIBETAN # Tibetan In/20.pl
+0F2A 0F33 TIBETAN # Tibetan In/20.pl
+0F40 0F47 TIBETAN # Tibetan In/20.pl
+0F49 0F6A TIBETAN # Tibetan In/20.pl
+0F71 0F7E TIBETAN # Tibetan In/20.pl
+0F80 0F84 TIBETAN # Tibetan In/20.pl
+0F86 0F87 TIBETAN # Tibetan In/20.pl
+0F88 0F8B TIBETAN # Tibetan In/20.pl
+0F90 0F97 TIBETAN # Tibetan In/20.pl
+0F99 0FBC TIBETAN # Tibetan In/20.pl
+1000 1021 MYANMAR # Myanmar In/21.pl
+1023 1027 MYANMAR # Myanmar In/21.pl
+1029 102A MYANMAR # Myanmar In/21.pl
+102D 1030 MYANMAR # Myanmar In/21.pl
+1036 1037 MYANMAR # Myanmar In/21.pl
+1040 1049 MYANMAR # Myanmar In/21.pl
+1050 1055 MYANMAR # Myanmar In/21.pl
+1056 1057 MYANMAR # Myanmar In/21.pl
+1058 1059 MYANMAR # Myanmar In/21.pl
+10A0 10C5 GEORGIAN # Georgian In/22.pl
+10D0 10F6 GEORGIAN # Georgian In/22.pl
+1100 1159 HANGUL # Hangul In/23.pl
+115F 11A2 HANGUL # Hangul In/23.pl
+11A8 11F9 HANGUL # Hangul In/23.pl
+3131 318E HANGUL # Hangul In/23.pl
+AC00 D7A3 HANGUL # Hangul In/23.pl
+FFA0 FFBE HANGUL # Hangul In/23.pl
+FFC2 FFC7 HANGUL # Hangul In/23.pl
+FFCA FFCF HANGUL # Hangul In/23.pl
+FFD2 FFD7 HANGUL # Hangul In/23.pl
+FFDA FFDC HANGUL # Hangul In/23.pl
+1200 1206 ETHIOPIC # Ethiopic In/24.pl
+1208 1246 ETHIOPIC # Ethiopic In/24.pl
+124A 124D ETHIOPIC # Ethiopic In/24.pl
+1250 1256 ETHIOPIC # Ethiopic In/24.pl
+125A 125D ETHIOPIC # Ethiopic In/24.pl
+1260 1286 ETHIOPIC # Ethiopic In/24.pl
+128A 128D ETHIOPIC # Ethiopic In/24.pl
+1290 12AE ETHIOPIC # Ethiopic In/24.pl
+12B2 12B5 ETHIOPIC # Ethiopic In/24.pl
+12B8 12BE ETHIOPIC # Ethiopic In/24.pl
+12C2 12C5 ETHIOPIC # Ethiopic In/24.pl
+12C8 12CE ETHIOPIC # Ethiopic In/24.pl
+12D0 12D6 ETHIOPIC # Ethiopic In/24.pl
+12D8 12EE ETHIOPIC # Ethiopic In/24.pl
+12F0 130E ETHIOPIC # Ethiopic In/24.pl
+1312 1315 ETHIOPIC # Ethiopic In/24.pl
+1318 131E ETHIOPIC # Ethiopic In/24.pl
+1320 1346 ETHIOPIC # Ethiopic In/24.pl
+1348 135A ETHIOPIC # Ethiopic In/24.pl
+1369 1371 ETHIOPIC # Ethiopic In/24.pl
+1372 137C ETHIOPIC # Ethiopic In/24.pl
+13A0 13F4 CHEROKEE # Cherokee In/25.pl
+1401 166C CANADIAN-ABORIGINAL # CanadianAboriginal In/26.pl
+166F 1676 CANADIAN-ABORIGINAL # CanadianAboriginal In/26.pl
+1681 169A OGHAM # Ogham In/27.pl
+16A0 16EA RUNIC # Runic In/28.pl
+16EE 16F0 RUNIC # Runic In/28.pl
+1780 17B3 KHMER # Khmer In/29.pl
+17B4 17B6 KHMER # Khmer In/29.pl
+17B7 17BD KHMER # Khmer In/29.pl
+17BE 17C5 KHMER # Khmer In/29.pl
+17C7 17C8 KHMER # Khmer In/29.pl
+17C9 17D3 KHMER # Khmer In/29.pl
+17E0 17E9 KHMER # Khmer In/29.pl
+1810 1819 MONGOLIAN # Mongolian In/30.pl
+1820 1842 MONGOLIAN # Mongolian In/30.pl
+1844 1877 MONGOLIAN # Mongolian In/30.pl
+1880 18A8 MONGOLIAN # Mongolian In/30.pl
+3041 3094 HIRAGANA # Hiragana In/31.pl
+309D 309E HIRAGANA # Hiragana In/31.pl
+30A1 30FA KATAKANA # Katakana In/32.pl
+30FD 30FE KATAKANA # Katakana In/32.pl
+FF66 FF6F KATAKANA # Katakana In/32.pl
+FF71 FF9D KATAKANA # Katakana In/32.pl
+3105 312C BOPOMOFO # Bopomofo In/33.pl
+31A0 31B7 BOPOMOFO # Bopomofo In/33.pl
+2E80 2E99 HAN # Han In/34.pl
+2E9B 2EF3 HAN # Han In/34.pl
+2F00 2FD5 HAN # Han In/34.pl
+3021 3029 HAN # Han In/34.pl
+3038 303A HAN # Han In/34.pl
+3400 4DB5 HAN # Han In/34.pl
+4E00 9FA5 HAN # Han In/34.pl
+F900 FA2D HAN # Han In/34.pl
+20000 2A6D6 HAN # Han In/34.pl
+2F800 2FA1D HAN # Han In/34.pl
+A000 A48C YI # Yi In/35.pl
+A490 A4A1 YI # Yi In/35.pl
+A4A4 A4B3 YI # Yi In/35.pl
+A4B5 A4C0 YI # Yi In/35.pl
+A4C2 A4C4 YI # Yi In/35.pl
+10300 1031E OLD-ITALIC # OldItalic In/36.pl
+10330 10349 GOTHIC # Gothic In/37.pl
+10400 10425 DESERET # Deseret In/38.pl
+10428 1044D DESERET # Deseret In/38.pl
+0300 034E INHERITED # Inherited In/39.pl
+0360 0362 INHERITED # Inherited In/39.pl
+0488 0489 INHERITED # Inherited In/39.pl
+0591 05A1 INHERITED # Inherited In/39.pl
+05A3 05B9 INHERITED # Inherited In/39.pl
+05BB 05BD INHERITED # Inherited In/39.pl
+05C1 05C2 INHERITED # Inherited In/39.pl
+064B 0655 INHERITED # Inherited In/39.pl
+06D6 06DC INHERITED # Inherited In/39.pl
+06DD 06DE INHERITED # Inherited In/39.pl
+06DF 06E4 INHERITED # Inherited In/39.pl
+06E7 06E8 INHERITED # Inherited In/39.pl
+06EA 06ED INHERITED # Inherited In/39.pl
+20D0 20DC INHERITED # Inherited In/39.pl
+20DD 20E0 INHERITED # Inherited In/39.pl
+20E2 20E3 INHERITED # Inherited In/39.pl
+302A 302F INHERITED # Inherited In/39.pl
+3099 309A INHERITED # Inherited In/39.pl
+FE20 FE23 INHERITED # Inherited In/39.pl
+1D167 1D169 INHERITED # Inherited In/39.pl
+1D17B 1D182 INHERITED # Inherited In/39.pl
+1D185 1D18B INHERITED # Inherited In/39.pl
+1D1AA 1D1AD INHERITED # Inherited In/39.pl
+END
diff --git a/lib/unicode/mktables.PL b/lib/unicode/mktables.PL
index 637050a3fc..ca9f6d931b 100755
--- a/lib/unicode/mktables.PL
+++ b/lib/unicode/mktables.PL
@@ -239,16 +239,7 @@ foreach $file (@todo) {
next if @ARGV and not grep { $_ eq $table } @ARGV;
print $table, "\n";
$table =~ s/\W+//g;
- if ($table =~ /^In(.+)/) {
- my $id;
- unless (exists $InId{$1}) {
- $InId{$1} = $InId++;
- }
- $id = $InId{$1};
- open(OUT, ">In/$id.pl") or die "Can't create In/$id.pl: $!\n";
- print OUT "# In/$id.pl $1\n";
- }
- elsif ($table =~ /^(Is|To)(.+)/) {
+ if ($table =~ /^(Is|To)(.+)/) {
open(OUT, ">$1/$2.pl") or die "Can't create $1/$2.pl: $!\n";
}
else {
@@ -267,6 +258,67 @@ END
close OUT;
}
+# Do Scripts before Blocks so that in case of naming conflicts
+# the more natural one (Script) wins over the artificial one (Block).
+
+print "Scripts\n";
+open(UD, 'Scripts.txt') or die "Can't open Scripts.txt: $!\n";
+open(OUT, ">Scripts.pl") or die "Can't create Scripts.pl: $!\n";
+print OUT <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+EOH
+print OUT <<"END";
+return <<'END';
+END
+
+my %Scripts;
+
+while (<UD>) {
+ next if /^#/;
+ next if /^$/;
+ chomp;
+ ($code, $last, $name) = /^([0-9a-f]+)\.\.([0-9a-f]+)\s+;\s+(.+)\s+\#/i;
+ if ($name) {
+ my $InName = lc($name);
+ $InName =~ s/\b(\w)/uc($1)/ge;
+ $InName =~ s/\W+//g;
+ my $id;
+ unless (exists $InId{$InName}) {
+ print "\t$InName\n";
+ $id = $Scripts{$InName} = $InId{$InName} = $InId++;
+ open(SCRIPT, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+ print SCRIPT <<EOH;
+# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
+# This file is built by $0 from e.g. $UnicodeData.
+# Any changes made here will be lost!
+return <<'END';
+EOH
+ close(SCRIPT);
+ } else {
+ $id = $InId{$InName};
+ }
+ print OUT "$code\t$last\t$name\t# $InName In/$id.pl\n";
+ open(SCRIPT, ">>In/$id.pl");
+ print SCRIPT <<END;
+$code $last
+END
+ close SCRIPT;
+ }
+}
+
+for my $id (values %InId) {
+ open(SCRIPT, ">>In/$id.pl");
+ print SCRIPT <<END2;
+END
+END2
+ close(SCRIPT);
+}
+
+print OUT "END\n";
+close OUT;
+
# Must treat blocks specially.
exit if @ARGV and not grep { $_ eq Block } @ARGV;
@@ -288,15 +340,20 @@ while (<UD>) {
chomp;
($code, $last, $name) = /^([0-9a-f]+)\.\.([0-9a-f]+); (.+)/i;
if ($name) {
- print OUT "$code $last $name\n";
- $name =~ s/\W+//g;
+ my $InName = $name;
+ $InName =~ s/\W+//g;
+ print "\t$InName\n";
my $id;
- unless (exists $InId{$name}) {
- $InId{$name} = $InId++;
+ # TODO: only the first one of Private Use blocks qualifies
+ unless (exists $InId{$InName}) {
+ $InId{$InName} = $InId++;
+ } elsif (exists $Scripts{$InName}) {
+ $InName .= 'Block';
+ $InId{$InName} = $InId++;
}
- $id = $InId{$name};
- open(BLOCK, ">In/$id.pl");
- print OUT "# In/$id.pl $name\n";
+ $id = $InId{$InName};
+ open(BLOCK, ">In/$id.pl") or die "create In/$id.pl: $!\n";
+ print OUT "$code\t$last\t$name\t# $InName In/$id.pl\n";
print BLOCK <<EOH;
# !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
# This file is built by $0 from e.g. $UnicodeData.