freetype-commit
[Top][All Lists]
Advanced

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

[freetype2-demos] master d149da7: * src/ftcommon.c (FTDemo_Draw_Header):


From: Alexei Podtelezhnikov
Subject: [freetype2-demos] master d149da7: * src/ftcommon.c (FTDemo_Draw_Header): Hide redundant point size.
Date: Mon, 23 Apr 2018 21:20:33 -0400 (EDT)

branch: master
commit d149da74b1bee719ddb543801810689e36f1cdb2
Author: Alexei Podtelezhnikov <address@hidden>
Commit: Alexei Podtelezhnikov <address@hidden>

    * src/ftcommon.c (FTDemo_Draw_Header): Hide redundant point size.
---
 ChangeLog      |  4 ++++
 src/ftcommon.c | 55 ++++++++++++++++++++++---------------------------------
 2 files changed, 26 insertions(+), 33 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 4c5fb6f..6e5a3e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2018-04-23  Alexei Podtelezhnikov  <address@hidden>
+
+       * src/ftcommon.c (FTDemo_Draw_Header): Hide redundant point size.
+
 2018-04-22  Werner Lemberg  <address@hidden>
 
        * src/ftview.c (Render_Stroke): Avoid double-free in case of error.
diff --git a/src/ftcommon.c b/src/ftcommon.c
index 123df6a..5dfa45b 100644
--- a/src/ftcommon.c
+++ b/src/ftcommon.c
@@ -742,6 +742,7 @@
     FT_Face      face;
     char         buf[256];
     const char*  basename;
+    int          ppem;
 
     int          line = 0;
     int          x;
@@ -764,44 +765,33 @@
     grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                        buf, display->fore_color );
 
-    /* instance, pt and dpi */
-    if ( face->face_index >> 16 )
-      x = sprintf( buf, "instance %ld/%ld, %gpt at %ddpi ",
-                        face->face_index >> 16,
-                        face->style_flags >> 16,
-                        ptsize / 64.0, res );
+    /* ppem, pt and dpi, instance */
+    ppem = FT_IS_SCALABLE( face ) ? FT_MulFix( face->units_per_EM,
+                                               face->size->metrics.y_scale )
+                                  : face->size->metrics.y_ppem * 64;
+
+    if ( res == 72 )
+      x  = sprintf( buf, "%.4g ppem", ppem / 64.0 );
     else
-      x = sprintf( buf, "%gpt at %ddpi ",
-                        ptsize / 64.0, res );
+      x  = sprintf( buf, "%g pt at %d dpi, %.4g ppem",
+                         ptsize / 64.0, res, ppem / 64.0 );
+
+    if ( face->face_index >> 16 )
+      x += sprintf( buf + x, ", instance %ld/%ld",
+                             face->face_index >> 16,
+                             face->style_flags >> 16 );
 
     grWriteCellString( display->bitmap, 0, line * HEADER_HEIGHT,
                        buf, display->fore_color );
 
-    if ( error_code == FT_Err_Ok )
-    {
-      int  highlight;
-
-
-      highlight = abs( ptsize * res - face->size->metrics.y_ppem * 72 * 64 )
-                  > 36 * 64;
-
-      /* ppem */
-      if ( FT_IS_SCALABLE( face ) )
-        sprintf( buf, "(%.4gppem)",
-                      FT_MulFix( face->units_per_EM,
-                                 face->size->metrics.y_scale ) / 64.0 );
-      else
-        sprintf( buf, "(%dppem)",
-                      face->size->metrics.y_ppem );
-      grWriteCellString( display->bitmap, 8 * x, line * HEADER_HEIGHT,
-                         buf, highlight ? display->warn_color
-                                        : display->fore_color );
-    }
-    else
+    if ( abs( ptsize * res / 64 - face->size->metrics.y_ppem * 72 ) > 36 ||
+         error_code                                                      )
     {
-      /* errors */
       switch ( error_code )
       {
+      case FT_Err_Ok:
+        sprintf( buf, "Available size shown" );
+        break;
       case FT_Err_Invalid_Pixel_Size:
         sprintf( buf, "Invalid pixel size" );
         break;
@@ -809,10 +799,9 @@
         sprintf( buf, "Invalid ppem value" );
         break;
       default:
-        sprintf( buf, "error 0x%04x",
-                      (FT_UShort)error_code );
+        sprintf( buf, "Error 0x%04x", (FT_UShort)error_code );
       }
-      grWriteCellString( display->bitmap, 8 * x, line * HEADER_HEIGHT,
+      grWriteCellString( display->bitmap, 8 * x + 16, line * HEADER_HEIGHT,
                          buf, display->warn_color );
     }
 



reply via email to

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