Start of merges from freetype1 of OpenType fixes.
Sun Sep 29 14:51:25 2002 Owen Taylor <otaylor@redhat.com> Start of merges from freetype1 of OpenType fixes. (2001-03-17 Werner Lemberg) * pango/opentype/ftxgdef.c pango/opentype/ftxgpos.c pango/opentype/ftxg\sub.c: More fixes for special marks.
This commit is contained in:
parent
5c53f14f37
commit
a35dc445e8
|
@ -1152,14 +1152,17 @@
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
/* This is OpenType 1.2 */
|
||||
|
||||
if ( flags & IGNORE_SPECIAL_MARKS )
|
||||
{
|
||||
/* This is OpenType 1.2 */
|
||||
|
||||
if ( (flags & 0xFF00) != *property )
|
||||
return TTO_Err_Not_Covered;
|
||||
|
||||
if ( flags & *property )
|
||||
return TTO_Err_Not_Covered;
|
||||
}
|
||||
else {
|
||||
if ( flags & *property )
|
||||
return TTO_Err_Not_Covered;
|
||||
}
|
||||
}
|
||||
|
||||
return TT_Err_Ok;
|
||||
|
|
|
@ -1694,7 +1694,7 @@
|
|||
TTO_GPOSHeader* gpos = gpi->gpos;
|
||||
|
||||
|
||||
if ( in->pos >= in->length )
|
||||
if ( in->pos >= in->length - 1 )
|
||||
return TTO_Err_Not_Covered; /* Not enough glyphs in stream */
|
||||
|
||||
if ( context_length != 0xFFFF && context_length < 2 )
|
||||
|
@ -2355,7 +2355,7 @@
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
if ( property != TTO_MARK )
|
||||
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||
break;
|
||||
|
||||
i++;
|
||||
|
@ -2763,7 +2763,7 @@
|
|||
if ( error )
|
||||
return error;
|
||||
|
||||
if ( property != TTO_MARK )
|
||||
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||
break;
|
||||
|
||||
i++;
|
||||
|
|
|
@ -1203,7 +1203,7 @@
|
|||
if ( CHECK_Property( gdef, in->string[in->pos], flags, &property ) )
|
||||
return error;
|
||||
|
||||
if ( property == TTO_MARK )
|
||||
if ( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS )
|
||||
first_is_mark = TRUE;
|
||||
|
||||
error = Coverage_Index( &ls->Coverage, in->string[in->pos], &index );
|
||||
|
@ -1243,7 +1243,7 @@
|
|||
break;
|
||||
}
|
||||
|
||||
if ( property != TTO_MARK )
|
||||
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||
is_mark = FALSE;
|
||||
|
||||
if ( s_in[j] != c[i - 1] )
|
||||
|
|
Loading…
Reference in New Issue