shithub: freetype+ttf2subf

Download patch

ref: bf06b62a09f538f86a3890efaef96d709693aaae
parent: 9a55cb7a71286154cb62e947ed1c183450a8004d
author: Huw Davies <[email protected]>
date: Wed Mar 14 10:44:46 EDT 2012

[sfnt] Add `name' table compatibility to MS Windows.

* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
tt_name_entry_ascii_from_other): Don't replace `\0' with question
marks when converting strings.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2012-03-14  Huw Davies  <[email protected]>
+
+	[sfnt] Add `name' table compatibility to MS Windows.
+
+	* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
+	tt_name_entry_ascii_from_other): Don't replace `\0' with question
+	marks when converting strings.
+
 2012-03-14  Werner Lemberg  <[email protected]>
 
 	Fix Savannah bug #35833.
--- a/src/sfnt/sfobjs.c
+++ b/src/sfnt/sfobjs.c
@@ -4,7 +4,7 @@
 /*                                                                         */
 /*    SFNT object management (base).                                       */
 /*                                                                         */
-/*  Copyright 1996-2008, 2010-2011 by                                      */
+/*  Copyright 1996-2008, 2010-2012 by                                      */
 /*  David Turner, Robert Wilhelm, and Werner Lemberg.                      */
 /*                                                                         */
 /*  This file is part of the FreeType project, and may only be used,       */
@@ -64,7 +64,7 @@
     for ( n = 0; n < len; n++ )
     {
       code = FT_NEXT_USHORT( read );
-      if ( code < 32 || code > 127 )
+      if ( code != 0 && ( code < 32 || code > 127 ) )
         code = '?';
 
       string[n] = (char)code;
@@ -95,7 +95,7 @@
     for ( n = 0; n < len; n++ )
     {
       code = *read++;
-      if ( code < 32 || code > 127 )
+      if ( code != 0 && ( code < 32 || code > 127 ) )
         code = '?';
 
       string[n] = (char)code;