(ftfont_shape_by_flt): Use "combining" FLT for ASCII characters.

This commit is contained in:
Kenichi Handa 2008-09-09 02:29:02 +00:00
parent 9e601b8dea
commit da2cf48856
2 changed files with 10 additions and 1 deletions

View file

@ -1,5 +1,8 @@
2008-09-09 Kenichi Handa <handa@m17n.org>
* ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
characters.
* composite.c (FORWARD_CHAR): Fix calculation
of (POSITION).pos_byte.

View file

@ -1813,6 +1813,7 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
EMACS_UINT len = LGSTRING_GLYPH_LEN (lgstring);
EMACS_UINT i;
struct MFLTFontFT flt_font_ft;
MFLT *flt = NULL;
if (! m17n_flt_initialized)
{
@ -1861,9 +1862,14 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
flt_font_ft.font = font;
flt_font_ft.ft_face = ft_face;
flt_font_ft.otf = otf;
if (ASCII_CHAR_P (gstring.glyphs[0].c))
/* A little bit ad hoc. Perhaps, shaper must get script and
language information, and select a proper flt for them
here. */
flt = mflt_get (msymbol ("combining"));
for (i = 0; i < 3; i++)
{
int result = mflt_run (&gstring, 0, len, &flt_font_ft.flt_font, NULL);
int result = mflt_run (&gstring, 0, len, &flt_font_ft.flt_font, flt);
if (result != -2)
break;
gstring.allocated += gstring.allocated;