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 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
67 break; | 67 break; |
68 } | 68 } |
69 | 69 |
70 for (; script_features && *script_features; script_features++) | 70 for (; script_features && *script_features; script_features++) |
71 plan->map.add_global_bool_feature (*script_features); | 71 plan->map.add_global_bool_feature (*script_features); |
72 } | 72 } |
73 | 73 |
74 static hb_ot_shape_normalization_mode_t | 74 static hb_ot_shape_normalization_mode_t |
75 normalization_preference_default (const hb_segment_properties_t *props) | 75 normalization_preference_default (const hb_segment_properties_t *props) |
76 { | 76 { |
77 switch ((hb_tag_t) props->script) | |
78 { | |
79 /* Unicode-1.1 additions */ | |
80 case HB_SCRIPT_HANGUL: | |
81 return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL; | |
82 } | |
83 return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS; | 77 return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS; |
84 } | 78 } |
85 | 79 |
86 static bool | 80 static bool |
87 compose_default (const hb_ot_shape_normalize_context_t *c, | 81 compose_default (const hb_ot_shape_normalize_context_t *c, |
88 hb_codepoint_t a, | 82 hb_codepoint_t a, |
89 hb_codepoint_t b, | 83 hb_codepoint_t b, |
90 hb_codepoint_t *ab) | 84 hb_codepoint_t *ab) |
91 { | 85 { |
92 /* Hebrew presentation-form shaping. | 86 /* Hebrew presentation-form shaping. |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
214 "default", | 208 "default", |
215 collect_features_default, | 209 collect_features_default, |
216 NULL, /* override_features */ | 210 NULL, /* override_features */ |
217 NULL, /* data_create */ | 211 NULL, /* data_create */ |
218 NULL, /* data_destroy */ | 212 NULL, /* data_destroy */ |
219 NULL, /* preprocess_text */ | 213 NULL, /* preprocess_text */ |
220 normalization_preference_default, | 214 normalization_preference_default, |
221 NULL, /* decompose */ | 215 NULL, /* decompose */ |
222 compose_default, | 216 compose_default, |
223 NULL, /* setup_masks */ | 217 NULL, /* setup_masks */ |
224 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE, | 218 HB_OT_SHAPE_ZERO_WIDTH_MARKS_BY_UNICODE_LATE, |
225 true, /* fallback_position */ | 219 true, /* fallback_position */ |
226 }; | 220 }; |
OLD | NEW |