freetype-commit
[Top][All Lists]
Advanced

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

[freetype2] master 5f8f44d: [sfnt] Make `tt_cmap4_char_map_linear' faste


From: Werner LEMBERG
Subject: [freetype2] master 5f8f44d: [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
Date: Thu, 01 Oct 2015 12:16:14 +0000

branch: master
commit 5f8f44d218c0e3d5c7c9f26ac5d04c399e58d2e7
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>

    [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
    
    * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
    reject too large glyph indices.
---
 ChangeLog         |    7 +++++++
 src/sfnt/ttcmap.c |    4 ++++
 2 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 7e3bb45..6e58029 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-01  Werner Lemberg  <address@hidden>
+
+       [sfnt] Make `tt_cmap4_char_map_linear' faster (#46078).
+
+       * src/sfnt/ttcmap.c (tt_cmap4_char_map_linear): Use inner loop to
+       reject too large glyph indices.
+
 2015-09-30  Alexei Podtelezhnikov  <address@hidden>
 
        [smooth] Clean up worker.
diff --git a/src/sfnt/ttcmap.c b/src/sfnt/ttcmap.c
index e80fc54..3e8ea83 100644
--- a/src/sfnt/ttcmap.c
+++ b/src/sfnt/ttcmap.c
@@ -1115,7 +1115,11 @@
 
           gindex = TT_PEEK_USHORT( r );
           if ( gindex )
+          {
             gindex = (FT_UInt)( (FT_Int)gindex + delta ) & 0xFFFFU;
+            if ( gindex >= (FT_UInt)face->root.num_glyphs )
+              gindex = 0;
+          }
         }
         else
         {



reply via email to

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