File Coverage

blib/lib/Termbox/PP/WCWidth/Tables.pm
Criterion Covered Total %
statement 9 9 100.0
branch n/a
condition n/a
subroutine 3 3 100.0
pod n/a
total 12 12 100.0


line stmt bran cond sub pod time code
1             package Termbox::PP::WCWidth::Tables;
2            
3 1     1   6 use Exporter qw( import );
  1         2  
  1         989  
4             our @EXPORT = qw(
5             ZERO_WIDTH
6             WIDE_EASTASIAN
7             );
8            
9             # Generated by .\bin\build_wcwidth_tables.pl
10            
11             # Generated: 2026-05-03, 17:57:02 GMT
12             # Source: DerivedGeneralCategory-17.0.0.txt
13             # Date: 2025-07-24, 00:12:50 GMT
14 1         1027 use constant ZERO_WIDTH => [
15             [0x0300, 0x036f], # COMBINING GRAVE ACCENT ..COMBINING LATIN SMALL LE
16             [0x0483, 0x0487], # COMBINING CYRILLIC TITLO..COMBINING CYRILLIC POKRY
17             [0x0488, 0x0489], # COMBINING CYRILLIC HUNDR..COMBINING CYRILLIC MILLI
18             [0x0591, 0x05bd], # HEBREW ACCENT ETNAHTA ..HEBREW POINT METEG
19             [0x05bf, 0x05bf], # HEBREW POINT RAFE ..HEBREW POINT RAFE
20             [0x05c1, 0x05c2], # HEBREW POINT SHIN DOT ..HEBREW POINT SIN DOT
21             [0x05c4, 0x05c5], # HEBREW MARK UPPER DOT ..HEBREW MARK LOWER DOT
22             [0x05c7, 0x05c7], # HEBREW POINT QAMATS QATA..HEBREW POINT QAMATS QATA
23             [0x0610, 0x061a], # ARABIC SIGN SALLALLAHOU ..ARABIC SMALL KASRA
24             [0x064b, 0x065f], # ARABIC FATHATAN ..ARABIC WAVY HAMZA BELOW
25             [0x0670, 0x0670], # ARABIC LETTER SUPERSCRIP..ARABIC LETTER SUPERSCRIP
26             [0x06d6, 0x06dc], # ARABIC SMALL HIGH LIGATU..ARABIC SMALL HIGH SEEN
27             [0x06df, 0x06e4], # ARABIC SMALL HIGH ROUNDE..ARABIC SMALL HIGH MADDA
28             [0x06e7, 0x06e8], # ARABIC SMALL HIGH YEH ..ARABIC SMALL HIGH NOON
29             [0x06ea, 0x06ed], # ARABIC EMPTY CENTRE LOW ..ARABIC SMALL LOW MEEM
30             [0x0711, 0x0711], # SYRIAC LETTER SUPERSCRIP..SYRIAC LETTER SUPERSCRIP
31             [0x0730, 0x074a], # SYRIAC PTHAHA ABOVE ..SYRIAC BARREKH
32             [0x07a6, 0x07b0], # THAANA ABAFILI ..THAANA SUKUN
33             [0x07eb, 0x07f3], # NKO COMBINING SHORT HIGH..NKO COMBINING DOUBLE DOT
34             [0x07fd, 0x07fd], # 07FD ..07FD
35             [0x0816, 0x0819], # SAMARITAN MARK IN ..SAMARITAN MARK DAGESH
36             [0x081b, 0x0823], # SAMARITAN MARK EPENTHETI..SAMARITAN VOWEL SIGN A
37             [0x0825, 0x0827], # SAMARITAN VOWEL SIGN SHO..SAMARITAN VOWEL SIGN U
38             [0x0829, 0x082d], # SAMARITAN VOWEL SIGN LON..SAMARITAN MARK NEQUDAA
39             [0x0859, 0x085b], # MANDAIC AFFRICATION MARK..MANDAIC GEMINATION MARK
40             [0x0897, 0x089f], # 0897 ..089F
41             [0x08ca, 0x08e1], # 08CA ..08E1
42             [0x08e3, 0x0902], # 08E3 ..DEVANAGARI SIGN ANUSVARA
43             [0x093a, 0x093a], # DEVANAGARI VOWEL SIGN OE..DEVANAGARI VOWEL SIGN OE
44             [0x093c, 0x093c], # DEVANAGARI SIGN NUKTA ..DEVANAGARI SIGN NUKTA
45             [0x0941, 0x0948], # DEVANAGARI VOWEL SIGN U ..DEVANAGARI VOWEL SIGN AI
46             [0x094d, 0x094d], # DEVANAGARI SIGN VIRAMA ..DEVANAGARI SIGN VIRAMA
47             [0x0951, 0x0957], # DEVANAGARI STRESS SIGN U..DEVANAGARI VOWEL SIGN UU
48             [0x0962, 0x0963], # DEVANAGARI VOWEL SIGN VO..DEVANAGARI VOWEL SIGN VO
49             [0x0981, 0x0981], # BENGALI SIGN CANDRABINDU..BENGALI SIGN CANDRABINDU
50             [0x09bc, 0x09bc], # BENGALI SIGN NUKTA ..BENGALI SIGN NUKTA
51             [0x09c1, 0x09c4], # BENGALI VOWEL SIGN U ..BENGALI VOWEL SIGN VOCAL
52             [0x09cd, 0x09cd], # BENGALI SIGN VIRAMA ..BENGALI SIGN VIRAMA
53             [0x09e2, 0x09e3], # BENGALI VOWEL SIGN VOCAL..BENGALI VOWEL SIGN VOCAL
54             [0x09fe, 0x09fe], # 09FE ..09FE
55             [0x0a01, 0x0a02], # GURMUKHI SIGN ADAK BINDI..GURMUKHI SIGN BINDI
56             [0x0a3c, 0x0a3c], # GURMUKHI SIGN NUKTA ..GURMUKHI SIGN NUKTA
57             [0x0a41, 0x0a42], # GURMUKHI VOWEL SIGN U ..GURMUKHI VOWEL SIGN UU
58             [0x0a47, 0x0a48], # GURMUKHI VOWEL SIGN EE ..GURMUKHI VOWEL SIGN AI
59             [0x0a4b, 0x0a4d], # GURMUKHI VOWEL SIGN OO ..GURMUKHI SIGN VIRAMA
60             [0x0a51, 0x0a51], # GURMUKHI SIGN UDAAT ..GURMUKHI SIGN UDAAT
61             [0x0a70, 0x0a71], # GURMUKHI TIPPI ..GURMUKHI ADDAK
62             [0x0a75, 0x0a75], # GURMUKHI SIGN YAKASH ..GURMUKHI SIGN YAKASH
63             [0x0a81, 0x0a82], # GUJARATI SIGN CANDRABIND..GUJARATI SIGN ANUSVARA
64             [0x0abc, 0x0abc], # GUJARATI SIGN NUKTA ..GUJARATI SIGN NUKTA
65             [0x0ac1, 0x0ac5], # GUJARATI VOWEL SIGN U ..GUJARATI VOWEL SIGN CAND
66             [0x0ac7, 0x0ac8], # GUJARATI VOWEL SIGN E ..GUJARATI VOWEL SIGN AI
67             [0x0acd, 0x0acd], # GUJARATI SIGN VIRAMA ..GUJARATI SIGN VIRAMA
68             [0x0ae2, 0x0ae3], # GUJARATI VOWEL SIGN VOCA..GUJARATI VOWEL SIGN VOCA
69             [0x0afa, 0x0aff], # 0AFA ..0AFF
70             [0x0b01, 0x0b01], # ORIYA SIGN CANDRABINDU ..ORIYA SIGN CANDRABINDU
71             [0x0b3c, 0x0b3c], # ORIYA SIGN NUKTA ..ORIYA SIGN NUKTA
72             [0x0b3f, 0x0b3f], # ORIYA VOWEL SIGN I ..ORIYA VOWEL SIGN I
73             [0x0b41, 0x0b44], # ORIYA VOWEL SIGN U ..ORIYA VOWEL SIGN VOCALIC
74             [0x0b4d, 0x0b4d], # ORIYA SIGN VIRAMA ..ORIYA SIGN VIRAMA
75             [0x0b55, 0x0b56], # 0B55 ..ORIYA AI LENGTH MARK
76             [0x0b62, 0x0b63], # ORIYA VOWEL SIGN VOCALIC..ORIYA VOWEL SIGN VOCALIC
77             [0x0b82, 0x0b82], # TAMIL SIGN ANUSVARA ..TAMIL SIGN ANUSVARA
78             [0x0bc0, 0x0bc0], # TAMIL VOWEL SIGN II ..TAMIL VOWEL SIGN II
79             [0x0bcd, 0x0bcd], # TAMIL SIGN VIRAMA ..TAMIL SIGN VIRAMA
80             [0x0c00, 0x0c00], # 0C00 ..0C00
81             [0x0c04, 0x0c04], # 0C04 ..0C04
82             [0x0c3c, 0x0c3c], # 0C3C ..0C3C
83             [0x0c3e, 0x0c40], # TELUGU VOWEL SIGN AA ..TELUGU VOWEL SIGN II
84             [0x0c46, 0x0c48], # TELUGU VOWEL SIGN E ..TELUGU VOWEL SIGN AI
85             [0x0c4a, 0x0c4d], # TELUGU VOWEL SIGN O ..TELUGU SIGN VIRAMA
86             [0x0c55, 0x0c56], # TELUGU LENGTH MARK ..TELUGU AI LENGTH MARK
87             [0x0c62, 0x0c63], # TELUGU VOWEL SIGN VOCALI..TELUGU VOWEL SIGN VOCALI
88             [0x0c81, 0x0c81], # 0C81 ..0C81
89             [0x0cbc, 0x0cbc], # KANNADA SIGN NUKTA ..KANNADA SIGN NUKTA
90             [0x0cbf, 0x0cbf], # KANNADA VOWEL SIGN I ..KANNADA VOWEL SIGN I
91             [0x0cc6, 0x0cc6], # KANNADA VOWEL SIGN E ..KANNADA VOWEL SIGN E
92             [0x0ccc, 0x0ccd], # KANNADA VOWEL SIGN AU ..KANNADA SIGN VIRAMA
93             [0x0ce2, 0x0ce3], # KANNADA VOWEL SIGN VOCAL..KANNADA VOWEL SIGN VOCAL
94             [0x0d00, 0x0d01], # 0D00 ..0D01
95             [0x0d3b, 0x0d3c], # 0D3B ..0D3C
96             [0x0d41, 0x0d44], # MALAYALAM VOWEL SIGN U ..MALAYALAM VOWEL SIGN VOC
97             [0x0d4d, 0x0d4d], # MALAYALAM SIGN VIRAMA ..MALAYALAM SIGN VIRAMA
98             [0x0d62, 0x0d63], # MALAYALAM VOWEL SIGN VOC..MALAYALAM VOWEL SIGN VOC
99             [0x0d81, 0x0d81], # 0D81 ..0D81
100             [0x0dca, 0x0dca], # SINHALA SIGN AL-LAKUNA ..SINHALA SIGN AL-LAKUNA
101             [0x0dd2, 0x0dd4], # SINHALA VOWEL SIGN KETTI..SINHALA VOWEL SIGN KETTI
102             [0x0dd6, 0x0dd6], # SINHALA VOWEL SIGN DIGA ..SINHALA VOWEL SIGN DIGA
103             [0x0e31, 0x0e31], # THAI CHARACTER MAI HAN-A..THAI CHARACTER MAI HAN-A
104             [0x0e34, 0x0e3a], # THAI CHARACTER SARA I ..THAI CHARACTER PHINTHU
105             [0x0e47, 0x0e4e], # THAI CHARACTER MAITAIKHU..THAI CHARACTER YAMAKKAN
106             [0x0eb1, 0x0eb1], # LAO VOWEL SIGN MAI KAN ..LAO VOWEL SIGN MAI KAN
107             [0x0eb4, 0x0ebc], # LAO VOWEL SIGN I ..LAO SEMIVOWEL SIGN LO
108             [0x0ec8, 0x0ece], # LAO TONE MAI EK ..0ECE
109             [0x0f18, 0x0f19], # TIBETAN ASTROLOGICAL SIG..TIBETAN ASTROLOGICAL SIG
110             [0x0f35, 0x0f35], # TIBETAN MARK NGAS BZUNG ..TIBETAN MARK NGAS BZUNG
111             [0x0f37, 0x0f37], # TIBETAN MARK NGAS BZUNG ..TIBETAN MARK NGAS BZUNG
112             [0x0f39, 0x0f39], # TIBETAN MARK TSA -PHRU ..TIBETAN MARK TSA -PHRU
113             [0x0f71, 0x0f7e], # TIBETAN VOWEL SIGN AA ..TIBETAN SIGN RJES SU NGA
114             [0x0f80, 0x0f84], # TIBETAN VOWEL SIGN REVER..TIBETAN MARK HALANTA
115             [0x0f86, 0x0f87], # TIBETAN SIGN LCI RTAGS ..TIBETAN SIGN YANG RTAGS
116             [0x0f8d, 0x0f97], # TIBETAN SUBJOINED SIGN L..TIBETAN SUBJOINED LETTER
117             [0x0f99, 0x0fbc], # TIBETAN SUBJOINED LETTER..TIBETAN SUBJOINED LETTER
118             [0x0fc6, 0x0fc6], # TIBETAN SYMBOL PADMA GDA..TIBETAN SYMBOL PADMA GDA
119             [0x102d, 0x1030], # MYANMAR VOWEL SIGN I ..MYANMAR VOWEL SIGN UU
120             [0x1032, 0x1037], # MYANMAR VOWEL SIGN AI ..MYANMAR SIGN DOT BELOW
121             [0x1039, 0x103a], # MYANMAR SIGN VIRAMA ..MYANMAR SIGN ASAT
122             [0x103d, 0x103e], # MYANMAR CONSONANT SIGN M..MYANMAR CONSONANT SIGN M
123             [0x1058, 0x1059], # MYANMAR VOWEL SIGN VOCAL..MYANMAR VOWEL SIGN VOCAL
124             [0x105e, 0x1060], # MYANMAR CONSONANT SIGN M..MYANMAR CONSONANT SIGN M
125             [0x1071, 0x1074], # MYANMAR VOWEL SIGN GEBA ..MYANMAR VOWEL SIGN KAYAH
126             [0x1082, 0x1082], # MYANMAR CONSONANT SIGN S..MYANMAR CONSONANT SIGN S
127             [0x1085, 0x1086], # MYANMAR VOWEL SIGN SHAN ..MYANMAR VOWEL SIGN SHAN
128             [0x108d, 0x108d], # MYANMAR SIGN SHAN COUNCI..MYANMAR SIGN SHAN COUNCI
129             [0x109d, 0x109d], # MYANMAR VOWEL SIGN AITON..MYANMAR VOWEL SIGN AITON
130             [0x135d, 0x135f], # ETHIOPIC COMBINING GEMIN..ETHIOPIC COMBINING GEMIN
131             [0x1712, 0x1714], # TAGALOG VOWEL SIGN I ..TAGALOG SIGN VIRAMA
132             [0x1732, 0x1733], # HANUNOO VOWEL SIGN I ..HANUNOO VOWEL SIGN U
133             [0x1752, 0x1753], # BUHID VOWEL SIGN I ..BUHID VOWEL SIGN U
134             [0x1772, 0x1773], # TAGBANWA VOWEL SIGN I ..TAGBANWA VOWEL SIGN U
135             [0x17b4, 0x17b5], # KHMER VOWEL INHERENT AQ ..KHMER VOWEL INHERENT AA
136             [0x17b7, 0x17bd], # KHMER VOWEL SIGN I ..KHMER VOWEL SIGN UA
137             [0x17c6, 0x17c6], # KHMER SIGN NIKAHIT ..KHMER SIGN NIKAHIT
138             [0x17c9, 0x17d3], # KHMER SIGN MUUSIKATOAN ..KHMER SIGN BATHAMASAT
139             [0x17dd, 0x17dd], # KHMER SIGN ATTHACAN ..KHMER SIGN ATTHACAN
140             [0x180b, 0x180d], # MONGOLIAN FREE VARIATION..MONGOLIAN FREE VARIATION
141             [0x180f, 0x180f], # 180F ..180F
142             [0x1885, 0x1886], # MONGOLIAN LETTER ALI GAL..MONGOLIAN LETTER ALI GAL
143             [0x18a9, 0x18a9], # MONGOLIAN LETTER ALI GAL..MONGOLIAN LETTER ALI GAL
144             [0x1920, 0x1922], # LIMBU VOWEL SIGN A ..LIMBU VOWEL SIGN U
145             [0x1927, 0x1928], # LIMBU VOWEL SIGN E ..LIMBU VOWEL SIGN O
146             [0x1932, 0x1932], # LIMBU SMALL LETTER ANUSV..LIMBU SMALL LETTER ANUSV
147             [0x1939, 0x193b], # LIMBU SIGN MUKPHRENG ..LIMBU SIGN SA-I
148             [0x1a17, 0x1a18], # BUGINESE VOWEL SIGN I ..BUGINESE VOWEL SIGN U
149             [0x1a1b, 0x1a1b], # BUGINESE VOWEL SIGN AE ..BUGINESE VOWEL SIGN AE
150             [0x1a56, 0x1a56], # TAI THAM CONSONANT SIGN ..TAI THAM CONSONANT SIGN
151             [0x1a58, 0x1a5e], # TAI THAM SIGN MAI KANG L..TAI THAM CONSONANT SIGN
152             [0x1a60, 0x1a60], # TAI THAM SIGN SAKOT ..TAI THAM SIGN SAKOT
153             [0x1a62, 0x1a62], # TAI THAM VOWEL SIGN MAI ..TAI THAM VOWEL SIGN MAI
154             [0x1a65, 0x1a6c], # TAI THAM VOWEL SIGN I ..TAI THAM VOWEL SIGN OA B
155             [0x1a73, 0x1a7c], # TAI THAM VOWEL SIGN OA A..TAI THAM SIGN KHUEN-LUE
156             [0x1a7f, 0x1a7f], # TAI THAM COMBINING CRYPT..TAI THAM COMBINING CRYPT
157             [0x1ab0, 0x1abd], # 1AB0 ..1ABD
158             [0x1abe, 0x1abe], # 1ABE ..1ABE
159             [0x1abf, 0x1add], # 1ABF ..1ADD
160             [0x1ae0, 0x1aeb], # 1AE0 ..1AEB
161             [0x1b00, 0x1b03], # BALINESE SIGN ULU RICEM ..BALINESE SIGN SURANG
162             [0x1b34, 0x1b34], # BALINESE SIGN REREKAN ..BALINESE SIGN REREKAN
163             [0x1b36, 0x1b3a], # BALINESE VOWEL SIGN ULU ..BALINESE VOWEL SIGN RA R
164             [0x1b3c, 0x1b3c], # BALINESE VOWEL SIGN LA L..BALINESE VOWEL SIGN LA L
165             [0x1b42, 0x1b42], # BALINESE VOWEL SIGN PEPE..BALINESE VOWEL SIGN PEPE
166             [0x1b6b, 0x1b73], # BALINESE MUSICAL SYMBOL ..BALINESE MUSICAL SYMBOL
167             [0x1b80, 0x1b81], # SUNDANESE SIGN PANYECEK ..SUNDANESE SIGN PANGLAYAR
168             [0x1ba2, 0x1ba5], # SUNDANESE CONSONANT SIGN..SUNDANESE VOWEL SIGN PAN
169             [0x1ba8, 0x1ba9], # SUNDANESE VOWEL SIGN PAM..SUNDANESE VOWEL SIGN PAN
170             [0x1bab, 0x1bad], # SUNDANESE SIGN VIRAMA ..SUNDANESE CONSONANT SIGN
171             [0x1be6, 0x1be6], # BATAK SIGN TOMPI ..BATAK SIGN TOMPI
172             [0x1be8, 0x1be9], # BATAK VOWEL SIGN PAKPAK ..BATAK VOWEL SIGN EE
173             [0x1bed, 0x1bed], # BATAK VOWEL SIGN KARO O ..BATAK VOWEL SIGN KARO O
174             [0x1bef, 0x1bf1], # BATAK VOWEL SIGN U FOR S..BATAK CONSONANT SIGN H
175             [0x1c2c, 0x1c33], # LEPCHA VOWEL SIGN E ..LEPCHA CONSONANT SIGN T
176             [0x1c36, 0x1c37], # LEPCHA SIGN RAN ..LEPCHA SIGN NUKTA
177             [0x1cd0, 0x1cd2], # VEDIC TONE KARSHANA ..VEDIC TONE PRENKHA
178             [0x1cd4, 0x1ce0], # VEDIC SIGN YAJURVEDIC MI..VEDIC TONE RIGVEDIC KASH
179             [0x1ce2, 0x1ce8], # VEDIC SIGN VISARGA SVARI..VEDIC SIGN VISARGA ANUDA
180             [0x1ced, 0x1ced], # VEDIC SIGN TIRYAK ..VEDIC SIGN TIRYAK
181             [0x1cf4, 0x1cf4], # VEDIC TONE CANDRA ABOVE ..VEDIC TONE CANDRA ABOVE
182             [0x1cf8, 0x1cf9], # 1CF8 ..1CF9
183             [0x1dc0, 0x1dff], # COMBINING DOTTED GRAVE A..COMBINING RIGHT ARROWHEA
184             [0x20d0, 0x20dc], # COMBINING LEFT HARPOON A..COMBINING FOUR DOTS ABOV
185             [0x20dd, 0x20e0], # COMBINING ENCLOSING CIRC..COMBINING ENCLOSING CIRC
186             [0x20e1, 0x20e1], # COMBINING LEFT RIGHT ARR..COMBINING LEFT RIGHT ARR
187             [0x20e2, 0x20e4], # COMBINING ENCLOSING SCRE..COMBINING ENCLOSING UPWA
188             [0x20e5, 0x20f0], # COMBINING REVERSE SOLIDU..COMBINING ASTERISK ABOVE
189             [0x2cef, 0x2cf1], # COPTIC COMBINING NI ABOV..COPTIC COMBINING SPIRITU
190             [0x2d7f, 0x2d7f], # TIFINAGH CONSONANT JOINE..TIFINAGH CONSONANT JOINE
191             [0x2de0, 0x2dff], # COMBINING CYRILLIC LETTE..COMBINING CYRILLIC LETTE
192             [0x302a, 0x302d], # IDEOGRAPHIC LEVEL TONE M..IDEOGRAPHIC ENTERING TON
193             [0x3099, 0x309a], # COMBINING KATAKANA-HIRAG..COMBINING KATAKANA-HIRAG
194             [0xa66f, 0xa66f], # COMBINING CYRILLIC VZMET..COMBINING CYRILLIC VZMET
195             [0xa670, 0xa672], # COMBINING CYRILLIC TEN M..COMBINING CYRILLIC THOUS
196             [0xa674, 0xa67d], # COMBINING CYRILLIC LETTE..COMBINING CYRILLIC PAYER
197             [0xa69e, 0xa69f], # A69E ..COMBINING CYRILLIC LETTE
198             [0xa6f0, 0xa6f1], # BAMUM COMBINING MARK KOQ..BAMUM COMBINING MARK TUK
199             [0xa802, 0xa802], # SYLOTI NAGRI SIGN DVISVA..SYLOTI NAGRI SIGN DVISVA
200             [0xa806, 0xa806], # SYLOTI NAGRI SIGN HASANT..SYLOTI NAGRI SIGN HASANT
201             [0xa80b, 0xa80b], # SYLOTI NAGRI SIGN ANUSVA..SYLOTI NAGRI SIGN ANUSVA
202             [0xa825, 0xa826], # SYLOTI NAGRI VOWEL SIGN ..SYLOTI NAGRI VOWEL SIGN
203             [0xa82c, 0xa82c], # A82C ..A82C
204             [0xa8c4, 0xa8c5], # SAURASHTRA SIGN VIRAMA ..A8C5
205             [0xa8e0, 0xa8f1], # COMBINING DEVANAGARI DIG..COMBINING DEVANAGARI SIG
206             [0xa8ff, 0xa8ff], # A8FF ..A8FF
207             [0xa926, 0xa92d], # KAYAH LI VOWEL UE ..KAYAH LI TONE CALYA PLOP
208             [0xa947, 0xa951], # REJANG VOWEL SIGN I ..REJANG CONSONANT SIGN R
209             [0xa980, 0xa982], # JAVANESE SIGN PANYANGGA ..JAVANESE SIGN LAYAR
210             [0xa9b3, 0xa9b3], # JAVANESE SIGN CECAK TELU..JAVANESE SIGN CECAK TELU
211             [0xa9b6, 0xa9b9], # JAVANESE VOWEL SIGN WULU..JAVANESE VOWEL SIGN SUKU
212             [0xa9bc, 0xa9bd], # JAVANESE VOWEL SIGN PEPE..JAVANESE CONSONANT SIGN
213             [0xa9e5, 0xa9e5], # A9E5 ..A9E5
214             [0xaa29, 0xaa2e], # CHAM VOWEL SIGN AA ..CHAM VOWEL SIGN OE
215             [0xaa31, 0xaa32], # CHAM VOWEL SIGN AU ..CHAM VOWEL SIGN UE
216             [0xaa35, 0xaa36], # CHAM CONSONANT SIGN LA ..CHAM CONSONANT SIGN WA
217             [0xaa43, 0xaa43], # CHAM CONSONANT SIGN FINA..CHAM CONSONANT SIGN FINA
218             [0xaa4c, 0xaa4c], # CHAM CONSONANT SIGN FINA..CHAM CONSONANT SIGN FINA
219             [0xaa7c, 0xaa7c], # AA7C ..AA7C
220             [0xaab0, 0xaab0], # TAI VIET MAI KANG ..TAI VIET MAI KANG
221             [0xaab2, 0xaab4], # TAI VIET VOWEL I ..TAI VIET VOWEL U
222             [0xaab7, 0xaab8], # TAI VIET MAI KHIT ..TAI VIET VOWEL IA
223             [0xaabe, 0xaabf], # TAI VIET VOWEL AM ..TAI VIET TONE MAI EK
224             [0xaac1, 0xaac1], # TAI VIET TONE MAI THO ..TAI VIET TONE MAI THO
225             [0xaaec, 0xaaed], # MEETEI MAYEK VOWEL SIGN ..MEETEI MAYEK VOWEL SIGN
226             [0xaaf6, 0xaaf6], # MEETEI MAYEK VIRAMA ..MEETEI MAYEK VIRAMA
227             [0xabe5, 0xabe5], # MEETEI MAYEK VOWEL SIGN ..MEETEI MAYEK VOWEL SIGN
228             [0xabe8, 0xabe8], # MEETEI MAYEK VOWEL SIGN ..MEETEI MAYEK VOWEL SIGN
229             [0xabed, 0xabed], # MEETEI MAYEK APUN IYEK ..MEETEI MAYEK APUN IYEK
230             [0xfb1e, 0xfb1e], # HEBREW POINT JUDEO-SPANI..HEBREW POINT JUDEO-SPANI
231             [0xfe00, 0xfe0f], # VARIATION SELECTOR-1 ..VARIATION SELECTOR-16
232             [0xfe20, 0xfe2f], # COMBINING LIGATURE LEFT ..FE2F
233             [0x101fd, 0x101fd], # PHAISTOS DISC SIGN COMBI..PHAISTOS DISC SIGN COMBI
234             [0x102e0, 0x102e0], # 102E0 ..102E0
235             [0x10376, 0x1037a], # 10376 ..1037A
236             [0x10a01, 0x10a03], # KHAROSHTHI VOWEL SIGN I ..KHAROSHTHI VOWEL SIGN VO
237             [0x10a05, 0x10a06], # KHAROSHTHI VOWEL SIGN E ..KHAROSHTHI VOWEL SIGN O
238             [0x10a0c, 0x10a0f], # KHAROSHTHI VOWEL LENGTH ..KHAROSHTHI SIGN VISARGA
239             [0x10a38, 0x10a3a], # KHAROSHTHI SIGN BAR ABOV..KHAROSHTHI SIGN DOT BELO
240             [0x10a3f, 0x10a3f], # KHAROSHTHI VIRAMA ..KHAROSHTHI VIRAMA
241             [0x10ae5, 0x10ae6], # 10AE5 ..10AE6
242             [0x10d24, 0x10d27], # 10D24 ..10D27
243             [0x10d69, 0x10d6d], # 10D69 ..10D6D
244             [0x10eab, 0x10eac], # 10EAB ..10EAC
245             [0x10efa, 0x10eff], # 10EFA ..10EFF
246             [0x10f46, 0x10f50], # 10F46 ..10F50
247             [0x10f82, 0x10f85], # 10F82 ..10F85
248             [0x11001, 0x11001], # BRAHMI SIGN ANUSVARA ..BRAHMI SIGN ANUSVARA
249             [0x11038, 0x11046], # BRAHMI VOWEL SIGN AA ..BRAHMI VIRAMA
250             [0x11070, 0x11070], # 11070 ..11070
251             [0x11073, 0x11074], # 11073 ..11074
252             [0x1107f, 0x11081], # 1107F ..KAITHI SIGN ANUSVARA
253             [0x110b3, 0x110b6], # KAITHI VOWEL SIGN U ..KAITHI VOWEL SIGN AI
254             [0x110b9, 0x110ba], # KAITHI SIGN VIRAMA ..KAITHI SIGN NUKTA
255             [0x110c2, 0x110c2], # 110C2 ..110C2
256             [0x11100, 0x11102], # CHAKMA SIGN CANDRABINDU ..CHAKMA SIGN VISARGA
257             [0x11127, 0x1112b], # CHAKMA VOWEL SIGN A ..CHAKMA VOWEL SIGN UU
258             [0x1112d, 0x11134], # CHAKMA VOWEL SIGN AI ..CHAKMA MAAYYAA
259             [0x11173, 0x11173], # 11173 ..11173
260             [0x11180, 0x11181], # SHARADA SIGN CANDRABINDU..SHARADA SIGN ANUSVARA
261             [0x111b6, 0x111be], # SHARADA VOWEL SIGN U ..SHARADA VOWEL SIGN O
262             [0x111c9, 0x111cc], # 111C9 ..111CC
263             [0x111cf, 0x111cf], # 111CF ..111CF
264             [0x1122f, 0x11231], # 1122F ..11231
265             [0x11234, 0x11234], # 11234 ..11234
266             [0x11236, 0x11237], # 11236 ..11237
267             [0x1123e, 0x1123e], # 1123E ..1123E
268             [0x11241, 0x11241], # 11241 ..11241
269             [0x112df, 0x112df], # 112DF ..112DF
270             [0x112e3, 0x112ea], # 112E3 ..112EA
271             [0x11300, 0x11301], # 11300 ..11301
272             [0x1133b, 0x1133c], # 1133B ..1133C
273             [0x11340, 0x11340], # 11340 ..11340
274             [0x11366, 0x1136c], # 11366 ..1136C
275             [0x11370, 0x11374], # 11370 ..11374
276             [0x113bb, 0x113c0], # 113BB ..113C0
277             [0x113ce, 0x113ce], # 113CE ..113CE
278             [0x113d0, 0x113d0], # 113D0 ..113D0
279             [0x113d2, 0x113d2], # 113D2 ..113D2
280             [0x113e1, 0x113e2], # 113E1 ..113E2
281             [0x11438, 0x1143f], # 11438 ..1143F
282             [0x11442, 0x11444], # 11442 ..11444
283             [0x11446, 0x11446], # 11446 ..11446
284             [0x1145e, 0x1145e], # 1145E ..1145E
285             [0x114b3, 0x114b8], # 114B3 ..114B8
286             [0x114ba, 0x114ba], # 114BA ..114BA
287             [0x114bf, 0x114c0], # 114BF ..114C0
288             [0x114c2, 0x114c3], # 114C2 ..114C3
289             [0x115b2, 0x115b5], # 115B2 ..115B5
290             [0x115bc, 0x115bd], # 115BC ..115BD
291             [0x115bf, 0x115c0], # 115BF ..115C0
292             [0x115dc, 0x115dd], # 115DC ..115DD
293             [0x11633, 0x1163a], # 11633 ..1163A
294             [0x1163d, 0x1163d], # 1163D ..1163D
295             [0x1163f, 0x11640], # 1163F ..11640
296             [0x116ab, 0x116ab], # TAKRI SIGN ANUSVARA ..TAKRI SIGN ANUSVARA
297             [0x116ad, 0x116ad], # TAKRI VOWEL SIGN AA ..TAKRI VOWEL SIGN AA
298             [0x116b0, 0x116b5], # TAKRI VOWEL SIGN U ..TAKRI VOWEL SIGN AU
299             [0x116b7, 0x116b7], # TAKRI SIGN NUKTA ..TAKRI SIGN NUKTA
300             [0x1171d, 0x1171d], # 1171D ..1171D
301             [0x1171f, 0x1171f], # 1171F ..1171F
302             [0x11722, 0x11725], # 11722 ..11725
303             [0x11727, 0x1172b], # 11727 ..1172B
304             [0x1182f, 0x11837], # 1182F ..11837
305             [0x11839, 0x1183a], # 11839 ..1183A
306             [0x1193b, 0x1193c], # 1193B ..1193C
307             [0x1193e, 0x1193e], # 1193E ..1193E
308             [0x11943, 0x11943], # 11943 ..11943
309             [0x119d4, 0x119d7], # 119D4 ..119D7
310             [0x119da, 0x119db], # 119DA ..119DB
311             [0x119e0, 0x119e0], # 119E0 ..119E0
312             [0x11a01, 0x11a0a], # 11A01 ..11A0A
313             [0x11a33, 0x11a38], # 11A33 ..11A38
314             [0x11a3b, 0x11a3e], # 11A3B ..11A3E
315             [0x11a47, 0x11a47], # 11A47 ..11A47
316             [0x11a51, 0x11a56], # 11A51 ..11A56
317             [0x11a59, 0x11a5b], # 11A59 ..11A5B
318             [0x11a8a, 0x11a96], # 11A8A ..11A96
319             [0x11a98, 0x11a99], # 11A98 ..11A99
320             [0x11b60, 0x11b60], # 11B60 ..11B60
321             [0x11b62, 0x11b64], # 11B62 ..11B64
322             [0x11b66, 0x11b66], # 11B66 ..11B66
323             [0x11c30, 0x11c36], # 11C30 ..11C36
324             [0x11c38, 0x11c3d], # 11C38 ..11C3D
325             [0x11c3f, 0x11c3f], # 11C3F ..11C3F
326             [0x11c92, 0x11ca7], # 11C92 ..11CA7
327             [0x11caa, 0x11cb0], # 11CAA ..11CB0
328             [0x11cb2, 0x11cb3], # 11CB2 ..11CB3
329             [0x11cb5, 0x11cb6], # 11CB5 ..11CB6
330             [0x11d31, 0x11d36], # 11D31 ..11D36
331             [0x11d3a, 0x11d3a], # 11D3A ..11D3A
332             [0x11d3c, 0x11d3d], # 11D3C ..11D3D
333             [0x11d3f, 0x11d45], # 11D3F ..11D45
334             [0x11d47, 0x11d47], # 11D47 ..11D47
335             [0x11d90, 0x11d91], # 11D90 ..11D91
336             [0x11d95, 0x11d95], # 11D95 ..11D95
337             [0x11d97, 0x11d97], # 11D97 ..11D97
338             [0x11ef3, 0x11ef4], # 11EF3 ..11EF4
339             [0x11f00, 0x11f01], # 11F00 ..11F01
340             [0x11f36, 0x11f3a], # 11F36 ..11F3A
341             [0x11f40, 0x11f40], # 11F40 ..11F40
342             [0x11f42, 0x11f42], # 11F42 ..11F42
343             [0x11f5a, 0x11f5a], # 11F5A ..11F5A
344             [0x13440, 0x13440], # 13440 ..13440
345             [0x13447, 0x13455], # 13447 ..13455
346             [0x1611e, 0x16129], # 1611E ..16129
347             [0x1612d, 0x1612f], # 1612D ..1612F
348             [0x16af0, 0x16af4], # 16AF0 ..16AF4
349             [0x16b30, 0x16b36], # 16B30 ..16B36
350             [0x16f4f, 0x16f4f], # 16F4F ..16F4F
351             [0x16f8f, 0x16f92], # MIAO TONE RIGHT ..MIAO TONE BELOW
352             [0x16fe4, 0x16fe4], # 16FE4 ..16FE4
353             [0x1bc9d, 0x1bc9e], # 1BC9D ..1BC9E
354             [0x1cf00, 0x1cf2d], # 1CF00 ..1CF2D
355             [0x1cf30, 0x1cf46], # 1CF30 ..1CF46
356             [0x1d167, 0x1d169], # MUSICAL SYMBOL COMBINING..MUSICAL SYMBOL COMBINING
357             [0x1d17b, 0x1d182], # MUSICAL SYMBOL COMBINING..MUSICAL SYMBOL COMBINING
358             [0x1d185, 0x1d18b], # MUSICAL SYMBOL COMBINING..MUSICAL SYMBOL COMBINING
359             [0x1d1aa, 0x1d1ad], # MUSICAL SYMBOL COMBINING..MUSICAL SYMBOL COMBINING
360             [0x1d242, 0x1d244], # COMBINING GREEK MUSICAL ..COMBINING GREEK MUSICAL
361             [0x1da00, 0x1da36], # 1DA00 ..1DA36
362             [0x1da3b, 0x1da6c], # 1DA3B ..1DA6C
363             [0x1da75, 0x1da75], # 1DA75 ..1DA75
364             [0x1da84, 0x1da84], # 1DA84 ..1DA84
365             [0x1da9b, 0x1da9f], # 1DA9B ..1DA9F
366             [0x1daa1, 0x1daaf], # 1DAA1 ..1DAAF
367             [0x1e000, 0x1e006], # 1E000 ..1E006
368             [0x1e008, 0x1e018], # 1E008 ..1E018
369             [0x1e01b, 0x1e021], # 1E01B ..1E021
370             [0x1e023, 0x1e024], # 1E023 ..1E024
371             [0x1e026, 0x1e02a], # 1E026 ..1E02A
372             [0x1e08f, 0x1e08f], # 1E08F ..1E08F
373             [0x1e130, 0x1e136], # 1E130 ..1E136
374             [0x1e2ae, 0x1e2ae], # 1E2AE ..1E2AE
375             [0x1e2ec, 0x1e2ef], # 1E2EC ..1E2EF
376             [0x1e4ec, 0x1e4ef], # 1E4EC ..1E4EF
377             [0x1e5ee, 0x1e5ef], # 1E5EE ..1E5EF
378             [0x1e6e3, 0x1e6e3], # 1E6E3 ..1E6E3
379             [0x1e6e6, 0x1e6e6], # 1E6E6 ..1E6E6
380             [0x1e6ee, 0x1e6ef], # 1E6EE ..1E6EF
381             [0x1e6f5, 0x1e6f5], # 1E6F5 ..1E6F5
382             [0x1e8d0, 0x1e8d6], # 1E8D0 ..1E8D6
383             [0x1e944, 0x1e94a], # 1E944 ..1E94A
384             [0xe0100, 0xe01ef], # VARIATION SELECTOR-17 ..VARIATION SELECTOR-256
385 1     1   10 ];
  1         2  
386            
387             # Generated: 2026-05-03, 17:57:02 GMT
388             # Source: EastAsianWidth-17.0.0.txt
389             # Date: 2025-07-24, 00:12:54 GMT
390 1         259 use constant WIDE_EASTASIAN => [
391             [0x1100, 0x115f], # HANGUL CHOSEONG KIYEOK ..HANGUL CHOSEONG FILLER
392             [0x231a, 0x231b], # WATCH ..HOURGLASS
393             [0x2329, 0x2329], # LEFT-POINTING ANGLE BRAC..LEFT-POINTING ANGLE BRAC
394             [0x232a, 0x232a], # RIGHT-POINTING ANGLE BRA..RIGHT-POINTING ANGLE BRA
395             [0x23e9, 0x23ec], # BLACK RIGHT-POINTING DOU..BLACK DOWN-POINTING DOUB
396             [0x23f0, 0x23f0], # ALARM CLOCK ..ALARM CLOCK
397             [0x23f3, 0x23f3], # HOURGLASS WITH FLOWING S..HOURGLASS WITH FLOWING S
398             [0x25fd, 0x25fe], # WHITE MEDIUM SMALL SQUAR..BLACK MEDIUM SMALL SQUAR
399             [0x2614, 0x2615], # UMBRELLA WITH RAIN DROPS..HOT BEVERAGE
400             [0x2630, 0x2637], # TRIGRAM FOR HEAVEN ..TRIGRAM FOR EARTH
401             [0x2648, 0x2653], # ARIES ..PISCES
402             [0x267f, 0x267f], # WHEELCHAIR SYMBOL ..WHEELCHAIR SYMBOL
403             [0x268a, 0x268f], # MONOGRAM FOR YANG ..DIGRAM FOR GREATER YIN
404             [0x2693, 0x2693], # ANCHOR ..ANCHOR
405             [0x26a1, 0x26a1], # HIGH VOLTAGE SIGN ..HIGH VOLTAGE SIGN
406             [0x26aa, 0x26ab], # MEDIUM WHITE CIRCLE ..MEDIUM BLACK CIRCLE
407             [0x26bd, 0x26be], # SOCCER BALL ..BASEBALL
408             [0x26c4, 0x26c5], # SNOWMAN WITHOUT SNOW ..SUN BEHIND CLOUD
409             [0x26ce, 0x26ce], # OPHIUCHUS ..OPHIUCHUS
410             [0x26d4, 0x26d4], # NO ENTRY ..NO ENTRY
411             [0x26ea, 0x26ea], # CHURCH ..CHURCH
412             [0x26f2, 0x26f3], # FOUNTAIN ..FLAG IN HOLE
413             [0x26f5, 0x26f5], # SAILBOAT ..SAILBOAT
414             [0x26fa, 0x26fa], # TENT ..TENT
415             [0x26fd, 0x26fd], # FUEL PUMP ..FUEL PUMP
416             [0x2705, 0x2705], # WHITE HEAVY CHECK MARK ..WHITE HEAVY CHECK MARK
417             [0x270a, 0x270b], # RAISED FIST ..RAISED HAND
418             [0x2728, 0x2728], # SPARKLES ..SPARKLES
419             [0x274c, 0x274c], # CROSS MARK ..CROSS MARK
420             [0x274e, 0x274e], # NEGATIVE SQUARED CROSS M..NEGATIVE SQUARED CROSS M
421             [0x2753, 0x2755], # BLACK QUESTION MARK ORNA..WHITE EXCLAMATION MARK O
422             [0x2757, 0x2757], # HEAVY EXCLAMATION MARK S..HEAVY EXCLAMATION MARK S
423             [0x2795, 0x2797], # HEAVY PLUS SIGN ..HEAVY DIVISION SIGN
424             [0x27b0, 0x27b0], # CURLY LOOP ..CURLY LOOP
425             [0x27bf, 0x27bf], # DOUBLE CURLY LOOP ..DOUBLE CURLY LOOP
426             [0x2b1b, 0x2b1c], # BLACK LARGE SQUARE ..WHITE LARGE SQUARE
427             [0x2b50, 0x2b50], # WHITE MEDIUM STAR ..WHITE MEDIUM STAR
428             [0x2b55, 0x2b55], # HEAVY LARGE CIRCLE ..HEAVY LARGE CIRCLE
429             [0x2e80, 0x2e99], # CJK RADICAL REPEAT ..CJK RADICAL RAP
430             [0x2e9b, 0x2ef3], # CJK RADICAL CHOKE ..CJK RADICAL C-SIMPLIFIED
431             [0x2f00, 0x2fd5], # KANGXI RADICAL ONE ..KANGXI RADICAL FLUTE
432             [0x2ff0, 0x2fff], # IDEOGRAPHIC DESCRIPTION ..2FFF
433             [0x3000, 0x3000], # IDEOGRAPHIC SPACE ..IDEOGRAPHIC SPACE
434             [0x3001, 0x3003], # IDEOGRAPHIC COMMA ..DITTO MARK
435             [0x3004, 0x3004], # JAPANESE INDUSTRIAL STAN..JAPANESE INDUSTRIAL STAN
436             [0x3005, 0x3005], # IDEOGRAPHIC ITERATION MA..IDEOGRAPHIC ITERATION MA
437             [0x3006, 0x3006], # IDEOGRAPHIC CLOSING MARK..IDEOGRAPHIC CLOSING MARK
438             [0x3007, 0x3007], # IDEOGRAPHIC NUMBER ZERO ..IDEOGRAPHIC NUMBER ZERO
439             [0x3008, 0x3008], # LEFT ANGLE BRACKET ..LEFT ANGLE BRACKET
440             [0x3009, 0x3009], # RIGHT ANGLE BRACKET ..RIGHT ANGLE BRACKET
441             [0x300a, 0x300a], # LEFT DOUBLE ANGLE BRACKE..LEFT DOUBLE ANGLE BRACKE
442             [0x300b, 0x300b], # RIGHT DOUBLE ANGLE BRACK..RIGHT DOUBLE ANGLE BRACK
443             [0x300c, 0x300c], # LEFT CORNER BRACKET ..LEFT CORNER BRACKET
444             [0x300d, 0x300d], # RIGHT CORNER BRACKET ..RIGHT CORNER BRACKET
445             [0x300e, 0x300e], # LEFT WHITE CORNER BRACKE..LEFT WHITE CORNER BRACKE
446             [0x300f, 0x300f], # RIGHT WHITE CORNER BRACK..RIGHT WHITE CORNER BRACK
447             [0x3010, 0x3010], # LEFT BLACK LENTICULAR BR..LEFT BLACK LENTICULAR BR
448             [0x3011, 0x3011], # RIGHT BLACK LENTICULAR B..RIGHT BLACK LENTICULAR B
449             [0x3012, 0x3013], # POSTAL MARK ..GETA MARK
450             [0x3014, 0x3014], # LEFT TORTOISE SHELL BRAC..LEFT TORTOISE SHELL BRAC
451             [0x3015, 0x3015], # RIGHT TORTOISE SHELL BRA..RIGHT TORTOISE SHELL BRA
452             [0x3016, 0x3016], # LEFT WHITE LENTICULAR BR..LEFT WHITE LENTICULAR BR
453             [0x3017, 0x3017], # RIGHT WHITE LENTICULAR B..RIGHT WHITE LENTICULAR B
454             [0x3018, 0x3018], # LEFT WHITE TORTOISE SHEL..LEFT WHITE TORTOISE SHEL
455             [0x3019, 0x3019], # RIGHT WHITE TORTOISE SHE..RIGHT WHITE TORTOISE SHE
456             [0x301a, 0x301a], # LEFT WHITE SQUARE BRACKE..LEFT WHITE SQUARE BRACKE
457             [0x301b, 0x301b], # RIGHT WHITE SQUARE BRACK..RIGHT WHITE SQUARE BRACK
458             [0x301c, 0x301c], # WAVE DASH ..WAVE DASH
459             [0x301d, 0x301d], # REVERSED DOUBLE PRIME QU..REVERSED DOUBLE PRIME QU
460             [0x301e, 0x301f], # DOUBLE PRIME QUOTATION M..LOW DOUBLE PRIME QUOTATI
461             [0x3020, 0x3020], # POSTAL MARK FACE ..POSTAL MARK FACE
462             [0x3021, 0x3029], # HANGZHOU NUMERAL ONE ..HANGZHOU NUMERAL NINE
463             [0x302a, 0x302d], # IDEOGRAPHIC LEVEL TONE M..IDEOGRAPHIC ENTERING TON
464             [0x302e, 0x302f], # HANGUL SINGLE DOT TONE M..HANGUL DOUBLE DOT TONE M
465             [0x3030, 0x3030], # WAVY DASH ..WAVY DASH
466             [0x3031, 0x3035], # VERTICAL KANA REPEAT MAR..VERTICAL KANA REPEAT MAR
467             [0x3036, 0x3037], # CIRCLED POSTAL MARK ..IDEOGRAPHIC TELEGRAPH LI
468             [0x3038, 0x303a], # HANGZHOU NUMERAL TEN ..HANGZHOU NUMERAL THIRTY
469             [0x303b, 0x303b], # VERTICAL IDEOGRAPHIC ITE..VERTICAL IDEOGRAPHIC ITE
470             [0x303c, 0x303c], # MASU MARK ..MASU MARK
471             [0x303d, 0x303d], # PART ALTERNATION MARK ..PART ALTERNATION MARK
472             [0x303e, 0x303e], # IDEOGRAPHIC VARIATION IN..IDEOGRAPHIC VARIATION IN
473             [0x3041, 0x3096], # HIRAGANA LETTER SMALL A ..HIRAGANA LETTER SMALL KE
474             [0x3099, 0x309a], # COMBINING KATAKANA-HIRAG..COMBINING KATAKANA-HIRAG
475             [0x309b, 0x309c], # KATAKANA-HIRAGANA VOICED..KATAKANA-HIRAGANA SEMI-V
476             [0x309d, 0x309e], # HIRAGANA ITERATION MARK ..HIRAGANA VOICED ITERATIO
477             [0x309f, 0x309f], # HIRAGANA DIGRAPH YORI ..HIRAGANA DIGRAPH YORI
478             [0x30a0, 0x30a0], # KATAKANA-HIRAGANA DOUBLE..KATAKANA-HIRAGANA DOUBLE
479             [0x30a1, 0x30fa], # KATAKANA LETTER SMALL A ..KATAKANA LETTER VO
480             [0x30fb, 0x30fb], # KATAKANA MIDDLE DOT ..KATAKANA MIDDLE DOT
481             [0x30fc, 0x30fe], # KATAKANA-HIRAGANA PROLON..KATAKANA VOICED ITERATIO
482             [0x30ff, 0x30ff], # KATAKANA DIGRAPH KOTO ..KATAKANA DIGRAPH KOTO
483             [0x3105, 0x312f], # BOPOMOFO LETTER B ..312F
484             [0x3131, 0x318e], # HANGUL LETTER KIYEOK ..HANGUL LETTER ARAEAE
485             [0x3190, 0x3191], # IDEOGRAPHIC ANNOTATION L..IDEOGRAPHIC ANNOTATION R
486             [0x3192, 0x3195], # IDEOGRAPHIC ANNOTATION O..IDEOGRAPHIC ANNOTATION F
487             [0x3196, 0x319f], # IDEOGRAPHIC ANNOTATION T..IDEOGRAPHIC ANNOTATION M
488             [0x31a0, 0x31bf], # BOPOMOFO LETTER BU ..31BF
489             [0x31c0, 0x31e5], # CJK STROKE T ..31E5
490             [0x31ef, 0x31ef], # 31EF ..31EF
491             [0x31f0, 0x31ff], # KATAKANA LETTER SMALL KU..KATAKANA LETTER SMALL RO
492             [0x3200, 0x321e], # PARENTHESIZED HANGUL KIY..PARENTHESIZED KOREAN CHA
493             [0x3220, 0x3229], # PARENTHESIZED IDEOGRAPH ..PARENTHESIZED IDEOGRAPH
494             [0x322a, 0x3247], # PARENTHESIZED IDEOGRAPH ..CIRCLED IDEOGRAPH KOTO
495             [0x3250, 0x3250], # PARTNERSHIP SIGN ..PARTNERSHIP SIGN
496             [0x3251, 0x325f], # CIRCLED NUMBER TWENTY ON..CIRCLED NUMBER THIRTY FI
497             [0x3260, 0x327f], # CIRCLED HANGUL KIYEOK ..KOREAN STANDARD SYMBOL
498             [0x3280, 0x3289], # CIRCLED IDEOGRAPH ONE ..CIRCLED IDEOGRAPH TEN
499             [0x328a, 0x32b0], # CIRCLED IDEOGRAPH MOON ..CIRCLED IDEOGRAPH NIGHT
500             [0x32b1, 0x32bf], # CIRCLED NUMBER THIRTY SI..CIRCLED NUMBER FIFTY
501             [0x32c0, 0x32ff], # IDEOGRAPHIC TELEGRAPH SY..32FF
502             [0x3300, 0x33ff], # SQUARE APAATO ..SQUARE GAL
503             [0x3400, 0x4dbf], # CJK UNIFIED IDEOGRAPH-34..4DBF
504             [0x4dc0, 0x4dff], # HEXAGRAM FOR THE CREATIV..HEXAGRAM FOR BEFORE COMP
505             [0x4e00, 0x9fff], # CJK UNIFIED IDEOGRAPH-4E..9FFF
506             [0xa000, 0xa014], # YI SYLLABLE IT ..YI SYLLABLE E
507             [0xa015, 0xa015], # YI SYLLABLE ITERATION MA..YI SYLLABLE ITERATION MA
508             [0xa016, 0xa48c], # YI SYLLABLE BIT ..YI SYLLABLE YYR
509             [0xa490, 0xa4c6], # YI RADICAL QOT ..YI RADICAL KE
510             [0xa960, 0xa97c], # HANGUL CHOSEONG TIKEUT-M..HANGUL CHOSEONG SSANGYEO
511             [0xac00, 0xd7a3], # HANGUL SYLLABLE GA ..HANGUL SYLLABLE HIH
512             [0xf900, 0xfa6d], # CJK COMPATIBILITY IDEOGR..CJK COMPATIBILITY IDEOGR
513             [0xfa6e, 0xfa6f], # FA6E ..FA6F
514             [0xfa70, 0xfad9], # CJK COMPATIBILITY IDEOGR..CJK COMPATIBILITY IDEOGR
515             [0xfada, 0xfaff], # FADA ..FAFF
516             [0xfe10, 0xfe16], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
517             [0xfe17, 0xfe17], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
518             [0xfe18, 0xfe18], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
519             [0xfe19, 0xfe19], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
520             [0xfe30, 0xfe30], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
521             [0xfe31, 0xfe32], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
522             [0xfe33, 0xfe34], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
523             [0xfe35, 0xfe35], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
524             [0xfe36, 0xfe36], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
525             [0xfe37, 0xfe37], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
526             [0xfe38, 0xfe38], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
527             [0xfe39, 0xfe39], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
528             [0xfe3a, 0xfe3a], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
529             [0xfe3b, 0xfe3b], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
530             [0xfe3c, 0xfe3c], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
531             [0xfe3d, 0xfe3d], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
532             [0xfe3e, 0xfe3e], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
533             [0xfe3f, 0xfe3f], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
534             [0xfe40, 0xfe40], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
535             [0xfe41, 0xfe41], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
536             [0xfe42, 0xfe42], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
537             [0xfe43, 0xfe43], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
538             [0xfe44, 0xfe44], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
539             [0xfe45, 0xfe46], # SESAME DOT ..WHITE SESAME DOT
540             [0xfe47, 0xfe47], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
541             [0xfe48, 0xfe48], # PRESENTATION FORM FOR VE..PRESENTATION FORM FOR VE
542             [0xfe49, 0xfe4c], # DASHED OVERLINE ..DOUBLE WAVY OVERLINE
543             [0xfe4d, 0xfe4f], # DASHED LOW LINE ..WAVY LOW LINE
544             [0xfe50, 0xfe52], # SMALL COMMA ..SMALL FULL STOP
545             [0xfe54, 0xfe57], # SMALL SEMICOLON ..SMALL EXCLAMATION MARK
546             [0xfe58, 0xfe58], # SMALL EM DASH ..SMALL EM DASH
547             [0xfe59, 0xfe59], # SMALL LEFT PARENTHESIS ..SMALL LEFT PARENTHESIS
548             [0xfe5a, 0xfe5a], # SMALL RIGHT PARENTHESIS ..SMALL RIGHT PARENTHESIS
549             [0xfe5b, 0xfe5b], # SMALL LEFT CURLY BRACKET..SMALL LEFT CURLY BRACKET
550             [0xfe5c, 0xfe5c], # SMALL RIGHT CURLY BRACKE..SMALL RIGHT CURLY BRACKE
551             [0xfe5d, 0xfe5d], # SMALL LEFT TORTOISE SHEL..SMALL LEFT TORTOISE SHEL
552             [0xfe5e, 0xfe5e], # SMALL RIGHT TORTOISE SHE..SMALL RIGHT TORTOISE SHE
553             [0xfe5f, 0xfe61], # SMALL NUMBER SIGN ..SMALL ASTERISK
554             [0xfe62, 0xfe62], # SMALL PLUS SIGN ..SMALL PLUS SIGN
555             [0xfe63, 0xfe63], # SMALL HYPHEN-MINUS ..SMALL HYPHEN-MINUS
556             [0xfe64, 0xfe66], # SMALL LESS-THAN SIGN ..SMALL EQUALS SIGN
557             [0xfe68, 0xfe68], # SMALL REVERSE SOLIDUS ..SMALL REVERSE SOLIDUS
558             [0xfe69, 0xfe69], # SMALL DOLLAR SIGN ..SMALL DOLLAR SIGN
559             [0xfe6a, 0xfe6b], # SMALL PERCENT SIGN ..SMALL COMMERCIAL AT
560             [0xff01, 0xff03], # FULLWIDTH EXCLAMATION MA..FULLWIDTH NUMBER SIGN
561             [0xff04, 0xff04], # FULLWIDTH DOLLAR SIGN ..FULLWIDTH DOLLAR SIGN
562             [0xff05, 0xff07], # FULLWIDTH PERCENT SIGN ..FULLWIDTH APOSTROPHE
563             [0xff08, 0xff08], # FULLWIDTH LEFT PARENTHES..FULLWIDTH LEFT PARENTHES
564             [0xff09, 0xff09], # FULLWIDTH RIGHT PARENTHE..FULLWIDTH RIGHT PARENTHE
565             [0xff0a, 0xff0a], # FULLWIDTH ASTERISK ..FULLWIDTH ASTERISK
566             [0xff0b, 0xff0b], # FULLWIDTH PLUS SIGN ..FULLWIDTH PLUS SIGN
567             [0xff0c, 0xff0c], # FULLWIDTH COMMA ..FULLWIDTH COMMA
568             [0xff0d, 0xff0d], # FULLWIDTH HYPHEN-MINUS ..FULLWIDTH HYPHEN-MINUS
569             [0xff0e, 0xff0f], # FULLWIDTH FULL STOP ..FULLWIDTH SOLIDUS
570             [0xff10, 0xff19], # FULLWIDTH DIGIT ZERO ..FULLWIDTH DIGIT NINE
571             [0xff1a, 0xff1b], # FULLWIDTH COLON ..FULLWIDTH SEMICOLON
572             [0xff1c, 0xff1e], # FULLWIDTH LESS-THAN SIGN..FULLWIDTH GREATER-THAN S
573             [0xff1f, 0xff20], # FULLWIDTH QUESTION MARK ..FULLWIDTH COMMERCIAL AT
574             [0xff21, 0xff3a], # FULLWIDTH LATIN CAPITAL ..FULLWIDTH LATIN CAPITAL
575             [0xff3b, 0xff3b], # FULLWIDTH LEFT SQUARE BR..FULLWIDTH LEFT SQUARE BR
576             [0xff3c, 0xff3c], # FULLWIDTH REVERSE SOLIDU..FULLWIDTH REVERSE SOLIDU
577             [0xff3d, 0xff3d], # FULLWIDTH RIGHT SQUARE B..FULLWIDTH RIGHT SQUARE B
578             [0xff3e, 0xff3e], # FULLWIDTH CIRCUMFLEX ACC..FULLWIDTH CIRCUMFLEX ACC
579             [0xff3f, 0xff3f], # FULLWIDTH LOW LINE ..FULLWIDTH LOW LINE
580             [0xff40, 0xff40], # FULLWIDTH GRAVE ACCENT ..FULLWIDTH GRAVE ACCENT
581             [0xff41, 0xff5a], # FULLWIDTH LATIN SMALL LE..FULLWIDTH LATIN SMALL LE
582             [0xff5b, 0xff5b], # FULLWIDTH LEFT CURLY BRA..FULLWIDTH LEFT CURLY BRA
583             [0xff5c, 0xff5c], # FULLWIDTH VERTICAL LINE ..FULLWIDTH VERTICAL LINE
584             [0xff5d, 0xff5d], # FULLWIDTH RIGHT CURLY BR..FULLWIDTH RIGHT CURLY BR
585             [0xff5e, 0xff5e], # FULLWIDTH TILDE ..FULLWIDTH TILDE
586             [0xff5f, 0xff5f], # FULLWIDTH LEFT WHITE PAR..FULLWIDTH LEFT WHITE PAR
587             [0xff60, 0xff60], # FULLWIDTH RIGHT WHITE PA..FULLWIDTH RIGHT WHITE PA
588             [0xffe0, 0xffe1], # FULLWIDTH CENT SIGN ..FULLWIDTH POUND SIGN
589             [0xffe2, 0xffe2], # FULLWIDTH NOT SIGN ..FULLWIDTH NOT SIGN
590             [0xffe3, 0xffe3], # FULLWIDTH MACRON ..FULLWIDTH MACRON
591             [0xffe4, 0xffe4], # FULLWIDTH BROKEN BAR ..FULLWIDTH BROKEN BAR
592             [0xffe5, 0xffe6], # FULLWIDTH YEN SIGN ..FULLWIDTH WON SIGN
593             [0x16fe0, 0x16fe1], # 16FE0 ..16FE1
594             [0x16fe2, 0x16fe2], # 16FE2 ..16FE2
595             [0x16fe3, 0x16fe3], # 16FE3 ..16FE3
596             [0x16fe4, 0x16fe4], # 16FE4 ..16FE4
597             [0x16ff0, 0x16ff1], # 16FF0 ..16FF1
598             [0x16ff2, 0x16ff3], # 16FF2 ..16FF3
599             [0x16ff4, 0x16ff6], # 16FF4 ..16FF6
600             [0x17000, 0x187ff], # 17000 ..187FF
601             [0x18800, 0x18aff], # 18800 ..18AFF
602             [0x18b00, 0x18cd5], # 18B00 ..18CD5
603             [0x18cff, 0x18cff], # 18CFF ..18CFF
604             [0x18d00, 0x18d1e], # 18D00 ..18D1E
605             [0x18d80, 0x18df2], # 18D80 ..18DF2
606             [0x1aff0, 0x1aff3], # 1AFF0 ..1AFF3
607             [0x1aff5, 0x1affb], # 1AFF5 ..1AFFB
608             [0x1affd, 0x1affe], # 1AFFD ..1AFFE
609             [0x1b000, 0x1b0ff], # KATAKANA LETTER ARCHAIC ..1B0FF
610             [0x1b100, 0x1b122], # 1B100 ..1B122
611             [0x1b132, 0x1b132], # 1B132 ..1B132
612             [0x1b150, 0x1b152], # 1B150 ..1B152
613             [0x1b155, 0x1b155], # 1B155 ..1B155
614             [0x1b164, 0x1b167], # 1B164 ..1B167
615             [0x1b170, 0x1b2fb], # 1B170 ..1B2FB
616             [0x1d300, 0x1d356], # MONOGRAM FOR EARTH ..TETRAGRAM FOR FOSTERING
617             [0x1d360, 0x1d376], # COUNTING ROD UNIT DIGIT ..1D376
618             [0x1f004, 0x1f004], # MAHJONG TILE RED DRAGON ..MAHJONG TILE RED DRAGON
619             [0x1f0cf, 0x1f0cf], # PLAYING CARD BLACK JOKER..PLAYING CARD BLACK JOKER
620             [0x1f18e, 0x1f18e], # NEGATIVE SQUARED AB ..NEGATIVE SQUARED AB
621             [0x1f191, 0x1f19a], # SQUARED CL ..SQUARED VS
622             [0x1f200, 0x1f202], # SQUARE HIRAGANA HOKA ..SQUARED KATAKANA SA
623             [0x1f210, 0x1f23b], # SQUARED CJK UNIFIED IDEO..1F23B
624             [0x1f240, 0x1f248], # TORTOISE SHELL BRACKETED..TORTOISE SHELL BRACKETED
625             [0x1f250, 0x1f251], # CIRCLED IDEOGRAPH ADVANT..CIRCLED IDEOGRAPH ACCEPT
626             [0x1f260, 0x1f265], # 1F260 ..1F265
627             [0x1f300, 0x1f320], # CYCLONE ..SHOOTING STAR
628             [0x1f32d, 0x1f335], # 1F32D ..CACTUS
629             [0x1f337, 0x1f37c], # TULIP ..BABY BOTTLE
630             [0x1f37e, 0x1f393], # 1F37E ..GRADUATION CAP
631             [0x1f3a0, 0x1f3ca], # CAROUSEL HORSE ..SWIMMER
632             [0x1f3cf, 0x1f3d3], # 1F3CF ..1F3D3
633             [0x1f3e0, 0x1f3f0], # HOUSE BUILDING ..EUROPEAN CASTLE
634             [0x1f3f4, 0x1f3f4], # 1F3F4 ..1F3F4
635             [0x1f3f8, 0x1f3fa], # 1F3F8 ..1F3FA
636             [0x1f3fb, 0x1f3ff], # 1F3FB ..1F3FF
637             [0x1f400, 0x1f43e], # RAT ..PAW PRINTS
638             [0x1f440, 0x1f440], # EYES ..EYES
639             [0x1f442, 0x1f4fc], # EAR ..VIDEOCASSETTE
640             [0x1f4ff, 0x1f53d], # 1F4FF ..DOWN-POINTING SMALL RED
641             [0x1f54b, 0x1f54e], # 1F54B ..1F54E
642             [0x1f550, 0x1f567], # CLOCK FACE ONE OCLOCK ..CLOCK FACE TWELVE-THIRTY
643             [0x1f57a, 0x1f57a], # 1F57A ..1F57A
644             [0x1f595, 0x1f596], # 1F595 ..1F596
645             [0x1f5a4, 0x1f5a4], # 1F5A4 ..1F5A4
646             [0x1f5fb, 0x1f5ff], # MOUNT FUJI ..MOYAI
647             [0x1f600, 0x1f64f], # GRINNING FACE ..PERSON WITH FOLDED HANDS
648             [0x1f680, 0x1f6c5], # ROCKET ..LEFT LUGGAGE
649             [0x1f6cc, 0x1f6cc], # 1F6CC ..1F6CC
650             [0x1f6d0, 0x1f6d2], # 1F6D0 ..1F6D2
651             [0x1f6d5, 0x1f6d8], # 1F6D5 ..1F6D8
652             [0x1f6dc, 0x1f6df], # 1F6DC ..1F6DF
653             [0x1f6eb, 0x1f6ec], # 1F6EB ..1F6EC
654             [0x1f6f4, 0x1f6fc], # 1F6F4 ..1F6FC
655             [0x1f7e0, 0x1f7eb], # 1F7E0 ..1F7EB
656             [0x1f7f0, 0x1f7f0], # 1F7F0 ..1F7F0
657             [0x1f90c, 0x1f93a], # 1F90C ..1F93A
658             [0x1f93c, 0x1f945], # 1F93C ..1F945
659             [0x1f947, 0x1f9ff], # 1F947 ..1F9FF
660             [0x1fa70, 0x1fa7c], # 1FA70 ..1FA7C
661             [0x1fa80, 0x1fa8a], # 1FA80 ..1FA8A
662             [0x1fa8e, 0x1fac6], # 1FA8E ..1FAC6
663             [0x1fac8, 0x1fac8], # 1FAC8 ..1FAC8
664             [0x1facd, 0x1fadc], # 1FACD ..1FADC
665             [0x1fadf, 0x1faea], # 1FADF ..1FAEA
666             [0x1faef, 0x1faf8], # 1FAEF ..1FAF8
667             [0x20000, 0x2a6df], # CJK UNIFIED IDEOGRAPH-20..2A6DF
668             [0x2a6e0, 0x2a6ff], # 2A6E0 ..2A6FF
669             [0x2a700, 0x2b81d], # CJK UNIFIED IDEOGRAPH-2A..CJK UNIFIED IDEOGRAPH-2B
670             [0x2b81e, 0x2b81f], # 2B81E ..2B81F
671             [0x2b820, 0x2cead], # 2B820 ..2CEAD
672             [0x2ceae, 0x2ceaf], # 2CEAE ..2CEAF
673             [0x2ceb0, 0x2ebe0], # 2CEB0 ..2EBE0
674             [0x2ebe1, 0x2ebef], # 2EBE1 ..2EBEF
675             [0x2ebf0, 0x2ee5d], # 2EBF0 ..2EE5D
676             [0x2ee5e, 0x2f7ff], # 2EE5E ..2F7FF
677             [0x2f800, 0x2fa1d], # CJK COMPATIBILITY IDEOGR..CJK COMPATIBILITY IDEOGR
678             [0x2fa1e, 0x2fa1f], # 2FA1E ..2FA1F
679             [0x2fa20, 0x2fffd], # 2FA20 ..2FFFD
680             [0x30000, 0x3134a], # 30000 ..3134A
681             [0x3134b, 0x3134f], # 3134B ..3134F
682             [0x31350, 0x33479], # 31350 ..33479
683             [0x3347a, 0x3fffd], # 3347A ..3FFFD
684 1     1   10 ];
  1         2  
685            
686             1;