[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