summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChookij Vanatham <chookij@src.gnome.org>2001-07-18 17:01:06 +0000
committerChookij Vanatham <chookij@src.gnome.org>2001-07-18 17:01:06 +0000
commite178e5819bf3bab3bd79c42125a17f301b133827 (patch)
tree85fc8bdce2f5ba0f10ad918a258fbb0b99ba5266
parentd494abc4bdf1fc9ad9280261f8fb1d54881355fc (diff)
downloadpango-e178e5819bf3bab3bd79c42125a17f301b133827.tar.gz
Updated the change to handle iso10646 for Thai non-spacing vowels/tonemarks
as similar as others (Thai MS/MAC) by K.Theppitak.
-rw-r--r--modules/thai/thai-x.c35
1 files changed, 14 insertions, 21 deletions
diff --git a/modules/thai/thai-x.c b/modules/thai/thai-x.c
index 47310e54..b6be8195 100644
--- a/modules/thai/thai-x.c
+++ b/modules/thai/thai-x.c
@@ -423,32 +423,25 @@ add_glyph (ThaiFontInfo *font_info,
if (combining)
{
- if (font_info->type == THAI_FONT_TIS ||
- font_info->type == THAI_FONT_TIS_MAC ||
- font_info->type == THAI_FONT_TIS_WIN)
- {
- glyphs->glyphs[index].geometry.width =
- logical_rect.width + glyphs->glyphs[index - 1].geometry.width;
- if (logical_rect.width > 0)
- glyphs->glyphs[index].geometry.x_offset = glyphs->glyphs[index - 1].geometry.width;
- else
- glyphs->glyphs[index].geometry.x_offset = glyphs->glyphs[index].geometry.width;
- glyphs->glyphs[index - 1].geometry.width = 0;
+ 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
+ {
+ 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.width =
- MAX (logical_rect.width, glyphs->glyphs[index - 1].geometry.width);
- glyphs->glyphs[index - 1].geometry.width = 0;
- glyphs->glyphs[index].geometry.x_offset = 0;
+ glyphs->glyphs[index].geometry.x_offset = ink_rect.width;
+ glyphs->glyphs[index].geometry.width = ink_rect.width;
}
}
- else
- {
- glyphs->glyphs[index].geometry.x_offset = 0;
- glyphs->glyphs[index].geometry.width = logical_rect.width;
- }
-
glyphs->glyphs[index].geometry.y_offset = 0;
}