Some simple patches that allow synthetic fonts to be rendered. *However*: although the FontMatrix is read correctly, it does _not_ seem to be used! I don't understand this...
This commit is contained in:
parent
b8431ed776
commit
7c64409e86
|
@ -1072,6 +1072,10 @@
|
||||||
FT_Fixed temp[4];
|
FT_Fixed temp[4];
|
||||||
|
|
||||||
|
|
||||||
|
if ( matrix->xx || matrix->yx )
|
||||||
|
/* with synthetic fonts, it's possible we get here twice */
|
||||||
|
return;
|
||||||
|
|
||||||
(void)Z1_ToFixedArray( parser, 4, temp, 3 );
|
(void)Z1_ToFixedArray( parser, 4, temp, 3 );
|
||||||
matrix->xx = temp[0];
|
matrix->xx = temp[0];
|
||||||
matrix->yx = temp[1];
|
matrix->yx = temp[1];
|
||||||
|
@ -1326,6 +1330,10 @@
|
||||||
FT_Int n;
|
FT_Int n;
|
||||||
|
|
||||||
|
|
||||||
|
if ( loader->num_glyphs )
|
||||||
|
/* with synthetic fonts, it's possible we get here twice */
|
||||||
|
return;
|
||||||
|
|
||||||
loader->num_glyphs = Z1_ToInt( parser );
|
loader->num_glyphs = Z1_ToInt( parser );
|
||||||
if ( parser->error )
|
if ( parser->error )
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -868,6 +868,10 @@
|
||||||
FT_Memory memory = parser->memory;
|
FT_Memory memory = parser->memory;
|
||||||
FT_UInt len = limit-cur;
|
FT_UInt len = limit-cur;
|
||||||
|
|
||||||
|
if ( *(FT_String**)q )
|
||||||
|
/* with synthetic fonts, it's possible to find a field twice */
|
||||||
|
break;
|
||||||
|
|
||||||
if ( ALLOC( string, len + 1 ) )
|
if ( ALLOC( string, len + 1 ) )
|
||||||
goto Exit;
|
goto Exit;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue