2005-11-17  Behdad Esfahbod  <behdad@gnome.org>

        Part of #101079:

        * pango/opentype/ftxopen.c (Load_Lookup): In extension subtables,
        offset is relative to the extension subtable, not the original
        table. (Greg Aumann)

        * pango/opentype/ftxgpos.c (Load_BaseArray): When reading BaseAnchor,
        skip offsets that are zero.  Works around bug in Doulos SIL Regular.
pull/1/head
Behdad Esfahbod 20 years ago committed by Behdad Esfahbod
parent 1b2c314b80
commit 612b6cf609
  1. 6
      src/ftxgpos.c
  2. 6
      src/ftxopen.c

@ -2080,6 +2080,12 @@
FORGET_Frame();
if (new_offset == base_offset) {
/* Doulos SIL Regular is buggy and has zer offsets here. Skip */
ban[n].PosFormat = 0;
continue;
}
cur_offset = FILE_Pos();
if ( FILE_Seek( new_offset ) ||
( error = Load_Anchor( &ban[n], stream ) ) != TT_Err_Ok )

@ -631,9 +631,11 @@
if ( FILE_Seek( new_offset ) || ACCESS_Frame( 8L ) )
goto Fail;
(void)GET_UShort(); /* format should be 1 */
if (GET_UShort() != 1) /* format should be 1 */
goto Fail;
l->LookupType = GET_UShort();
new_offset = GET_ULong() + base_offset;
new_offset += GET_ULong();
FORGET_Frame();
}

Loading…
Cancel
Save