[truetype] Fix GETINFO opcode handling of subpixel hinting bits.

* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
get info on subpixel hinting.

* docs/CHANGES: Updated.
This commit is contained in:
Werner Lemberg 2013-11-02 11:36:37 +01:00
parent 35b0818986
commit 7d449436e6
3 changed files with 22 additions and 11 deletions

View File

@ -1,3 +1,12 @@
2013-11-02 Werner Lemberg <wl@gnu.org>
[truetype] Fix GETINFO opcode handling of subpixel hinting bits.
* src/truetype/ttinterp.c (Ins_GETINFO): Don't request bit 6 set to
get info on subpixel hinting.
* docs/CHANGES: Updated.
2013-11-02 Werner Lemberg <wl@gnu.org>
Fix Savannah bug #40451.

View File

@ -71,6 +71,11 @@ CHANGES BETWEEN 2.5 and 2.5.1
- Manual pages for most demo programs have been added.
- The GETINFO bytecode instruction for TrueType fonts was buggy if
used to retrieve subpixel hinting information. It was necessary
to set selector bit 6 to get results for selector bits 7-10,
which is wrong.
======================================================================

View File

@ -7828,18 +7828,15 @@
if ( ( args[0] & 32 ) != 0 && CUR.grayscale_hinting )
K |= 1 << 12;
/********************************/
/* HINTING FOR SUBPIXEL */
/* Selector Bit: 6 */
/* Return Bit(s): 13 */
/* */
if ( ( args[0] & 64 ) != 0 &&
CUR.subpixel_hinting &&
CUR.rasterizer_version >= 37 )
if ( CUR.rasterizer_version >= 37 )
{
K |= 1 << 13;
/* the stuff below is irrelevant if subpixel_hinting is not set */
/********************************/
/* HINTING FOR SUBPIXEL */
/* Selector Bit: 6 */
/* Return Bit(s): 13 */
/* */
if ( ( args[0] & 64 ) != 0 && CUR.subpixel_hinting )
K |= 1 << 13;
/********************************/
/* COMPATIBLE WIDTHS ENABLED */