[HarfBuzz] harfbuzz-ng: Branch 'master' - 6 commits

John Daggett jdaggett at mozilla.com
Tue Apr 17 19:35:48 PDT 2012


> commit a5f1834f57ea3fb254f5c7d372747de316fcc8f1
> Author: Behdad Esfahbod <behdad at behdad.org>
> Date:   Mon Apr 16 15:55:13 2012 -0400
> 
>     Apply 'liga' for vertical writing mode too
>     
>     Apparently that's what Kazuraki uses to form vertical ligatures,
>     which suggests that it's what Adobe does.
> 
> diff --git a/src/hb-ot-shape.cc b/src/hb-ot-shape.cc
> index d21559c..66b1461 100644
> --- a/src/hb-ot-shape.cc
> +++ b/src/hb-ot-shape.cc
> @@ -35,6 +35,7 @@
>  
>  hb_tag_t common_features[] = {
>    HB_TAG('c','c','m','p'),
> +  HB_TAG('l','i','g','a'),
>    HB_TAG('l','o','c','l'),
>    HB_TAG('m','a','r','k'),
>    HB_TAG('m','k','m','k'),
> @@ -46,7 +47,6 @@ hb_tag_t horizontal_features[] = {
>    HB_TAG('c','l','i','g'),
>    HB_TAG('c','u','r','s'),
>    HB_TAG('k','e','r','n'),
> -  HB_TAG('l','i','g','a'),
>  };

Just a note here that this will be problematic when rendering upright
Latin text in vertical mode.  Frankly, I don't think there's a clear,
consistent design model for OpenType features in the vertical case.
There's clearly a need to distinguish more clearly vertical ligatures
from horizontal ones, having 'f' and 'i' ligate in the upright
vertical case doesn't make sense.  Kazuraki relies on the 'vert'
feature to disambiguate horizontal and vertical ligatures but this
won't work for fonts not designed with the vertical case in mind.

So I think this change will need tweaking in the future, once there's
a clearer definition of the OpenType feature model for vertical text.

Cheers,

John Daggett



More information about the HarfBuzz mailing list