[HarfBuzz] harfbuzz: Branch 'master'
Behdad Esfahbod
behdad.esfahbod at gmail.com
Fri Dec 18 11:55:09 PST 2015
On 15-12-18 07:49 PM, Rajeesh K V wrote:
> Hi Behdad,
>
>
> On Thu, Dec 17, 2015 at 6:31 PM, Behdad Esfahbod
> <behdad at kemper.freedesktop.org <mailto:behdad at kemper.freedesktop.org>> wrote:
>
> src/hb-ot-shape-complex-indic.cc | 11 +++++++++--
> 1 file changed, 9 insertions(+), 2 deletions(-)
>
> New commits:
> commit 508cc3d3cfcfb0383df0fe795cc28db4e0fd5729
> Author: Behdad Esfahbod <behdad at behdad.org <mailto:behdad at behdad.org>>
> Date: Thu Dec 17 17:31:17 2015 +0000
>
> [indic] Allow context when matching for Malayalam new-spec
>
> Test sequence:
> U+0995,U+09CD,U+09B0
>
>
> These code points are for Bengali, they don't make sense for Malayalam. Could
> you share more details about this specific test case?
> (I saw that subsequent commit 45b7ec365225109eb0854e6c417f48860b5f24af fixes
> regression introduced by this commit, that made me curious to look into this one).
Err, you are right. The sequence should have read:
U+0D32, U+0D4D, U+0D32, U+0D3E
behdad
> With Nirmala shipped on Windows 10, this failed to form the below form.
> Works now.
>
> Reported by Sairus.
>
> diff --git a/src/hb-ot-shape-complex-indic.cc
> b/src/hb-ot-shape-complex-indic.cc
> index 5354897..a630419 100644
> --- a/src/hb-ot-shape-complex-indic.cc
> +++ b/src/hb-ot-shape-complex-indic.cc
> @@ -557,8 +557,15 @@ data_create_indic (const hb_ot_shape_plan_t *plan)
> indic_plan->virama_glyph = (hb_codepoint_t) -1;
>
> /* Use zero-context would_substitute() matching for new-spec of the main
> - * Indic scripts, and scripts with one spec only, but not for old-specs. */
> - bool zero_context = !indic_plan->is_old_spec;
> + * Indic scripts, and scripts with one spec only, but not for old-specs.
> + * The new-spec for all dual-spec scripts says zero-context matching
> happens.
> + *
> + * However, testing with Malayalam shows that old and new spec both allow
> + * context. Testing with Bengali new-spec however shows that it doesn't.
> + * So, the heuristic here is the way it is. It should *only* be changed,
> + * as we discover more cases of what Windows does. DON'T TOUCH OTHERWISE.
> + */
> + bool zero_context = !indic_plan->is_old_spec && plan->props.script !=
> HB_SCRIPT_MALAYALAM;
> indic_plan->rphf.init (&plan->map, HB_TAG('r','p','h','f'), zero_context);
> indic_plan->pref.init (&plan->map, HB_TAG('p','r','e','f'), zero_context);
> indic_plan->blwf.init (&plan->map, HB_TAG('b','l','w','f'), zero_context);
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org <mailto:HarfBuzz at lists.freedesktop.org>
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>
>
>
>
> --
> Cheers,
> Rajeesh
>
>
>
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
>
More information about the HarfBuzz
mailing list