changeset 98103:809fdcf44233

(ftfont_shape_by_flt): Use "combining" FLT for ASCII characters.
author Kenichi Handa <handa@m17n.org>
date Tue, 09 Sep 2008 02:28:51 +0000
parents 172640e67bed
children 3867a846db65
files src/ftfont.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/ftfont.c	Tue Sep 09 02:19:23 2008 +0000
+++ b/src/ftfont.c	Tue Sep 09 02:28:51 2008 +0000
@@ -1813,6 +1813,7 @@
   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 @@
   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;