summaryrefslogtreecommitdiff
path: root/src/ftfont.c
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2007-12-25 10:32:26 +0000
committerKenichi Handa <handa@m17n.org>2007-12-25 10:32:26 +0000
commit4cec60619a84d85499ea425390b0d79d341d7627 (patch)
tree883e92f34226914134a1db2eaa8ccd7bd430cfb9 /src/ftfont.c
parent21138cff06bbcbfd80bdde681c871defa8877362 (diff)
downloademacs-4cec60619a84d85499ea425390b0d79d341d7627.tar.gz
(ftfont_encode_char): Use the macro FONT_INVALID_CODE.
(ftfont_shape_by_flt): If an element of lgstring is nil, make a Lispy glyph and store it in the lgstring.
Diffstat (limited to 'src/ftfont.c')
-rw-r--r--src/ftfont.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/ftfont.c b/src/ftfont.c
index 2c8d899a620..d420b9af7ad 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -968,7 +968,7 @@ ftfont_encode_char (font, c)
FT_ULong charcode = c;
FT_UInt code = FT_Get_Char_Index (ft_face, charcode);
- return (code > 0 ? code : 0xFFFFFFFF);
+ return (code > 0 ? code : FONT_INVALID_CODE);
}
static int
@@ -1552,6 +1552,11 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
Lisp_Object lglyph = LGSTRING_GLYPH (lgstring, i);
MFLTGlyph *g = gstring.glyphs + i;
+ if (NILP (lglyph))
+ {
+ lglyph = Fmake_vector (make_number (LGLYPH_SIZE), Qnil);
+ LGSTRING_SET_GLYPH (lgstring, i, lglyph);
+ }
LGLYPH_SET_FROM (lglyph, g->from);
LGLYPH_SET_TO (lglyph, g->to);
LGLYPH_SET_CHAR (lglyph, g->c);