[HarfBuzz] Some help with Open Type features

N@S1m Ali nasimali2008 at gmail.com
Mon Jul 27 23:32:10 PDT 2015

I'm designing a FOSS Indic font and have run into some problems. My
font works almost as expected, except that when ligatures formed by
GSUB rules combine with certain marks, they break down. One example is

 feature blwf { # Below-base Forms
  script orya; # Oriya
     sub or_ta or_halant by or_ta_phalaa;

 feature pres { # Pre-base Substitutions
  script orya; # Oriya
     sub or_ta or_ta_phalaa by or_t_ta;

 So when I want the glyph "or_t_ta" it forms fine. But when I combine
it with "or_reph" or "or_ikaar" marks, the 2nd substitution <pres> is
ignored and I get "or_ta + or_ta_phalaa + or_ikaar". (ତ୍ତ is the
ligature. ର୍ତ୍ତ or ତ୍ତି breaks down). To simplify further it is like
    b c -> d
    b d -> e
    b+b+c -> e
    b+b+c+f -> b d f

Any ideas why this might be happening? If you want to take a look at
my ttf file, it is here https://github.com/coldbreeze16/Lekhani

PS: The problem exists on Windows (7) and Linux (Ubuntu 14.04). It
works perfectly fine on Android 4.2. On Mac OS X 10.7 it behaves
bizarrely, sometimes ligatures form, sometimes they don't.

More information about the HarfBuzz mailing list