* 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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
diff --git a/ChangeLog b/ChangeLog
index 55647cc..4265a78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
diff --git a/src/cff/cffload.c b/src/cff/cffload.c
index 350e01f..340a599 100644
--- a/src/cff/cffload.c
+++ b/src/cff/cffload.c
@@ -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 )
diff --git a/src/sfnt/sfobjs.c b/src/sfnt/sfobjs.c
index aef3f5d..641c83f 100644
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -509,9 +509,16 @@
goto Exit;
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_FONT_SUBFAMILY );
+ 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 );
/* now set up root fields */
{