summaryrefslogtreecommitdiff
path: root/modules/hangul/hangul-fc.c
diff options
context:
space:
mode:
Diffstat (limited to 'modules/hangul/hangul-fc.c')
-rw-r--r--modules/hangul/hangul-fc.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/modules/hangul/hangul-fc.c b/modules/hangul/hangul-fc.c
index 9828ef8f..4b218bdb 100644
--- a/modules/hangul/hangul-fc.c
+++ b/modules/hangul/hangul-fc.c
@@ -323,6 +323,14 @@ render_syllable (PangoFont *font, const char *str, int length,
(*n_glyphs)++;
continue;
}
+ else if (IS_S(wc))
+ {
+ pango_glyph_string_set_size (glyphs, *n_glyphs + 1);
+ set_glyph (font, glyphs, *n_glyphs, cluster_offset,
+ PANGO_GET_UNKNOWN_GLYPH (wc));
+ (*n_glyphs)++;
+ continue;
+ }
/* This font has no glyphs on the Hangul Jamo area! Find a
fallback from the Hangul Compatibility Jamo area. */
@@ -445,7 +453,9 @@ hangul_engine_shape (PangoEngineShape *engine,
p = g_utf8_next_char (p);
}
- if (n_jamos > 0)
+ if (n_jamos == 1 && IS_S (prev))
+ render_basic (font, prev, glyphs, &n_glyphs, start - text);
+ else if (n_jamos > 0)
render_syllable (font, start, n_jamos, glyphs, &n_glyphs,
start - text);
}