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,15 +1152,18 @@
|
||||||
if ( error )
|
if ( error )
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
if ( flags & IGNORE_SPECIAL_MARKS )
|
||||||
|
{
|
||||||
/* This is OpenType 1.2 */
|
/* This is OpenType 1.2 */
|
||||||
|
|
||||||
if ( flags & IGNORE_SPECIAL_MARKS )
|
|
||||||
if ( (flags & 0xFF00) != *property )
|
if ( (flags & 0xFF00) != *property )
|
||||||
return TTO_Err_Not_Covered;
|
return TTO_Err_Not_Covered;
|
||||||
|
}
|
||||||
|
else {
|
||||||
if ( flags & *property )
|
if ( flags & *property )
|
||||||
return TTO_Err_Not_Covered;
|
return TTO_Err_Not_Covered;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
return TT_Err_Ok;
|
return TT_Err_Ok;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1694,7 +1694,7 @@
|
||||||
TTO_GPOSHeader* gpos = gpi->gpos;
|
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 */
|
return TTO_Err_Not_Covered; /* Not enough glyphs in stream */
|
||||||
|
|
||||||
if ( context_length != 0xFFFF && context_length < 2 )
|
if ( context_length != 0xFFFF && context_length < 2 )
|
||||||
|
@ -2355,7 +2355,7 @@
|
||||||
if ( error )
|
if ( error )
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
if ( property != TTO_MARK )
|
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
@ -2763,7 +2763,7 @@
|
||||||
if ( error )
|
if ( error )
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
if ( property != TTO_MARK )
|
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||||
break;
|
break;
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
|
|
|
@ -1203,7 +1203,7 @@
|
||||||
if ( CHECK_Property( gdef, in->string[in->pos], flags, &property ) )
|
if ( CHECK_Property( gdef, in->string[in->pos], flags, &property ) )
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
if ( property == TTO_MARK )
|
if ( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS )
|
||||||
first_is_mark = TRUE;
|
first_is_mark = TRUE;
|
||||||
|
|
||||||
error = Coverage_Index( &ls->Coverage, in->string[in->pos], &index );
|
error = Coverage_Index( &ls->Coverage, in->string[in->pos], &index );
|
||||||
|
@ -1243,7 +1243,7 @@
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( property != TTO_MARK )
|
if ( !( property == TTO_MARK || property & IGNORE_SPECIAL_MARKS ) )
|
||||||
is_mark = FALSE;
|
is_mark = FALSE;
|
||||||
|
|
||||||
if ( s_in[j] != c[i - 1] )
|
if ( s_in[j] != c[i - 1] )
|
||||||
|
|
Loading…
Reference in New Issue