From 6915d7fd36163f724aa336399dac611f14c99c9d Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Mon, 26 Jan 2004 19:23:35 +0000 Subject: Suport CFF fonts as well. (#131202, Manjunath Sripadarao) Mon Jan 26 14:20:34 2004 Owen Taylor * pango/opentype/pango-ot-info.c (is_truetype): Suport CFF fonts as well. (#131202, Manjunath Sripadarao) --- ChangeLog | 5 +++++ ChangeLog.pre-1-10 | 5 +++++ ChangeLog.pre-1-4 | 5 +++++ ChangeLog.pre-1-6 | 5 +++++ ChangeLog.pre-1-8 | 5 +++++ modules/thai/thai-shaper.c | 21 ++++++++++++++++----- pango/opentype/pango-ot-info.c | 3 ++- 7 files changed, 43 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2f8e047f..3a6c3771 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Mon Jan 26 14:20:34 2004 Owen Taylor + + * pango/opentype/pango-ot-info.c (is_truetype): Suport + CFF fonts as well. (#131202, Manjunath Sripadarao) + Mon Jan 26 10:30:06 2004 Owen Taylor * pango/modules/thai/thai-c: Fix up glyph addition diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10 index 2f8e047f..3a6c3771 100644 --- a/ChangeLog.pre-1-10 +++ b/ChangeLog.pre-1-10 @@ -1,3 +1,8 @@ +Mon Jan 26 14:20:34 2004 Owen Taylor + + * pango/opentype/pango-ot-info.c (is_truetype): Suport + CFF fonts as well. (#131202, Manjunath Sripadarao) + Mon Jan 26 10:30:06 2004 Owen Taylor * pango/modules/thai/thai-c: Fix up glyph addition diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4 index 2f8e047f..3a6c3771 100644 --- a/ChangeLog.pre-1-4 +++ b/ChangeLog.pre-1-4 @@ -1,3 +1,8 @@ +Mon Jan 26 14:20:34 2004 Owen Taylor + + * pango/opentype/pango-ot-info.c (is_truetype): Suport + CFF fonts as well. (#131202, Manjunath Sripadarao) + Mon Jan 26 10:30:06 2004 Owen Taylor * pango/modules/thai/thai-c: Fix up glyph addition diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6 index 2f8e047f..3a6c3771 100644 --- a/ChangeLog.pre-1-6 +++ b/ChangeLog.pre-1-6 @@ -1,3 +1,8 @@ +Mon Jan 26 14:20:34 2004 Owen Taylor + + * pango/opentype/pango-ot-info.c (is_truetype): Suport + CFF fonts as well. (#131202, Manjunath Sripadarao) + Mon Jan 26 10:30:06 2004 Owen Taylor * pango/modules/thai/thai-c: Fix up glyph addition diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8 index 2f8e047f..3a6c3771 100644 --- a/ChangeLog.pre-1-8 +++ b/ChangeLog.pre-1-8 @@ -1,3 +1,8 @@ +Mon Jan 26 14:20:34 2004 Owen Taylor + + * pango/opentype/pango-ot-info.c (is_truetype): Suport + CFF fonts as well. (#131202, Manjunath Sripadarao) + Mon Jan 26 10:30:06 2004 Owen Taylor * pango/modules/thai/thai-c: Fix up glyph addition diff --git a/modules/thai/thai-shaper.c b/modules/thai/thai-shaper.c index 39c2c574..5fcbc429 100644 --- a/modules/thai/thai-shaper.c +++ b/modules/thai/thai-shaper.c @@ -302,15 +302,26 @@ add_glyph (ThaiFontInfo *font_info, pango_font_get_glyph_extents (font_info->font, glyphs->glyphs[index].glyph, &ink_rect, &logical_rect); - if (combining || logical_rect.width > 0) + if (combining) { - glyphs->glyphs[index].geometry.x_offset = 0; - glyphs->glyphs[index].geometry.width = logical_rect.width; + glyphs->glyphs[index].geometry.x_offset = + glyphs->glyphs[index - 1].geometry.width; + glyphs->glyphs[index].geometry.width = + logical_rect.width + glyphs->glyphs[index - 1].geometry.width; + glyphs->glyphs[index - 1].geometry.width = 0; } else { - glyphs->glyphs[index].geometry.x_offset = ink_rect.width; - glyphs->glyphs[index].geometry.width = ink_rect.width; + if (logical_rect.width > 0) + { + glyphs->glyphs[index].geometry.x_offset = 0; + glyphs->glyphs[index].geometry.width = logical_rect.width; + } + else + { + glyphs->glyphs[index].geometry.x_offset = ink_rect.width; + glyphs->glyphs[index].geometry.width = ink_rect.width; + } } glyphs->glyphs[index].geometry.y_offset = 0; } diff --git a/pango/opentype/pango-ot-info.c b/pango/opentype/pango-ot-info.c index 9a875459..578c95d1 100644 --- a/pango/opentype/pango-ot-info.c +++ b/pango/opentype/pango-ot-info.c @@ -137,7 +137,8 @@ pango_ot_info_get (FT_Face face) static gboolean is_truetype (FT_Face face) { - return strcmp (FT_MODULE_CLASS (face->driver)->module_name, "truetype") == 0; + return strcmp (FT_MODULE_CLASS (face->driver)->module_name, "truetype") == 0 || + strcmp (FT_MODULE_CLASS (face->driver)->module_name, "cff") == 0; } typedef struct _GlyphInfo GlyphInfo; -- cgit v1.2.1