[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
emacs-30 5c3d340e001 2/2: Fix format 2 cmap handling in sfnt.c
From: |
Pip Cet |
Subject: |
emacs-30 5c3d340e001 2/2: Fix format 2 cmap handling in sfnt.c |
Date: |
Sun, 11 Aug 2024 06:33:23 -0400 (EDT) |
branch: emacs-30
commit 5c3d340e001187ad027bc0328f738938a2bc32c5
Author: Pip Cet <pipcet@protonmail.com>
Commit: Pip Cet <pipcet@protonmail.com>
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.
---
src/sfnt.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/sfnt.c b/src/sfnt.c
index b235c795ef7..1ed492b7506 100644
--- a/src/sfnt.c
+++ b/src/sfnt.c
@@ -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);
}