diff options
| author | Kenichi Handa | 2008-09-09 02:29:02 +0000 |
|---|---|---|
| committer | Kenichi Handa | 2008-09-09 02:29:02 +0000 |
| commit | da2cf48856067ac62ce4aae07cf9e88596201800 (patch) | |
| tree | 7c11bf904bfa07753154e69a77f1e1b0eb18a317 | |
| parent | 9e601b8dea699330185e6b43aaa4ebfc7dd58821 (diff) | |
| download | emacs-da2cf48856067ac62ce4aae07cf9e88596201800.tar.gz emacs-da2cf48856067ac62ce4aae07cf9e88596201800.zip | |
(ftfont_shape_by_flt): Use "combining" FLT for ASCII characters.
| -rw-r--r-- | src/ChangeLog | 3 | ||||
| -rw-r--r-- | src/ftfont.c | 8 |
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 @@ | |||
| 1 | 2008-09-09 Kenichi Handa <handa@m17n.org> | 1 | 2008-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; |