On 15-12-18 07:49 PM, Rajeesh K V wrote:
> Hi Behdad,
> 
> 
> On Thu, Dec 17, 2015 at 6:31 PM, Behdad Esfahbod
> <beh...@kemper.freedesktop.org <mailto:beh...@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 <beh...@behdad.org <mailto:beh...@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@lists.freedesktop.org <mailto:HarfBuzz@lists.freedesktop.org>
>     http://lists.freedesktop.org/mailman/listinfo/harfbuzz
> 
> 
> 
> 
> -- 
> Cheers,
> Rajeesh
> 
> 
> 
> _______________________________________________
> HarfBuzz mailing list
> HarfBuzz@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/harfbuzz
> 
_______________________________________________
HarfBuzz mailing list
HarfBuzz@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/harfbuzz

Reply via email to