aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJoakim Verona2011-08-16 01:48:58 +0200
committerJoakim Verona2011-08-16 01:48:58 +0200
commit3acc41955214be77a2035476e82e21e348bf3da5 (patch)
tree006fc92cd224ab0cd84891dd56014b07ff4605ab /src
parente36df8ed9230c531c50e2ab0ebde5e7457012f4a (diff)
parent3ebec5517ea32d0c9d1954f0ea806b4fb256f12e (diff)
downloademacs-3acc41955214be77a2035476e82e21e348bf3da5.tar.gz
emacs-3acc41955214be77a2035476e82e21e348bf3da5.zip
upstream
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog20
-rw-r--r--src/bidi.c22
-rw-r--r--src/bidimirror.h365
-rw-r--r--src/biditype.h447
-rw-r--r--src/chartab.c25
-rw-r--r--src/deps.mk2
-rw-r--r--src/dispextern.h2
-rw-r--r--src/makefile.w32-in2
8 files changed, 45 insertions, 840 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index fa94aed1383..b16606ce121 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,7 +1,27 @@
12011-08-15 Paul Eggert <eggert@cs.ucla.edu>
2
3 * bidi.c (bidi_initialize): Remove unused local.
4
12011-08-15 Eli Zaretskii <eliz@gnu.org> 52011-08-15 Eli Zaretskii <eliz@gnu.org>
2 6
7 * biditype.h: File removed.
8
9 * bidimirror.h: File removed.
10
11 * deps.mk (bidi.o): Remove biditype.h and
12 bidimirror.h.
13
14 * makefile.w32-in ($(BLD)/bidi.$(O)): Remove biditype.h and
15 bidimirror.h.
16
17 * dispextern.h: Fix a typo in the comment to bidi_type_t.
18
19 * chartab.c: Improve commentary for the uniprop_table API.
20
3 * bidi.c (bidi_paragraph_init): Support zero value of 21 * bidi.c (bidi_paragraph_init): Support zero value of
4 bidi_ignore_explicit_marks_for_paragraph_level. 22 bidi_ignore_explicit_marks_for_paragraph_level.
23 (bidi_initialize): Use uniprop_table instead of including
24 biditype.h and bidimirror.h.
5 25
6 * xdisp.c (move_it_in_display_line_to): Don't reset pixel 26 * xdisp.c (move_it_in_display_line_to): Don't reset pixel
7 coordinates of the iterator when restoring from ppos_it. 27 coordinates of the iterator when restoring from ppos_it.
diff --git a/src/bidi.c b/src/bidi.c
index 383553f6d91..c0eee33ab3f 100644
--- a/src/bidi.c
+++ b/src/bidi.c
@@ -746,26 +746,16 @@ bidi_unshelve_cache (void *databuf, int just_free)
746static void 746static void
747bidi_initialize (void) 747bidi_initialize (void)
748{ 748{
749 749 bidi_type_table = uniprop_table (intern ("bidi-class"));
750#include "biditype.h" 750 if (NILP (bidi_type_table))
751#include "bidimirror.h" 751 abort ();
752
753 int i;
754
755 bidi_type_table = Fmake_char_table (Qnil, make_number (STRONG_L));
756 staticpro (&bidi_type_table); 752 staticpro (&bidi_type_table);
757 753
758 for (i = 0; i < sizeof bidi_type / sizeof bidi_type[0]; i++) 754 bidi_mirror_table = uniprop_table (intern ("mirroring"));
759 char_table_set_range (bidi_type_table, bidi_type[i].from, bidi_type[i].to, 755 if (NILP (bidi_mirror_table))
760 make_number (bidi_type[i].type)); 756 abort ();
761
762 bidi_mirror_table = Fmake_char_table (Qnil, Qnil);
763 staticpro (&bidi_mirror_table); 757 staticpro (&bidi_mirror_table);
764 758
765 for (i = 0; i < sizeof bidi_mirror / sizeof bidi_mirror[0]; i++)
766 char_table_set (bidi_mirror_table, bidi_mirror[i].from,
767 make_number (bidi_mirror[i].to));
768
769 Qparagraph_start = intern ("paragraph-start"); 759 Qparagraph_start = intern ("paragraph-start");
770 staticpro (&Qparagraph_start); 760 staticpro (&Qparagraph_start);
771 paragraph_start_re = Fsymbol_value (Qparagraph_start); 761 paragraph_start_re = Fsymbol_value (Qparagraph_start);
diff --git a/src/bidimirror.h b/src/bidimirror.h
deleted file mode 100644
index 477f983ad64..00000000000
--- a/src/bidimirror.h
+++ /dev/null
@@ -1,365 +0,0 @@
1 struct {
2 int from, to;
3 } bidi_mirror[] = {
4 { 0x0028, 0x0029 },
5 { 0x0029, 0x0028 },
6 { 0x003C, 0x003E },
7 { 0x003E, 0x003C },
8 { 0x005B, 0x005D },
9 { 0x005D, 0x005B },
10 { 0x007B, 0x007D },
11 { 0x007D, 0x007B },
12 { 0x00AB, 0x00BB },
13 { 0x00BB, 0x00AB },
14 { 0x0F3A, 0x0F3B },
15 { 0x0F3B, 0x0F3A },
16 { 0x0F3C, 0x0F3D },
17 { 0x0F3D, 0x0F3C },
18 { 0x169B, 0x169C },
19 { 0x169C, 0x169B },
20 { 0x2039, 0x203A },
21 { 0x203A, 0x2039 },
22 { 0x2045, 0x2046 },
23 { 0x2046, 0x2045 },
24 { 0x207D, 0x207E },
25 { 0x207E, 0x207D },
26 { 0x208D, 0x208E },
27 { 0x208E, 0x208D },
28 { 0x2208, 0x220B },
29 { 0x2209, 0x220C },
30 { 0x220A, 0x220D },
31 { 0x220B, 0x2208 },
32 { 0x220C, 0x2209 },
33 { 0x220D, 0x220A },
34 { 0x2215, 0x29F5 },
35 { 0x223C, 0x223D },
36 { 0x223D, 0x223C },
37 { 0x2243, 0x22CD },
38 { 0x2252, 0x2253 },
39 { 0x2253, 0x2252 },
40 { 0x2254, 0x2255 },
41 { 0x2255, 0x2254 },
42 { 0x2264, 0x2265 },
43 { 0x2265, 0x2264 },
44 { 0x2266, 0x2267 },
45 { 0x2267, 0x2266 },
46 { 0x2268, 0x2269 },
47 { 0x2269, 0x2268 },
48 { 0x226A, 0x226B },
49 { 0x226B, 0x226A },
50 { 0x226E, 0x226F },
51 { 0x226F, 0x226E },
52 { 0x2270, 0x2271 },
53 { 0x2271, 0x2270 },
54 { 0x2272, 0x2273 },
55 { 0x2273, 0x2272 },
56 { 0x2274, 0x2275 },
57 { 0x2275, 0x2274 },
58 { 0x2276, 0x2277 },
59 { 0x2277, 0x2276 },
60 { 0x2278, 0x2279 },
61 { 0x2279, 0x2278 },
62 { 0x227A, 0x227B },
63 { 0x227B, 0x227A },
64 { 0x227C, 0x227D },
65 { 0x227D, 0x227C },
66 { 0x227E, 0x227F },
67 { 0x227F, 0x227E },
68 { 0x2280, 0x2281 },
69 { 0x2281, 0x2280 },
70 { 0x2282, 0x2283 },
71 { 0x2283, 0x2282 },
72 { 0x2284, 0x2285 },
73 { 0x2285, 0x2284 },
74 { 0x2286, 0x2287 },
75 { 0x2287, 0x2286 },
76 { 0x2288, 0x2289 },
77 { 0x2289, 0x2288 },
78 { 0x228A, 0x228B },
79 { 0x228B, 0x228A },
80 { 0x228F, 0x2290 },
81 { 0x2290, 0x228F },
82 { 0x2291, 0x2292 },
83 { 0x2292, 0x2291 },
84 { 0x2298, 0x29B8 },
85 { 0x22A2, 0x22A3 },
86 { 0x22A3, 0x22A2 },
87 { 0x22A6, 0x2ADE },
88 { 0x22A8, 0x2AE4 },
89 { 0x22A9, 0x2AE3 },
90 { 0x22AB, 0x2AE5 },
91 { 0x22B0, 0x22B1 },
92 { 0x22B1, 0x22B0 },
93 { 0x22B2, 0x22B3 },
94 { 0x22B3, 0x22B2 },
95 { 0x22B4, 0x22B5 },
96 { 0x22B5, 0x22B4 },
97 { 0x22B6, 0x22B7 },
98 { 0x22B7, 0x22B6 },
99 { 0x22C9, 0x22CA },
100 { 0x22CA, 0x22C9 },
101 { 0x22CB, 0x22CC },
102 { 0x22CC, 0x22CB },
103 { 0x22CD, 0x2243 },
104 { 0x22D0, 0x22D1 },
105 { 0x22D1, 0x22D0 },
106 { 0x22D6, 0x22D7 },
107 { 0x22D7, 0x22D6 },
108 { 0x22D8, 0x22D9 },
109 { 0x22D9, 0x22D8 },
110 { 0x22DA, 0x22DB },
111 { 0x22DB, 0x22DA },
112 { 0x22DC, 0x22DD },
113 { 0x22DD, 0x22DC },
114 { 0x22DE, 0x22DF },
115 { 0x22DF, 0x22DE },
116 { 0x22E0, 0x22E1 },
117 { 0x22E1, 0x22E0 },
118 { 0x22E2, 0x22E3 },
119 { 0x22E3, 0x22E2 },
120 { 0x22E4, 0x22E5 },
121 { 0x22E5, 0x22E4 },
122 { 0x22E6, 0x22E7 },
123 { 0x22E7, 0x22E6 },
124 { 0x22E8, 0x22E9 },
125 { 0x22E9, 0x22E8 },
126 { 0x22EA, 0x22EB },
127 { 0x22EB, 0x22EA },
128 { 0x22EC, 0x22ED },
129 { 0x22ED, 0x22EC },
130 { 0x22F0, 0x22F1 },
131 { 0x22F1, 0x22F0 },
132 { 0x22F2, 0x22FA },
133 { 0x22F3, 0x22FB },
134 { 0x22F4, 0x22FC },
135 { 0x22F6, 0x22FD },
136 { 0x22F7, 0x22FE },
137 { 0x22FA, 0x22F2 },
138 { 0x22FB, 0x22F3 },
139 { 0x22FC, 0x22F4 },
140 { 0x22FD, 0x22F6 },
141 { 0x22FE, 0x22F7 },
142 { 0x2308, 0x2309 },
143 { 0x2309, 0x2308 },
144 { 0x230A, 0x230B },
145 { 0x230B, 0x230A },
146 { 0x2329, 0x232A },
147 { 0x232A, 0x2329 },
148 { 0x2768, 0x2769 },
149 { 0x2769, 0x2768 },
150 { 0x276A, 0x276B },
151 { 0x276B, 0x276A },
152 { 0x276C, 0x276D },
153 { 0x276D, 0x276C },
154 { 0x276E, 0x276F },
155 { 0x276F, 0x276E },
156 { 0x2770, 0x2771 },
157 { 0x2771, 0x2770 },
158 { 0x2772, 0x2773 },
159 { 0x2773, 0x2772 },
160 { 0x2774, 0x2775 },
161 { 0x2775, 0x2774 },
162 { 0x27C3, 0x27C4 },
163 { 0x27C4, 0x27C3 },
164 { 0x27C5, 0x27C6 },
165 { 0x27C6, 0x27C5 },
166 { 0x27C8, 0x27C9 },
167 { 0x27C9, 0x27C8 },
168 { 0x27D5, 0x27D6 },
169 { 0x27D6, 0x27D5 },
170 { 0x27DD, 0x27DE },
171 { 0x27DE, 0x27DD },
172 { 0x27E2, 0x27E3 },
173 { 0x27E3, 0x27E2 },
174 { 0x27E4, 0x27E5 },
175 { 0x27E5, 0x27E4 },
176 { 0x27E6, 0x27E7 },
177 { 0x27E7, 0x27E6 },
178 { 0x27E8, 0x27E9 },
179 { 0x27E9, 0x27E8 },
180 { 0x27EA, 0x27EB },
181 { 0x27EB, 0x27EA },
182 { 0x27EC, 0x27ED },
183 { 0x27ED, 0x27EC },
184 { 0x27EE, 0x27EF },
185 { 0x27EF, 0x27EE },
186 { 0x2983, 0x2984 },
187 { 0x2984, 0x2983 },
188 { 0x2985, 0x2986 },
189 { 0x2986, 0x2985 },
190 { 0x2987, 0x2988 },
191 { 0x2988, 0x2987 },
192 { 0x2989, 0x298A },
193 { 0x298A, 0x2989 },
194 { 0x298B, 0x298C },
195 { 0x298C, 0x298B },
196 { 0x298D, 0x2990 },
197 { 0x298E, 0x298F },
198 { 0x298F, 0x298E },
199 { 0x2990, 0x298D },
200 { 0x2991, 0x2992 },
201 { 0x2992, 0x2991 },
202 { 0x2993, 0x2994 },
203 { 0x2994, 0x2993 },
204 { 0x2995, 0x2996 },
205 { 0x2996, 0x2995 },
206 { 0x2997, 0x2998 },
207 { 0x2998, 0x2997 },
208 { 0x29B8, 0x2298 },
209 { 0x29C0, 0x29C1 },
210 { 0x29C1, 0x29C0 },
211 { 0x29C4, 0x29C5 },
212 { 0x29C5, 0x29C4 },
213 { 0x29CF, 0x29D0 },
214 { 0x29D0, 0x29CF },
215 { 0x29D1, 0x29D2 },
216 { 0x29D2, 0x29D1 },
217 { 0x29D4, 0x29D5 },
218 { 0x29D5, 0x29D4 },
219 { 0x29D8, 0x29D9 },
220 { 0x29D9, 0x29D8 },
221 { 0x29DA, 0x29DB },
222 { 0x29DB, 0x29DA },
223 { 0x29F5, 0x2215 },
224 { 0x29F8, 0x29F9 },
225 { 0x29F9, 0x29F8 },
226 { 0x29FC, 0x29FD },
227 { 0x29FD, 0x29FC },
228 { 0x2A2B, 0x2A2C },
229 { 0x2A2C, 0x2A2B },
230 { 0x2A2D, 0x2A2E },
231 { 0x2A2E, 0x2A2D },
232 { 0x2A34, 0x2A35 },
233 { 0x2A35, 0x2A34 },
234 { 0x2A3C, 0x2A3D },
235 { 0x2A3D, 0x2A3C },
236 { 0x2A64, 0x2A65 },
237 { 0x2A65, 0x2A64 },
238 { 0x2A79, 0x2A7A },
239 { 0x2A7A, 0x2A79 },
240 { 0x2A7D, 0x2A7E },
241 { 0x2A7E, 0x2A7D },
242 { 0x2A7F, 0x2A80 },
243 { 0x2A80, 0x2A7F },
244 { 0x2A81, 0x2A82 },
245 { 0x2A82, 0x2A81 },
246 { 0x2A83, 0x2A84 },
247 { 0x2A84, 0x2A83 },
248 { 0x2A8B, 0x2A8C },
249 { 0x2A8C, 0x2A8B },
250 { 0x2A91, 0x2A92 },
251 { 0x2A92, 0x2A91 },
252 { 0x2A93, 0x2A94 },
253 { 0x2A94, 0x2A93 },
254 { 0x2A95, 0x2A96 },
255 { 0x2A96, 0x2A95 },
256 { 0x2A97, 0x2A98 },
257 { 0x2A98, 0x2A97 },
258 { 0x2A99, 0x2A9A },
259 { 0x2A9A, 0x2A99 },
260 { 0x2A9B, 0x2A9C },
261 { 0x2A9C, 0x2A9B },
262 { 0x2AA1, 0x2AA2 },
263 { 0x2AA2, 0x2AA1 },
264 { 0x2AA6, 0x2AA7 },
265 { 0x2AA7, 0x2AA6 },
266 { 0x2AA8, 0x2AA9 },
267 { 0x2AA9, 0x2AA8 },
268 { 0x2AAA, 0x2AAB },
269 { 0x2AAB, 0x2AAA },
270 { 0x2AAC, 0x2AAD },
271 { 0x2AAD, 0x2AAC },
272 { 0x2AAF, 0x2AB0 },
273 { 0x2AB0, 0x2AAF },
274 { 0x2AB3, 0x2AB4 },
275 { 0x2AB4, 0x2AB3 },
276 { 0x2ABB, 0x2ABC },
277 { 0x2ABC, 0x2ABB },
278 { 0x2ABD, 0x2ABE },
279 { 0x2ABE, 0x2ABD },
280 { 0x2ABF, 0x2AC0 },
281 { 0x2AC0, 0x2ABF },
282 { 0x2AC1, 0x2AC2 },
283 { 0x2AC2, 0x2AC1 },
284 { 0x2AC3, 0x2AC4 },
285 { 0x2AC4, 0x2AC3 },
286 { 0x2AC5, 0x2AC6 },
287 { 0x2AC6, 0x2AC5 },
288 { 0x2ACD, 0x2ACE },
289 { 0x2ACE, 0x2ACD },
290 { 0x2ACF, 0x2AD0 },
291 { 0x2AD0, 0x2ACF },
292 { 0x2AD1, 0x2AD2 },
293 { 0x2AD2, 0x2AD1 },
294 { 0x2AD3, 0x2AD4 },
295 { 0x2AD4, 0x2AD3 },
296 { 0x2AD5, 0x2AD6 },
297 { 0x2AD6, 0x2AD5 },
298 { 0x2ADE, 0x22A6 },
299 { 0x2AE3, 0x22A9 },
300 { 0x2AE4, 0x22A8 },
301 { 0x2AE5, 0x22AB },
302 { 0x2AEC, 0x2AED },
303 { 0x2AED, 0x2AEC },
304 { 0x2AF7, 0x2AF8 },
305 { 0x2AF8, 0x2AF7 },
306 { 0x2AF9, 0x2AFA },
307 { 0x2AFA, 0x2AF9 },
308 { 0x2E02, 0x2E03 },
309 { 0x2E03, 0x2E02 },
310 { 0x2E04, 0x2E05 },
311 { 0x2E05, 0x2E04 },
312 { 0x2E09, 0x2E0A },
313 { 0x2E0A, 0x2E09 },
314 { 0x2E0C, 0x2E0D },
315 { 0x2E0D, 0x2E0C },
316 { 0x2E1C, 0x2E1D },
317 { 0x2E1D, 0x2E1C },
318 { 0x2E20, 0x2E21 },
319 { 0x2E21, 0x2E20 },
320 { 0x2E22, 0x2E23 },
321 { 0x2E23, 0x2E22 },
322 { 0x2E24, 0x2E25 },
323 { 0x2E25, 0x2E24 },
324 { 0x2E26, 0x2E27 },
325 { 0x2E27, 0x2E26 },
326 { 0x2E28, 0x2E29 },
327 { 0x2E29, 0x2E28 },
328 { 0x3008, 0x3009 },
329 { 0x3009, 0x3008 },
330 { 0x300A, 0x300B },
331 { 0x300B, 0x300A },
332 { 0x300C, 0x300D },
333 { 0x300D, 0x300C },
334 { 0x300E, 0x300F },
335 { 0x300F, 0x300E },
336 { 0x3010, 0x3011 },
337 { 0x3011, 0x3010 },
338 { 0x3014, 0x3015 },
339 { 0x3015, 0x3014 },
340 { 0x3016, 0x3017 },
341 { 0x3017, 0x3016 },
342 { 0x3018, 0x3019 },
343 { 0x3019, 0x3018 },
344 { 0x301A, 0x301B },
345 { 0x301B, 0x301A },
346 { 0xFE59, 0xFE5A },
347 { 0xFE5A, 0xFE59 },
348 { 0xFE5B, 0xFE5C },
349 { 0xFE5C, 0xFE5B },
350 { 0xFE5D, 0xFE5E },
351 { 0xFE5E, 0xFE5D },
352 { 0xFE64, 0xFE65 },
353 { 0xFE65, 0xFE64 },
354 { 0xFF08, 0xFF09 },
355 { 0xFF09, 0xFF08 },
356 { 0xFF1C, 0xFF1E },
357 { 0xFF1E, 0xFF1C },
358 { 0xFF3B, 0xFF3D },
359 { 0xFF3D, 0xFF3B },
360 { 0xFF5B, 0xFF5D },
361 { 0xFF5D, 0xFF5B },
362 { 0xFF5F, 0xFF60 },
363 { 0xFF60, 0xFF5F },
364 { 0xFF62, 0xFF63 },
365 { 0xFF63, 0xFF62 } };
diff --git a/src/biditype.h b/src/biditype.h
deleted file mode 100644
index 868aabd9ea6..00000000000
--- a/src/biditype.h
+++ /dev/null
@@ -1,447 +0,0 @@
1 struct {
2 int from, to;
3 bidi_type_t type;
4 } bidi_type[] = {
5 { 0x0000, 0x0008, WEAK_BN },
6 { 0x0009, 0x0009, NEUTRAL_S },
7 { 0x000A, 0x000A, NEUTRAL_B },
8 { 0x000B, 0x000B, NEUTRAL_S },
9 { 0x000C, 0x000C, NEUTRAL_WS },
10 { 0x000D, 0x000D, NEUTRAL_B },
11 { 0x000E, 0x001B, WEAK_BN },
12 { 0x001C, 0x001E, NEUTRAL_B },
13 { 0x001F, 0x001F, NEUTRAL_S },
14 { 0x0020, 0x0020, NEUTRAL_WS },
15 { 0x0021, 0x0022, NEUTRAL_ON },
16 { 0x0023, 0x0025, WEAK_ET },
17 { 0x0026, 0x002A, NEUTRAL_ON },
18 { 0x002B, 0x002B, WEAK_ES },
19 { 0x002C, 0x002C, WEAK_CS },
20 { 0x002D, 0x002D, WEAK_ES },
21 { 0x002E, 0x002F, WEAK_CS },
22 { 0x0030, 0x0039, WEAK_EN },
23 { 0x003A, 0x003A, WEAK_CS },
24 { 0x003B, 0x0040, NEUTRAL_ON },
25 { 0x005B, 0x0060, NEUTRAL_ON },
26 { 0x007B, 0x007E, NEUTRAL_ON },
27 { 0x007F, 0x0084, WEAK_BN },
28 { 0x0085, 0x0085, NEUTRAL_B },
29 { 0x0086, 0x009F, WEAK_BN },
30 { 0x00A0, 0x00A0, WEAK_CS },
31 { 0x00A1, 0x00A1, NEUTRAL_ON },
32 { 0x00A2, 0x00A5, WEAK_ET },
33 { 0x00A6, 0x00A9, NEUTRAL_ON },
34 { 0x00AB, 0x00AC, NEUTRAL_ON },
35 { 0x00AD, 0x00AD, WEAK_BN },
36 { 0x00AE, 0x00AF, NEUTRAL_ON },
37 { 0x00B0, 0x00B1, WEAK_ET },
38 { 0x00B2, 0x00B3, WEAK_EN },
39 { 0x00B4, 0x00B4, NEUTRAL_ON },
40 { 0x00B6, 0x00B8, NEUTRAL_ON },
41 { 0x00B9, 0x00B9, WEAK_EN },
42 { 0x00BB, 0x00BF, NEUTRAL_ON },
43 { 0x00D7, 0x00D7, NEUTRAL_ON },
44 { 0x00F7, 0x00F7, NEUTRAL_ON },
45 { 0x02B9, 0x02BA, NEUTRAL_ON },
46 { 0x02C2, 0x02CF, NEUTRAL_ON },
47 { 0x02D2, 0x02DF, NEUTRAL_ON },
48 { 0x02E5, 0x02ED, NEUTRAL_ON },
49 { 0x02EF, 0x02FF, NEUTRAL_ON },
50 { 0x0300, 0x036F, WEAK_NSM },
51 { 0x0374, 0x0375, NEUTRAL_ON },
52 { 0x037E, 0x0385, NEUTRAL_ON },
53 { 0x0387, 0x0387, NEUTRAL_ON },
54 { 0x03F6, 0x03F6, NEUTRAL_ON },
55 { 0x0483, 0x0489, WEAK_NSM },
56 { 0x058A, 0x058A, NEUTRAL_ON },
57 { 0x0591, 0x05BD, WEAK_NSM },
58 { 0x05BE, 0x05BE, STRONG_R },
59 { 0x05BF, 0x05BF, WEAK_NSM },
60 { 0x05C0, 0x05C0, STRONG_R },
61 { 0x05C1, 0x05C2, WEAK_NSM },
62 { 0x05C3, 0x05C3, STRONG_R },
63 { 0x05C4, 0x05C5, WEAK_NSM },
64 { 0x05C6, 0x05C6, STRONG_R },
65 { 0x05C7, 0x05C7, WEAK_NSM },
66 { 0x05D0, 0x05F4, STRONG_R },
67 { 0x0600, 0x0603, WEAK_AN },
68 { 0x0606, 0x0607, NEUTRAL_ON },
69 { 0x0608, 0x0608, STRONG_AL },
70 { 0x0609, 0x060A, WEAK_ET },
71 { 0x060B, 0x060B, STRONG_AL },
72 { 0x060C, 0x060C, WEAK_CS },
73 { 0x060D, 0x060D, STRONG_AL },
74 { 0x060E, 0x060F, NEUTRAL_ON },
75 { 0x0610, 0x061A, WEAK_NSM },
76 { 0x061B, 0x064A, STRONG_AL },
77 { 0x064B, 0x065F, WEAK_NSM },
78 { 0x0660, 0x0669, WEAK_AN },
79 { 0x066A, 0x066A, WEAK_ET },
80 { 0x066B, 0x066C, WEAK_AN },
81 { 0x066D, 0x066F, STRONG_AL },
82 { 0x0670, 0x0670, WEAK_NSM },
83 { 0x0671, 0x06D5, STRONG_AL },
84 { 0x06D6, 0x06DC, WEAK_NSM },
85 { 0x06DD, 0x06DD, WEAK_AN },
86 { 0x06DE, 0x06DE, NEUTRAL_ON },
87 { 0x06DF, 0x06E4, WEAK_NSM },
88 { 0x06E5, 0x06E6, STRONG_AL },
89 { 0x06E7, 0x06E8, WEAK_NSM },
90 { 0x06E9, 0x06E9, NEUTRAL_ON },
91 { 0x06EA, 0x06ED, WEAK_NSM },
92 { 0x06EE, 0x06EF, STRONG_AL },
93 { 0x06F0, 0x06F9, WEAK_EN },
94 { 0x06FA, 0x070D, STRONG_AL },
95 { 0x070F, 0x070F, WEAK_AN },
96 { 0x0710, 0x0710, STRONG_AL },
97 { 0x0711, 0x0711, WEAK_NSM },
98 { 0x0712, 0x072F, STRONG_AL },
99 { 0x0730, 0x074A, WEAK_NSM },
100 { 0x074D, 0x07A5, STRONG_AL },
101 { 0x07A6, 0x07B0, WEAK_NSM },
102 { 0x07B1, 0x07B1, STRONG_AL },
103 { 0x07C0, 0x07EA, STRONG_R },
104 { 0x07EB, 0x07F3, WEAK_NSM },
105 { 0x07F4, 0x07F5, STRONG_R },
106 { 0x07F6, 0x07F9, NEUTRAL_ON },
107 { 0x07FA, 0x0815, STRONG_R },
108 { 0x0816, 0x0819, WEAK_NSM },
109 { 0x081A, 0x081A, STRONG_R },
110 { 0x081B, 0x0823, WEAK_NSM },
111 { 0x0824, 0x0824, STRONG_R },
112 { 0x0825, 0x0827, WEAK_NSM },
113 { 0x0828, 0x0828, STRONG_R },
114 { 0x0829, 0x082D, WEAK_NSM },
115 { 0x0830, 0x0858, STRONG_R },
116 { 0x0859, 0x085B, WEAK_NSM },
117 { 0x085E, 0x085E, STRONG_R },
118 { 0x0900, 0x0902, WEAK_NSM },
119 { 0x093A, 0x093A, WEAK_NSM },
120 { 0x093C, 0x093C, WEAK_NSM },
121 { 0x0941, 0x0948, WEAK_NSM },
122 { 0x094D, 0x094D, WEAK_NSM },
123 { 0x0951, 0x0957, WEAK_NSM },
124 { 0x0962, 0x0963, WEAK_NSM },
125 { 0x0981, 0x0981, WEAK_NSM },
126 { 0x09BC, 0x09BC, WEAK_NSM },
127 { 0x09C1, 0x09C4, WEAK_NSM },
128 { 0x09CD, 0x09CD, WEAK_NSM },
129 { 0x09E2, 0x09E3, WEAK_NSM },
130 { 0x09F2, 0x09F3, WEAK_ET },
131 { 0x09FB, 0x09FB, WEAK_ET },
132 { 0x0A01, 0x0A02, WEAK_NSM },
133 { 0x0A3C, 0x0A3C, WEAK_NSM },
134 { 0x0A41, 0x0A51, WEAK_NSM },
135 { 0x0A70, 0x0A71, WEAK_NSM },
136 { 0x0A75, 0x0A82, WEAK_NSM },
137 { 0x0ABC, 0x0ABC, WEAK_NSM },
138 { 0x0AC1, 0x0AC8, WEAK_NSM },
139 { 0x0ACD, 0x0ACD, WEAK_NSM },
140 { 0x0AE2, 0x0AE3, WEAK_NSM },
141 { 0x0AF1, 0x0AF1, WEAK_ET },
142 { 0x0B01, 0x0B01, WEAK_NSM },
143 { 0x0B3C, 0x0B3C, WEAK_NSM },
144 { 0x0B3F, 0x0B3F, WEAK_NSM },
145 { 0x0B41, 0x0B44, WEAK_NSM },
146 { 0x0B4D, 0x0B56, WEAK_NSM },
147 { 0x0B62, 0x0B63, WEAK_NSM },
148 { 0x0B82, 0x0B82, WEAK_NSM },
149 { 0x0BC0, 0x0BC0, WEAK_NSM },
150 { 0x0BCD, 0x0BCD, WEAK_NSM },
151 { 0x0BF3, 0x0BF8, NEUTRAL_ON },
152 { 0x0BF9, 0x0BF9, WEAK_ET },
153 { 0x0BFA, 0x0BFA, NEUTRAL_ON },
154 { 0x0C3E, 0x0C40, WEAK_NSM },
155 { 0x0C46, 0x0C56, WEAK_NSM },
156 { 0x0C62, 0x0C63, WEAK_NSM },
157 { 0x0C78, 0x0C7E, NEUTRAL_ON },
158 { 0x0CBC, 0x0CBC, WEAK_NSM },
159 { 0x0CCC, 0x0CCD, WEAK_NSM },
160 { 0x0CE2, 0x0CE3, WEAK_NSM },
161 { 0x0D41, 0x0D44, WEAK_NSM },
162 { 0x0D4D, 0x0D4D, WEAK_NSM },
163 { 0x0D62, 0x0D63, WEAK_NSM },
164 { 0x0DCA, 0x0DCA, WEAK_NSM },
165 { 0x0DD2, 0x0DD6, WEAK_NSM },
166 { 0x0E31, 0x0E31, WEAK_NSM },
167 { 0x0E34, 0x0E3A, WEAK_NSM },
168 { 0x0E3F, 0x0E3F, WEAK_ET },
169 { 0x0E47, 0x0E4E, WEAK_NSM },
170 { 0x0EB1, 0x0EB1, WEAK_NSM },
171 { 0x0EB4, 0x0EBC, WEAK_NSM },
172 { 0x0EC8, 0x0ECD, WEAK_NSM },
173 { 0x0F18, 0x0F19, WEAK_NSM },
174 { 0x0F35, 0x0F35, WEAK_NSM },
175 { 0x0F37, 0x0F37, WEAK_NSM },
176 { 0x0F39, 0x0F39, WEAK_NSM },
177 { 0x0F3A, 0x0F3D, NEUTRAL_ON },
178 { 0x0F71, 0x0F7E, WEAK_NSM },
179 { 0x0F80, 0x0F84, WEAK_NSM },
180 { 0x0F86, 0x0F87, WEAK_NSM },
181 { 0x0F8D, 0x0FBC, WEAK_NSM },
182 { 0x0FC6, 0x0FC6, WEAK_NSM },
183 { 0x102D, 0x1030, WEAK_NSM },
184 { 0x1032, 0x1037, WEAK_NSM },
185 { 0x1039, 0x103A, WEAK_NSM },
186 { 0x103D, 0x103E, WEAK_NSM },
187 { 0x1058, 0x1059, WEAK_NSM },
188 { 0x105E, 0x1060, WEAK_NSM },
189 { 0x1071, 0x1074, WEAK_NSM },
190 { 0x1082, 0x1082, WEAK_NSM },
191 { 0x1085, 0x1086, WEAK_NSM },
192 { 0x108D, 0x108D, WEAK_NSM },
193 { 0x109D, 0x109D, WEAK_NSM },
194 { 0x135D, 0x135F, WEAK_NSM },
195 { 0x1390, 0x1399, NEUTRAL_ON },
196 { 0x1400, 0x1400, NEUTRAL_ON },
197 { 0x1680, 0x1680, NEUTRAL_WS },
198 { 0x169B, 0x169C, NEUTRAL_ON },
199 { 0x1712, 0x1714, WEAK_NSM },
200 { 0x1732, 0x1734, WEAK_NSM },
201 { 0x1752, 0x1753, WEAK_NSM },
202 { 0x1772, 0x1773, WEAK_NSM },
203 { 0x17B7, 0x17BD, WEAK_NSM },
204 { 0x17C6, 0x17C6, WEAK_NSM },
205 { 0x17C9, 0x17D3, WEAK_NSM },
206 { 0x17DB, 0x17DB, WEAK_ET },
207 { 0x17DD, 0x17DD, WEAK_NSM },
208 { 0x17F0, 0x180A, NEUTRAL_ON },
209 { 0x180B, 0x180D, WEAK_NSM },
210 { 0x180E, 0x180E, NEUTRAL_WS },
211 { 0x18A9, 0x18A9, WEAK_NSM },
212 { 0x1920, 0x1922, WEAK_NSM },
213 { 0x1927, 0x1928, WEAK_NSM },
214 { 0x1932, 0x1932, WEAK_NSM },
215 { 0x1939, 0x193B, WEAK_NSM },
216 { 0x1940, 0x1945, NEUTRAL_ON },
217 { 0x19DE, 0x19FF, NEUTRAL_ON },
218 { 0x1A17, 0x1A18, WEAK_NSM },
219 { 0x1A56, 0x1A56, WEAK_NSM },
220 { 0x1A58, 0x1A60, WEAK_NSM },
221 { 0x1A62, 0x1A62, WEAK_NSM },
222 { 0x1A65, 0x1A6C, WEAK_NSM },
223 { 0x1A73, 0x1A7F, WEAK_NSM },
224 { 0x1B00, 0x1B03, WEAK_NSM },
225 { 0x1B34, 0x1B34, WEAK_NSM },
226 { 0x1B36, 0x1B3A, WEAK_NSM },
227 { 0x1B3C, 0x1B3C, WEAK_NSM },
228 { 0x1B42, 0x1B42, WEAK_NSM },
229 { 0x1B6B, 0x1B73, WEAK_NSM },
230 { 0x1B80, 0x1B81, WEAK_NSM },
231 { 0x1BA2, 0x1BA5, WEAK_NSM },
232 { 0x1BA8, 0x1BA9, WEAK_NSM },
233 { 0x1BE6, 0x1BE6, WEAK_NSM },
234 { 0x1BE8, 0x1BE9, WEAK_NSM },
235 { 0x1BED, 0x1BED, WEAK_NSM },
236 { 0x1BEF, 0x1BF1, WEAK_NSM },
237 { 0x1C2C, 0x1C33, WEAK_NSM },
238 { 0x1C36, 0x1C37, WEAK_NSM },
239 { 0x1CD0, 0x1CD2, WEAK_NSM },
240 { 0x1CD4, 0x1CE0, WEAK_NSM },
241 { 0x1CE2, 0x1CE8, WEAK_NSM },
242 { 0x1CED, 0x1CED, WEAK_NSM },
243 { 0x1DC0, 0x1DFF, WEAK_NSM },
244 { 0x1FBD, 0x1FBD, NEUTRAL_ON },
245 { 0x1FBF, 0x1FC1, NEUTRAL_ON },
246 { 0x1FCD, 0x1FCF, NEUTRAL_ON },
247 { 0x1FDD, 0x1FDF, NEUTRAL_ON },
248 { 0x1FED, 0x1FEF, NEUTRAL_ON },
249 { 0x1FFD, 0x1FFE, NEUTRAL_ON },
250 { 0x2000, 0x200A, NEUTRAL_WS },
251 { 0x200B, 0x200D, WEAK_BN },
252 { 0x200F, 0x200F, STRONG_R },
253 { 0x2010, 0x2027, NEUTRAL_ON },
254 { 0x2028, 0x2028, NEUTRAL_WS },
255 { 0x2029, 0x2029, NEUTRAL_B },
256 { 0x202A, 0x202A, LRE },
257 { 0x202B, 0x202B, RLE },
258 { 0x202C, 0x202C, PDF },
259 { 0x202D, 0x202D, LRO },
260 { 0x202E, 0x202E, RLO },
261 { 0x202F, 0x202F, WEAK_CS },
262 { 0x2030, 0x2034, WEAK_ET },
263 { 0x2035, 0x2043, NEUTRAL_ON },
264 { 0x2044, 0x2044, WEAK_CS },
265 { 0x2045, 0x205E, NEUTRAL_ON },
266 { 0x205F, 0x205F, NEUTRAL_WS },
267 { 0x2060, 0x206F, WEAK_BN },
268 { 0x2070, 0x2070, WEAK_EN },
269 { 0x2074, 0x2079, WEAK_EN },
270 { 0x207A, 0x207B, WEAK_ES },
271 { 0x207C, 0x207E, NEUTRAL_ON },
272 { 0x2080, 0x2089, WEAK_EN },
273 { 0x208A, 0x208B, WEAK_ES },
274 { 0x208C, 0x208E, NEUTRAL_ON },
275 { 0x20A0, 0x20B9, WEAK_ET },
276 { 0x20D0, 0x20F0, WEAK_NSM },
277 { 0x2100, 0x2101, NEUTRAL_ON },
278 { 0x2103, 0x2106, NEUTRAL_ON },
279 { 0x2108, 0x2109, NEUTRAL_ON },
280 { 0x2114, 0x2114, NEUTRAL_ON },
281 { 0x2116, 0x2118, NEUTRAL_ON },
282 { 0x211E, 0x2123, NEUTRAL_ON },
283 { 0x2125, 0x2125, NEUTRAL_ON },
284 { 0x2127, 0x2127, NEUTRAL_ON },
285 { 0x2129, 0x2129, NEUTRAL_ON },
286 { 0x212E, 0x212E, WEAK_ET },
287 { 0x213A, 0x213B, NEUTRAL_ON },
288 { 0x2140, 0x2144, NEUTRAL_ON },
289 { 0x214A, 0x214D, NEUTRAL_ON },
290 { 0x2150, 0x215F, NEUTRAL_ON },
291 { 0x2189, 0x2211, NEUTRAL_ON },
292 { 0x2212, 0x2212, WEAK_ES },
293 { 0x2213, 0x2213, WEAK_ET },
294 { 0x2214, 0x2335, NEUTRAL_ON },
295 { 0x237B, 0x2394, NEUTRAL_ON },
296 { 0x2396, 0x2487, NEUTRAL_ON },
297 { 0x2488, 0x249B, WEAK_EN },
298 { 0x24EA, 0x26AB, NEUTRAL_ON },
299 { 0x26AD, 0x27FF, NEUTRAL_ON },
300 { 0x2900, 0x2B59, NEUTRAL_ON },
301 { 0x2CE5, 0x2CEA, NEUTRAL_ON },
302 { 0x2CEF, 0x2CF1, WEAK_NSM },
303 { 0x2CF9, 0x2CFF, NEUTRAL_ON },
304 { 0x2D7F, 0x2D7F, WEAK_NSM },
305 { 0x2DE0, 0x2DFF, WEAK_NSM },
306 { 0x2E00, 0x2FFB, NEUTRAL_ON },
307 { 0x3000, 0x3000, NEUTRAL_WS },
308 { 0x3001, 0x3004, NEUTRAL_ON },
309 { 0x3008, 0x3020, NEUTRAL_ON },
310 { 0x302A, 0x302F, WEAK_NSM },
311 { 0x3030, 0x3030, NEUTRAL_ON },
312 { 0x3036, 0x3037, NEUTRAL_ON },
313 { 0x303D, 0x303F, NEUTRAL_ON },
314 { 0x3099, 0x309A, WEAK_NSM },
315 { 0x309B, 0x309C, NEUTRAL_ON },
316 { 0x30A0, 0x30A0, NEUTRAL_ON },
317 { 0x30FB, 0x30FB, NEUTRAL_ON },
318 { 0x31C0, 0x31E3, NEUTRAL_ON },
319 { 0x321D, 0x321E, NEUTRAL_ON },
320 { 0x3250, 0x325F, NEUTRAL_ON },
321 { 0x327C, 0x327E, NEUTRAL_ON },
322 { 0x32B1, 0x32BF, NEUTRAL_ON },
323 { 0x32CC, 0x32CF, NEUTRAL_ON },
324 { 0x3377, 0x337A, NEUTRAL_ON },
325 { 0x33DE, 0x33DF, NEUTRAL_ON },
326 { 0x33FF, 0x33FF, NEUTRAL_ON },
327 { 0x4DC0, 0x4DFF, NEUTRAL_ON },
328 { 0xA490, 0xA4C6, NEUTRAL_ON },
329 { 0xA60D, 0xA60F, NEUTRAL_ON },
330 { 0xA66F, 0xA672, WEAK_NSM },
331 { 0xA673, 0xA673, NEUTRAL_ON },
332 { 0xA67C, 0xA67D, WEAK_NSM },
333 { 0xA67E, 0xA67F, NEUTRAL_ON },
334 { 0xA6F0, 0xA6F1, WEAK_NSM },
335 { 0xA700, 0xA721, NEUTRAL_ON },
336 { 0xA788, 0xA788, NEUTRAL_ON },
337 { 0xA802, 0xA802, WEAK_NSM },
338 { 0xA806, 0xA806, WEAK_NSM },
339 { 0xA80B, 0xA80B, WEAK_NSM },
340 { 0xA825, 0xA826, WEAK_NSM },
341 { 0xA828, 0xA82B, NEUTRAL_ON },
342 { 0xA838, 0xA839, WEAK_ET },
343 { 0xA874, 0xA877, NEUTRAL_ON },
344 { 0xA8C4, 0xA8C4, WEAK_NSM },
345 { 0xA8E0, 0xA8F1, WEAK_NSM },
346 { 0xA926, 0xA92D, WEAK_NSM },
347 { 0xA947, 0xA951, WEAK_NSM },
348 { 0xA980, 0xA982, WEAK_NSM },
349 { 0xA9B3, 0xA9B3, WEAK_NSM },
350 { 0xA9B6, 0xA9B9, WEAK_NSM },
351 { 0xA9BC, 0xA9BC, WEAK_NSM },
352 { 0xAA29, 0xAA2E, WEAK_NSM },
353 { 0xAA31, 0xAA32, WEAK_NSM },
354 { 0xAA35, 0xAA36, WEAK_NSM },
355 { 0xAA43, 0xAA43, WEAK_NSM },
356 { 0xAA4C, 0xAA4C, WEAK_NSM },
357 { 0xAAB0, 0xAAB0, WEAK_NSM },
358 { 0xAAB2, 0xAAB4, WEAK_NSM },
359 { 0xAAB7, 0xAAB8, WEAK_NSM },
360 { 0xAABE, 0xAABF, WEAK_NSM },
361 { 0xAAC1, 0xAAC1, WEAK_NSM },
362 { 0xABE5, 0xABE5, WEAK_NSM },
363 { 0xABE8, 0xABE8, WEAK_NSM },
364 { 0xABED, 0xABED, WEAK_NSM },
365 { 0xFB1D, 0xFB1D, STRONG_R },
366 { 0xFB1E, 0xFB1E, WEAK_NSM },
367 { 0xFB1F, 0xFB28, STRONG_R },
368 { 0xFB29, 0xFB29, WEAK_ES },
369 { 0xFB2A, 0xFB4F, STRONG_R },
370 { 0xFB50, 0xFD3D, STRONG_AL },
371 { 0xFD3E, 0xFD3F, NEUTRAL_ON },
372 { 0xFD50, 0xFDFC, STRONG_AL },
373 { 0xFDFD, 0xFDFD, NEUTRAL_ON },
374 { 0xFE00, 0xFE0F, WEAK_NSM },
375 { 0xFE10, 0xFE19, NEUTRAL_ON },
376 { 0xFE20, 0xFE26, WEAK_NSM },
377 { 0xFE30, 0xFE4F, NEUTRAL_ON },
378 { 0xFE50, 0xFE50, WEAK_CS },
379 { 0xFE51, 0xFE51, NEUTRAL_ON },
380 { 0xFE52, 0xFE52, WEAK_CS },
381 { 0xFE54, 0xFE54, NEUTRAL_ON },
382 { 0xFE55, 0xFE55, WEAK_CS },
383 { 0xFE56, 0xFE5E, NEUTRAL_ON },
384 { 0xFE5F, 0xFE5F, WEAK_ET },
385 { 0xFE60, 0xFE61, NEUTRAL_ON },
386 { 0xFE62, 0xFE63, WEAK_ES },
387 { 0xFE64, 0xFE68, NEUTRAL_ON },
388 { 0xFE69, 0xFE6A, WEAK_ET },
389 { 0xFE6B, 0xFE6B, NEUTRAL_ON },
390 { 0xFE70, 0xFEFC, STRONG_AL },
391 { 0xFEFF, 0xFEFF, WEAK_BN },
392 { 0xFF01, 0xFF02, NEUTRAL_ON },
393 { 0xFF03, 0xFF05, WEAK_ET },
394 { 0xFF06, 0xFF0A, NEUTRAL_ON },
395 { 0xFF0B, 0xFF0B, WEAK_ES },
396 { 0xFF0C, 0xFF0C, WEAK_CS },
397 { 0xFF0D, 0xFF0D, WEAK_ES },
398 { 0xFF0E, 0xFF0F, WEAK_CS },
399 { 0xFF10, 0xFF19, WEAK_EN },
400 { 0xFF1A, 0xFF1A, WEAK_CS },
401 { 0xFF1B, 0xFF20, NEUTRAL_ON },
402 { 0xFF3B, 0xFF40, NEUTRAL_ON },
403 { 0xFF5B, 0xFF65, NEUTRAL_ON },
404 { 0xFFE0, 0xFFE1, WEAK_ET },
405 { 0xFFE2, 0xFFE4, NEUTRAL_ON },
406 { 0xFFE5, 0xFFE6, WEAK_ET },
407 { 0xFFE8, 0xFFFD, NEUTRAL_ON },
408 { 0x10101, 0x10101, NEUTRAL_ON },
409 { 0x10140, 0x1019B, NEUTRAL_ON },
410 { 0x101FD, 0x101FD, WEAK_NSM },
411 { 0x10800, 0x1091B, STRONG_R },
412 { 0x1091F, 0x1091F, NEUTRAL_ON },
413 { 0x10920, 0x10A00, STRONG_R },
414 { 0x10A01, 0x10A0F, WEAK_NSM },
415 { 0x10A10, 0x10A33, STRONG_R },
416 { 0x10A38, 0x10A3F, WEAK_NSM },
417 { 0x10A40, 0x10B35, STRONG_R },
418 { 0x10B39, 0x10B3F, NEUTRAL_ON },
419 { 0x10B40, 0x10C48, STRONG_R },
420 { 0x10E60, 0x10E7E, WEAK_AN },
421 { 0x11001, 0x11001, WEAK_NSM },
422 { 0x11038, 0x11046, WEAK_NSM },
423 { 0x11052, 0x11065, NEUTRAL_ON },
424 { 0x11080, 0x11081, WEAK_NSM },
425 { 0x110B3, 0x110B6, WEAK_NSM },
426 { 0x110B9, 0x110BA, WEAK_NSM },
427 { 0x1D167, 0x1D169, WEAK_NSM },
428 { 0x1D173, 0x1D17A, WEAK_BN },
429 { 0x1D17B, 0x1D182, WEAK_NSM },
430 { 0x1D185, 0x1D18B, WEAK_NSM },
431 { 0x1D1AA, 0x1D1AD, WEAK_NSM },
432 { 0x1D200, 0x1D241, NEUTRAL_ON },
433 { 0x1D242, 0x1D244, WEAK_NSM },
434 { 0x1D245, 0x1D356, NEUTRAL_ON },
435 { 0x1D6DB, 0x1D6DB, NEUTRAL_ON },
436 { 0x1D715, 0x1D715, NEUTRAL_ON },
437 { 0x1D74F, 0x1D74F, NEUTRAL_ON },
438 { 0x1D789, 0x1D789, NEUTRAL_ON },
439 { 0x1D7C3, 0x1D7C3, NEUTRAL_ON },
440 { 0x1D7CE, 0x1D7FF, WEAK_EN },
441 { 0x1F000, 0x1F0DF, NEUTRAL_ON },
442 { 0x1F100, 0x1F10A, WEAK_EN },
443 { 0x1F300, 0x1F48B, NEUTRAL_ON },
444 { 0x1F48D, 0x1F523, NEUTRAL_ON },
445 { 0x1F525, 0x1F773, NEUTRAL_ON },
446 { 0xE0001, 0xE007F, WEAK_BN },
447 { 0xE0100, 0xE01EF, WEAK_NSM } };
diff --git a/src/chartab.c b/src/chartab.c
index fb72004356e..0cabaac4cf5 100644
--- a/src/chartab.c
+++ b/src/chartab.c
@@ -1095,22 +1095,31 @@ map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
1095 1095
1096/* Unicode character property tables. 1096/* Unicode character property tables.
1097 1097
1098 This section provides a convenient and efficient way to get a 1098 This section provides a convenient and efficient way to get Unicode
1099 Unicode character property from C code (from Lisp, you must use 1099 character properties of characters from C code (from Lisp, you must
1100 get-char-code-property). 1100 use get-char-code-property).
1101 1101
1102 The typical usage is to get a char-table for a specific property at 1102 The typical usage is to get a char-table object for a specific
1103 a proper initialization time as this: 1103 property like this (use of the "bidi-class" property below is just
1104 an example):
1104 1105
1105 Lisp_Object bidi_class_table = uniprop_table (intern ("bidi-class")); 1106 Lisp_Object bidi_class_table = uniprop_table (intern ("bidi-class"));
1106 1107
1107 and get a property value for character CH as this: 1108 (uniprop_table can return nil if it fails to find data for the
1109 named property, or if it fails to load the appropriate Lisp support
1110 file, so the return value should be tested to be non-nil, before it
1111 is used.)
1108 1112
1109 Lisp_Object bidi_class = CHAR_TABLE_REF (CH, bidi_class_table); 1113 To get a property value for character CH use CHAR_TABLE_REF:
1114
1115 Lisp_Object bidi_class = CHAR_TABLE_REF (bidi_class_table, CH);
1110 1116
1111 In this case, what you actually get is an index number to the 1117 In this case, what you actually get is an index number to the
1112 vector of property values (symbols nil, L, R, etc). 1118 vector of property values (symbols nil, L, R, etc).
1113 1119
1120 The full list of Unicode character properties supported by Emacs is
1121 documented in the ELisp manual, in the node "Character Properties".
1122
1114 A table for Unicode character property has these characteristics: 1123 A table for Unicode character property has these characteristics:
1115 1124
1116 o The purpose is `char-code-property-table', which implies that the 1125 o The purpose is `char-code-property-table', which implies that the
@@ -1122,7 +1131,7 @@ map_char_table_for_charset (void (*c_function) (Lisp_Object, Lisp_Object),
1122 means that we don't have to decode values. 1131 means that we don't have to decode values.
1123 1132
1124 o The third extra slot is a Lisp function, an index (integer) to 1133 o The third extra slot is a Lisp function, an index (integer) to
1125 the array uniprop_enncoder[], or nil. If it is a Lisp function, we 1134 the array uniprop_encoder[], or nil. If it is a Lisp function, we
1126 can't use such a table from C (at the moment). If it is nil, it 1135 can't use such a table from C (at the moment). If it is nil, it
1127 means that we don't have to encode values. */ 1136 means that we don't have to encode values. */
1128 1137
diff --git a/src/deps.mk b/src/deps.mk
index 080144ae1e5..c61b01a95c4 100644
--- a/src/deps.mk
+++ b/src/deps.mk
@@ -39,7 +39,7 @@
39atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \ 39atimer.o: atimer.c atimer.h syssignal.h systime.h lisp.h blockinput.h \
40 globals.h ../lib/unistd.h $(config_h) 40 globals.h ../lib/unistd.h $(config_h)
41bidi.o: bidi.c buffer.h character.h dispextern.h msdos.h lisp.h \ 41bidi.o: bidi.c buffer.h character.h dispextern.h msdos.h lisp.h \
42 biditype.h bidimirror.h globals.h $(config_h) 42 globals.h $(config_h)
43buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \ 43buffer.o: buffer.c buffer.h region-cache.h commands.h window.h \
44 $(INTERVALS_H) blockinput.h atimer.h systime.h character.h ../lib/unistd.h \ 44 $(INTERVALS_H) blockinput.h atimer.h systime.h character.h ../lib/unistd.h \
45 indent.h keyboard.h coding.h keymap.h frame.h lisp.h globals.h $(config_h) 45 indent.h keyboard.h coding.h keymap.h frame.h lisp.h globals.h $(config_h)
diff --git a/src/dispextern.h b/src/dispextern.h
index 18c3bcf5467..3927ddf82bb 100644
--- a/src/dispextern.h
+++ b/src/dispextern.h
@@ -1786,7 +1786,7 @@ extern int face_change_count;
1786 3 bits for it, so we cannot use there values larger than 7. 1786 3 bits for it, so we cannot use there values larger than 7.
1787 1787
1788 The order of members must be in sync with the 8th element of the 1788 The order of members must be in sync with the 8th element of the
1789 member of unidata-prop-alist (in admin/unidata/unidata-getn.el) for 1789 member of unidata-prop-alist (in admin/unidata/unidata-gen.el) for
1790 Unicode character property `bidi-class'. */ 1790 Unicode character property `bidi-class'. */
1791typedef enum { 1791typedef enum {
1792 UNKNOWN_BT = 0, 1792 UNKNOWN_BT = 0,
diff --git a/src/makefile.w32-in b/src/makefile.w32-in
index fd29dec9096..792b66b0e4f 100644
--- a/src/makefile.w32-in
+++ b/src/makefile.w32-in
@@ -493,8 +493,6 @@ $(BLD)/atimer.$(O) : \
493 493
494$(BLD)/bidi.$(O) : \ 494$(BLD)/bidi.$(O) : \
495 $(SRC)/bidi.c \ 495 $(SRC)/bidi.c \
496 $(SRC)/bidimirror.h \
497 $(SRC)/biditype.h \
498 $(SRC)/buffer.h \ 496 $(SRC)/buffer.h \
499 $(CHARACTER_H) \ 497 $(CHARACTER_H) \
500 $(CONFIG_H) \ 498 $(CONFIG_H) \