freetype-commit
[Top][All Lists]
Advanced

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

[freetype2-demos] master 5f11796 13/22: [ftgrid] Make `-f ... -e ...` wo


From: Werner Lemberg
Subject: [freetype2-demos] master 5f11796 13/22: [ftgrid] Make `-f ... -e ...` work.
Date: Fri, 5 Mar 2021 11:18:39 -0500 (EST)

branch: master
commit 5f117966aad77ccab34f76a7dc4e8cd20341cc4a
Author: Werner Lemberg <wl@gnu.org>
Commit: Werner Lemberg <wl@gnu.org>

    [ftgrid] Make `-f ... -e ...` work.
    
    * src/ftgrid.c (parse_cmdline): Use flags to set a default character
    index after option loop.
---
 ChangeLog    |  7 +++++++
 src/ftgrid.c | 10 ++++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 2c82a3b..a625f6d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2021-02-03  Werner Lemberg  <wl@gnu.org>
+
+       [ftgrid] Make `-f ... -e ...` work.
+
+       * src/ftgrid.c (parse_cmdline): Use flags to set a default character
+       index after option loop.
+
 2021-01-26  Alexei Podtelezhnikov  <apodtele@gmail.com>
 
        * graph/grblit.c (blit_mono_to_*): Slightly faster variants.
diff --git a/src/ftgrid.c b/src/ftgrid.c
index f86f022..2af2048 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -97,7 +97,7 @@
 
     int          ptsize;
     int          res;
-    int          Num;  /* glyph index */
+    int          Num;  /* glyph index or character code */
     int          font_index;
 
     float        scale;
@@ -1662,6 +1662,8 @@
   {
     char*  execname;
     int    option;
+    int    have_encoding = 0;
+    int    have_index    = 0;
 
 
     execname = ft_basename( (*argv)[0] );
@@ -1701,11 +1703,12 @@
 
       case 'e':
         handle->encoding = FTDemo_Make_Encoding_Tag( optarg );
-        status.Num       = 0x20;
+        have_encoding    = 1;
         break;
 
       case 'f':
         status.Num = atoi( optarg );
+        have_index = 1;
         break;
 
       case 'k':
@@ -1749,6 +1752,9 @@
     if ( *argc <= 1 )
       usage( execname );
 
+    if ( have_encoding && !have_index )
+      status.Num = 0x20;
+
     status.ptsize = (int)( atof( *argv[0] ) * 64.0 );
     if ( status.ptsize == 0 )
       status.ptsize = 64 * 10;



reply via email to

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