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:
Owen Taylor 2002-09-29 19:05:01 +00:00 committed by Owen Taylor
parent 5c53f14f37
commit a35dc445e8
3 changed files with 13 additions and 10 deletions

View File

@ -1152,15 +1152,18 @@
if ( error )
return error;
if ( flags & IGNORE_SPECIAL_MARKS )
{
/* This is OpenType 1.2 */
if ( flags & IGNORE_SPECIAL_MARKS )
if ( (flags & 0xFF00) != *property )
return TTO_Err_Not_Covered;
}
else {
if ( flags & *property )
return TTO_Err_Not_Covered;
}
}
return TT_Err_Ok;
}

View File

@ -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++;

View File

@ -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] )