shithub: freetype+ttf2subf

Download patch

ref: 91d0f1ebbe214379f2bb87f1709c350400fa9f61
parent: 9f8309f12a8e19b13327f22c99784ef9f658779a
author: Werner Lemberg <[email protected]>
date: Sun Jul 25 04:43:35 EDT 2004

* 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.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2004-07-25  Kornfeld Eliyahu Peter  <[email protected]>
+
+	* 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  <[email protected]>
+
+	* 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  <[email protected]>
 
 	* src/truetype/ttobjs.c (tt_face_init): Accept 0x00020000 format tag
--- 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 )
--- 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 */
     {