shithub: freetype+ttf2subf

Download patch

ref: 4308b7b1af2161a6de5e7a360eba1b5d97064e7e
parent: 5931268eecaeda3e05580bdc8885348fecc43fa8
author: Alexei Podtelezhnikov <[email protected]>
date: Wed Jun 24 19:31:17 EDT 2015

* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-24  Alexei Podtelezhnikov <[email protected]>
+
+	* src/bdf/bdflib.c (_bdf_parse_start): Simplify bpp parsing.
+
 2015-06-23  Werner Lemberg  <[email protected]>
 
 	s/TYPEOF/FT_TYPEOF/ (#45376).
--- a/src/bdf/bdflib.c
+++ b/src/bdf/bdflib.c
@@ -2346,30 +2346,21 @@
       /* Check for the bits per pixel field. */
       if ( p->list.used == 5 )
       {
-        unsigned short bitcount, i, shift;
+        unsigned short bpp;
 
 
-        p->font->bpp = (unsigned short)_bdf_atos( p->list.field[4], 0, 10 );
+        bpp = (unsigned short)_bdf_atos( p->list.field[4], 0, 10 );
 
-        /* Only values 1, 2, 4, 8 are allowed. */
-        shift = p->font->bpp;
-        bitcount = 0;
-        for ( i = 0; shift > 0; i++ )
-        {
-          if ( shift & 1 )
-            bitcount = i;
-          shift >>= 1;
-        }
+        /* Only values 1, 2, 4, 8 are allowed for greymap fonts. */
+        if ( bpp > 4 )
+          p->font->bpp = 8;
+        else if ( bpp > 2 )
+          p->font->bpp = 4;
+        else
+          p->font->bpp = bpp;
 
-        shift = (unsigned short)( ( bitcount > 3 ) ? 8
-                                                   : ( 1U << bitcount ) );
-
-        if ( p->font->bpp > shift || p->font->bpp != shift )
-        {
-          /* select next higher value */
-          p->font->bpp = (unsigned short)( shift << 1 );
+        if ( p->font->bpp != bpp )
           FT_TRACE2(( "_bdf_parse_start: " ACMSG11, p->font->bpp ));
-        }
       }
       else
         p->font->bpp = 1;