- From: Dael Jackson <daelcss@gmail.com>
- Date: Wed, 15 Oct 2014 14:51:10 -0400
- To: www-style@w3.org
CSS3 Text --------- - The proposed solutions to creating an algorithm for spacing of un-language-tagged content were discussed and limited to two options: A. Treating Hangul as non-expandable and Han/Kana as expandable B. Use fantasai's Universal Compromise approach The spec authors will put out a poll to determine which of the remaining options is most livable. - In conjunction with Internationalization WG, the group will create a wiki or Note of best practices for language specific justification and link that in the spec. CSS Text will not be responsible for detailing justification best practices (only the limits within which implementations must behave). - RESOLVED: Remove 'distribute' special-case logic from text-align-last. - RESOLVED: Add 'inter-character', same meaning as 'distribute' ===== FULL MINUTES BELOW ====== Scribe: TabAtkins CSS3 Text --------- <fantasai> http://dev.w3.org/csswg/css-text-3/justify <fantasai> http://wiki.csswg.org/spec/text-justify-auto fantasai: Issue is that we have been requested to figure out what is a possible "baseline" algorithm example that we can put in the spec that shows how you can handle un-language -tagged content, without doing introspection. fantasai: Not talking about unjustified, or where there's a language attr (spec says UA should tailor), or for text-justify: interword (spec already has example). fantasai: One option is to expand between ideographs (C & J), but not Hangul. fantasai: Option two is to not expand between ideographs or Hangul. fantasai: Three is provide some sort of compromise; prioritizing spacing but also allowing CJK expansion, etc. fantasai: Four is to reintroduce text-justify:inter-ideograph. TabAtkins: Four means we can tilt the baseline towards Hangul, and C/J can use text-justify:inter-ideograph to fix it? fantasai: Yes. fantasai: Our hope is that authors just tag their content. SteveZ: You're saying that there is content out there that uses the inter-ideograph keyword? fantasai: Yes, it was introduced in an old IE. SteveZ: I thought when we talked about this before, that was preferred. fantasai: Yeah, it gets rid of any magic, but it means people are tagging their content with inter-ideograph, rather than with a language tag. SteveZ: So this is solely a CJK problem? fantasai: Pretty much. fantasai: We have a table of current behaviors, which shows that implementors do some interesting things. fantasai: Gecko does the right thing for CJ if you lang-tag, but doesn't expand by default. fantasai: IE ignores language, but has inter-ideographic, which turns on expansion in CJK. fantasai: Webkit and Blink on Mac expand between CJ, but not K. dbaron: Which is what Gecko does when tagged as Japanese. fantasai: Opera doesn't expand at all for CJK. <dbaron> Gecko's justification code has a bunch of things that are conditional on the language tag being zh, zh-*, ja, or ja-* fantasai: So I've put together a table of document types. fantasai: [describes the table in the wiki page] fantasai: Three types of K documents. fantasai: Hangul only, probably 70-80%. fantasai: Mix of Hangul and Han, about 20-30%. fantasai: All Han (very old), 1-10%. fantasai: If we do "solid CJK" (don't expand anything), we get bad results for everything but modern all-Hangul docs. Everything else gets no justification. fantasai: If you expand between CJ but not K, you get more or less what's acceptable; but mixing Hangul and Han isn't ideal. Transitioning between those scripts causes some space, which makes an unintended visual break. fantasai: Compromise gives acceptable but not great results for everything - you get some space between CJ, but not much, while Korean expands between characters if there is too much space. fantasai: [shows her justification experiment] <fantasai> http://dev.w3.org/csswg/css-text-3/justify fantasai: This one shows off the compromises. fantasai: Here, there's a mix of Hangul and Han. There's some space between the Hangul characters. fantasai: Set the threshold to zero, you get inter-ideograph. fantasai: Set it to 100, you get inter-word, probably what Korean wants. fantasai: But I'm not actually sure what Korean prefers in mixed Hangul and Han for extreme justification cases. TabAtkins: So it looks like we should just go with "expand CJ not K"; it's not great for mixed Hangul and Han, but it's great for everything else. fantasai: Maybe not... [shows off example] fantasai: It looks like there are space chars there around the Han characters in the mixed content. fantasai: That seems like it might be hard to read. fantasai: The compromise option doesn't get spacing quite right, but it's easier to read. florian: If you tag the Korean, it'll work right, correct? TabAtkins: Yeah, it just won't expand around Han in mixed Hangul + Han documents. TabAtkins: Looking at the "better or worse" table, "expand CJ not K" still seems better - it's better or same for every group but one. TabAtkins: I'm fine with a slightly degraded rendering for a small fraction of Korean documents, in return for basically ideal rendering for Chinese and Japanese, and pure- Hangul Korean. TabAtkins: I think we can at least agree to go with *either* "expand CJ not K" and "compromise"; the others aren't good enough to consider. TabAtkins: And do polls to figure out which is better before making a final decision. fantasai: Which is least objectionable. Action fantasai and koji to make a poll on which options are most live-withable for universal justification. <trackbot> Created ACTION-637 * fantasai thinks we need pictures in this poll for sure * fantasai also translations... ACTION fantasai: clarify that ko-Han is different from ko-Hangul <trackbot> Created ACTION-638 fantasai: Koji raised an issue about *how* are we defining language -specific justification behavior. fantasai: Our current plan is to not define it, provide a few examples, and defer to a note for examples and guidelines, getting i18n to help out. fantasai: The note would just be prose for things we know that aren't yet written out in English, or pointers to JLReq/etc. fantasai: Or a wiki page, whatever. SteveZ: I think wiki makes more sense than a note - people expect a wiki to update. plinss: With the new publishing process, we can publish Notes quickly. fantasai: But it still has to go through the WG, while a wiki can let anyone add to it. fantasai: On the other hand, the w3c wiki is really ugly SteveZ: The important part is that *we* aren't going to be standardizing this. Action fantasai to ask i18n for help in setting up and maintaining the justification references <trackbot> Created ACTION-639 <fantasai> http://dev.w3.org/csswg/css-text-3/issues-lc-2013#issue-88 <fantasai> Adding back 'inter-ideograph' koji: Two reasons to put it back: koji: 1) If the default algorithm is not "expand CJ not K", inter-ideograph will do better, and it's already used in some documents, so we should respect it koji: 2) for traditional Korean documents, and we say that Korean defaults to inter-word, traditional ones want ideographic spacing. fantasai: We can recommend that traditional documents use ko-Han (rather than just ko), so browsers will know to do ideographic spacing. fantasai: That will help for any other formatting stuff, when it's more Chinese than Hangul. koji: That might work. koji: So we need to wait for the default algorithm to be determined. fantasai: Last issue: inter-character. fantasai: We have a "distribute" keyword, and people wonder why it's not "inter-character". fantasai: Answer is that IE did it as "distribute". fantasai: We're thinking to add an alias "inter-character". Bert: Didn't "distribute" have additional side-effects? <dbaron> (on the last line) fantasai: Good point. I was thinking we should remove that side-effect. fantasai: Side effect: if text-justify:distribute, then text-align- last:auto becomes "justify" rather than "start". <koji> http://www.magical-remix.co.jp/magicalog/archives/2819 fantasai: inter-ideograph would do the same thing for the lines (in the linked example) except for the "Fax" line. SteveZ: This is common in Japanese text, where the last line is stretched out. <fantasai> text-align: justify; text-align-last: justify; text-justify: distribute; fantasai: This is a lot to type. fantasai: So we defined "auto" to mean "if it's distribute, you justify on all lines". fantasai: But we could remove that. We have a new keyword, because we changed the relationship between text-align and text- align-last. <fantasai> text-align: justify-all; text-justify: distribute; <Bert> -> http://dev.w3.org/csswg/css-text-3/#text-align-all-property text-align-last property fantasai: So the proposal is to remove the special case (making us more IE-compatible), and lean on this new keyword to handle the Japanese case. RESOLVED: Remove "auto" special-case logic from text-align-last. <koji> text-align: justify; text-justify: distribute-all-lines; koji: IE5 does a little different syntax. koji: Everything since IE5. MS Word generates this. koji: Do we want to honor this combination as well? <koji> http://msdn.microsoft.com/en-us/library/ie/ms531172(v=vs.85).aspx florian: So this does what we just said "distribute" doesn't do anymore? TabAtkins: Yeah. fantasai: Don't think we really need to do it. fantasai: Not saying IE needs to remove anything, just not adding it to CSS. florian: Maybe add an issue/note about us adding this in the future if it turns out to be needed for those markets? fantasai: Yeah. florian: Back to inter-character. Do we want it? TabAtkins: I'm fine with an alias. Talking with julien earlier, it's easier to have "two keywords that do the same thing" than "two keywords, one of which computes into the other". florian: If there is heavy scripting on this property, we might be more careful about aliasing, but there isn't, so who cares. dbaron: Are we okay with the ambiguity of "character"? fantasai: Yeah, it separates the things that authors know as "characters". TabAtkins: Even if they're "grapheme clusters" or whatever technically. SimonSapin: It's same as letter-spacing? fantasai: Yes. SteveZ: What about Thai/etc? fantasai: Same as letter-spacing. fantasai: The spec literally says that this increases the used letter-spacing on this line. Bert: I don't think people actually know what "character" means. RESOLVED: Add inter-character <br type=snacks>
Received on Wednesday, 15 October 2014 18:51:38 UTC