1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-25 07:28:20 +00:00

Fix format 2 cmap handling in sfnt.c

This code is untested as no font with a format 2 cmap could be found.

* src/sfnt.c (sfnt_lookup_glyph_2): Fix typos.  Assume single-byte
encodings use character codes 0, 1, ..., 255 rather than 0, 256, ...,
65280.
This commit is contained in:
Pip Cet 2024-08-11 10:07:12 +00:00
parent 8e925d582a
commit 5c3d340e00

View File

@ -1093,10 +1093,10 @@ sfnt_lookup_glyph_2 (sfnt_char character,
unsigned char *slice;
uint16_t glyph;
if (character > 65335)
if (character > 65535)
return 0;
i = character >> 16;
i = character >> 8;
j = character & 0xff;
k = format2->sub_header_keys[i] / 8;
@ -1129,9 +1129,9 @@ sfnt_lookup_glyph_2 (sfnt_char character,
return 0;
}
/* k is 0, so glyph_index_array[i] is the glyph. */
return (i < format2->num_glyphs
? format2->glyph_index_array[i]
/* k is 0, so glyph_index_array[j] is the glyph. */
return (j < format2->num_glyphs
? format2->glyph_index_array[j]
: 0);
}