* src/sfnt/sfobjs.c (sfnt_load_face): Handle

TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.

* src/cff/cffload.c (cff_font_load): Always create inverse mapping.
Even if the charstring count id different from the CID count, it is
still possible that the font uses a different CID -> GID mapping.
This commit is contained in:
Werner Lemberg 2004-07-25 08:43:35 +00:00
parent 9f8309f12a
commit 91d0f1ebbe
3 changed files with 22 additions and 6 deletions

View File

@ -1,3 +1,14 @@
2004-07-25 Kornfeld Eliyahu Peter <peter@e-kadmon.net>
* src/sfnt/sfobjs.c (sfnt_load_face): Handle
TT_NAME_ID_PREFERRED_FAMILY and TT_NAME_ID_PREFERRED_SUBFAMILY.
2004-07-24 Derek B. Noonburg <derekn@foolabs.com>
* src/cff/cffload.c (cff_font_load): Always create inverse mapping.
Even if the charstring count id different from the CID count, it is
still possible that the font uses a different CID -> GID mapping.
2004-07-23 Werner Lemberg <wl@gnu.org>
* src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag

View File

@ -2239,11 +2239,9 @@
/* read the Charset and Encoding tables if available */
if ( font->num_glyphs > 0 )
{
FT_Bool invert;
FT_Bool invert = dict->cid_registry != 0xFFFFU;
invert = dict->cid_registry != 0xFFFFU &&
font->charstrings_index.count != dict->cid_count;
error = cff_charset_load( &font->charset, font->num_glyphs, stream,
base_offset, dict->charset_offset, invert );
if ( error )

View File

@ -508,8 +508,15 @@
LOAD_( pclt ) )
goto Exit;
face->root.family_name = tt_face_get_name( face,
TT_NAME_ID_PREFERRED_FAMILY );
if ( !face->root.family_name )
face->root.family_name = tt_face_get_name( face,
TT_NAME_ID_FONT_FAMILY );
face->root.style_name = tt_face_get_name( face,
TT_NAME_ID_PREFERRED_SUBFAMILY );
if ( !face->root.style_name )
face->root.style_name = tt_face_get_name( face,
TT_NAME_ID_FONT_SUBFAMILY );