Revert back out the FreeType patch preventing ligatures of not-originally
Sat Jul 26 09:41:22 2003 Owen Taylor <otaylor@redhat.com> * pango/opentype/ftxgsub.c (Lookup_LigatureSubst): Revert back out the FreeType patch preventing ligatures of not-originally adjacent glyphs; it doesn't work for all scripts. (#118472, Kailash C. Chowksey)
This commit is contained in:
parent
825e6d7e86
commit
8247acad79
|
@ -1194,8 +1194,7 @@
|
||||||
FT_UShort index, property;
|
FT_UShort index, property;
|
||||||
FT_Error error;
|
FT_Error error;
|
||||||
FT_UShort numlig, i, j, is_mark, first_is_mark = FALSE;
|
FT_UShort numlig, i, j, is_mark, first_is_mark = FALSE;
|
||||||
FT_UShort first_ligID, first_comp;
|
FT_UShort* s_in;
|
||||||
FT_UShort *s_in, *lig_in, *comp_in;
|
|
||||||
FT_UShort* c;
|
FT_UShort* c;
|
||||||
|
|
||||||
TTO_Ligature* lig;
|
TTO_Ligature* lig;
|
||||||
|
@ -1223,12 +1222,8 @@
|
||||||
if ( in->pos + lig->ComponentCount > in->length )
|
if ( in->pos + lig->ComponentCount > in->length )
|
||||||
continue; /* Not enough glyphs in input */
|
continue; /* Not enough glyphs in input */
|
||||||
|
|
||||||
s_in = &in->string[in->pos];
|
s_in = &in->string[in->pos];
|
||||||
lig_in = &in->ligIDs[in->pos];
|
c = lig->Component;
|
||||||
comp_in = &in->components[in->pos];
|
|
||||||
first_ligID = *lig_in;
|
|
||||||
first_comp = *comp_in;
|
|
||||||
c = lig->Component;
|
|
||||||
|
|
||||||
is_mark = first_is_mark;
|
is_mark = first_is_mark;
|
||||||
|
|
||||||
|
@ -1248,26 +1243,6 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* don't apply a ligature lookup to glyphs with different
|
|
||||||
ligature IDs. Example:
|
|
||||||
|
|
||||||
'
|
|
||||||
^' ' ^
|
|
||||||
f ^ l ' -> fl ^ ' -> fl but not fl ^ -> fl */
|
|
||||||
|
|
||||||
if ( first_ligID != lig_in[j] )
|
|
||||||
break;
|
|
||||||
|
|
||||||
/* don't apply a ligature lookup to glyphs with different
|
|
||||||
component values. Example:
|
|
||||||
|
|
||||||
'
|
|
||||||
^' ' ^
|
|
||||||
f ^ f ' l -> ffl ^ ' -> ffl but not ffl ^ -> ffl */
|
|
||||||
|
|
||||||
if ( first_comp != comp_in[j] )
|
|
||||||
break;
|
|
||||||
|
|
||||||
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||||
is_mark = FALSE;
|
is_mark = FALSE;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue