Summary

Documents with “text-align: justify” are not interoperable today, so any specs involves some costs. We need to make a choice which costs to take and which not to.

Following criteria are out of scope of this discussion:

  • text-align is not justify. The choice does not make any differences in this case.
  • has lang attribute. The spec says UA may tailor by the content language.
  • text-jusitfy: inter-word. The spec defines behavior in this case.

Options

Expand CJ
Expand ideograph (i.e., between ideograph and any), but not Hangul
Solid CJK
Not expand ideograph nor Hangul
Compromise
A compromised algorithm, spacing varies by the content of line
Reintroduce inter-ideograph
Add text-justify: inter-ideograph back

Current Behavior

Table of expansions:

Test Gecko Expands Trident Webkit Blink
MacWin/Android/Opera
untagged default (screenshots) None None +Han +Kana -Hangul None
Japanese default (screenshots) +Han +Kana -Hangul
Korean default (screenshots) None
untagged inter-ideographic (screenshots) None +Han +Kana +Hangul

Future Possibilities

Document TypeExpand CJ not KSolid CJKCompromise
text-justify: inter-ideograph (for IE5+)AD*B*
Chinese/Japanese (100%)ADB
Korean (Hangul only, 70-80%)AAB
Korean (Hangul+Han, 20-30%)CAB
Korean (Han only, 1-10%)ADB

Letters represent quality of results

* Adding inter-ideograph can make this A.

Regressions

Document TypeEngineExpand CJ not KSolid CJKCompromise
text-justify: inter-ideograph (for IE5+)Webkito-*-*
Tridento-*-*
Blinko/+-*/o-*/+
Gecko+o+
Chinese/Japanese (100%)Webkito--
Trident+o+
Blinko/+-/o-/+
Gecko+o+
Korean (Hangul only, 70-80%)Webkitoo-
Tridentoo-
Blinkoo-
Geckooo-
Korean (Hangul+Han, 20-30%)Webkito++ and -
Trident-o-
Blinko/-+/o+ and -/-
Gecko-o-
Korean (Han only, 1-10%)Webkito--
Trident+o+
Blinko/+-/o-/+
Gecko+o+
  • + indicates better
  • - indicates worse
  • o indicates same
 
spec/text-justify-auto.txt · Last modified: 2014/12/09 15:48 (external edit)
Recent changes RSS feed Valid XHTML 1.0 Valid CSS Driven by DokuWiki