diff options
author | Jan Djärv <jan.h.d@swipnet.se> | 2013-09-03 08:56:25 +0200 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2013-09-03 08:56:25 +0200 |
commit | 0ce9f6de648119922179ac9faaecc9445a5eade6 (patch) | |
tree | 45e0eb23dc4316d3e941aad2d6a3db2a7af64ce4 /src/nsfont.m | |
parent | 88527bc0a26e385376c9da884feb9fe0d4d18429 (diff) | |
download | emacs-0ce9f6de648119922179ac9faaecc9445a5eade6.tar.gz |
* nsfont.m (INVALID_GLYPH): New define.
(nsfont_encode_char): Use INVALID_GLYPH.
(ns_uni_to_glyphs): Ditto, check for NSNullGlyph.
Fixes: debbugs:15138
Diffstat (limited to 'src/nsfont.m')
-rw-r--r-- | src/nsfont.m | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/nsfont.m b/src/nsfont.m index 235150e3aef..e1c7d32dde0 100644 --- a/src/nsfont.m +++ b/src/nsfont.m @@ -61,6 +61,7 @@ static void ns_uni_to_glyphs (struct nsfont_info *font_info, static void ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block); +#define INVALID_GLYPH 0xFFFF /* ========================================================================== @@ -981,7 +982,7 @@ nsfont_encode_char (struct font *font, int c) ns_uni_to_glyphs (font_info, high); g = font_info->glyphs[high][low]; - return g == 0xFFFF ? FONT_INVALID_CODE : g; + return g == INVALID_GLYPH ? FONT_INVALID_CODE : g; } @@ -1354,8 +1355,8 @@ ns_uni_to_glyphs (struct nsfont_info *font_info, unsigned char block) #else g = glyphStorage->cglyphs[i]; /* TODO: is this a good check? maybe need to use coveredChars.. */ - if (g > numGlyphs) - g = 0xFFFF; /* hopefully unused... */ + if (g > numGlyphs || g == NSNullGlyph) + g = INVALID_GLYPH; /* hopefully unused... */ #endif *glyphs = g; } @@ -1483,7 +1484,7 @@ ns_glyph_metrics (struct nsfont_info *font_info, unsigned char block) characterIndex: (NSUInteger)charIndex { len = glyphIndex+length; - for (i =glyphIndex; i<len; i++) + for (i =glyphIndex; i<len; i++) cglyphs[i] = glyphs[i-glyphIndex]; if (len > maxGlyph) maxGlyph = len; |