Re: Shaping Hangul text with U+115F and/or U+1160

From: Kent Karlsson <kent.karlsson14_at_telia.com>
Date: Mon, 18 Mar 2013 17:56:38 +0100

First of all, are the fonts you are referring to able to at all handle
conjoining Jamo? If not, the question is moot.

Fonts that do not support conjoining Jamo, often show them as if they
were non-conjoining Jamo. But that is a bad idea, since the non-conjoining
Jamo have separate code points (for legacy reasons, but still useful).

Assuming that the fonts (and rendering mechanism) can otherwise handle
conjoining Jamo, the Jamos in a Hangul syllable are rendered "together"
in a syllable block. The "fillers" are then just used to fulfill the syntax
for the Hangul syllables, and do not produce any "ink" in the Hangul
syllable block. Effectively, all trailing conjoining Jamos and all
vowel Jamos are then "non-spacing".

That the fillers are "default ignorable" means that if you cannot handle
them properly, then do not display them. That goes for most control codes
(most of which are legacy, are are no longer interpreted) and format
controls (they should not render, whether you can interpret them or not).
It goes also for the Hangul filler characters, because they are there
for syntactic reasons, and should not render whether you can support them
properly or not.

    /Kent Karlsson

Den 2013-03-18 16:34, skrev "Konstantin Ritt" <ritt.ks_at_gmail.com>:

> Hi Philippe,
>
> thanks for your reply.
> I was confused by http://www.unicode.org/faq/unsup_char.html , which states
>> All default-ignorable characters should be rendered as completely invisible
>> (and non advancing, i.e. "zero width"), if not explicitly supported in
>> rendering.
> Do I understand correctly that, if the choseong filler is used when
> there's no leading consonnent before a medial vowel, it should be
> rendered as visible; otherwise become non-advancing
> (similarly, if the jungseong filler is used to replace a missing
> medial or final vowel, it should be rendered as visible; otherwise
> become non-advancing) ?
> i.e. <U+115F>, or <U+1161, U+1160>, or <U+115F, U+112B> -- should the
> fillers be rendered as non-advancing?
>
> regards,
> Konstantin
>
> 2013/3/18 Philippe Verdy <verdy_p_at_wanadoo.fr>:
>> The "Default ignorable" property has nothing to do with rendering or
>> being zero-width, it's just a matter of collation (comparing strings
>> for similarity, for plain-text searches, or sorting them), it does not
>> necesarily mean that the character is zero-width (that's a rendering
>> property).
>>
>> Characters that are "default ignorable" may still have an effect on
>> cluster boundaries used when editing texts, if you count manually the
>> number of zero-width characters (by pressng the left or right arrow
>> fnction keys.) As long as the rendering is correct, editors may allow
>> you to place insertion points between them.
>>
>> U+115F is the choseong filler (used when there's no leading consonnent
>> to place before a medial vowel), U+1160 is the jungseong filler (used
>> to replace a missing medial or final vowel).
>>
>> You're right when saying that there should be two clusters in
>> <U+115F, U+1161>, <U+112B, U+1160>
>> - The first one is a isolated vowel A, it should become spacing but
>> U+115F is just used as an invisible holder for the vowel,
>> - The second one is an isolated consonnant KAPYEOUNPIEUP, and the
>> U+1160 filler will remain invisible except that it iis used here so
>> that it explicitly terminates the cluster if it was followed by a
>> leading consonnant or dirctly by a "defective" vovel.
>>
>> But the U+115F and U+1160 Hangul fillfers remain default ignorable in
>> collation. And there's no bug about this.
>>
>> 2013/3/18 Konstantin Ritt <ritt.ks_at_gmail.com>:
>>> 2013/3/18 Konstantin Ritt <ritt.ks_at_gmail.com>:
>>>> The user reports Korean text rendering issue with any modern Hangul
>>>> font when U+115F and U+1160 are handled like default_ignorable code
>>>> points.
>>>> [quote]With input string "U+115F U+1161 U+112B U+1160", we get three
>>>> zero-width glyphs instead of two; this is wrong.[/quote]
>>>> I did check some Hangul font and found that either U+115F or U+1160
>>>> zero-advances, not both. When handling them like default ignorable,
>>>> the rendered text seems to lack some advancing.
>>>> Since I know nothing about Korean typography, I'd like to ask here:
>>>> what is the reason for U+115F and U+1160 to be default ignorables and
>>>> shouldn't that be revised?
>
Received on Mon Mar 18 2013 - 11:58:43 CDT

This archive was generated by hypermail 2.2.0 : Mon Mar 18 2013 - 11:58:44 CDT