OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 2010,2012 Google, Inc. | 2 * Copyright © 2010,2012 Google, Inc. |
3 * | 3 * |
4 * This is part of HarfBuzz, a text shaping library. | 4 * This is part of HarfBuzz, a text shaping library. |
5 * | 5 * |
6 * Permission is hereby granted, without written agreement and without | 6 * Permission is hereby granted, without written agreement and without |
7 * license or royalty fees, to use, copy, modify, and distribute this | 7 * license or royalty fees, to use, copy, modify, and distribute this |
8 * software and its documentation for any purpose, provided that the | 8 * software and its documentation for any purpose, provided that the |
9 * above copyright notice and the following two paragraphs appear in | 9 * above copyright notice and the following two paragraphs appear in |
10 * all copies of this software. | 10 * all copies of this software. |
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
192 map->add_feature (arabic_features[i], 1, i < 4 ? F_HAS_FALLBACK : F_NONE); /
* The first four features have fallback. */ | 192 map->add_feature (arabic_features[i], 1, i < 4 ? F_HAS_FALLBACK : F_NONE); /
* The first four features have fallback. */ |
193 | 193 |
194 map->add_gsub_pause (NULL); | 194 map->add_gsub_pause (NULL); |
195 | 195 |
196 map->add_feature (HB_TAG('r','l','i','g'), 1, F_GLOBAL|F_HAS_FALLBACK); | 196 map->add_feature (HB_TAG('r','l','i','g'), 1, F_GLOBAL|F_HAS_FALLBACK); |
197 map->add_gsub_pause (arabic_fallback_shape); | 197 map->add_gsub_pause (arabic_fallback_shape); |
198 | 198 |
199 map->add_global_bool_feature (HB_TAG('c','a','l','t')); | 199 map->add_global_bool_feature (HB_TAG('c','a','l','t')); |
200 map->add_gsub_pause (NULL); | 200 map->add_gsub_pause (NULL); |
201 | 201 |
202 map->add_global_bool_feature (HB_TAG('c','s','w','h')); | |
203 map->add_global_bool_feature (HB_TAG('m','s','e','t')); | 202 map->add_global_bool_feature (HB_TAG('m','s','e','t')); |
204 } | 203 } |
205 | 204 |
206 #include "hb-ot-shape-complex-arabic-fallback.hh" | 205 #include "hb-ot-shape-complex-arabic-fallback.hh" |
207 | 206 |
208 struct arabic_shape_plan_t | 207 struct arabic_shape_plan_t |
209 { | 208 { |
210 ASSERT_POD (); | 209 ASSERT_POD (); |
211 | 210 |
212 /* The "+ 1" in the next array is to accommodate for the "NONE" command, | 211 /* The "+ 1" in the next array is to accommodate for the "NONE" command, |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
359 | 358 |
360 | 359 |
361 const hb_ot_complex_shaper_t _hb_ot_complex_shaper_arabic = | 360 const hb_ot_complex_shaper_t _hb_ot_complex_shaper_arabic = |
362 { | 361 { |
363 "arabic", | 362 "arabic", |
364 collect_features_arabic, | 363 collect_features_arabic, |
365 NULL, /* override_features */ | 364 NULL, /* override_features */ |
366 data_create_arabic, | 365 data_create_arabic, |
367 data_destroy_arabic, | 366 data_destroy_arabic, |
368 NULL, /* preprocess_text_arabic */ | 367 NULL, /* preprocess_text_arabic */ |
369 NULL, /* normalization_preference */ | 368 HB_OT_SHAPE_NORMALIZATION_MODE_DEFAULT, |
370 NULL, /* decompose */ | 369 NULL, /* decompose */ |
371 NULL, /* compose */ | 370 NULL, /* compose */ |
372 setup_masks_arabic, | 371 setup_masks_arabic, |
373 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, | 372 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_GDEF_LATE, |
374 true, /* fallback_position */ | 373 true, /* fallback_position */ |
375 }; | 374 }; |
OLD | NEW |