Options:
- # Session Start: Tue Jul 31 00:00:00 2012
- # Session Ident: #css
- # [00:08] <TabAtkins> Heh, kk. Thanks anyway. ^_^
- # [00:08] <TabAtkins> Writing up a proposal to the list now.
- # [00:15] * Joins: arno (arnog@192.150.10.201)
- # [00:17] * Joins: jdaggett (jdaggett@202.221.217.73)
- # [00:20] * fantasai waves to jdaggett
- # [00:20] <jdaggett> hiya
- # [00:20] <jdaggett> every time i read css3-text my head explodes
- # [00:20] <jdaggett> i'm picking up the pieces now
- # [00:20] <fantasai> lol
- # [00:21] <fantasai> I did try to improve the terminology a bit
- # [00:21] * Quits: jet (jet@206.15.76.122) (Quit: jet)
- # [00:21] <fantasai> there's more links and <dfn>s and stuff
- # [00:21] <fantasai> jdaggett: at least, wrt line breaking. I think the letter/word-spacing section is a bit of a mess
- # [00:24] <jdaggett> yes, that was the cause of today's head explosion
- # [00:26] * heycam|away is now known as heycam
- # [00:29] <jdaggett> "When the resulting space between two characters is not the same as the default space, user agents should not use optional ligatures. "
- # [00:29] <jdaggett> that's a bizarre sentence
- # [00:29] <jdaggett> i think you mean to refer to the default *advance*
- # [00:30] <jdaggett> but even that's kind of weird
- # [00:30] <jdaggett> since inter-glyph spacing is actually (advance + kerning adj)
- # [00:31] <jdaggett> i think the 2.1 defn was more clear
- # [00:31] <jdaggett> when the value of letter-spacing is anything other than normal/0, ligatures are not applied
- # [00:32] * Quits: krit1 (krit@192.150.10.201) (Quit: Leaving.)
- # [00:34] * heycam is now known as heycam|away
- # [00:34] * heycam|away is now known as heycam
- # [00:40] * Quits: arno (arnog@192.150.10.201) (Quit: Leaving.)
- # [00:41] <stearns> jdaggett: if letter spacing defines a minimum, optimum and maximum, and the algorithm ends up with normal letter spacing for a particular word, you should get ligatures
- # [00:47] * Joins: krit (krit@192.150.10.201)
- # [00:50] * Joins: arno (arnog@192.150.10.201)
- # [00:52] * Quits: krit (krit@192.150.10.201) (Ping timeout)
- # [00:54] <jdaggett> stearns: that's completely insane!!
- # [00:54] <jdaggett> you'd need to first run through layout with those parameters
- # [00:54] <jdaggett> then based on the spacing that comes out of the justification alg
- # [00:55] <jdaggett> enable/disable ligatures within a text run
- # [00:55] <jdaggett> which will in turn necessitate a reflow operation
- # [00:55] <jdaggett> since the use of ligatures will affect widths
- # [00:55] <jdaggett> pure insanity
- # [01:14] <stearns> jdaggett: how about if the optimum value of letter-spacing is anything other than normal/0, ligatures are not applied
- # [01:14] <jdaggett> which sounds just how it was defined in 2.1!
- # [01:15] <jdaggett> i think i don't see a clear use for a three-valued letter-spacing property
- # [01:15] <stearns> jdaggett: do you see a clear use for a three-valued word spacing property?
- # [01:16] <jdaggett> well, more so than letter-spacing!
- # [01:16] <stearns> jdaggett: I agree, it's more important
- # [01:16] <jdaggett> but it really seems like that's there to workaround the lack of hyphenation
- # [01:16] <jdaggett> so i think i would probably classify it as also unnecessary
- # [01:17] <stearns> jdaggett: the three values are more important *with* hyphenation, but are also useful without hyphenation
- # [01:17] <jdaggett> or, more precisely, the three-value nature of it is unnecessary i think
- # [01:17] <jdaggett> hmmm
- # [01:17] <jdaggett> i think hyphenation algs are subtle beasts
- # [01:17] <jdaggett> and this isn't a subtle property at all
- # [01:18] <jdaggett> if the exact values used depends on the hyphenation alg, then i think authors will be screwed
- # [01:19] <stearns> jdaggett: not sure what you mean. Authors can pick a single value to force it to be used (when possible) or a range to allow the algorithm more choices
- # [01:21] <jdaggett> but without an explicitly defined hyphenation alg, it's just more random values in a pot
- # [01:21] <jdaggett> which means authors will simply fiddle with the results in webkit
- # [01:23] <jdaggett> i guess what i'm saying is that i don't think having more inputs to a black-box process is a good thing
- # [01:23] <jdaggett> it does not assure good results at all
- # [01:24] <jdaggett> if defined then word-spacing should just be a simple multiple
- # [01:24] <jdaggett> which would be used as a minimum in the hyphenation process
- # [01:24] <jdaggett> just as it is today
- # [01:25] <stearns> jdaggett: I see what you're saying, but merely defining a minimum doesn't let anyone improve their algorithms
- # [01:25] <stearns> jdaggett: http://lists.w3.org/Archives/Public/www-style/2011Jun/0015.html
- # [01:25] <stearns> jdaggett: and we'll be stuck with too-loose spacing forever
- # [01:27] <jdaggett> hmm, the "too loose" parameter should really be part of hyphenation controls and not something that sets a hard maximum like this
- # [01:27] <jdaggett> and i think the statement "Justified text will almost always be
- # [01:27] <jdaggett> too loose, which is the current situation in my experience."
- # [01:28] <stearns> jdaggett: it's never really a hard maximum - there will always be lines that don't work with a given range
- # [01:28] <jdaggett> is based on viewing justified text w/o hyphenation
- # [01:28] <jdaggett> huh
- # [01:28] <jdaggett> the way word-spacing is defined, it's a hard maximum
- # [01:29] <jdaggett> unless i'm missing something
- # [01:29] <stearns> read 8.0
- # [01:29] <stearns> "...must not violate the minimum spacing limit and should also avoid exceeding the maximum. "
- # [01:30] * Quits: arno (arnog@192.150.10.201) (Quit: Leaving.)
- # [01:31] <jdaggett> so you're saying "should" ==> value is a hint?
- # [01:31] <jdaggett> god, this is even more useless than i thought
- # [01:32] <stearns> think of a 20em line with content consisting entirely of 8em words. there's always going to be a bad line somewhere that can't respect the maximum.
- # [01:32] <stearns> but if possible the maximum should be respected
- # [01:32] <jdaggett> that depends on the hyphenation involved
- # [01:33] <stearns> no hyphenation points in my hypothetical example :)
- # [01:33] * Quits: drublic (drublic@77.2.151.107) (Client exited)
- # [01:33] <jdaggett> i don't think we should be discussing this without thinking about hyphenation
- # [01:33] <jdaggett> no hyphenation points ==> silly example...
- # [01:33] <jdaggett> ;p
- # [01:34] <jdaggett> are you using 10.7?
- # [01:34] <stearns> haven't upgraded yet
- # [01:34] <jdaggett> drat
- # [01:34] <stearns> what's to see?
- # [01:34] <jdaggett> &x1f4a9;
- # [01:34] <jdaggett> ;p
- # [01:36] <jdaggett> hint: http://www.unicode.org/charts/PDF/U1F300.pdf
- # [01:36] <jdaggett> 10.7 has nice colored glyphs for those...
- # [01:38] <stearns> man, that particular glyph is really motivating me to upgrade
- # [01:39] <jdaggett> yup, it's a powerful one
- # [01:39] <jdaggett> &x1f4a8; should motivate you even more...
- # [01:40] <stearns> "cartoon fart"? - are there canonical names for these somewhere?
- # [01:41] <jdaggett> yeah, page 9
- # [01:41] <stearns> ah, "briffit" - that makes much more sense :)
- # [01:41] <jdaggett> although that one is politely called "dash symbol"
- # [01:41] * jdaggett digs around for the damn dictionary
- # [01:42] <stearns> http://tvtropes.org/pmwiki/pmwiki.php/Main/BriffitsAndSqueans
- # [01:43] <jdaggett> i love it, beetle bailey makes it to unicode...
- # [01:44] * Joins: arno (arnog@192.150.10.201)
- # [01:47] <fantasai> jdaggett: the spec will make at least 15% more sense once I've edited in the normal == zero bit and associated cleaning up :)
- # [01:48] * fantasai is finding lots of sentences that can be simplified now
- # [01:48] <jdaggett> yeah, but the ligature disabling wording needs to be the 2.1 defn
- # [01:48] <jdaggett> the one now is completely insane
- # [01:49] <jdaggett> i.e. feature definition needs to happen before spacing decisions are made
- # [01:50] <jdaggett> you can't make them feature defintion dependent on spacing decisions because it would mean multiple shaping passes
- # [01:56] * Quits: miketaylr (miketaylr@70.112.101.224) (Quit: Leaving...)
- # [01:56] <fantasai> jdaggett: The 2.1 defn says exactly the same thing as css3-text right now.
- # [01:56] <fantasai> http://www.w3.org/TR/CSS21/text.html#spacing-props
- # [01:56] <fantasai> "When the resultant space between two characters is not the same as the default space, user agents should not use ligatures. "
- # [01:56] <fantasai> The only difference is s/ligatures/optional ligatures/
- # [01:57] <fantasai> I'm happy to change that to something sane :)
- # [01:57] <fantasai> but copying 2.1 isn't going to help
- # [01:57] <fantasai> ;)
- # [01:57] <jdaggett> well, the problem is with the interaction between min/max and that wording
- # [01:58] <fantasai> not sure what you mean
- # [01:58] <jdaggett> with min/max in the picture, as alan notes this means that the ligatures on/off decision is a function of spacing
- # [01:59] <fantasai> even without, that's true
- # [01:59] <jdaggett> huh?
- # [01:59] <fantasai> if I set 'letter-spacing' to a non-zero non-normal value, it turns off ligatures
- # [01:59] <fantasai> if I leave 'letter-spacing' as normal, and justification changes the effective spacing on that line
- # [01:59] <fantasai> it turns off ligatures as well
- # [02:00] <fantasai> according to that text in 2.1
- # [02:00] <fantasai> has nothing to do with min/max
- # [02:00] <jdaggett> huh?
- # [02:00] <jdaggett> how does justification affect inter-glyph spacing?
- # [02:00] <fantasai> justification is allowed to change the spacing between grapheme clusters
- # [02:01] <fantasai> this is true since CSS1
- # [02:01] <fantasai> I don't think it's been implemented in Gecko, but it's certainly allowed per spec
- # [02:01] * fantasai isn't sure, maybe it has been...
- # [02:01] <jdaggett> no user agent implements such craziness
- # [02:02] <fantasai> it would take effect, e.g. when there's a line of text with no spaces on it
- # [02:03] <fantasai> The spec clearly points out that to turn off that possibility, the author must specify 'letter-spacing: 0' instead of 'letter-spacing: normal'
- # [02:03] <fantasai> Definition of 'letter-spacing: normal': "This value allows the user agent to alter the space between characters in order to justify text."
- # [02:04] <jdaggett> again, this is fairytale land
- # [02:04] <jdaggett> if someone implemented this they would be implementing an infinite loop
- # [02:04] <fantasai> ?
- # [02:05] <jdaggett> because if justification can affect feature definition, you would need to potentially reshape after justification
- # [02:06] <jdaggett> which could easily produce an alg that meant that the two would interact to create an infinite loop
- # [02:06] <fantasai> which hopefully the implementer is not stupid enough to try :)
- # [02:06] <jdaggett> which we should not be putting in a spec!!
- # [02:06] <fantasai> it isn't an infinite loop in the spec!
- # [02:06] * fantasai doesn't understand why you think this
- # [02:06] <fantasai> you lay out the text with all ligatures
- # [02:06] <fantasai> you measure it
- # [02:07] <fantasai> you figure out how much space is leftover
- # [02:07] <jdaggett> you justify it
- # [02:07] <fantasai> you try to apply the leftovers to spaces in the line
- # [02:07] <fantasai> find out there aren't any
- # [02:07] <jdaggett> oh, wait, letter spacing isn't zero, need to disable ligatures
- # [02:07] <fantasai> yes
- # [02:07] <jdaggett> you reshape without ligatures
- # [02:08] <jdaggett> letter spacing is now zero
- # [02:08] <fantasai> then you leave it there.
- # [02:08] <fantasai> it's two passes, not infinite
- # [02:08] <jdaggett> total stupidity
- # [02:08] <jdaggett> we should never, ever design specs that imply such silly processing cycles
- # [02:09] <jdaggett> for the simple reason that sane implementations will intentionally need to deviate from the spec
- # [02:10] <fantasai> What, you think it's better that the UA justify a single line containing "field" as
- # [02:10] <fantasai> fi e l d
- # [02:10] <fantasai> because fi formed a ligature?
- # [02:10] <jdaggett> but no UA ever changes inter-glyph spacing when doing justification
- # [02:11] <jdaggett> only inter-word spacing
- # [02:11] <fantasai> That's false, I've seen it before in printed materials.
- # [02:11] <fantasai> Besides, Håkon would kill me if it wasn't allowed.
- # [02:12] <jdaggett> i'm not talking about what happens in printed matter
- # [02:12] <jdaggett> i'm talking about the css mechanism
- # [02:12] <fantasai> CSS is used to layout things for print, too.
- # [02:12] <fantasai> s/layout/lay out/
- # [02:14] <jdaggett> not sure what your point is
- # [02:14] <jdaggett> i'm talking about mechanism and css
- # [02:14] <jdaggett> not about what is and is not done in printed material
- # [02:15] <fantasai> CSS is used to produce print materials, so the mechanism in CSS needs to be flexible enough to allow that kind of output
- # [02:15] <jdaggett> you've got a set of property definitions that seem to be at odds with what implementations are actually doing
- # [02:15] <fantasai> Just because browsers can't do something doesn't mean we should forbid it
- # [02:15] <jdaggett> sure "needs to be" is fine
- # [02:15] <fantasai> s/something/something today/
- # [02:16] <jdaggett> so your claim is that there are print ua's that implement a combination of text-align and letter-spacing/word-spacing
- # [02:17] <jdaggett> such that ligatures are enabled/disabled in the way you describe?
- # [02:17] <fantasai> no idea about ligatures, but they do implement justification algorithms that adjust spacing between individual letters
- # [02:17] <fantasai> and it would be ridiculous to hang on to ligatures like 'fi' when you do that
- # [02:18] <fantasai> it's entirely possible the examples I've seen are produced by software that doesn't have ligatures
- # [02:18] <fantasai> s/have/handle/
- # [02:18] <jdaggett> sorry, how do they adjust inter-glyph spacing as part of justification
- # [02:18] <jdaggett> ?
- # [02:19] <jdaggett> using 2.1 properties?
- # [02:20] <jdaggett> the 2.1 spec has the wording in the defn of letter-spacing: normal
- # [02:20] <jdaggett> "The spacing is the normal spacing for the current font. This value allows the user agent to alter the space between characters in order to justify text."
- # [02:21] <fantasai> I don't understand what you're trying to prove.
- # [02:21] <jdaggett> but i actually don't see at all how this would work in practice
- # [02:21] <jdaggett> i don't think any user agent implements any sort of mechanism to do this
- # [02:21] * fantasai suggests testing IE, if you have it handy. It supports text-justify: distribute, which makes it easy to trigger these cases.
- # [02:22] <fantasai> TeX adjusts inter-glyph spacing as part of justification. I'd be surprised if it doesn't also support ligatures, so that'd be another thing to test
- # [02:22] <fantasai> Not using 2.1 properties, but the same concept applies.
- # [02:23] <jdaggett> right, my point is that in the confines of 2.1 with just text-align, letter-spacing, and word-spacing i don't think it's possible to implement something that makes sense
- # [02:23] <jdaggett> text-justify is part of css3-text
- # [02:23] <fantasai> Sure it is
- # [02:23] <fantasai> Write a page that line-breaks such that there is a line of text
- # [02:24] <fantasai> ending in a soft wrap
- # [02:24] <fantasai> that contains no spaces
- # [02:24] <fantasai> justify the paragraph containing that line
- # [02:24] <jdaggett> and i think values like text-justify: distribute should automatically disable ligatures also
- # [02:24] <jdaggett> there should never be this weird "if the spacing is non-zero disable" logic anywhere
- # [02:24] <jdaggett> it makes no sense at all
- # [02:25] <jdaggett> in fact, i think the interaction between letter-spacing and some of the values of text-justify probably needs to be laid out much more clearly
- # [02:26] <fantasai> that complaint is insufficiently specific to be actionable for me
- # [02:26] <fantasai> sorry
- # [02:26] <jdaggett> it's pretty simple
- # [02:27] <jdaggett> how does the value of letter-spacing affect spacing/feature decisions for different values of text-justify
- # [02:27] <fantasai> it sets the limits
- # [02:28] <fantasai> on how far the expansion opportunities can be expanded/compressed
- # [02:29] <fantasai> text-justify doesn't say how far they can be expanded/compressed, only defines their relative priority based on which characters they're between/at
- # [02:30] <fantasai> text-justify basically says "gaps between Latin letters are treated the same as gaps between Chinese characters" or "gaps between Latin letters are a lower-priority than gaps between Chinese characters", that kind of thing
- # [02:31] <jdaggett> you mean values other than none or auto?
- # [02:31] <fantasai> yeah
- # [02:32] <jdaggett> basically, any distribution other than inter-word should break ligatures
- # [02:33] <fantasai> no, not really
- # [02:34] <fantasai> inter-word can cause inter-letter spacing, too
- # [02:34] <jdaggett> ok, you lost me
- # [02:34] <fantasai> if there are no spaces on the line, you can fall back to inter-letter spacing
- # [02:34] <fantasai> inter-word has spaces as first priority
- # [02:34] <fantasai> but inter-letter spacing is still there at a second priority
- # [02:35] * fantasai checked in some clarifications to word/letter spacing, defining normal == 0 btw
- # [02:35] <jdaggett> then you need to specify it in such a way that when inter-letter distribution is used, ligatures are disabled
- # [02:35] <fantasai> yep
- # [02:36] <fantasai> and another case is inter-ideograph
- # [02:36] <fantasai> you obviously don't want any ligatures between spaced-out ideographs
- # [02:36] <fantasai> but you'll still want them to apply inter-Latin, if the Latin isn't being spaced out
- # [02:36] <fantasai> which in most cases it won't
- # [02:36] <jdaggett> basically, any case that ends up not using the default advances set in the font
- # [02:36] <fantasai> since usually there's either spaces or ideographs on the line
- # [02:37] <fantasai> right
- # [02:37] * Quits: dbaron (dbaron@206.15.76.122) (Connection reset by peer)
- # [02:37] <fantasai> So I've tweaked the sentence from 2.1 to say
- # [02:37] <fantasai> "When the effective letter-spacing between two characters is not zero, user agents should not apply optional ligatures."
- # [02:37] <jdaggett> no
- # [02:38] <fantasai> zero means "use the defautl advance set in the font"
- # [02:38] <jdaggett> when the value of letter-spacing is non-zero or the justification alg is using inter-glyph spacing other than the default advances from the font, ligatures should be disabled
- # [02:40] <jdaggett> section 8 really oversimplifies how text is laid out
- # [02:41] <jdaggett> glyphs are laid out not just with advance widths
- # [02:41] <jdaggett> but also with context-specific kerning adjustments
- # [02:48] * Joins: shovenose (62d2e150@78.129.202.38)
- # [02:48] <shovenose> hello?
- # [02:48] * Joins: ShoveHost (ae6c6cc3@109.169.29.95)
- # [02:49] * Quits: shovenose (62d2e150@78.129.202.38) (Quit: http://www.mibbit.com ajax IRC Client)
- # [02:49] * Parts: ShoveHost (ae6c6cc3@109.169.29.95)
- # [02:53] <fantasai> jdaggett: I think it's intended to include those
- # [02:59] * Joins: dbaron (dbaron@206.15.76.122)
- # [03:23] <stearns> jdaggett: what about "when the optimal value of letter-spacing is non-zero or the justification alg…"
- # [03:25] <jdaggett> there's an interaction between properties here that needs to be made more explicit
- # [03:25] <stearns> jdaggett: FWIW, InDesign appears to use "when the optimal value of letter-spacing is non-zero or the justification lag results in letter spacing greater than the maximum, ligatures should be disabled"
- # [03:25] <jdaggett> basically i don't think any sort of calculated value should dictate ligatures on/off
- # [03:25] <jdaggett> so i would be very careful when comparing to indesign
- # [03:26] <stearns> jdaggett: sure, I don't expect UAs to follow InDesign's behavior
- # [03:26] <jdaggett> which is a single app that can do wonderful wild things under the covers without users knowing exactly what that is
- # [03:26] * Quits: dbaron (dbaron@206.15.76.122) (Connection reset by peer)
- # [03:26] <jdaggett> no, it's not that they shouldn't follow it, it's that there's an inherent difference between a model dictated by specs
- # [03:27] <jdaggett> vs. how a single application works
- # [03:27] <stearns> jdaggett: but it seems like a two-pass thing to me - try laying out the line with default spacing. If you can't, break the ligatures and try once more
- # [03:27] <jdaggett> no, no, no
- # [03:27] <jdaggett> i'll object up the wazoo if anyone seriously proposes such
- # [03:28] <stearns> so what should happen in fantasai's fi e l d example?
- # [03:29] * Joins: jet (jet@67.169.43.128)
- # [03:29] <jdaggett> first, no user agent, browser print or otherwise includes inter-glyph spacing as part of general-use justification
- # [03:30] <jdaggett> in the css case, the wording of the auto value of text-justify would appear to allow it
- # [03:30] <jdaggett> but i don't see when any ua would do that for the default case
- # [03:31] <jdaggett> any value of text-justify that explicitly uses non-default inter-glyph spacing should be disabling ligatures
- # [03:31] <jdaggett> no two-pass nonsense
- # [03:32] <jdaggett> if there are passes for a given ua, which the vague wording of text-justify allows
- # [03:32] <jdaggett> then it should be clear *before* each pass whether ligs are enabled or not
- # [03:32] <stearns> If you want the spec to specifically disallow the possibility, then I don't agree
- # [03:33] <jdaggett> i stand by what i wrote above
- # [03:33] <jdaggett> any value of text-justify that explicitly uses non-default inter-glyph spacing should be disabling ligatures
- # [03:33] <fantasai> they all do
- # [03:34] <fantasai> I think you need to carefully consider inter-ideograph
- # [03:35] <jdaggett> again, if a value of text-justify is specifying non-default spacing then ligs should be off
- # [03:36] <fantasai> again, that means all of them
- # [03:36] <fantasai> well, except 'none' :)
- # [03:36] <stearns> (except perhaps auto, which has a * in the priority table)
- # [03:36] <jdaggett> if all includes 'auto', which it appears it does, i will strongly object
- # [03:36] <fantasai> yep
- # [03:36] <fantasai> auto allows the UA to do *anything*
- # [03:36] <jdaggett> which is bullshit
- # [03:37] <fantasai> which includes inter-grapheme spacing
- # [03:37] <jdaggett> browsers should be using the spacing defined by a font
- # [03:37] <jdaggett> not making shit up as they go along
- # [03:37] <fantasai> of course they should
- # [03:37] <jdaggett> that's pure bullshit typography
- # [03:37] <fantasai> but justification changes that spacing
- # [03:37] <fantasai> that's what it does
- # [03:38] <jdaggett> what you're describing has never been implemented as the default behavior for text
- # [03:38] <jdaggett> nor should it ever be
- # [03:38] <jdaggett> text-justify: distribute, fine
- # [03:38] <jdaggett> but not the default
- # [03:38] <jdaggett> no, no, no
- # [03:38] <jdaggett> i'll sing that song forever
- # [03:39] <jdaggett> inter-glyph spacing is fundamentally font-specific
- # [03:39] <fantasai> I'd like to point out that justifying only at spaces doesn't work for CJK or SE Asian text
- # [03:39] <jdaggett> that's what type designers do all day
- # [03:40] <fantasai> and the fact that 'text-align: justify' has no effect on such texts in any UA that only stretches space characters should be considered a bug, not a feature
- # [03:43] <jdaggett> but for latin text there's no situation where inter-glyph spacing should be affected by text-align: justify
- # [03:44] <jdaggett> perioid
- # [03:44] <jdaggett> period
- # [03:44] <stearns> jdaggett: hat's insane!!!
- # [03:44] <jdaggett> er, no
- # [03:45] <jdaggett> that's what type designers are doing when they design a font
- # [03:45] <jdaggett> designing the glyphs *and* the spacing between them
- # [03:45] <stearns> (I used one more exclamation point than you did earlier!)
- # [03:46] <stearns> I agree that the default should be the decisions that the type designer made
- # [03:46] <jdaggett> right
- # [03:46] <jdaggett> but look at text-justify: auto
- # [03:46] <stearns> but someone using the font as a tool for their own design should be able to modify letter spacing
- # [03:46] <jdaggett> there's some skanky wiggle room there
- # [03:47] <jdaggett> naturally
- # [03:47] <jdaggett> but i think we should be specifying justification very carefully
- # [03:47] <stearns> text-align: justify should take the letter-spacing value(s) into account
- # [03:48] <jdaggett> text-align: justify with other css defaults should mean default inter-glyph spacing of latin characters
- # [03:48] <jdaggett> sure
- # [03:48] <stearns> which other css defaults?
- # [03:48] <jdaggett> the initial values of css props
- # [03:49] <stearns> letter-spacing in particular
- # [03:49] <jdaggett> letter-spacing: normal is the initial value
- # [03:49] <jdaggett> set it to something, it affects inter-glyph spacing and turns off ligatures
- # [03:49] <jdaggett> full-stop
- # [03:50] <jdaggett> no two-cycle nuttiness
- # [03:51] <jdaggett> and the defn of text-justify: auto seems like bullshit to me also
- # [03:51] <stearns> I could accept that as a current compromise, but I'd still like letter-spacing -10, 0, 10 to use ligatures unless letter spacing went above 110%
- # [03:51] <jdaggett> the behavior should be normative
- # [03:51] <jdaggett> not "ua's do whatever the heck the choose"
- # [03:52] <jdaggett> hmmm, commas? i hope not...
- # [03:52] <stearns> probably not commas - don't know the syntax
- # [03:52] <jdaggett> right, no commas, good
- # [03:52] <stearns> "whatever the heck they choose" could include a Knuth/Plass justifier, which would be awesome
- # [03:54] <jdaggett> the text-justify is defined as one big ball of non-interoperable poo
- # [03:55] <jdaggett> we should have text-justify: normal which reflects existing behavior
- # [03:55] <stearns> what's interoperable? I assert you'd never get to identical line breaks anyway, no matter how tight the spec
- # [03:56] <jdaggett> and then define text-justify: distribute and remove everything else
- # [03:57] <jdaggett> since justified text in CJK contexts is *not* the norm
- # [03:58] * Joins: SteveZ (chatzilla@50.82.139.9)
- # [03:59] <jdaggett> kashida requires extra help from the font system that no implementation is close to having
- # [04:19] * Quits: arno (arnog@192.150.10.201) (Quit: Leaving.)
- # [04:22] * Joins: dbaron (dbaron@70.36.140.99)
- # [04:41] * heycam is now known as heycam|away
- # [05:03] * Joins: miketaylr (miketaylr@70.112.101.224)
- # [05:19] * heycam|away is now known as heycam
- # [06:12] * Quits: miketaylr (miketaylr@70.112.101.224) (Quit: Leaving...)
- # [07:04] * Joins: miketaylr (miketaylr@70.112.101.224)
- # [07:48] * Quits: miketaylr (miketaylr@70.112.101.224) (Quit: Leaving...)
- # [09:15] * Joins: florianr (florianr@91.203.97.251)
- # [09:26] * Quits: dbaron (dbaron@70.36.140.99) (Ping timeout)
- # [09:38] * Joins: drublic (drublic@93.132.245.252)
- # [09:42] * Quits: jet (jet@67.169.43.128) (Quit: jet)
- # [10:13] * Quits: drublic (drublic@93.132.245.252) (Client exited)
- # [10:37] * heycam is now known as heycam|away
- # [10:37] * Joins: drublic (drublic@80.152.164.43)
- # [10:37] * heycam|away is now known as heycam
- # [10:38] * Quits: drublic (drublic@80.152.164.43) (Client exited)
- # [10:38] * Joins: drublic (drublic@80.152.164.43)
- # [11:14] * Joins: SimonSapin (simon@82.232.219.95)
- # [12:11] * Joins: leaverou (leaverou@203.167.141.74)
- # [12:50] * heycam is now known as heycam|away
- # [15:11] * Joins: lhnz (lhnz@94.31.26.5)
- # [16:07] * Quits: florianr (florianr@91.203.97.251) (Quit: Leaving.)
- # [16:16] * Joins: ksweeney (ksweeney@63.119.10.10)
- # [16:18] * Parts: ksweeney (ksweeney@63.119.10.10)
- # [17:15] * Joins: glenn (gadams@174.29.115.20)
- # [17:27] * Joins: krit (krit@192.150.10.201)
- # [17:40] * Joins: SimonSapin1 (simon@82.232.219.95)
- # [17:40] * Quits: SimonSapin (simon@82.232.219.95) (Connection reset by peer)
- # [17:47] * Joins: jet (jet@67.169.43.128)
- # [18:02] * Joins: jarek (jarek@79.186.13.163)
- # [18:10] * Quits: lhnz (lhnz@94.31.26.5) (Quit: Leaving)
- # [18:20] * Quits: jet (jet@67.169.43.128) (Quit: jet)
- # [18:30] * Joins: dbaron (dbaron@70.36.140.99)
- # [18:31] * Joins: arno (arnog@192.150.10.201)
- # [18:40] * Quits: drublic (drublic@80.152.164.43) (Client exited)
- # [19:01] * Joins: drublic (drublic@93.132.245.252)
- # [19:03] * Quits: jarek (jarek@79.186.13.163) (Ping timeout)
- # [19:12] * Joins: jarek (jarek@79.186.13.163)
- # [19:13] * Quits: jarek (jarek@79.186.13.163) (Quit: jarek)
- # [19:13] * Joins: jarek (jarek@79.186.13.163)
- # [19:14] * Joins: jarek_ (jarek@83.27.242.91)
- # [19:15] * Quits: jarek_ (jarek@83.27.242.91) (Quit: jarek_)
- # [19:15] * Joins: jarek_ (jarek@83.27.242.91)
- # [19:15] * Quits: jarek_ (jarek@83.27.242.91) (Quit: jarek_)
- # [19:15] * Joins: jarek_ (jarek@83.27.242.91)
- # [19:16] * Quits: jarek (jarek@79.186.13.163) (Ping timeout)
- # [19:16] * Quits: jarek_ (jarek@83.27.242.91) (Quit: jarek_)
- # [19:16] * Joins: jarek (jarek@83.27.242.91)
- # [19:24] * Quits: jarek (jarek@83.27.242.91) (Quit: jarek)
- # [19:24] * Joins: jarek (jarek@83.27.242.91)
- # [20:18] * Quits: SimonSapin1 (simon@82.232.219.95) (Ping timeout)
- # [20:24] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [20:34] * Joins: glenn (gadams@174.29.115.20)
- # [20:34] <TabAtkins> http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C!DOCTYPE%20html%3E%0A%3Chtml%3E%0A%3Chead%3E%0A%3Cstyle%3E%0A.wrapper%20%7B%0A%20%20%20%20height%3A%2050px%3B%0A%20%20%20%20width%3A%20100px%3B%0A%20%20%20%20display%3A%20inline-block%3B%0A%20%20%20%20background%3A%20rgba(0%2C0%2C0%2C.2)%3B%0A%7D%0A.cell%20%7B%0A%20%20%20%20display%3A%20table-cell%3B%0A%20%20%20%20vertical-align%3A%20middle%3B%0A%20%20%20%20background%3A%20rgba(0%2C0%2C0%2C.2)%3B%0A%7
- # [20:35] <TabAtkins> <http://software.hixie.ch/utilities/js/live-dom-viewer/saved/1688
- # [20:37] * Quits: jarek (jarek@83.27.242.91) (Quit: jarek)
- # [20:42] * Joins: jet (jet@206.15.76.122)
- # [20:53] * Joins: jarek (jarek@83.27.242.91)
- # [20:57] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [21:04] * Quits: jarek (jarek@83.27.242.91) (Quit: jarek)
- # [21:05] * Quits: dbaron (dbaron@70.36.140.99) (Ping timeout)
- # [21:10] * Joins: glenn (gadams@174.29.115.20)
- # [21:21] * Quits: arno (arnog@192.150.10.201) (Quit: Leaving.)
- # [21:33] * Joins: arno (arnog@192.150.10.201)
- # [21:34] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [22:09] * Joins: glenn (gadams@174.29.115.20)
- # [22:18] * Quits: Liam (liam@128.30.52.169) (Ping timeout)
- # [22:21] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [22:28] * Joins: Liam (liam@128.30.52.169)
- # [22:35] * Quits: arno (arnog@192.150.10.201) (Quit: Leaving.)
- # [22:43] * Quits: Liam (liam@128.30.52.169) (Ping timeout)
- # [22:44] * Joins: dbaron (dbaron@206.15.76.122)
- # [22:45] * Joins: Liam (liam@128.30.52.169)
- # [22:59] * Joins: glenn (gadams@174.29.115.20)
- # [23:03] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [23:03] * Joins: glenn (gadams@174.29.115.20)
- # [23:08] <TabAtkins> dbaron: I committed some APIs to the Conditional api chapter. Hope you don't mind! Feel free to tweak or revert as you wish.
- # [23:09] * Quits: krit (krit@192.150.10.201) (Quit: Leaving.)
- # [23:14] * Joins: krit (krit@192.150.10.201)
- # [23:17] * Quits: Liam (liam@128.30.52.169) (Ping timeout)
- # [23:22] * Quits: glenn (gadams@174.29.115.20) (Client exited)
- # [23:25] * Joins: arno (arnog@192.150.10.201)
- # [23:31] * Quits: drublic (drublic@93.132.245.252) (Client exited)
- # [23:31] * Joins: drublic (drublic@93.132.245.252)
- # Session Close: Wed Aug 01 00:00:00 2012
The end :)