libunibreak
8.0
Toggle main menu visibility
Loading...
Searching...
No Matches
src
eastasianwidthdata.c
Go to the documentation of this file.
1
/* The content of this file is generated from:
2
# EastAsianWidth-17.0.0.txt
3
# Date: 2025-07-24, 00:12:54 GMT
4
# LineBreak-17.0.0.txt
5
# Date: 2025-07-29, 13:52:18 GMT
6
*/
7
8
#include "
eastasianwidthdef.h
"
9
10
static
const
struct
EastAsianWidthProperties
eaw_prop[] = {
11
{0x0020, 0x007E,
EAW_Na
},
12
{0x00A1, 0x00A1,
EAW_A
},
13
{0x00A2, 0x00A3,
EAW_Na
},
14
{0x00A4, 0x00A4,
EAW_A
},
15
{0x00A5, 0x00A6,
EAW_Na
},
16
{0x00A7, 0x00A8,
EAW_A
},
17
{0x00AA, 0x00AA,
EAW_A
},
18
{0x00AC, 0x00AC,
EAW_Na
},
19
{0x00AD, 0x00AE,
EAW_A
},
20
{0x00AF, 0x00AF,
EAW_Na
},
21
{0x00B0, 0x00B4,
EAW_A
},
22
{0x00B6, 0x00BA,
EAW_A
},
23
{0x00BC, 0x00BF,
EAW_A
},
24
{0x00C6, 0x00C6,
EAW_A
},
25
{0x00D0, 0x00D0,
EAW_A
},
26
{0x00D7, 0x00D8,
EAW_A
},
27
{0x00DE, 0x00E1,
EAW_A
},
28
{0x00E6, 0x00E6,
EAW_A
},
29
{0x00E8, 0x00EA,
EAW_A
},
30
{0x00EC, 0x00ED,
EAW_A
},
31
{0x00F0, 0x00F0,
EAW_A
},
32
{0x00F2, 0x00F3,
EAW_A
},
33
{0x00F7, 0x00FA,
EAW_A
},
34
{0x00FC, 0x00FC,
EAW_A
},
35
{0x00FE, 0x00FE,
EAW_A
},
36
{0x0101, 0x0101,
EAW_A
},
37
{0x0111, 0x0111,
EAW_A
},
38
{0x0113, 0x0113,
EAW_A
},
39
{0x011B, 0x011B,
EAW_A
},
40
{0x0126, 0x0127,
EAW_A
},
41
{0x012B, 0x012B,
EAW_A
},
42
{0x0131, 0x0133,
EAW_A
},
43
{0x0138, 0x0138,
EAW_A
},
44
{0x013F, 0x0142,
EAW_A
},
45
{0x0144, 0x0144,
EAW_A
},
46
{0x0148, 0x014B,
EAW_A
},
47
{0x014D, 0x014D,
EAW_A
},
48
{0x0152, 0x0153,
EAW_A
},
49
{0x0166, 0x0167,
EAW_A
},
50
{0x016B, 0x016B,
EAW_A
},
51
{0x01CE, 0x01CE,
EAW_A
},
52
{0x01D0, 0x01D0,
EAW_A
},
53
{0x01D2, 0x01D2,
EAW_A
},
54
{0x01D4, 0x01D4,
EAW_A
},
55
{0x01D6, 0x01D6,
EAW_A
},
56
{0x01D8, 0x01D8,
EAW_A
},
57
{0x01DA, 0x01DA,
EAW_A
},
58
{0x01DC, 0x01DC,
EAW_A
},
59
{0x0251, 0x0251,
EAW_A
},
60
{0x0261, 0x0261,
EAW_A
},
61
{0x02C4, 0x02C4,
EAW_A
},
62
{0x02C7, 0x02C7,
EAW_A
},
63
{0x02C9, 0x02CB,
EAW_A
},
64
{0x02CD, 0x02CD,
EAW_A
},
65
{0x02D0, 0x02D0,
EAW_A
},
66
{0x02D8, 0x02DB,
EAW_A
},
67
{0x02DD, 0x02DD,
EAW_A
},
68
{0x02DF, 0x02DF,
EAW_A
},
69
{0x0300, 0x036F,
EAW_A
},
70
{0x0391, 0x03A1,
EAW_A
},
71
{0x03A3, 0x03A9,
EAW_A
},
72
{0x03B1, 0x03C1,
EAW_A
},
73
{0x03C3, 0x03C9,
EAW_A
},
74
{0x0401, 0x0401,
EAW_A
},
75
{0x0410, 0x044F,
EAW_A
},
76
{0x0451, 0x0451,
EAW_A
},
77
{0x1100, 0x115F,
EAW_W
},
78
{0x2010, 0x2010,
EAW_A
},
79
{0x2013, 0x2016,
EAW_A
},
80
{0x2018, 0x2019,
EAW_A
},
81
{0x201C, 0x201D,
EAW_A
},
82
{0x2020, 0x2022,
EAW_A
},
83
{0x2024, 0x2027,
EAW_A
},
84
{0x2030, 0x2030,
EAW_A
},
85
{0x2032, 0x2033,
EAW_A
},
86
{0x2035, 0x2035,
EAW_A
},
87
{0x203B, 0x203B,
EAW_A
},
88
{0x203E, 0x203E,
EAW_A
},
89
{0x2074, 0x2074,
EAW_A
},
90
{0x207F, 0x207F,
EAW_A
},
91
{0x2081, 0x2084,
EAW_A
},
92
{0x20A9, 0x20A9,
EAW_H
},
93
{0x20AC, 0x20AC,
EAW_A
},
94
{0x2103, 0x2103,
EAW_A
},
95
{0x2105, 0x2105,
EAW_A
},
96
{0x2109, 0x2109,
EAW_A
},
97
{0x2113, 0x2113,
EAW_A
},
98
{0x2116, 0x2116,
EAW_A
},
99
{0x2121, 0x2122,
EAW_A
},
100
{0x2126, 0x2126,
EAW_A
},
101
{0x212B, 0x212B,
EAW_A
},
102
{0x2153, 0x2154,
EAW_A
},
103
{0x215B, 0x215E,
EAW_A
},
104
{0x2160, 0x216B,
EAW_A
},
105
{0x2170, 0x2179,
EAW_A
},
106
{0x2189, 0x2189,
EAW_A
},
107
{0x2190, 0x2199,
EAW_A
},
108
{0x21B8, 0x21B9,
EAW_A
},
109
{0x21D2, 0x21D2,
EAW_A
},
110
{0x21D4, 0x21D4,
EAW_A
},
111
{0x21E7, 0x21E7,
EAW_A
},
112
{0x2200, 0x2200,
EAW_A
},
113
{0x2202, 0x2203,
EAW_A
},
114
{0x2207, 0x2208,
EAW_A
},
115
{0x220B, 0x220B,
EAW_A
},
116
{0x220F, 0x220F,
EAW_A
},
117
{0x2211, 0x2211,
EAW_A
},
118
{0x2215, 0x2215,
EAW_A
},
119
{0x221A, 0x221A,
EAW_A
},
120
{0x221D, 0x2220,
EAW_A
},
121
{0x2223, 0x2223,
EAW_A
},
122
{0x2225, 0x2225,
EAW_A
},
123
{0x2227, 0x222C,
EAW_A
},
124
{0x222E, 0x222E,
EAW_A
},
125
{0x2234, 0x2237,
EAW_A
},
126
{0x223C, 0x223D,
EAW_A
},
127
{0x2248, 0x2248,
EAW_A
},
128
{0x224C, 0x224C,
EAW_A
},
129
{0x2252, 0x2252,
EAW_A
},
130
{0x2260, 0x2261,
EAW_A
},
131
{0x2264, 0x2267,
EAW_A
},
132
{0x226A, 0x226B,
EAW_A
},
133
{0x226E, 0x226F,
EAW_A
},
134
{0x2282, 0x2283,
EAW_A
},
135
{0x2286, 0x2287,
EAW_A
},
136
{0x2295, 0x2295,
EAW_A
},
137
{0x2299, 0x2299,
EAW_A
},
138
{0x22A5, 0x22A5,
EAW_A
},
139
{0x22BF, 0x22BF,
EAW_A
},
140
{0x2312, 0x2312,
EAW_A
},
141
{0x231A, 0x231B,
EAW_W
},
142
{0x2329, 0x232A,
EAW_W
},
143
{0x23E9, 0x23EC,
EAW_W
},
144
{0x23F0, 0x23F0,
EAW_W
},
145
{0x23F3, 0x23F3,
EAW_W
},
146
{0x2460, 0x24E9,
EAW_A
},
147
{0x24EB, 0x254B,
EAW_A
},
148
{0x2550, 0x2573,
EAW_A
},
149
{0x2580, 0x258F,
EAW_A
},
150
{0x2592, 0x2595,
EAW_A
},
151
{0x25A0, 0x25A1,
EAW_A
},
152
{0x25A3, 0x25A9,
EAW_A
},
153
{0x25B2, 0x25B3,
EAW_A
},
154
{0x25B6, 0x25B7,
EAW_A
},
155
{0x25BC, 0x25BD,
EAW_A
},
156
{0x25C0, 0x25C1,
EAW_A
},
157
{0x25C6, 0x25C8,
EAW_A
},
158
{0x25CB, 0x25CB,
EAW_A
},
159
{0x25CE, 0x25D1,
EAW_A
},
160
{0x25E2, 0x25E5,
EAW_A
},
161
{0x25EF, 0x25EF,
EAW_A
},
162
{0x25FD, 0x25FE,
EAW_W
},
163
{0x2605, 0x2606,
EAW_A
},
164
{0x2609, 0x2609,
EAW_A
},
165
{0x260E, 0x260F,
EAW_A
},
166
{0x2614, 0x2615,
EAW_W
},
167
{0x261C, 0x261C,
EAW_A
},
168
{0x261E, 0x261E,
EAW_A
},
169
{0x2630, 0x2637,
EAW_W
},
170
{0x2640, 0x2640,
EAW_A
},
171
{0x2642, 0x2642,
EAW_A
},
172
{0x2648, 0x2653,
EAW_W
},
173
{0x2660, 0x2661,
EAW_A
},
174
{0x2663, 0x2665,
EAW_A
},
175
{0x2667, 0x266A,
EAW_A
},
176
{0x266C, 0x266D,
EAW_A
},
177
{0x266F, 0x266F,
EAW_A
},
178
{0x267F, 0x267F,
EAW_W
},
179
{0x268A, 0x268F,
EAW_W
},
180
{0x2693, 0x2693,
EAW_W
},
181
{0x269E, 0x269F,
EAW_A
},
182
{0x26A1, 0x26A1,
EAW_W
},
183
{0x26AA, 0x26AB,
EAW_W
},
184
{0x26BD, 0x26BE,
EAW_W
},
185
{0x26BF, 0x26BF,
EAW_A
},
186
{0x26C4, 0x26C5,
EAW_W
},
187
{0x26C6, 0x26CD,
EAW_A
},
188
{0x26CE, 0x26CE,
EAW_W
},
189
{0x26CF, 0x26D3,
EAW_A
},
190
{0x26D4, 0x26D4,
EAW_W
},
191
{0x26D5, 0x26E1,
EAW_A
},
192
{0x26E3, 0x26E3,
EAW_A
},
193
{0x26E8, 0x26E9,
EAW_A
},
194
{0x26EA, 0x26EA,
EAW_W
},
195
{0x26EB, 0x26F1,
EAW_A
},
196
{0x26F2, 0x26F3,
EAW_W
},
197
{0x26F4, 0x26F4,
EAW_A
},
198
{0x26F5, 0x26F5,
EAW_W
},
199
{0x26F6, 0x26F9,
EAW_A
},
200
{0x26FA, 0x26FA,
EAW_W
},
201
{0x26FB, 0x26FC,
EAW_A
},
202
{0x26FD, 0x26FD,
EAW_W
},
203
{0x26FE, 0x26FF,
EAW_A
},
204
{0x2705, 0x2705,
EAW_W
},
205
{0x270A, 0x270B,
EAW_W
},
206
{0x2728, 0x2728,
EAW_W
},
207
{0x273D, 0x273D,
EAW_A
},
208
{0x274C, 0x274C,
EAW_W
},
209
{0x274E, 0x274E,
EAW_W
},
210
{0x2753, 0x2755,
EAW_W
},
211
{0x2757, 0x2757,
EAW_W
},
212
{0x2776, 0x277F,
EAW_A
},
213
{0x2795, 0x2797,
EAW_W
},
214
{0x27B0, 0x27B0,
EAW_W
},
215
{0x27BF, 0x27BF,
EAW_W
},
216
{0x27E6, 0x27ED,
EAW_Na
},
217
{0x2985, 0x2986,
EAW_Na
},
218
{0x2B1B, 0x2B1C,
EAW_W
},
219
{0x2B50, 0x2B50,
EAW_W
},
220
{0x2B55, 0x2B55,
EAW_W
},
221
{0x2B56, 0x2B59,
EAW_A
},
222
{0x2E80, 0x2E99,
EAW_W
},
223
{0x2E9B, 0x2EF3,
EAW_W
},
224
{0x2F00, 0x2FD5,
EAW_W
},
225
{0x2FF0, 0x2FFF,
EAW_W
},
226
{0x3000, 0x3000,
EAW_F
},
227
{0x3001, 0x303E,
EAW_W
},
228
{0x3041, 0x3096,
EAW_W
},
229
{0x3099, 0x30FF,
EAW_W
},
230
{0x3105, 0x312F,
EAW_W
},
231
{0x3131, 0x318E,
EAW_W
},
232
{0x3190, 0x31E5,
EAW_W
},
233
{0x31EF, 0x321E,
EAW_W
},
234
{0x3220, 0x3247,
EAW_W
},
235
{0x3248, 0x324F,
EAW_A
},
236
{0x3250, 0xA48C,
EAW_W
},
237
{0xA490, 0xA4C6,
EAW_W
},
238
{0xA960, 0xA97C,
EAW_W
},
239
{0xAC00, 0xD7A3,
EAW_W
},
240
{0xE000, 0xF8FF,
EAW_A
},
241
{0xF900, 0xFAFF,
EAW_W
},
242
{0xFE00, 0xFE0F,
EAW_A
},
243
{0xFE10, 0xFE19,
EAW_W
},
244
{0xFE30, 0xFE52,
EAW_W
},
245
{0xFE54, 0xFE66,
EAW_W
},
246
{0xFE68, 0xFE6B,
EAW_W
},
247
{0xFF01, 0xFF60,
EAW_F
},
248
{0xFF61, 0xFFBE,
EAW_H
},
249
{0xFFC2, 0xFFC7,
EAW_H
},
250
{0xFFCA, 0xFFCF,
EAW_H
},
251
{0xFFD2, 0xFFD7,
EAW_H
},
252
{0xFFDA, 0xFFDC,
EAW_H
},
253
{0xFFE0, 0xFFE6,
EAW_F
},
254
{0xFFE8, 0xFFEE,
EAW_H
},
255
{0xFFFD, 0xFFFD,
EAW_A
},
256
{0x16FE0, 0x16FE4,
EAW_W
},
257
{0x16FF0, 0x16FF6,
EAW_W
},
258
{0x17000, 0x18CD5,
EAW_W
},
259
{0x18CFF, 0x18D1E,
EAW_W
},
260
{0x18D80, 0x18DF2,
EAW_W
},
261
{0x1AFF0, 0x1AFF3,
EAW_W
},
262
{0x1AFF5, 0x1AFFB,
EAW_W
},
263
{0x1AFFD, 0x1AFFE,
EAW_W
},
264
{0x1B000, 0x1B122,
EAW_W
},
265
{0x1B132, 0x1B132,
EAW_W
},
266
{0x1B150, 0x1B152,
EAW_W
},
267
{0x1B155, 0x1B155,
EAW_W
},
268
{0x1B164, 0x1B167,
EAW_W
},
269
{0x1B170, 0x1B2FB,
EAW_W
},
270
{0x1D300, 0x1D356,
EAW_W
},
271
{0x1D360, 0x1D376,
EAW_W
},
272
{0x1F004, 0x1F004,
EAW_W
},
273
{0x1F0CF, 0x1F0CF,
EAW_W
},
274
{0x1F100, 0x1F10A,
EAW_A
},
275
{0x1F110, 0x1F12D,
EAW_A
},
276
{0x1F130, 0x1F169,
EAW_A
},
277
{0x1F170, 0x1F18D,
EAW_A
},
278
{0x1F18E, 0x1F18E,
EAW_W
},
279
{0x1F18F, 0x1F190,
EAW_A
},
280
{0x1F191, 0x1F19A,
EAW_W
},
281
{0x1F19B, 0x1F1AC,
EAW_A
},
282
{0x1F200, 0x1F202,
EAW_W
},
283
{0x1F210, 0x1F23B,
EAW_W
},
284
{0x1F240, 0x1F248,
EAW_W
},
285
{0x1F250, 0x1F251,
EAW_W
},
286
{0x1F260, 0x1F265,
EAW_W
},
287
{0x1F300, 0x1F320,
EAW_W
},
288
{0x1F32D, 0x1F335,
EAW_W
},
289
{0x1F337, 0x1F37C,
EAW_W
},
290
{0x1F37E, 0x1F393,
EAW_W
},
291
{0x1F3A0, 0x1F3CA,
EAW_W
},
292
{0x1F3CF, 0x1F3D3,
EAW_W
},
293
{0x1F3E0, 0x1F3F0,
EAW_W
},
294
{0x1F3F4, 0x1F3F4,
EAW_W
},
295
{0x1F3F8, 0x1F43E,
EAW_W
},
296
{0x1F440, 0x1F440,
EAW_W
},
297
{0x1F442, 0x1F4FC,
EAW_W
},
298
{0x1F4FF, 0x1F53D,
EAW_W
},
299
{0x1F54B, 0x1F54E,
EAW_W
},
300
{0x1F550, 0x1F567,
EAW_W
},
301
{0x1F57A, 0x1F57A,
EAW_W
},
302
{0x1F595, 0x1F596,
EAW_W
},
303
{0x1F5A4, 0x1F5A4,
EAW_W
},
304
{0x1F5FB, 0x1F64F,
EAW_W
},
305
{0x1F680, 0x1F6C5,
EAW_W
},
306
{0x1F6CC, 0x1F6CC,
EAW_W
},
307
{0x1F6D0, 0x1F6D2,
EAW_W
},
308
{0x1F6D5, 0x1F6D8,
EAW_W
},
309
{0x1F6DC, 0x1F6DF,
EAW_W
},
310
{0x1F6EB, 0x1F6EC,
EAW_W
},
311
{0x1F6F4, 0x1F6FC,
EAW_W
},
312
{0x1F7E0, 0x1F7EB,
EAW_W
},
313
{0x1F7F0, 0x1F7F0,
EAW_W
},
314
{0x1F90C, 0x1F93A,
EAW_W
},
315
{0x1F93C, 0x1F945,
EAW_W
},
316
{0x1F947, 0x1F9FF,
EAW_W
},
317
{0x1FA70, 0x1FA7C,
EAW_W
},
318
{0x1FA80, 0x1FA8A,
EAW_W
},
319
{0x1FA8E, 0x1FAC6,
EAW_W
},
320
{0x1FAC8, 0x1FAC8,
EAW_W
},
321
{0x1FACD, 0x1FADC,
EAW_W
},
322
{0x1FADF, 0x1FAEA,
EAW_W
},
323
{0x1FAEF, 0x1FAF8,
EAW_W
},
324
{0x20000, 0x2FFFD,
EAW_W
},
325
{0x30000, 0x3FFFD,
EAW_W
},
326
{0xE0100, 0xE01EF,
EAW_A
},
327
{0xF0000, 0xFFFFD,
EAW_A
},
328
{0x100000, 0x10FFFD,
EAW_A
},
329
};
330
331
bool
ub_is_op_east_asian
(
utf32_t
ch) {
332
return
false
333
|| (ch >= 0x2329 && ch <= 0x2768)
334
|| (ch >= 0x3008 && ch <= 0xFD3F)
335
|| (ch >= 0xFE17 && ch <= 0x13258);
336
}
ub_is_op_east_asian
bool ub_is_op_east_asian(utf32_t ch)
Returns whether an OP (Open Punctuation) is East Asian.
Definition
eastasianwidthdata.c:331
eastasianwidthdef.h
EAW_W
@ EAW_W
Wide.
Definition
eastasianwidthdef.h:39
EAW_A
@ EAW_A
Ambiguous.
Definition
eastasianwidthdef.h:35
EAW_Na
@ EAW_Na
Narrow.
Definition
eastasianwidthdef.h:38
EAW_H
@ EAW_H
Halfwidth.
Definition
eastasianwidthdef.h:37
EAW_F
@ EAW_F
Fullwidth.
Definition
eastasianwidthdef.h:36
EastAsianWidthProperties
Struct for entries of East Asian Width properties.
Definition
eastasianwidthdef.h:48
utf32_t
unsigned int utf32_t
Type for UTF-32 data points.
Definition
unibreakbase.h:49
Generated by
1.18.0