freetype-commit
[Top][All Lists]
Advanced

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

[freetype2-demos] ftbench-gsoc-goksu c3b88d2 14/17: [ftview] New key 'Z'


From: Werner Lemberg
Subject: [freetype2-demos] ftbench-gsoc-goksu c3b88d2 14/17: [ftview] New key 'Z' to flip SVG rendering.
Date: Sat, 20 May 2023 08:29:47 -0400 (EDT)

branch: ftbench-gsoc-goksu
commit c3b88d2693c7c0e16715f473103179f0b7591291
Author: Werner Lemberg <wl@gnu.org>
Commit: Werner Lemberg <wl@gnu.org>

    [ftview] New key 'Z' to flip SVG rendering.
    
    * src/ftcommon.h (FTDemo_Handle): New field `use_svg`.
    * src/ftcommon.c (FTDemo_New, FTDemo_Update_Current_Flags): Handle it.
    
    * src/ftview.c (Process_Event): Make key 'Z' toggle SVG usage.
    (event_help, write_header): Updated.
---
 src/ftcommon.c |  4 ++++
 src/ftcommon.h |  1 +
 src/ftview.c   | 49 ++++++++++++++++++++++++++++++-------------------
 3 files changed, 35 insertions(+), 19 deletions(-)

diff --git a/src/ftcommon.c b/src/ftcommon.c
index b4e860d..cad35de 100644
--- a/src/ftcommon.c
+++ b/src/ftcommon.c
@@ -389,6 +389,7 @@
     handle->use_sbits  = 1;
     handle->use_color  = 1;
     handle->use_layers = 1;
+    handle->use_svg    = 1;
     handle->autohint   = 0;
     handle->lcd_mode   = LCD_MODE_AA;
 
@@ -888,6 +889,9 @@
     if ( handle->use_color )
       flags |= FT_LOAD_COLOR;
 
+    if ( !handle->use_svg )
+      flags |= FT_LOAD_NO_SVG;
+
     if ( handle->hinted )
     {
       target = 0;
diff --git a/src/ftcommon.h b/src/ftcommon.h
index 6a03c2e..3ae11bb 100644
--- a/src/ftcommon.h
+++ b/src/ftcommon.h
@@ -218,6 +218,7 @@
     int             use_sbits;         /* do we use embedded bitmaps?     */
     int             use_color;         /* do we use coloured glyphs?      */
     int             use_layers;        /* do we use color-layered glyphs? */
+    int             use_svg;           /* do we use SVG glyphs?           */
     int             autohint;          /* force auto-hinting              */
     int             lcd_mode;          /* mono, aa, light, vrgb, ...      */
     int             preload;           /* force font file preloading      */
diff --git a/src/ftview.c b/src/ftview.c
index 7c543f7..838d6f8 100644
--- a/src/ftview.c
+++ b/src/ftview.c
@@ -868,25 +868,25 @@
     grWriteln( "c           toggle coloured bitmaps     x, X        adjust 
horizontal       " );
     grWriteln( "z           toggle colour-layered                    
emboldening (in mode 2)" );
     grWriteln( "              glyphs                    y, Y        adjust 
vertical         " );
-    grWriteln( "                                                     
emboldening (in mode 2)" );
-    grWriteln( "K           toggle cache modes          s, S        adjust 
slanting         " );
-    grWriteln( "                                                     (in mode 
2)            " );
-    grWriteln( "p, n        previous/next font          r, R        adjust 
stroking radius  " );
-    grWriteln( "                                                     (in mode 
3)            " );
-    grWriteln( "Up, Down    adjust size by 1 unit                              
             " );
-    grWriteln( "PgUp, PgDn  adjust size by 10 units     L           cycle 
through           " );
-    grWriteln( "                                                     LCD 
filtering          " );
-    grWriteln( "Left, Right adjust index by 1           [, ]        select 
custom LCD       " );
-    grWriteln( "F7, F8      adjust index by 16                        filter 
weight         " );
-    grWriteln( "F9, F10     adjust index by 256                       (if 
custom filtering) " );
-    grWriteln( "F11, F12    adjust index by 4096        -, +(=)     adjust 
selected custom  " );
-    grWriteln( "                                                     LCD 
filter weight      " );
-    grWriteln( "h           toggle hinting                                     
             " );
-    grWriteln( "H           cycle through hinting       g, v        adjust 
gamma value      " );
-    grWriteln( "             engines (if available)                            
             " );
-    grWriteln( "f           toggle forced auto-         Tab         cycle 
through charmaps  " );
-    grWriteln( "             hinting (if hinting)                              
             " );
-    grWriteln( "                                        P           print PNG 
file          " );
+    grWriteln( "Z           toggle SVG glyphs                        
emboldening (in mode 2)" );
+    grWriteln( "                                        s, S        adjust 
slanting         " );
+    grWriteln( "K           toggle cache modes                       (in mode 
2)            " );
+    grWriteln( "                                        r, R        adjust 
stroking radius  " );
+    grWriteln( "p, n        previous/next font                       (in mode 
3)            " );
+    grWriteln( "                                                               
             " );
+    grWriteln( "Up, Down    adjust size by 1 unit       L           cycle 
through           " );
+    grWriteln( "PgUp, PgDn  adjust size by 10 units                  LCD 
filtering          " );
+    grWriteln( "                                        [, ]        select 
custom LCD       " );
+    grWriteln( "Left, Right adjust index by 1                         filter 
weight         " );
+    grWriteln( "F7, F8      adjust index by 16                        (if 
custom filtering) " );
+    grWriteln( "F9, F10     adjust index by 256         -, +(=)     adjust 
selected custom  " );
+    grWriteln( "F11, F12    adjust index by 4096                     LCD 
filter weight      " );
+    grWriteln( "                                                               
             " );
+    grWriteln( "h           toggle hinting              g, v        adjust 
gamma value      " );
+    grWriteln( "H           cycle through hinting                              
             " );
+    grWriteln( "             engines (if available)     Tab         cycle 
through charmaps  " );
+    grWriteln( "f           toggle forced auto-                                
             " );
+    grWriteln( "             hinting (if hinting)       P           print PNG 
file          " );
     grWriteln( "                                        q, ESC      quit 
ftview             " );
     /*          |----------------------------------|    
|----------------------------------| */
     grLn();
@@ -1192,6 +1192,11 @@
       FTDemo_Update_Current_Flags( handle );
       return 1;
 
+    case grKEY( 'Z' ):
+      handle->use_svg = !handle->use_svg;
+      FTDemo_Update_Current_Flags( handle );
+      return 1;
+
     case grKEY( 'i' ):
       update = event_palette_change( 1 );
       break;
@@ -1571,6 +1576,12 @@
                 handle->current_font->palette_index );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
+
+      /* SVG glyphs */
+      snprintf( buf, sizeof ( buf ), "  SVG: %s",
+                handle->use_svg ? "on" : "off" );
+      grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
+                         buf, display->fore_color );
     }
 
     /* cache */



reply via email to

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