> By the way, even a very primitive X11 rendering engine
> of bitmap fonts can emulate 'the effect'(generating glyphs on-the-fly)
> fed by justaposing a set of zero-width/negative-width(non-advancing)
> glyphs and final advancing glyph.
> it should be
> certainly possible for Korean Hangul(as we have done in many
Does the X11 rendering engine do this for Hangul? It may be primitive, but
it sound goods to me; do you have any web references to know more about it?
Follows a longish description of how I imagine such an architecture (I
suggest everybody to use your "delete" button now). I'd be curious to check
whether my speculations match the X11 engine.
Each syllable may be composed with two jamos (leading consonant + vowel) or
three (leading consonant + vowel + trailing consonant). A barely-readable
Hangul jamos rendering would require the following contextual shapes:
Trailing consonants: 1 shape, non-spacing.
- T. The glyph occupies the lower part of the character cell, the rest of
the cell is blank to accommodate the non-spacing leading consonant and
Vowels: 2 contextual shapes, non-spacing.
- V1 (no trailing consonant). The glyph occupies the right or bottom part of
the cell, or even both. The rest of the cell is empty to accommodate the
- V2 (trailing consonant). The glyph is the same as in V1, but it is
squeezed vertically to leave the bottom part of the cell empty, in order to
accommodate the trailing consonant.
Leading consonants: 6 contextual shapes, spacing.
- L1 (no trailing consonant, right vowel). The glyph occupies the left part
of the cell; the right part is blank to accommodate the vowel.
- L2 (no trailing consonant, bottom vowel). The glyph occupies the top part
of the cell; the bottom part is blank to accommodate the vowel.
- L3 (no trailing consonant, enclosing vowel). The glyph occupies the
top-left corner of the cell; the rest is blank to accommodate a vowel that
occupies both the bottom and right parts.
- L4 .. L6 (trailing consonants). The glyphs are the same as for cases L1 ..
L3 but they are squeezed vertically in order to leave the bottom part of the
cell empty, to accommodate the trailing consonant.
So, the minimal number of glyphs for (barely readable!) combining Hangul
85 + 67 * 2 + 91 * 6 = 795
T V L
However, the possible combinations of Hangul jamos (U+1100..U+11FF) is a
closed set that can be anticipated. The set is in fact encoded in Unicode as
pre-composed characters (U+AC00..U+D79F), and there are well defined
algorithms to map sequences of jamos to/from precomposed syllables.
So, the best approach for a typographic level rendering is, in this case, to
draw the composed glyphs in advance and store them in a font.
This archive was generated by hypermail 2.1.2 : Tue Jul 10 2001 - 17:21:01 EDT