提交 4c450c70 编写于 作者: B Behdad Esfahbod

[Indic] Recompose Bengali Ya,Nukta

This is a bunch of hacks for now.

Improves Bengali a bit.
上级 e9c0f152
...@@ -407,7 +407,8 @@ hb_ot_shape_normalization_mode_t ...@@ -407,7 +407,8 @@ hb_ot_shape_normalization_mode_t
_hb_ot_shape_complex_normalization_preference_indic (void) _hb_ot_shape_complex_normalization_preference_indic (void)
{ {
/* We want split matras decomposed by the common shaping logic. */ /* We want split matras decomposed by the common shaping logic. */
return HB_OT_SHAPE_NORMALIZATION_MODE_DECOMPOSED; /* XXX sort this out after adding per-shaper normalizers. */
return HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_DIACRITICS;
} }
...@@ -549,7 +550,6 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff ...@@ -549,7 +550,6 @@ initial_reordering_consonant_syllable (const hb_ot_map_t *map, hb_buffer_t *buff
if (base < start) if (base < start)
base = start; /* Just in case... */ base = start; /* Just in case... */
/* -> If the syllable starts with Ra + Halant (in a script that has Reph) /* -> If the syllable starts with Ra + Halant (in a script that has Reph)
* and has more than one consonant, Ra is excluded from candidates for * and has more than one consonant, Ra is excluded from candidates for
* base consonants. */ * base consonants. */
......
...@@ -258,6 +258,14 @@ hb_unicode_compose (hb_unicode_funcs_t *ufuncs, ...@@ -258,6 +258,14 @@ hb_unicode_compose (hb_unicode_funcs_t *ufuncs,
hb_codepoint_t *ab) hb_codepoint_t *ab)
{ {
*ab = 0; *ab = 0;
/* XXX, this belongs to indic normalizer. */
if ((FLAG (hb_unicode_general_category (ufuncs, a)) &
(FLAG (HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK) |
FLAG (HB_UNICODE_GENERAL_CATEGORY_ENCLOSING_MARK) |
FLAG (HB_UNICODE_GENERAL_CATEGORY_NON_SPACING_MARK))))
return false;
/* XXX, add composition-exclusion exceptions to Indic shaper. */
if (a == 0x09AF && b == 0x09BC) { *ab = 0x09DF; return true; }
return ufuncs->func.compose (ufuncs, a, b, ab, ufuncs->user_data.compose); return ufuncs->func.compose (ufuncs, a, b, ab, ufuncs->user_data.compose);
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册