- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Thu, 23 Oct 2014 19:43:15 -0400
- To: "Jungshik SHIN (신정식)" <jshin1987@gmail.com>, Koji Ishii <kojiishi@gluesoft.co.jp>
- CC: "public-html-ig-ko@w3.org" <public-html-ig-ko@w3.org>, CJK discussion <public-i18n-cjk@w3.org>, hyunyoung kim <corolla.kim@gmail.com>, "www-style@w3.org" <www-style@w3.org>, Daniel Glazman <daniel.glazman@disruptive-innovations.com>
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:50 UTC