Re: Question on Text Justification of Korean

On 10/23/2014 05:50 PM, Jungshik SHIN (신정식) wrote:
>
> Could you explain why treating Hangul and Han identically for the
> justification hurts the justification quality of Hangul-only
> documents (and Chinese and Japanese documents) ?

Okay, I will try to explain. :)

The constraint of the situation is that we do not know the primary
language or writing system because the document is untagged. Given
this, we must come up with a justification system that is adequate
for all systems.

In order to adequately handle Japanese and Chinese, we must allow
expansion between Han and Kana characters.

In order to adequately handle most other writing systems, we must
allow expansion at spaces.

Korean is kindof a combination of both cases.

At least one implementation has decided to handle this situation by
expanding at spaces, Han, and Kana, but not Hangul. For Hangul-only
documents, this will expand only at spaces, and for Chinese/Japanese
documents, this will expand among all characters. For these documents,
everyone is happy. But for mixed Han + Hangul documents, this solution
has the behavior we are discussing. [1]

An alternative solution we are considering is 2-tier justification:
expand primarily at spaces, up to a limit, and then beyond that
expand among all CJK. This will mean that in some cases where there
is too much space to be absorbed by spaces, Korean will also expand
somewhat between all characters. [2] It also means that for Chinese
and Japanese, spaces will become wider than they prefer (since they
prefer very little expansion at spaces). [3]

[1] 
http://dev.w3.org/csswg/css-text-3/justify?cjk=0&&splitHangul=splitHangul&&text=%ED%8A%B9%EB%B3%84%EC%8B%9C%28%EC%84%9C%EC%9A%B8%E7%89%B9%E5%88%A5%E5%B8%82%29%EB%8A%94%20%ED%95%9C%EB%B0%98%EB%8F%84
[2] 
http://dev.w3.org/csswg/css-text-3/justify?cjk=1&&text=%EC%8B%9C%28%EC%84%9C%EC%9A%B8%E7%89%B9%E5%88%A5%E5%B8%82%29%EB%8A%94%20%ED%95%9C%EB%B0%98%EB%8F%84
[3] 
http://dev.w3.org/csswg/css-text-3/justify?cjk=1&&text=%E3%81%93%E3%81%AEWii%20U%E3%81%8C%E5%A4%A7%E5%A5%BD%E3%81%8D%E3%81%A7%E3%81%99

The exact tradeoffs will vary by the limit chosen. The ideal limit
for spaces in Japanese is around 0.5em-[width of space]; for Korean
it's much higher, though I'm not sure it's actually infinite. :)

The algorithm here is simplistic and UAs are allowed to do better,
but we were asked to come up with an example of something that
works as a starting point.

I hope that's understandable.

> BTW, fantasai's question and examples given do not match each other, I'm afraid.

Ah, sorry, I should have said "expand around Han", not "expand
between Hangul and Han". I lost that edit somewhere along the way.

~fantasai

Received on Thursday, 23 October 2014 23:43:46 UTC