- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Tue, 16 Nov 2010 15:43:59 -0800
- To: "www-style@w3.org" <www-style@w3.org>
Grids ----- Microsoft presented another layout proposal that deals with grids. There is a lot of overlap with Template. CSS3 Writing Modes ------------------ - Aharon and fantasai explained the new 'isolate' and 'plaintext' values for 'unicode-bidi', what use cases they solve, and how they interact with HTML5's bidi features. - fantasai explained the new 'writing-mode' property and its relationship to SVG; why it does not set the 'direction' property, and why the value names were changed - RESOLVED: remove the horizontal-bt value of 'writing-mode' - Briefly reviewed 'text-orientation' property. - Discussed tate-chu-yoko feature requirements. ====== Full minutes below ===== Present: Tab Atkins David Baron Bert Bos John Daggett Beth Dakin Elika J. Etemad Sylvain Galineau Daniel Glazman John Jansen Richard Ishida Koji Ishii H�kon Wium Lie Peter Linss Markus Mielke Alex Mogilevsky Ilkka Oksanen Steve Zilles <RRSAgent> logging to http://www.w3.org/2010/11/02-CSS-irc <RRSAgent> http://www.w3.org/2010/11/02-CSS-minutes.html Scribe: jdaggett Grids ----- +Phil Cupp on the phone from MSFT <mmielke> http://www.interoperabilitybridges.com/css3-grid-align/ alex: need some good 2d layout mechanism in css alex: need for ui apps not just free-flowing text alex: several proposals for grids/table like layout alex: looked at requirements first alex: we like our proposal alex: how does this relate to previous proposals? alex: this proposal is based on xul, wpf-grid, probably closest to wpf-grid alex: but uses flex box like elements (?) alex: make sense? alex: let's go over the spec alex: grid works by defining grid lines alex: layout using row, column coords and how many columns it overlaps alex: grid sizes to content alex: works for both fixed/float cases alex: define using alex: display: grid | inline-grid alex: grid-column, grid-row with value to define grid alex: (looking at ex 2) dbaron: what are the values of grid-columns, grid-rows? alex explains syntax * fantasai is having a hard time understanding why this is better than Template markus: values are from template spec alex: columns, rows can overlap alex: lots of interesting overlap cases alex: for example, equivalent of xul stack layout with single slot w/ multiple items stretching to largest jdaggett: does this have features that template doesn't support? alex: overlapping elements bert: also, this allows you to automatically grows grid with content bert: I explicitly left that out of Template to keep it simple sylvain: yeah, if you add content at 5,5 to a 3,3 grid it grows automatically alex: useful for sparse grids, or grids where order can change markus: no-brainer if know tables alex: no ascii art jdaggett mourns this * mollydotcom mourns no ascii art too * TabAtkins too! bert: syntax question, many ways to express concept * TabAtkins suggested a way to still mix-in ascii layouts that mesh well with the rest of Grid. fantasai: snap to grid functionality? alex: not yet, every item is explicitly placed fantasai: not a fan of positioning aspect fantasai: but a flex box layout aligned to grid would be powerful fantasai: using flexbox or template to align would not break with reflow <glazou> glazou 'grid-cell: 'selector'' can be added afterwards * mollydotcom agrees with fantasai - the positioning isn't design-intuitive but a flexbox aligned to grid would make designers drool with happiness. Snap to grid would do so as well. <fantasai> mollydotcom, exacty. I think flexbox or template + snap-to-grid would be great <fantasai> It seems to me easier to use, and less likely to break with reflow effects (window resizing, font resizing, changing content, etc.) peter: typically grids are defined by lines not cells peter: and align to line, not cell jdaggett: didn't you propose grid positioning with grid lines? alex: no real contradiction between the two alex: we didn't want to combine the two peter: I want to align to a gridline. And I'd probably want to align to a named gridline, so I can insert other grid lines later and not have it move alex: could have circular dependencies alex: i would to see both alex: but don't want to spend the whole time resolving dependencies alex: can do the same with this as with gridlines jdaggett: Graphic design books that talk about grids, was more along what Peter was saying jdaggett: This model you're going to have to do extra work to define that markus: two core use cases markus: 1. print design layouts markus: 2. app layouts markus: this is more for (2) alex: grids in print don't deal with resizing issues alex: much better to have some that are fixed, some that flex alex: when grid is sized by content is actually more useful but doesn't cover all scenarios stevez: symbolic identification stevez: names to cells? fantasai: that's what template does alex: we have started with minimal feature set peter: i don't want to name cell, i want to name lines peter: if a grid row/line is added in the middle, the grid shrinks peter: i want to span from one gridline to another peter: even if lines are added in between peter: could be dynamic or for additive layout peter: like in the case when you just want to add a logo to a layout pcupp: we thought about a pseudo-element that spans cells (?) pcupp: the cell defines a region for content to be laid out <Bert> (Maybe Peter is thinking of something like: 'grid-columns: a=0%, b=75%, c=50%' and then 'grid-column: c'?) pcupp: maybe it's aligned, maybe it stretches pcupp talking about an example... markus: just a slightly different use case alex: can it be used as gridlines? no, not just with this alex: but we want to have some form of gridline like capability sylvain: i think we need to capture peter's use case sylvain: of inserting new gridlines peter: this defines cells but i don't think we need another way of defining cells alex: this is about grid alignment of cells alex: obviously we can take it further peter: I understand this gives some more capabilities that template doesn't have, but let's improve template and use this module to do something different peter: give me the ability to name a gridline peter: so that i can say "this thing goes in a box that goes between these gridlines" peter: this way i can define my cells arbitrarily peter: rows/columns we already have, if we're adding something, let's add something new daniel: peter's proposal is not far away from my proposal to define layout with respect to other elements murmurs of disagreement <dbaron> I think this is pretty different, since this contains things properly so things won't overlap. <glazou> dbaron: : no overlap ? continuing through spec * mollydotcom it is something that must be worked out. Grids/lines is a very familiar paradigm in design. And as Peter points out, we have rows and columns already * Bert thinks the problem is that layout may be the missing piece, but everybody defines layout differently... * mollydotcom adds that the medium often defines layout limitations too, screen v. handheld, etc. alex: there is a property that controls the order of rendering alex: to deal with overlapping elements alex: not super important (section 8 of spec) peter: what if you just use z-index? alex: we can discuss that peter: i don't see the difference alex mumbles... and smiles daniel: i'm considering working on peter's proposals daniel: i have a few ideas about this howcome: use cases would be interesting howcome: for comparison daniel: i'll work on the ideas, then the use cases if i have time stevez: there were previous proposals for... stevez: a two-column layout with a figure in the middle stevez: there's an issue with how to overlay howcome: that's in gcpm!! howcome: but this is app centric, not document centric peter: lots of use cases for document centric uses daniel: this is really about app centric use alex: concurs stevez: i'm dazed and confused * fantasai notes that flexbox was intended to solve the app-centric layout model <fantasai> I believe template + flex could do most of these layouts, aside from the overlapping ones stevez: i thought you were tailoring the syntax for one use markus: there's an aspect.... * glazou said he's accepting an action item to work on a new proposal more line-centric pcupp: we think it's the common case where controls are composed using this section 2.4, figure 6 picture of a slider because the world needs more sliders... alex: what can we do with this? new module? merge with another? bert: seems close to flex box tab mumbles bert: i have a number of comments bert: when you put two elements in the grid they overlap, they don't add bert: might be good or bad markus: you need it as in the slider example tab: this example is also nice for being able to overlap <szilles> +1 for tab's comment bert: what's the intrinsic size in this case? <fantasai> <slider style="display: flexbox"> <lower-fill style="flex: 0.5"/> <thumb style="position: absolute; width: 2N; left: -N"> <upper-fill style="flex: 0.5"/> </slider> ? alex: multiple items in cell all affect sizing tab: I provided an example in my response to the grid-align thread where it was useful to be able to position multiple items in one cell and have them flow together, rather than overlap. However, overlapping is *also* useful. bert: don't like three props, why not one alex: yeah but that would be a long line alex: well you don't need to specify predefined size bert: wondering float and position alex: works just like flex box <dbaron> I'd prefer not to put complicated syntax inside values of 'display'. * fantasai too alex: float ignored, position with regards to nearest positioned element tab says something i don't understand alex: position might also work the same way but not affect sizing tab: in my position layout proposal, i came up with a good model for positioning in new layout proposals <dbaron> I think alex said there are two options for position: absolute; the normal way (placeholder, etc.) or position according to grid rows/columns but not affect sizes of the grid rows/columns. Tab: In my Positioned Layout proposal I specified a consistent and easy way to make positioning interact with other layout modes. Tab: The positioned element leaves behind a placeholder element. TabAtkins: You could then use the grid properties to position the placeholder, which would affect the 'auto' position of the abspos box (what it means for "top:auto", etc.) alex: the way to think about absolute positioning alex: with a grid it's obvious where it's positioned alex and bert discuss this bert: difference between grid-row and grid-rows is just one letter bert: same for columns syntax discussion bert: for flex box the content is in a given order bert: with this proposal the source order doesn't affect the order in the grid alex: one possible extension is auto-incrementing rows/columns alex: this is closer to xul grid dbaron: also auto-incrementing row-groups/column-groups <dbaron> and you could allow them to take grid-row/grid-column (or lines) and not start at the top-left bert: the idea that you auto-create the table based on a single cell bert: but you can't catch errors in your design bert: because it's not based on explicitly named entities alex: either way you need to define a protocol here bert: i'm not sure plus/minus but it does mask errors bert: you don't allow % in cell size alex: could be added tab: what exactly do you want to base the % on tab: you need to explain which the % is based one dbaron: i was thinking of someone designing a page dbaron: with embedded grids with constraints between elements dbaron: with this proposal you would use nested grids <Kai> +1 to David's proposal dbaron: are there cases where nested grids need to line up with ... outer grid lines peter: this is why named gridlines are handy <Bert> (DBaron wants something like constraints on the columns widths: a = b = c, d = e, sum(a.e) = parent, but not relation between a,b,c on one hand and d,e on other...) pcupp: so you're talking about how to line up nested grids with outer grid pcupp: with unioned gridlines, spanning behavior becomes hard to predict pcupp: things tend to grow in unpredictable ways <fantasai> dbaron's drawing: <fantasai> +--------------+ <fantasai> | | <fantasai> | +--+--+ <fantasai> | | | | <fantasai> +--+--+--+--+--+ <fantasai> | | | | | <fantasai> +--+--+--+ | <fantasai> | | <fantasai> +--------------+ bert: also, you can't put something in your cousin grids, only grids within single tree bert: just a remark bert: this is hard bert: cesar found examples where this might be handy stevez: why is that a good thing? bert and steve discuss trees and cousins stevez: similar to separating template from content bert: you can select different grids from screen size bert: you can use the body element to hook your grid on bert: those are my comments fantasai: you might also want named grids fantasai: main and secondary fantasai: but maybe i don't totally understand <Bert> (Something like: 'grid-column: a.1' for column 1 in grid a?) alex: we would like to make this an editor's draft alex: what else do we need to get there? alex: we can make changes to deal with use cases and functionality discussed stevez: how many table-like layout mechanisms do we need? markus: you need a variety markus: you need abosolute positioning, flex box, grid * fantasai wonders if xul has abspos markus: each solves a different use case pcupp: overlap in grid / flexbox use pcupp: they're complimentary peter: this is a 2d flexbox stevez: there are comonalities stevez: declaring size constraints stevez: concerned about complexity markus: in the end it all makes sense markus: app vs. doc roles tab: steve, your concern is that we get too much complexity? stevez: it's that we have a lot of ways of defining cellsize stevez: are the pieces the same across all three sizes? * Bert wonders if we should have not just a CSS Beijing, with the stable features for typography, but also a CSS Lyon, with the stable features for GUIs. Maybe few UAs need to do both... tab: you can express everything in one master model tab: different uses require different layout models tab: layout models interact in orthogonal ways * glazou thinks we spend far too much time on specs that don't provide new technical stuff and does not want another "snapshot" for every ftf tab: make each as easy as possible stevez: i'm ok with that but i want to make sure that concepts carry across the models stevez: the base primitives need to be consistent tab: yes, you want primitives to work across layout models (?) howcome: healthy competition across modules is good howcome: this model and template don't make sense together * Kai is concerned about authors being able to distinguish between the various modules and starting to mix and match, perhaps creating problems down the road stevez: is there an action item for bert/alex to combine these ideas bert: future ideas, non-rectangular cells, chained cells howcome: and across pages bert: so the question is how these concepts fit with that peter: grids that flow across pages or grids that repeat peter: can we use the same syntax for both markus: need to be careful about use cases markus: if combination is complex, life sucks for everyone peter: one problem is that you're calling this a grid peter: it's not really a grid stevez talking about the beauty of xsl markus: need to solve both print-like and app use cases markus: two action items, alex/bert to kibbitz markus: and talk with daniel about his ideas peter: may end up with 90% overlap stevez: could be true, punchout or overlay, small set of props captures both stevez: a model for both is important stevez: no problem if app is favored, since docs are harder peter: i just want us to be thinking about this markus: yeah, maybe grid is not the best name here fantasai: grid-columns and grid-rows are common to both grid specs? alex: yeah, we have to merge or redefine discussion of what to do with the document daniel: grids are already in the charter stevez: not sure this is FPWD ready stevez: we should do some vetting daniel: don't need to name it now markus: first agree on what's in these specs <br type="coffee"/> ScribeNick: TabAtkins CSS3 Writing Modes ------------------ <sylvaing> http://dev.w3.org/csswg/css3-writing-modes/ fantasai reviews the draft from the top down. See http://dev.w3.org/cvsweb/~checkout~/csswg/css3-writing-modes/Overview.html?rev=1.37&content-type=text/html;%20charset=iso-8859-1 BIDIRECTIONALITY fantasai: In the draft, I define some terms and drew some pictures. howcome: I suggest simplifying the terms to 'inline direction' and 'block direction', not '* flow directionality'. szilles: I think "directionality" is a hard word for non-English speakers. fantasai: Okay, don't have an opinion much. [Aharon later suggests "inline base direction"] fantasai: Most of the bidi text here is just copied from css 2.1. <sylvaing> section 3.2. title typo: 'uncode-bidi' dbaron: Could we have an additional set of parens on the unicode-bidi property, so we don't have to rely on knowing the relative strength of the opeerators? fantasai: yep fantasai: 'isolate' is a new unicode-bidi value, proposed by the bidi for html group. fantasai: That prevents strings that have a different directionality from having an effect on the text around them. fantasai: There's also a plaintext value, which is intended to use the unicode bidi algorithm's plaintext heuristic to determine the bidi direction of each paragraph. fantasai: This does *not* affect the direction property, it just affects bidi resolution. aharon: Should I give use-cases for 'isolate' and 'plaintext'? szilles: Would be helpful. <dbaron> http://www.w3.org/TR/2010/WD-html-bidi-20100304/ has some use cases for these new features, no? aharon: 'isolate' is useful in the context of a webapp that is inserting data into a page. aharon: Frex, I'm displaying search results, and the title of the results are outside data and may not be in the same language as the rest of the UI. aharon: If you don't isolate the titles, it quite often interacts with the stuff around it, such as numbers and other neutral characters. aharon: Outside of an app, it's useful for quotes and links - I can't imagine why you'd want a link to be broken up into two parts due to its directionality interacting oddly with the surrounding content. fantasai: It drastically reduces the number of LRM/RLM you have to use. aharon: Side thought - I think instead of "inline direction", use "inline base direction". aharon: The base direction is controlled by the 'direction' property. aharon: There are a couple of problems. You might not know what the direction is - it could be outside data. aharon: It is very useful to let the UA guess what the direction is using standard algos based on the characters in the data. aharon: There is a separate proposal in HTML for @dir=auto aharon: That's not precisely what we have here in 'plaintext'. aharon: The UA, in HTML, sees dir=auto, looks at the content, decides whether the direction is rtl or ltr, then sets the CSS 'direction' appropriately. aharon: That's good, but doesn't go quite far enough. aharon: Let's say I have a textarea - plaintext - that the user is typing into. aharon: Is it fairly useful to have some paragraphs in one language and some paragraphs in another language. Frex, I'm typing in a restaurant review in Hebrew. aharon: I give the review in Hebrew, then say "the address is:..." and give it in French because the restaurant is in Lyon. If I don't switch the direction of the paragraph, the number at the start of the address will go on the wrong side. aharon: So you want the ability to have paragraphs that go in different directions. aharon: If you're doing markup, that's great - you can just make separate paragraphs. aharon: If you're just typing into a textarea, though, you can't do that. aharon: The unicode bidi algorithm defines a simple way to define the directionality of each paragraph (where "paragraph" is defined by the bidi algorithm). aharon: So 'plaintext' would say that the textarea isn't necessarily ltr or rtl, it's plaintext where each paragraph can go either way. aharon: It's still not limited to textarea, of course - often after taking the data from a textarea you want to then display it. aharon: So you want to still be able to apply this same directionality algorithm to the results outside of a textarea. aharon: You can't hide the directionality determination from CSS with dir=auto here, because the different paragraphs aren't marked up as explicit elements. dbaron: [question about which characters serve as paragraph separators] aharon: The unicode algorithm is very precise about which characters are paragraph separators. In the past, some browsers didn't follow that exactly, which is basically a bug. Bert: What's the difference between 'embed' and 'isolate'? aharon: 'embed' says "this element has a base direction", but that doesn't prevent the element from affecting stuff outside of it. aharon: So, if I have an english paragraph, but in the middle is an arabic word and then an embed of a separate element which is explicitly rtl. aharon: The unicode algorithm says that the arabic and the rtl are merged together and will both flow rtl together. aharon: You don't want this - logically, the arabic and the embed are separate, and shouldn't stick together. Bert: So inside, 'embed' and 'isolate' are the same. They're different outside? aharon: Yes. howcome: It seems that you need to explicitly set all block-level elements to 'isolate'? dbaron: That should be in the default stylesheet. aharon: You don't necessarily need it. It's just that if you have a block-level element and you use CSS to make it display inline, you really want it to still be isolated. aharon: Right now HTML5 effectively says that all block-level elements should be 'embed'; we just changed it to 'isolate', which is closer to the intent. aharon: As to making a block inline, one example is an inline list. If some of those values are opposite direction, it's important to have isolation apply to them. howcome: So, can we in any way hinge this behavior on the existing CSS display? fantasai: If the display is anything other than inline, you already *effectively* have the isolate value. fantasai: The problem is just that when you change the display value to inline, there's no CSS distinction to tell us that this *used* to be a block-level, so you need 'isolate' there. * kennyluck http://dev.w3.org/csswg/css3-writing-modes/#bidi-html looks relevant TabAtkins: You can in the UA stylesheet just set all the block elements to 'isolate', so the author doesn't have to think about it. howcome: But you have to remember to set 'isolate' in new XML languages. TabAtkins: Yes. Bert: Does this cover all known cases? fantasai: This covers all of CSS2.1 + all of the proposals from the bidi subgroup for i18n. VERTICAL TEXT fantasai: Now, 'writing-mode'. fantasai: The previous writing-mode property was a shorthand for block-flow-direction and 'direction'. fantasai: One of the things I was tasked with was to sync with SVG, which is very explicit that the writing-mode and direction property don't interact. fantasai: The SVG spec has these valuees (lr, lr-tb, rl, tb, tb-rl) fantasai: I could figure out what the 'rl' value was and how it differs from 'lr'. fantasai: The SVG spec says you do bidi reordering, then use writing-mode to change the inline progression direction. fantasai: Which is left to right in 'lr' - this is *after* bidi reordering, in visual order. fantasai: As far as I can tell, 'rl' should maybe just mean reverse the text, but I only found one impl that does that. fantasai: So, I just mapped both of them to the same thing - 'horizontal-tb'. fantasai: So now, in CSS, the 'direction' and 'writing-mode' are distinct. You first do bidi reordering, then 'writing-mode' just defines the axis to use. fantasai: I thought that saying 'lr' was confusing, since it doesn't have anything to do with ltr text, so I called the value "horizontal-tb". shepazu: The reason SVG does it the way it does, is because XSL did it that way. fantasai: I don't have any objection to the way SVG did it. I don't think it's good for authors to be using a property that resets all the bidi in the document just to get vertical text. sylvaing: Is there content out there using 'writing-mode:lr-tb'? fantasai: Yes, but it's not relying on the direction-reset stuff. fantasai: I think the number of people who are mixing rtl with vertical text right now is basically ignorable, though I suspect it will increase as we support this. shepazu: Let's say I have a table in HTML, and I want a header going down the side, with english vertical text... fantasai: That's addressed by other stuff in the draft. fantasai: So, with 'writing-mode', the first value gives you the line axis, the second gives you the block-flow. "horizontal-tb", and "vertical-lr". fantasai: [I missed the line about mongolian] jdaggett: I don't understand why we need horizontal-bt. fantasai: I did it because MS implemented it. alexmog: Mainly for completeness. jdaggett: I don't understand completeness. alexmog: It's simple and obvious what it means. There aren't large use-cases, but it takes a very minimal impl cost. jdaggett: Agreed that it's a minimal cost, but I still don't think that we should have random property values. Someone still has to test that. jdaggett: Frex, this can affect what PgUp/PgDn mean, which means manual testing. fantasai: I completely abstain from this. shepazu: Are there any scripts that have used it? [maybe some archaic scripts, but not commonly] howcome: I don't think we need to try for complete here. howcome: What does it mean in a paged medium? * dbaron wonders what direction the writing in http://maps.google.com/?ll=35.663524,139.763601&t=k&z=21 is [chatter about pagination] fantasai: You paginate up. shepazu: Small but serious use-case: shepazu: There are efforts now to go back to ancient texts and transcribe them in some format. There are people who want to represent dead languages. jdaggett: I think we can remove it for now, and then put it back if someone has a language that needs it. dbaron: I don't think it's minimal cost, because dealing with overflow/scrollable region handling, you'll need to test initial scroll position being at the bottom, etc. alexmog: We've already defined 6 of the 8 possible directions, which already bring up the issues you mention. Is it additional burden to add the last two? plinss: Can we mark it as optional? jdaggett: It's either in the test suite or not. plinss: We can spend as much time debating it as it would take to implement it. fantasai: I don't care what we do. I just want to resolve. * sylvaing resolved: moved to gcpm! RESOLVED: remove the horizontal-bt property. Bert: The name is fine, but I think that 'writing-mode' in XSL does influence the direction, so there's a difference there. fantasai: The disconnect between XSL-FO and SVG/CSS has existed since SVG 1. I don't think bringing up the incompatibility is useful, since the incompat already exists in SVG, so you'll have to support it anyway. jdaggett: I don't know why XSL compat is an issue. szilles: SVG needs to work in both XSL and CSS. fantasai: SVG is already incompatible with XSL. Bert: I thought that SVG copied from XSL. fantasai: They must have copied badly here, then. shepazu: I don't know if there's a lot of existing content, but I think in general the SVGWG is okay with changing behavior to match the CSS model, as long as it doesn't break existing content. Bert: I'd like to be able to use CSS and XSL together. shepazu: There is a japanese SVG interest group, so they'll look at the issue. fantasai: Next interesting bit is text-orientation. fantasai: szilles and Paul Nelson and I worked out these values a long time ago. fantasai: The default is "vertical-right", because that's the natural orientation for vertical scripts, our main use case. jdaggett: The Latin-1 version of the latin alphabet and the fullwidth version usually act differently in vertical text, and this is captured in opentype. fantasai: The spec should indeed specify that, if it doesn't already. jdaggett: We probably want to be explicit about the interaction with opentype, or refer to the spec. fantasai: I'll need help with that, because I have no clue about OT. jdaggett: You use the term "grapheme clusters", which I think won't be underestood by most people. ishida: Sometimes grapheme clusters aren't sufficient in indic scripts. fantasai: Is that captured in the "extended grapheme cluster" definition? ishida: No. You either need a new definition, or need to punt it to the UAs. fantasai: Let's mark that as an issue. It's the same problem we have with first-letter, so we need to fix it the same way. Bert: Could we call the default 'normal' or 'auto'? howcome: I don't understand what you mean by "not native writing mode". fantasai: horizontal script in a vertical orientation is "non-native", and vice versa. Bert: The default value is the normal way that english is embedded in japanese, so it should have a simple name. ishida: Not always normal - acronyms are often not rotated. fantasai: Those are usually done with fullwidth glyphs, which do their rotation correctly. fantasai: Compat with SVG; we're not using glyph-orientation. fantasai: It doesn't handle anything except the most common cases. I recommend we not go into the precise details. fantasai: The interaction between text-orientation and glyph-orientation is well-defined, though - text-orientation will by default defer to glyph-orientation in a UA that implements both. <fantasai> Note to self: make auto value default value for everyone -- maps to vertical-right for impl that don't support glyph-orientation fantasai: Now, text-combine. fantasai: It can be used for an effect called "tate-chu-yoko". It's different from just doing an inline-block, because the combination is treated like a single glyph. jdaggett: I think that since this is a vertical-only property, maybe the name should reflect that. jdaggett: Also we can probably drop the 'cluster' property. ishida: You can have kumimoji (sp?) in horizontal text too. jdaggett: You can either do that as direct codepoints, or many fonts have ligatures for those, which are different for vertical vs horizontal and will do the right thing. jdaggett: I just don't think we want the UAs to synthesize these. A font will have something that looks nice with the text surrounding it. ishida: Then there's warichu (sp?). Are you discounting that? jdaggett: That's a known hard problem. Not currently addressed by this draft. <dbaron> http://www.w3.org/International/articles/css3-text/#Slide0190 has pictures of kumimoji and warichu szilles: I think what's being proposed is that the 'cluster' should be split out, because it's a different thing from tate-chu-yoko. jdaggett: Also, some people from the japanese TF came back and said that it's not really good typography to do this. ishida: It makes some sense to me to not bundle it with the tate-chu-yoko. jdaggett: For tate-chu-yoko, some authors may only want to do this style (2-characters only), but newspapers will sometimes use third-width or quarter-width glyphs (for things like years). jdaggett: It would be nice to say "I want tate-chu-yoko for 2-character runs, but not 3 or more". So maybe a number in the property. jdaggett: Fallback behavior - I think I said behavior that quarter-width falls back to third-width, falls back to half-width, falls back to full-width. I think instead if one doesn't exist it should scale. fantasai: Or just have it overflow. szilles: I think if you had a year that was expeected to be a single line, splitting it into two segments would be confusing. jdaggett: Right. szilles: Also, tate-chu-yoko is sometimes done with letters, for acronyms like "IBM". jdaggett: Unfortunately, fonts have quarter-width numbers much more commonly than letters. ishida: Perhaps we should ask the Japanese here in our group what they think. dbaron: Also, is falling back to scaling better than falling back to no tate-chu-yoko at all? <br type="lunch"/>
Received on Tuesday, 16 November 2010 23:44:35 UTC