summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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;
}