summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChangwoo Ryu <cwryu@src.gnome.org>2002-08-01 08:06:57 +0000
committerChangwoo Ryu <cwryu@src.gnome.org>2002-08-01 08:06:57 +0000
commit06d35ed065ed5149b33cd0f8b598b6c6f24e02ae (patch)
tree01db215281a3c6ea60181ec036f53bc2a6636e81
parentff02afea62bd6acb336a381bd8dd4aa880220cc6 (diff)
downloadpango-06d35ed065ed5149b33cd0f8b598b6c6f24e02ae.tar.gz
Renders the prefix of uncomposable Hangul syllable in the way of other
* modules/hangul/hangul-x.c (render_syllable_with_ksx1005): Renders the prefix of uncomposable Hangul syllable in the way of other font encoding code.
-rw-r--r--ChangeLog6
-rw-r--r--ChangeLog.pre-1-106
-rw-r--r--ChangeLog.pre-1-26
-rw-r--r--ChangeLog.pre-1-46
-rw-r--r--ChangeLog.pre-1-66
-rw-r--r--ChangeLog.pre-1-86
-rw-r--r--modules/hangul/hangul-x.c41
7 files changed, 51 insertions, 26 deletions
diff --git a/ChangeLog b/ChangeLog
index 14882d83..771f84c6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 14882d83..771f84c6 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/ChangeLog.pre-1-2 b/ChangeLog.pre-1-2
index 14882d83..771f84c6 100644
--- a/ChangeLog.pre-1-2
+++ b/ChangeLog.pre-1-2
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/ChangeLog.pre-1-4 b/ChangeLog.pre-1-4
index 14882d83..771f84c6 100644
--- a/ChangeLog.pre-1-4
+++ b/ChangeLog.pre-1-4
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/ChangeLog.pre-1-6 b/ChangeLog.pre-1-6
index 14882d83..771f84c6 100644
--- a/ChangeLog.pre-1-6
+++ b/ChangeLog.pre-1-6
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/ChangeLog.pre-1-8 b/ChangeLog.pre-1-8
index 14882d83..771f84c6 100644
--- a/ChangeLog.pre-1-8
+++ b/ChangeLog.pre-1-8
@@ -1,3 +1,9 @@
+2002-08-01 Changwoo Ryu <cwryu@debian.org>
+
+ * modules/hangul/hangul-x.c (render_syllable_with_ksx1005):
+ Renders the prefix of uncomposable Hangul syllable in the way of
+ other font encoding code.
+
Wed Jul 31 16:00:20 2002 Owen Taylor <otaylor@redhat.com>
* modules/thai/thai-xft.c (make_glyph): Minor tweak
diff --git a/modules/hangul/hangul-x.c b/modules/hangul/hangul-x.c
index 272f10ed..fc5806cd 100644
--- a/modules/hangul/hangul-x.c
+++ b/modules/hangul/hangul-x.c
@@ -322,36 +322,25 @@ render_syllable_with_ksx1005 (PangoFont *font, PangoXSubfont subfont,
int *n_glyphs, int cluster_offset)
{
guint16 gindex;
- int i;
+ int i, composed;
- /*
- * Check if there are one CHOSEONG, one JUNGSEONG, and no more
- * than one JONGSEONG.
- */
- int n_cho = 0, n_jung = 0, n_jong = 0;
- i = 0;
- while (i < length && IS_L (text[i]))
- {
- n_cho++;
- i++;
- }
- while (i < length && IS_V (text[i]))
- {
- n_jung++;
- i++;
- }
- while (i < length && IS_T (text[i]))
- {
- n_jong++;
- i++;
- }
- if (n_cho == 1 && n_jung == 1 && n_jong <= 1)
+ if (length >= 3 && IS_L_S(text[0]) && IS_V_S(text[1]) && IS_T_S(text[2]))
+ composed = 3;
+ else if (length >= 2 && IS_L_S(text[0]) && IS_V_S(text[1]))
+ composed = 2;
+ else
+ composed = 0;
+
+ if (composed)
{
int lindex, vindex, tindex;
lindex = text[0] - LBASE;
vindex = text[1] - VBASE;
- tindex = text[2] - TBASE;
+ if (composed == 3)
+ tindex = text[2] - TBASE;
+ else
+ tindex = 0;
/* convert to JOHAB */
@@ -361,8 +350,8 @@ render_syllable_with_ksx1005 (PangoFont *font, PangoXSubfont subfont,
set_glyph (glyphs, *n_glyphs, font, subfont, gindex);
glyphs->log_clusters[*n_glyphs] = cluster_offset;
(*n_glyphs)++;
-
- return;
+ text += composed;
+ length -= composed;
}
/* Render as uncomposed forms as a fallback. */