ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner

Sun Sep 29 14:55:36 2002  Owen Taylor  <otaylor@redhat.com>

        * pango/opentype/ftxgpos.c: ligatures can be also used in
        MarkBasePos lookups. (2001-03-17  Werner Lemberg)
This commit is contained in:
Owen Taylor 2002-09-29 19:06:58 +00:00 committed by Owen Taylor
parent a35dc445e8
commit 741993e0b1

View File

@ -1941,7 +1941,7 @@
/* Now comes the messiest part of the whole OpenType /* Now comes the messiest part of the whole OpenType
specification. At first glance, cursive connections seem easy 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 the specs don't mention how to compute the advance values
resp. glyph offsets. I was told it would be an omission, to resp. glyph offsets. I was told it would be an omission, to
be fixed in the next OpenType version... Again many thanks to be fixed in the next OpenType version... Again many thanks to
@ -2343,7 +2343,7 @@
if ( error ) if ( error )
return error; return error;
/* now we search backwards for a base glyph */ /* now we search backwards for a non-mark glyph */
i = 1; i = 1;
j = in->pos - 1; j = in->pos - 1;
@ -2362,8 +2362,11 @@
j--; j--;
} }
/* The following assertion is too strong -- at least for mangal.ttf. */
#if 0
if ( property != TTO_BASE_GLYPH ) if ( property != TTO_BASE_GLYPH )
return TTO_Err_Not_Covered; return TTO_Err_Not_Covered;
#endif
if ( i > in->pos ) if ( i > in->pos )
return TTO_Err_Not_Covered; return TTO_Err_Not_Covered;
@ -2751,7 +2754,7 @@
if ( error ) if ( error )
return error; return error;
/* now we search backwards for a ligature */ /* now we search backwards for a non-mark glyph */
i = 1; i = 1;
j = in->pos - 1; j = in->pos - 1;
@ -2770,8 +2773,12 @@
j--; j--;
} }
/* Similar to Lookup_MarkBasePos(), I suspect that this assertion is
too strong, thus it is commented out. */
#if 0
if ( property != TTO_LIGATURE ) if ( property != TTO_LIGATURE )
return TTO_Err_Not_Covered; return TTO_Err_Not_Covered;
#endif
if ( i > in->pos ) if ( i > in->pos )
return TTO_Err_Not_Covered; return TTO_Err_Not_Covered;