date: 2001/03/29 13:20:12; author: werner; state: Exp; lines: +10 -3 ligatures can be also used in MarkBasePos lookups. Index: ftxgpos.c =================================================================== RCS file: /cvs/freetype/freetype/lib/extend/ftxgpos.c,v retrieving revision 1.11 retrieving revision 1.12 diff -u -p -r1.11 -r1.12 --- ftxgpos.c 2001/03/17 14:11:21 1.11 +++ ftxgpos.c 2001/03/29 13:20:12 1.12 @@ -1921,7 +1921,7 @@ /* Now comes the messiest part of the whole OpenType specification. At first glance, cursive connections seem easy - to understand, but there are pitfalls! The reason is, that + to understand, but there are pitfalls! The reason is that the specs don't mention how to compute the advance values resp. glyph offsets. I was told it would be an omission, to be fixed in the next OpenType version... Again many thanks to @@ -2313,7 +2313,7 @@ if ( error ) return error; - /* now we search backwards for a base glyph */ + /* now we search backwards for a non-mark glyph */ i = 1; j = in->pos - 1; @@ -2332,8 +2332,11 @@ j--; } + /* The following assertion is too strong -- at least for mangal.ttf. */ +#if 0 if ( property != TTO_BASE_GLYPH ) return TTO_Err_Not_Covered; +#endif if ( i > in->pos ) return TTO_Err_Not_Covered; @@ -2708,7 +2711,7 @@ if ( error ) return error; - /* now we search backwards for a ligature */ + /* now we search backwards for a non-mark glyph */ i = 1; j = in->pos - 1; @@ -2727,8 +2730,12 @@ j--; } + /* Similar to Lookup_MarkBasePos(), I suspect that this assertion is + too strong, thus it is commented out. */ +#if 0 if ( property != TTO_LIGATURE ) return TTO_Err_Not_Covered; +#endif if ( i > in->pos ) return TTO_Err_Not_Covered;