freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] master 1dd90ae: [ftdump] Show ID numbers for standard


From: Werner LEMBERG
Subject: [freetype2-demos] master 1dd90ae: [ftdump] Show ID numbers for standard `name' table entries.
Date: Mon, 13 Mar 2017 01:37:07 -0400 (EDT)

branch: master
commit 1dd90ae77959739e482bfa1bfef4ea63af42eff1
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [ftdump] Show ID numbers for standard `name' table entries.
    
    * src/ftdump.c (EXPAND, XEXPAND, NAME_ID): New macros.
    (name_id): Use new macros.
---
 ChangeLog    |   7 ++++
 src/ftdump.c | 109 +++++++++++++++++++++++++----------------------------------
 2 files changed, 53 insertions(+), 63 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index af99cc7..62d603c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2017-03-13  Werner Lemberg  <address@hidden>
+
+       [ftdump] Show ID numbers for standard `name' table entries.
+
+       * src/ftdump.c (EXPAND, XEXPAND, NAME_ID): New macros.
+       (name_id): Use new macros.
+
 2017-02-07  Alexei Podtelezhnikov  <address@hidden>
 
        * src/ftgamma.c (main): Label images.
diff --git a/src/ftdump.c b/src/ftdump.c
index 952450c..1631340 100644
--- a/src/ftdump.c
+++ b/src/ftdump.c
@@ -195,74 +195,57 @@
   }
 
 
+#define XEXPAND( x )  #x
+#define EXPAND( x )   XEXPAND( x )
+
+#define NAME_ID( tag, description ) \
+          case TT_NAME_ID_ ## tag: \
+            return description " (ID " EXPAND( TT_NAME_ID_ ## tag ) ")"
+
+
   static const char*
   name_id( int  id )
   {
     switch ( id )
     {
-    case TT_NAME_ID_COPYRIGHT:
-      return "copyright";
-    case TT_NAME_ID_FONT_FAMILY:
-      return "font family";
-    case TT_NAME_ID_FONT_SUBFAMILY:
-      return "font subfamily";
-    case TT_NAME_ID_UNIQUE_ID:
-      return "unique ID";
-    case TT_NAME_ID_FULL_NAME:
-      return "full name";
-    case TT_NAME_ID_VERSION_STRING:
-      return "version string";
-    case TT_NAME_ID_PS_NAME:
-      return "PostScript name";
-    case TT_NAME_ID_TRADEMARK:
-      return "trademark";
-
-    /* the following values are from the OpenType spec */
-    case TT_NAME_ID_MANUFACTURER:
-      return "manufacturer";
-    case TT_NAME_ID_DESIGNER:
-      return "designer";
-    case TT_NAME_ID_DESCRIPTION:
-      return "description";
-    case TT_NAME_ID_VENDOR_URL:
-      return "vendor URL";
-    case TT_NAME_ID_DESIGNER_URL:
-      return "designer URL";
-    case TT_NAME_ID_LICENSE:
-      return "license";
-    case TT_NAME_ID_LICENSE_URL:
-      return "license URL";
-    /* number 15 is reserved */
-    case TT_NAME_ID_TYPOGRAPHIC_FAMILY:
-      return "typographic family";
-    case TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY:
-      return "typographic subfamily";
-    case TT_NAME_ID_MAC_FULL_NAME:
-      return "Mac full name";
-
-    /* the following code is new as of 2000-01-21 */
-    case TT_NAME_ID_SAMPLE_TEXT:
-      return "sample text";
-
-    /* this is new in OpenType 1.3 */
-    case TT_NAME_ID_CID_FINDFONT_NAME:
-      return "CID `findfont' name";
-
-    /* this is new in OpenType 1.5 */
-    case TT_NAME_ID_WWS_FAMILY:
-      return "WWS family name";
-    case TT_NAME_ID_WWS_SUBFAMILY:
-      return "WWS subfamily name";
-
-    /* this is new in OpenType 1.7 */
-    case TT_NAME_ID_LIGHT_BACKGROUND:
-      return "light background palette";
-    case TT_NAME_ID_DARK_BACKGROUND:
-      return "dark background palette";
-
-    /* this is new in OpenType 1.8 */
-    case TT_NAME_ID_VARIATIONS_PREFIX:
-      return "variations PostScript name prefix";
+      NAME_ID( COPYRIGHT, "copyright" );
+      NAME_ID( FONT_FAMILY, "font family" );
+      NAME_ID( FONT_SUBFAMILY, "font subfamily" );
+      NAME_ID( UNIQUE_ID, "unique font identifier" );
+      NAME_ID( FULL_NAME, "full name" );
+      NAME_ID( VERSION_STRING, "version string" );
+      NAME_ID( PS_NAME, "PostScript name" );
+      NAME_ID( TRADEMARK, "trademark" );
+
+      /* the following values are from the OpenType spec */
+      NAME_ID( MANUFACTURER, "manufacturer" );
+      NAME_ID( DESIGNER, "designer" );
+      NAME_ID( DESCRIPTION, "description" );
+      NAME_ID( VENDOR_URL, "vendor URL" );
+      NAME_ID( DESIGNER_URL, "designer URL" );
+      NAME_ID( LICENSE, "license" );
+      NAME_ID( LICENSE_URL, "license URL" );
+      /* number 15 is reserved */
+      NAME_ID( TYPOGRAPHIC_FAMILY, "typographic family" );
+      NAME_ID( TYPOGRAPHIC_SUBFAMILY, "typographic subfamily" );
+      NAME_ID( MAC_FULL_NAME, "Mac full name" );
+
+      /* the following code is new as of 2000-01-21 */
+      NAME_ID( SAMPLE_TEXT, "sample text" );
+
+      /* this is new in OpenType 1.3 */
+      NAME_ID( CID_FINDFONT_NAME, "CID `findfont' name" );
+
+      /* this is new in OpenType 1.5 */
+      NAME_ID( WWS_FAMILY, "WWS family name" );
+      NAME_ID( WWS_SUBFAMILY, "WWS subfamily name" );
+
+      /* this is new in OpenType 1.7 */
+      NAME_ID( LIGHT_BACKGROUND, "light background palette" );
+      NAME_ID( DARK_BACKGROUND, "dark background palette" );
+
+      /* this is new in OpenType 1.8 */
+      NAME_ID( VARIATIONS_PREFIX, "variations PostScript name prefix" );
 
     default:
       return NULL;



reply via email to

[Prev in Thread] Current Thread [Next in Thread]