aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2008-09-09 02:29:02 +0000
committerKenichi Handa2008-09-09 02:29:02 +0000
commitda2cf48856067ac62ce4aae07cf9e88596201800 (patch)
tree7c11bf904bfa07753154e69a77f1e1b0eb18a317 /src
parent9e601b8dea699330185e6b43aaa4ebfc7dd58821 (diff)
downloademacs-da2cf48856067ac62ce4aae07cf9e88596201800.tar.gz
emacs-da2cf48856067ac62ce4aae07cf9e88596201800.zip
(ftfont_shape_by_flt): Use "combining" FLT for ASCII characters.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog3
-rw-r--r--src/ftfont.c8
2 files changed, 10 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 21219613b39..a4fbe0de2a1 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,8 @@
12008-09-09 Kenichi Handa <handa@m17n.org> 12008-09-09 Kenichi Handa <handa@m17n.org>
2 2
3 * ftfont.c (ftfont_shape_by_flt): Use "combining" FLT for ASCII
4 characters.
5
3 * composite.c (FORWARD_CHAR): Fix calculation 6 * composite.c (FORWARD_CHAR): Fix calculation
4 of (POSITION).pos_byte. 7 of (POSITION).pos_byte.
5 8
diff --git a/src/ftfont.c b/src/ftfont.c
index a6637fe1287..d6fabf8a86b 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -1813,6 +1813,7 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
1813 EMACS_UINT len = LGSTRING_GLYPH_LEN (lgstring); 1813 EMACS_UINT len = LGSTRING_GLYPH_LEN (lgstring);
1814 EMACS_UINT i; 1814 EMACS_UINT i;
1815 struct MFLTFontFT flt_font_ft; 1815 struct MFLTFontFT flt_font_ft;
1816 MFLT *flt = NULL;
1816 1817
1817 if (! m17n_flt_initialized) 1818 if (! m17n_flt_initialized)
1818 { 1819 {
@@ -1861,9 +1862,14 @@ ftfont_shape_by_flt (lgstring, font, ft_face, otf)
1861 flt_font_ft.font = font; 1862 flt_font_ft.font = font;
1862 flt_font_ft.ft_face = ft_face; 1863 flt_font_ft.ft_face = ft_face;
1863 flt_font_ft.otf = otf; 1864 flt_font_ft.otf = otf;
1865 if (ASCII_CHAR_P (gstring.glyphs[0].c))
1866 /* A little bit ad hoc. Perhaps, shaper must get script and
1867 language information, and select a proper flt for them
1868 here. */
1869 flt = mflt_get (msymbol ("combining"));
1864 for (i = 0; i < 3; i++) 1870 for (i = 0; i < 3; i++)
1865 { 1871 {
1866 int result = mflt_run (&gstring, 0, len, &flt_font_ft.flt_font, NULL); 1872 int result = mflt_run (&gstring, 0, len, &flt_font_ft.flt_font, flt);
1867 if (result != -2) 1873 if (result != -2)
1868 break; 1874 break;
1869 gstring.allocated += gstring.allocated; 1875 gstring.allocated += gstring.allocated;