| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright © 2012 Google, Inc. | 2 * Copyright © 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 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 205 static const arabic_fallback_plan_t arabic_fallback_plan_nil = {}; | 205 static const arabic_fallback_plan_t arabic_fallback_plan_nil = {}; |
| 206 | 206 |
| 207 static arabic_fallback_plan_t * | 207 static arabic_fallback_plan_t * |
| 208 arabic_fallback_plan_create (const hb_ot_shape_plan_t *plan, | 208 arabic_fallback_plan_create (const hb_ot_shape_plan_t *plan, |
| 209 hb_font_t *font) | 209 hb_font_t *font) |
| 210 { | 210 { |
| 211 arabic_fallback_plan_t *fallback_plan = (arabic_fallback_plan_t *) calloc (1,
sizeof (arabic_fallback_plan_t)); | 211 arabic_fallback_plan_t *fallback_plan = (arabic_fallback_plan_t *) calloc (1,
sizeof (arabic_fallback_plan_t)); |
| 212 if (unlikely (!fallback_plan)) | 212 if (unlikely (!fallback_plan)) |
| 213 return const_cast<arabic_fallback_plan_t *> (&arabic_fallback_plan_nil); | 213 return const_cast<arabic_fallback_plan_t *> (&arabic_fallback_plan_nil); |
| 214 | 214 |
| 215 for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++) { | 215 for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++) |
| 216 { |
| 217 fallback_plan->digest_array[i].init (); |
| 216 fallback_plan->mask_array[i] = plan->map.get_1_mask (arabic_fallback_feature
s[i]); | 218 fallback_plan->mask_array[i] = plan->map.get_1_mask (arabic_fallback_feature
s[i]); |
| 217 if (fallback_plan->mask_array[i]) { | 219 if (fallback_plan->mask_array[i]) { |
| 218 fallback_plan->lookup_array[i] = arabic_fallback_synthesize_lookup (plan,
font, i); | 220 fallback_plan->lookup_array[i] = arabic_fallback_synthesize_lookup (plan,
font, i); |
| 219 if (fallback_plan->lookup_array[i]) | 221 if (fallback_plan->lookup_array[i]) |
| 220 fallback_plan->lookup_array[i]->add_coverage (&fallback_plan->digest_arr
ay[i]); | 222 fallback_plan->lookup_array[i]->add_coverage (&fallback_plan->digest_arr
ay[i]); |
| 221 } | 223 } |
| 222 } | 224 } |
| 223 | 225 |
| 224 return fallback_plan; | 226 return fallback_plan; |
| 225 } | 227 } |
| (...skipping 18 matching lines...) Expand all Loading... |
| 244 { | 246 { |
| 245 for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++) | 247 for (unsigned int i = 0; i < ARABIC_NUM_FALLBACK_FEATURES; i++) |
| 246 if (fallback_plan->lookup_array[i]) { | 248 if (fallback_plan->lookup_array[i]) { |
| 247 OT::hb_apply_context_t c (0, font, buffer, fallback_plan->mask_array[i], t
rue/*auto_zwj*/); | 249 OT::hb_apply_context_t c (0, font, buffer, fallback_plan->mask_array[i], t
rue/*auto_zwj*/); |
| 248 fallback_plan->lookup_array[i]->apply_string (&c, &fallback_plan->digest_a
rray[i]); | 250 fallback_plan->lookup_array[i]->apply_string (&c, &fallback_plan->digest_a
rray[i]); |
| 249 } | 251 } |
| 250 } | 252 } |
| 251 | 253 |
| 252 | 254 |
| 253 #endif /* HB_OT_SHAPE_COMPLEX_ARABIC_FALLBACK_HH */ | 255 #endif /* HB_OT_SHAPE_COMPLEX_ARABIC_FALLBACK_HH */ |
| OLD | NEW |