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.
--- 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;