- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Mon, 08 Sep 2008 18:55:56 -0700
- To: www-style@w3.org
Attendees: David Baron Bert Bos (staff contact) John Daggett Arron Eicholz (via phone+IRC) Elika Etemad Daniel Glazman (chair) Richard Ishida (observer) Anne van Kesteren Philippe Le Hégaret Håkon Wium Lie Peter Linss (chair) Alex Mogilevsky Saloni Mira Rai Steve Zilles <RRSAgent> Logging to http://www.w3.org/2008/08/21-css-irc Scribe: dbaron Meeting: CSS Working Group Face-to-Face GCPM ---- Håkon: This draft is a clearinghouse for print-related features that didn't fit elsewhere. Håkon: Until recently, it's mainly prince, but we've recently heard of another implementation. Håkon: The draft has moved a bit recently. Posted a new editor's draft based on feedback. Håkon: Stable parts: running headers/footers, leaders, footnotes, hyphenation, image resolution, cross-references, page marks, bookmarks, CMYK colors Håkon: These have implementations and not many requests for changes. Håkon: Developing parts: named page lists (page sequences), character substitution, page floats. PLH: Intended only for print media? Håkon: That's currently in the document that it's only intended for print media, but some could be reused outside of print. <fantasai> Should be here: http://dev.w3.org/csswg/css3-gcpm (but dev.w3.org is not loading) Alex: Most things in the spec could apply to interactive view. But some things wouldn't work well there. Do we want to look at this ignoring interactive view, or considering it? <glazou> fantasai: http://www.w3.org/Style/Group/css3-src/css3-gcpm/Overview.html Bert: Not for the module to say what's for what media type; that's for the profile. Håkon: I don't want this to be a threat to, e.g., progressive rendering. Peter: I want browsers to support this when they're printing. Håkon: absolutely Alex: There are very few features that are only print-specific. So I'm not sure how much value is in ignoring interaction when we discuss this -- or can we get ourselves in trouble by making things that are hard to make interactive. Elika: I think we probably want some pieces to move to other drafts. (discussion about whether cmyk() is actually defined, etc.) Steve: ICC probably has something that talks about CMYK, but I don't know what off the top of my head GCPM: border-length ------------------- Håkon: Another feature that can be reused is border-length. Elika: We could reuse border-radius and have a border-corner-shape Peter: Wouldn't that preclude rounded corders like that? David: This seems separate from border-radius. Elika: border-corner-shape: [ sides | corner ] || [ round | sharp ] Alex: border-length is a little more intuitive Håkon: What about covering only non-corners. Steve: Concern about overloading radius. Steve: Can't use radius for both amount to show and the curvature. Håkon: Maybe syntax from border-radius, but on a new property? Elika: But we'd want it to take percentages. Elika: And you'd want to be able to invert it to take only the middle. Bert: Do we really need all this, given border-image and SVG? Håkon: This came out of a simple request for footnotes. Håkon: But it seems to be reusable. I've seen all these limited borders since I started this. ?: Can we put it in backgrounds and borders? Elika: Yes... but we should mark it at risk. Peter: Implementations? Håkon: No Håkon: So we want a new property like border-radius, plus another new property for the shape (e.g., for diagonal corner, or for inverted). Alex: What happens when length is less than radius? Steve: It's a mask. Steve: I'd suggest calling it 'border-mask'. David: That sounds like something else. Steve: 'border-clip' ? (drawings) Daniel: This goes far beyond gcpm. ?: to borders and backgrounds Steve: Math people want adjustable brackets. Elika: You don't want that with borders - you want a font. Peter: What's the 'auto' value? Håkon: 'auto' within lists copies from a different corner Peter: Initial value should be a complete border. Peter: Is that 'auto'? Håkon: OK, 'auto' should be the initial value and mean the complete border is used. David: You could make v/h %ages refer to width/height. Alex: Then you can't get %ages square. GCMP: Text Replacement ---------------------- Håkon: Text replacement: necessary for printing to fix up quote characters. Daniel: This is transformation, not style. Daniel: Transformations of the document with a simple syntax are needed. I did that 10 years ago with STTS. But don't call that CSS. Håkon: We should have a new content type? Daniel: No, but put it in another spec. Daniel: I have no problem mixing it with text/css, but put it in another spec. Steve: If there were an element there, I could do it with 'content' and it would be style. Steve: If the selectors allowed me to select a given textual string and make it a pseudo-element, then that would be consistent with the rest of the language. Steve: The point here is that it's un-marked-up elements. Håkon: This example (s/Soviet Union/Russia/) was meant to scare the kids. Daniel: This should be a script that the printer driver offers you. Steve: There's no reason I don't want to see this on the screen. Daniel: Once we do this, people will want much more transformation. Alex: Open quotes and close quotes are harder. Daniel: Having transformations with CSS syntax has problems with the cascade. Scribe: fantasai Daniel: You can transform the document in ways that cause further transformations Daniel: And you can get into a loop that way Daniel: You want transformations as a sequence Daniel: That is why I did not combine STTS with CSS Steve: THis problem came up in XML and it was never simple Howcome: THis doesn't change the structure of the document. Bert, Fantasai, Daniel: Not yet. Håkon: The replacements are applied sequentially. Howcome: the text replacements are sequential according to the list in the text-replace property David: Is it inherited? Daniel: body { text-replace: "Soviet Union" "Russia"; } p { text-replace: "Russia" "Soviet Union"; } What happens? Fantasai: It doesn't matter in this case Daniel: If you want to solve the problem of circular transformation Daniel: You can do that with a selector. Daniel: If you have "Soviet Union" over two different elements, what is the result? Howcome: In Prince you cannot make matches across element boundaries. Alex: In case something in GCPM doesn't make it into CSS3 whatever, do we have a plan of what happens to it? Alex: Is GCPM going to be a home for things we're not doing yet and pull out things like page floats that we find popular into other drafts? Yes Howcome: We should do that, but there are a core set of functionality like footnotes that are paged media specific Peter, Alex: I don't think footnotes are paged-media specific Daniel: back to text-replace. First, it's really underspecified. * anne wonders if the footnotes stuff works together with the minimum HTML5 did for footnotes Daniel: Second, I can agree on the usefulness. I want it in a standalone document. It does not belong to style. Howcome: It's not going to get it's own document type. Daniel: Why not Bert mentions XSLT Discussion about how this doesn't go far enough to be useful for some of the major use cases unless you have regex.. Steve: In the font capability we're thinking of extending the font feature to enable open-type features. Steve: That would solve your quote problem. <anne> (though I suppose you could match on ' "' and '."' or something) Steve: There are features in the font that allow you to trigger mappings of character to glyphs John: For example, a lot of fonts enable a slashed zero. They have an alternate glyph, and you can enable that feature. Howcome: That might turn out to be a solution. I personally cannot edit OpenType John: You'd specify it through font-variant <Bert> (I do need (and use daily) something of the power of XSLT. Would be nice if there were something with a better syntax, but I want people to have the choice to use XSLT as well. Hence we need to keep this separate from CSS.) Peter: I think the thing you match against the original text. David: Then you have to merge the replacements. David: What happens if your replacements overlap? E.g. you replace "Soviet Union" and you replace "Union". Howcome: You define a sequence. There's no infinite loop here. Ishida: What is your use case here? Ishida: You've got a document someone has written, and you want to print it? Howcome: Or I wrote it. I don't want to type the long unicode sequences. Peter: That's a very weak argument. If you're talking about a document you didn't write, then you have a use case. Daniel: These are not something you are associating with the document anyway. Daniel: So it is a local thing. You don't need a MIME type Peter: I can see you using it in a collaborative process when someone scans text and posts it, someone else writes a style sheet for it. fantasai: why can't it be a separate transformation sheet, like XSLT or STTS? Daniel: body { text-replace: "Soviet" "Russia"; } p { text-replace: "Soviet" "CEI"; } Scribe: dbaron Håkon: The replacements on ancestors would happen before replacements on descendants. Elika: This shouldn't be in CSS, so you can have all the declarations apply rather than having them override each other by cascading and inheritance. Steve: Should record: with the selector approach, you have the overlap problem. <dbaron> *:text("Soviet") { content: "CEI"; } David: If you make this an inherited property, then you have more overriding happening and you don't have these problems. David: Only one text-replace value ever applies to a given run of text. Håkon: I think we should take what we have two implementations of and make a spec of it. Steve: I think this feature should be a separate document. Peter: I think it depends on how this feature is defined. Håkon: I'm happy to make a separate document out of it, as long as it's not taken out to be killed. Steve: I think there are a number of options on the table, and making it a separate document lets us pursue those options. Peter: My other concern there is that we're rechartering, and we have a small number of modules to make progress on. <anne> (that should be ::text fwiw) <anne> (though the board is indeed wrong) Peter: I'm comfortable leaving it here until it's cooked; most of this seems like it can be moved into other modules. GCPM: Bookmarks --------------- Håkon: Bookmarks. Håkon: This is a way to generate PDF bookmarks. Håkon: It's modeled after what PDF can take. Daniel: It's like a TOC. Steve: It's a tree. Daniel: It's a way of copying some element into a new special box? Håkon: It's not a box, it's a logical structure. Alex: Why not call it table-of-contents-level? Anne: How is it stylistic? Håkon: You need this when you generate PDF. Anne: Can't HTML specify this? <Bert> (<link rel=bookmark href="#sect5">) Anne: The PDF generator should just extract it from the semantics of the document. Steve: If it's an XML document, how do you do it? Håkon: This is a pragmatic issue for CSS processors that want to create PDF files. <anne> (If it's XML you convert it to XHTML.) Alex: It's information used in another output format. Alex: It doesn't have to be CSS if it doesn't have any rendering effect in CSS Elika: It's adding semantic metadata to the document, not style. Alex: You could also have the data in a META in the HTML. Steve: But the selectors are more powerful. Daniel: Why don't you use counters? Elika: This is trying to do transformations and semantic tagging (using the power of selectors), which don't belong in style sheets. Håkon: We're doing links and ??? in Opera ... we're not going to take that out. Steve: We have electronic presentation forms, of which the bookmarks are a part. Peter: I agree that this is a presentational issue. Elika: Displaying the title of the document in the window title bar is similar, but we shouldn't do that in CSS. Peter: I don't think this is absolutely out of scope. Steve: If you want to claim CSS applies outside HTML, there's no way for an XML document to put something in the title. Peter: Putting the window title in HTML is violating separation of presentation and content. Elika: It's not about presentation; it's the title of the document. Peter: These distinctions aren't always obvious. Elika: You want to say "I am the title of the document", not "put me in the title bar". Elika: That's semantic tagging. Elika: The title is used for more than the title of the window, it's also used for bookmarking and in history Elika: And other places in the UI Elika: You want to do that with other XML formats, but you don't want to do it by saying "Put me in the title bar", you want to do it by saying "I am the title, present me appropriately". And that is semantic tagging, not styling. Peter: I don't want to kill it right off the bat. Bert: No, let's kill it. Daniel: In Håkon's proposal, the bookmarks themselves cannot be styled. Håkon: PDF can't do it. ?: Although that doesn't mean a browser couldn't. Håkon: This is a necessary feature for those of us who generate PDF files. Steve: Where would you put it? Elika: Some semantic tagging language. Håkon: Authors won't specify this. David: It's in the user agent (e.g., style sheet... although preferably not). Richard: ? Anne: H1 would just be part of the document outline Steve: What level of headings would you stop at? Anne: Why would you stop? Daniel: Limit depth. Bert: Collapsable lists... leave that to the user. Daniel: We see the power of doing this with CSS syntax, etc., but we don't agree it should be in CSS Håkon: It's in GCPM, which is in a separate space. Anne: Document outline is in HTML5. Steve: Did you look at XSL-FO for bookmarks? Håkon: I should. <br /> Extensions to the float property -------------------------------- Scribe: fantasai Howcome: Discussed on the mailing list recently. Antenna House has lots of good ideas. Howcome: There are four different alternatives. Howcome: First we extend float with 'inside' and 'outside'. Howcome: synonyms for left and right depending on which page you're on Howcome: Then we add 'top' 'bottom for vertical Howcome: Then we have reference keywords: 'page', 'column', 'multi-column' Howcome: Then we have conditional keywords: 'unless-room' | 'hide-unless-room' Howcome: so that advertisers can use any unused whitespace on the page Alex: you could have adverts of different size Howcome: float: top next page unless-room; Moves figure to top of next page unless room on current page Alex: How is this different from the default behavior of floats? Howcome draws on the whiteboard two pages first page-half-filled with text then a large image that doesn't fit normally it gets pushed to the next page and text fills after the image this would allow the image to shift over to the next page bu the text to continue filling on the first page Alex: Couldn't that just be regular float and clear? top allows float to move above placeholder Peter: that can get you into potential race conditions Alex: that can be resolved <Bert> ("float: top next page unless room" could be more compactly be called "float: here") Bert: you want the image centered. You only float it if it doesn't fit: it's not floated to any side. Howcome: you might want it to go to the bottom of the next page if it doesn't fit Steve: There's two cases Steve: It either fits on the page with the callout or it doesn't Steve: If it fits on the page, there are subcases. It would fit at the top, the bottom, or somewhere near the callout Steve: If it doesn't fit on the page, you may want to specify where it should go when it doesn't fit Steve: You want to specify where to put it if it does fit, and where to put it if it doesn't fit. Peter: Can this be done with page-break controls, or widow orphans, or something else Howcome: This case ('here') is non-floating fits or not? yes -- top | here bottom s/here bottom/here | bottom/ no -- ... Alex: We want to allow multiple figures with columns... we have to communicate intent that this should be regular float that should be anchored <Bert> (Or a fallback list, comma-separated, max. two items: 'float: here, top') Howcome: There are some cases where you're not floating, but if there isn't room you want to float Peter: Maybe you want to break out the notion of whether it fits. Peter: Maybe you want to absolutely position the thing if it doesn't fits Steve: So here's an example. If it fits on this page I want it at the bottom. If it doesn't fit on this page I want it at the top of the next page Steve: other cases are it's not floated at all if it fits, but floated to next page if it doesn't Steve: You don't want a break in the text. You just want it to flow. Bert: I heard from Steve the use cases. Bert: You place it this way if it fits, that way if it doesn't Bert: Why not have a comma. Bert: to separate the alternatives. Bert: Then you don't have this unless keywords which ar so confusing. Howcome: Suppose I have to floats that say 'top'. Are these floats both at the top, or does one go to the next page. Howcome: so it can be at the top? Steve: They're both floated to the top, show up in source order. David: Pushing to the next page sounds like the clear property Scribe: dbaron Steve: Having 50% wide float then 100% wide float on top looks ugly Håkon: With a very intelligent process you could fix that. Alex: Grid positioning, with places in grid for bigger and smaller images. Steve: Need a template. Alex: With templates ... handle wanting at most one picture per page. Håkon: float:top, clear: ? David: clear:top ? Alex: in this case you want just the float to clear, not the content that comes after Steve: If you think it's complicated now... Håkon: Maybe an argument for having separate vertical and horizontal floating properties? Elika: Better in the same property for cascading, etc. Elika: But maybe "unless-room", etc., could be a separate property. David: What if float:left and v-float: top? Steve, Alex: That's ok. Bert: float: left | right | here | top | bottom Bert: float property can accept two comma-separated values Bert: float: [left | right | none | top | bottom], [left | right | hidden | top | bottom] (People discuss whether none is in the second list.) float: none, * is the same as float: none Steve: 'float: top, none' means top if it fits on the page, in-flow if it doesn't (and at the top of the next page) Alex: I'd like to hear from a designer that they want this conditional fallback. Elika: Should you need the 'page' keyword for these examples? Howcome: that's another question, should 'top'/'bottom' imply 'page'? Howcome: There's a use case for floating to the top of the containing block. Elika: Designers really want that. Alex: For float anywhere on the page, we need keywords for top, left, right, bottom, plus keywords for abs pos CB and for page. Peter: I can see floating to an arbitrary grid line. Elika: Can we assume that these floats never escape the block formatting context we're in? Discussion of grid positioning Alex: I'm used to the Word model where you position an element on the page and then set the text wrap Alex: In terms of positioning (ignoring wrapping around them),there are some things that can be done with floats that can't be done with abs pos, and vice versa. <Bert> (You can wrap text around abs. pos. element only if the coordinate system for positioning doesn't depend on the position/size of the element itself.) (discussion of floating versus positioning) Alex: just for reference, word allows positioning anywhere but not relative to auto-sized elements Alex: so we'd get some very interesting issues if we have an auto-balanced multicol element with boxes floated to the bottom Richard: Arabic books or Chinese books, where the page on the right face comes before the page on the left face... Håkon: top is top, left is left, etc. Richard: So in a vertical document, if I want a page float at the start of the text... Alex: We consider 'top' and 'left' as synonyms given CSS2 floats that only go at the sides of the lines. Peter, Alex: Do we want inside, outside, start, end? ...before, after. Håkon: I don't accept the requirement that the same style sheet should be used for Arabic and English. Richard: I've spoken to people who translate to Arabic and find this very difficult. (discussion of before, after, start, end, etc.) Håkon: 'before page' is confusing Elika: If you're designing a site that you know is going to be translated, you want to design the style sheet once. Scribe: fantasai Bert and Howcome don't think in a way that this makes sense Alex: Approximately 50% of the people in this room see a legit use case for this Peter: We have people in this room who specialize in internationalization and writing in different scripts, I think we should listen to them. Richard: So Bert, you need to find people who back up your propositionin the Arabic and Hebrew-speaking world. Richard: Let me be clear that sometimes you set left and you always want it to be left. Richard: But oftentimes you want it to be the start of the line. Steve: A long time ago we decided not to relativize left/right/top/bottom. It's confusing if left did not mean left anymore. Richard: Maybe I don't mix up start and before because I've had to use those languages and I've had to learn what they mean. <anne> (I was suggesting something like :root > main { float:left } :root:dir(rtl) > main { float:right }) David: I'd note that our localizers are the ones who care about this. And when I start up the Hebrew version of Firefox, I get this. David: The localizers will go through the theme style sheets to make sure that the style sheets use the correct relative keywords David shows a copy of Firefox whose UI looks mirrored from the English layout Bert: Is see that you really have to think about it when you write the style sheet. It's not automatic whether it's left/right or start/end some argument about how much thinking happens when deciding which keyword to pick David explains to howcome that Mozilla has implemented start/end *-start/*-end internally <br type="lunch"> <anne> type is not a valid attribute for br people <Bert> </br> <anne> that's invalid too in HTML <anne> (in fact, it would get parsed as <br>, which would mean another break, which works for me...) Vertical text and CSS3 Text Layout ---------------------------------- Alex: We waited for Beta2 to come out before we started talking about implementing vertical writing for Mongolian etc.. Alex: We have support for all eight text directions Alex: We want that to be compatible with Text Layout spec Alex: What we propose to do to Text Layout spec is two things Alex; one we want to separate that Alex: Currently there is vertical writing mode part Alex: And there is a separate part about document character grid Alex: We think that the text layout part of it is very well defined and appears to be complete Alex: We propose to make that a separate spec and quickly bring it to completeness Alex: For line grid and document grid, we are not sure how to define completeness Alex: Because we don't have a requirements document. Alex: We can't say whether this is complete or not complete. That should be a separate spec Alex: We have a partial implementation of that as well, but we don't think that can move to REC as fast. Alex: So we propose to separate that out and move it to low priority Alex: but move vertical text to CR asap Alex: The last thing that we want to do there is to add bottom-to-top writing mode Alex: so that we have all eight directions. Alex: I think we want to add it just because it is very well-defined what it does. Alex: Use cases are marginal, but we don't see why we should undefine that when it is totally clear what it means. Alex: I'm fine with making that optional Alex: That's alll. Alex: Once you've got Mongolian, you've got the hard part done. Alex: Because in Mongolian your line bottom and paragraph bottom don't match. Elika: So that sounds pretty good. Elika: I say to take the vertical writing mode controls and combine them with the definitions from the Box Module Elika: And make that a spec Elika: Because the writing mode definitions are not enough to say how the new orientation maps to the calculations in CSS2.1 Chapter 10 Elika: And how nested differing writing modes interact Scribe: dbaron Bert: But good thing about making text layout a CR is that it stabilizes the property names. Steve: So there's no objection to splitting out a piece of the text layout stuff? ACTION: fantasai set up redirects (side discussion about publishing documents in dev space vs. group space) Elika: You didn't implement glyph-orientation or ? properties? Alex: right Alex: they're not in the spec anymore Elika: I'd like to define terminology so that other specs can refer to terminology rather than referring to values of specific properties. Bert: depends on context Richard is frustrated because can't ever be sure he's reviewing the right document because he can't always find the latest documents Elika: I think we do have agreement on the part MS has implemented. Elika: So I think direction, writing-mode, and block-progression should go in the trimmed box-model. ACTION: Bert work out what is missing from Box Module and ask dbaron for it Elika: spec should describe how vertical text works Alex: I worry about describing completely. Vertical text alone isn't hard; orthogonal flows are hard. Elika: Whether block-progression should have a prefix in IE depends only on syntax, since its behavior is already derived from writing-mode, and writing-mode is implemented un-prefixed for years. Peter: If we merge things into other modules, I want to avoid blocking those modules for lack of implementation. Saloni: Not really happy about moving from one draft to another -- want to progress it. Elika: We can't progress without definitions. Elika: Best is to review Bert's draft. Make sure it's consistent with what you're implementing and with CSS 2.1, then we can publish CR. Saloni: We're willing to put in work to progress this part. Scribe: fantasai David: Can we avoid discussing how we split the modules until after those parts of the specs are CR-ready? David: Because we keep switching what parts of the Box Module and Text Module should be together Steve: So there are some parts of specs that are closely tied together Steve: We could put the relevant bits of the Text Layout module in the Box Module Steve: Or put the relevant bits of the Box Model into the Text Layout module Steve: Or develop two modules, one Box Model Basic and one Text Layout Basic Steve: I prefer the last option, as the easiest way to make progress. Elika: That works for me. I just want to make sure we have the box module definitions and the syntax, not just one or the other Elika: Because they are both needed for a complete dfinition of vertical text Scribe: dbaron Saloni: So what we're doing is pulling out 'writing-mode', ... Saloni: ... into text layout basic module, and put in details and behavior there. Elika: But also look at box module Alex: ... and help Bert with parts of box model. Alex: And then work on test cases corresponding to current state of both documents. Elika: If ready for CR tomorrow, we could pull stuff out of box model and move to CR. RESOLVED: Make writing mode part of Text Layout into an independent spec ACTION: fantasai make that split and inform Bert <alexmog> link to text layout draft: http://dev.w3.org/csswg/css3-text-layout/ Scribe: fantasai Steve: Someone should contact Murakami-san and point out what we're doing here and ask him whether they might have an implementation Richard: We should also inform the JLTF ACTION: Steve contact Murakami-san and JLTF about relevant developments here <plh> http://dev.w3.org/ was (still is) having troubles this morning. It has been reported but I'm fearing our system folks in the US didn't see that yet :( Steve: Bert, are you willing to split the Box Model again? <Bert> (Yes, dev.w3.org is extremely slow since a couple of hours, sys team knows, but doesn't seem to know why yet.) Bert: Yes, but I'm having trouble making sure I don't lose anything everytime it splits and recombines :) Alex: There's also a Ruby spec which could follow the same track. Alex: I'm less concerned about that Alex: As we only have partial implementation of Ruby spec Elika: We don't have an editor for that right now Anne: There are also some open ruby issues Alex: I wanted to mention that, but we don't have any current plans to advance that John: We have two developers in Japan (for Mozilla) who want to implement it, but say the spec is dodgy Anne: The markup subset that IE supports and is part of HTML5 is not really good at handling complex ruby Richard: It doesn't handle complex ruby <anne> ( http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level.html#the-ruby ) Steve: one last question, Paul, fantasai, and I proposed a text-orientation property that has a partial description Steve: Clearly not implemented by MS, but.. Steve: We recognized that glyph-orientation is not what you want for a lot of cases Steve: Since you want to operate on runs of text, not on glyphs Steve: The simple thing is to take text and rotate it right. Steve: which is what IE does Steve: you want some way of controlling that, but glyph-orientation is not the right way to do that kind of thing STeve: If you're going beyond the default behavior here then we want to consider text-orientation <dsinger> sorry, you are rotating the glyphs and leaving the writing direction, or rotating the baselines (the bounding box and all)? Elika: So we should keep text-orientation with the writing-mode definition ELika: And just have the two values we really need, 'right' (the default, what IE has implemented) and 'upright' Elika: We should be able to take that to CR. Elika: Leave the complicated values like invert etc. for later Elika: er.. actually the default was 'auto' which iwas do what glyph-orientation says if you implement that, otherwise do 'right'... Vertical Layout Terminology --------------------------- Scribe: dbaron Elika: I think we need agreed-upon term for defining writing modes, directions, etc., for when we're writing our specs. Elika: Avoid having to write out property-value pairs everywhere in definitions, and makes it easier to expand functionality in the future without doing as much editing. Elika: I want to go over some concepts and pick the names for them. I volunteer to write a note that will define them so we can refer to them easily. Elika: Also, we need to define start, end, before, after, etc., and lock down on names for writing-mode-related properties. <fantasai> http://lists.w3.org/Archives/Public/www-style/2008Feb/0294.html Elika: Paul, Steve, and I discussed in February and came up with names. (discussion of logical width / logical height) Bert: for the box model, I don't need those David: you could use * length, e.g., "block length" and "inline length" Bert: I need a term for the margins that collapse (top and bottom in horizontal) Elika: Depending on how you're writing the specs, you might want or not want some of these. Bert: I also want terms for rightwards, etc. Alex, Saloni: We used logical width, logical height, logical left, etc. RESOLVED: Dimensions use logical width & logical height, (physical) width & (physical) height David: Does "inline direction" mean "rightwards" or "horizontally"? Elika: rightwards Steve: It's the direction in which you add characters on the line David: dimension, direction, axis Bert: I want a concept to refer to the left/right vs. top/bottom Steve: direction is always an arrow Steve: dimension is always a measure Elika: (presents "Layout Modes" section of above) Bert: sometimes I couldn't use "in vertical mode" because it mattered whether block direction was leftwards or rightwards. <fantasai> "in top-to-bottom writing mode", "in left-to-right writing mode", "in right-to-left writing mode" <fantasai> Richard: "in bottom-to-top writing mode" <dsinger> block progression and inline progression are the two usual terms, no? <dsinger> (going offline imminently)... <dbaron> I don't like using the term "writing mode" such that "top-to-bottom writing mode" and "horizontal writing mode" mean the same thing. (lots of discussion) Saloni: Saying things like lr-* or *-tb worked well for us. Elika: "rl block direction"? Elika: We could adopt convention of "RL block direction" being uppercase * plh thinks the Group is getting tired :) (discussion of "progression" vs. "direction" vs. "progression direction") Elika: (presents "Sides" section of document above) Elika: people sometimes find before and after confusing David: where "before" is ambiguous you can say "before-edge" Elika: we also want these in "float: start", "margin-start", etc. Elika: We're probably stuck with these for some cases. Steve: Can I propose we use before and after unless someone comes with something better. Håkon: OK in specs, but I don't want to allow these in values or properties. Håkon: It's a disaster for float. <glazou> <br style="pause: 900s"/> <fantasai> Notes from break: proposals for replacing before/after include fore/aft and head/tail Roadmap for Completion of CSS2.1 -------------------------------- Scribe: fantasai arronei joins via phone+irc Peter: We need a plan for finishing CSS2.1 Peter: main focus is getting test suite complete Peter: where are we? Arron: From our side we just released another 3000 tests roughly Arron: I'm going to start submitting those in the next couple of weeks Arron: You guys discussed the review process yesterday, Elika and I will work on getting the submission process working Peter: I saw yesterday a nice map of how the test suite should be broken down Peter: Do we have a map of what's being submitted and what's being worked on? Arron: I can explain what we're doing Arron: and where we're heading. Arron: Might take me a week to pull that all together Peter: Mozilla was going to submitting tests? David: I have some tests. I have to figure out what to do with them David: I have a few tests for some Chapter 10 stuff David: I had some counters tests that I submitted long ago and are in the test suite now David: I might be able to dig up some others peter: My main concern, my goal is to get some timeframe on this Peter: progress with some concrete milestones Peter: What information do we have, what can we expect Philippe: What's the goal of the test suite? David: There are two Peter: One is to measure conformance once we have a REC Peter: First is demonstrate sufficient implementations to get to REC David: Other one is to actually improve interoperability of CSS Elika: When the test suite is complete enough for us to move to REC, we will take a snapshot and get implementation reports Elika: We will continue to accept tests to increase coverage and drive interoperability Peter: What's the measure for complete enough? Philippe: Depends on the group, it's purely subjective Steve: One piece is not subjective Steve: Intended that all features be tested Steve: Now what is a feature is subjective Steve: but at least if the director asks "what is a feature", you need an answer Daniel: You need at least one test per property-value combination * melinda thinks you need one test per 'testable assertion'. Elika: I think that once Microsoft has submitted all their tests, since they are writing a test for every property-value combination and every "rule" in the test Elika: We will have a good baseline level of coverage of the spec Elika: Add to that the more complex tests from Mozilla and Hixie Elika: I think we will have a pretty good level of coverage for progressing to REC Elika: At that point we should take a look, see if we have any obvious holes, plug them, and then take a snapshot and use that. ... * Bert (re Melinda): but if the statement is "for all elements satisfying X, do Y," that's one statement, but many tests. <melinda> Exactly. Peter: Were discussing making a task force for reviewing the tests Arron: It sounds risky for the task force to do the review. Arron: It would be better to have more of the task force to do a cursory review to see that it isn't blatantly wrong Arron: And have a few people do the final review peter: I'm not sure if that's a good idea to have a few people review, because that becomes a bottleneck Arron: We have currently four people who can do reviews Elika: One problem is that we don't have a list of which tests need review Elika: I can't say, come help review <melinda> The problem is they're all real busy folks Scribe: Bert Elika: There are too few people qualified to do reviews right now Peter: Use the test harness and see what tests get inconsistent results. Peter: Those tests need review. Peter: Maybe flag tests in suite that are not stable <melinda> It's more that you need to ensure the test is really testing what it purports to be testing. Plh: Different kinds of test suites, full suite for interoperability. Plh: Danger is if a test is in the test suite and is incorrent, people think the test *defines* the behavior. Elika: People can always submit tests that show incompatibilities. Plh: Test that test multiple properties at same time? Daniel: Many cases where properties are correlated. Need to be tested. Plh: Can I submit Acid3 as a test. Several: Too many parts that don't apply to CSS. David: If you remove those parts, you're left with nothing. David: But someeparts of it can be pruned into a good test. <anne> (and from Opera!) Howcome: But still good to have it included. Elika: We need more review and system that makes it easy to review. David: Who are the reviewers right now? Elika: Anne, Hixie, Elika and David. Latter two most active and David less than Elika. Elika: Can get other person from MS to review. I don't know those people enough. Elika: Need to see Arron's work first, then I can say what he can review. Elika: I don't care about who is from what company. Elika: I'm not reviwing all 3000 or so tests, but review a sample, and then trust him on the rest. Elika: Already three people seeing all tests anyway at Microsoft Peter: When can we expect rest of tests from MS? Alex: Will keep working on them, Cannot say exactly. Alex: We are still developing new tests. Plh: A deadline until when to accept tests? Peter: A target date, but we may not have enough by then. End of year? Elika: End of year is good target for a review of where we're at <melinda> When MS submits their tests, what % coverage do we expect we'll have? Arron: Agreed. Check again at 1st meeting in January. Plh: is it reasonable time for Moz as well? David: Sure... Peter: Once we have a reasonably complete set, ready for review, can we set a regular review target, maybe 25% every quarter? Elika: Possible. Plh: Is the format frozen. Elika: yes. Alex: Anybody can review. Give a 100 to each of us in this room. <melinda> Why wait until we have a complete set to set review targets? Elika: We've been working on a process, with initial and final review. Elika: Final review looks at comments from initial review. Alex: use public mailing list for initial review? Elika: We do it, but not ideal. Elika: People not yet on the list don't have the history. Peter: Do we have plan for building a system? Peter: Document management-like system. HP donated server to host repository. Peter: We are starting to implement. Would like help. Plh: Let people test with experimental suite and look at problems. Elika: That doesn't tell you if the test tests what it says it tests. Elika: If a test fails, we need to look at it. If a test fails sometimes, we need to check that too. But that is only part of the work. Plh: We should tell people to look at the source if a test fails. Plh: Nothing will be perfect. Things fall thrugh the cracks always. Plh: I guess many CSS authors will be happy to help. Elika: I want to get more involvement, volunteers and companies. Elika: A transparent system, easy to submit and report. Elika: Even if somebody cannot do final review, sending comments is still helpul. Plh: Can also organize an event where people comm together with their laptops and run the tests together. Elika: Or something like Mozilla's bug days on IRC, but where people write tests. Peter: We can spend part of our ftf for that if we're not getting enough traction Republishing CSS2.1 ------------------- Arron: How about publishing another CSS 2.1 draft? Peter: I think so. Elika: When we reach 0 on issues list, we can publish a WD. Elika: Cannot be CR, because of substantial changes. Elika: We have an errata list, but many people who read the spec forget to read the errata. Plh: Substantial changes need WD, yes, but substantial is a subjective term. Plh: Can say in last call where you made changes and set expectations for comments. Steve: Still takes time. David: Want to avoid WD. People send lot of comments. Discussion about shortest last call period. Steve: Can say that we take comments on unchanged parts and will reconsider them for level 3. Steve: If we say it explicitly up front, we have more arguments to reject comments. Discussion about how many comments expected. Hundreds? bert: Like to avoid moving back to WD. Steve: If changes modify an implementation, it's difficult to do them in a next version. Peter: don't want a CSS 2.2. Anne: Let's get test suite first, before we publish anything. Elika: Definitely need a new WD before PR. Elika: Question is when. Plh: Then how do you help people who miss the errata? Anne: We can have public editor's draft. Bert/Daniel: Those have no status. Peter: that can help us postpone republishing. Daniel: We are not helping people to understand what status of W3C documents is. Daniel: People see a document from the WG, from the W3C, don't understand how to interpret it. David: The document with the errata integrated is useful for me as an implementer. Peter: Public ED draft helps public to see progress. Steve: Don't get much comments on public ED drafts. Anne: I've had many comments. David: Also OK with publishing on /TR, but it uses up resources. Bert: Pb with going to WD is (1) image problem, we're moving *backwards*, and (2) have to go to CR again. Plh: Short last call has been done, is possible. <melinda> What changes have we made that can't be classed as 'minor corrections'? Steve: If CR leads to questions about rejected comments, can point to why they are rejected. Plh: Let people know that maintenance is going on? Steve: The CSS2 Rec has a not pointing forward to CSS 2.1. Plh: Publish a CR and say in it that there will be a WD before PR? Steve: Not possible in process. Daniel: Editor's draft gives impression that we don't want to follow the process. David: The process doesn't allow us to work the way we work. Process needs to change. We make incremnetal changes. Steve: Incremental changes, yes, up to the release date. David: This group essentially tries to reach perfection before we ship. Daniel: I've said that many times. David: We've essentially said we are never going to ship. Daniel: David, you're one of the people wanting perfection... David: We've said everything will go into CSS3, so we're not going to change CSS2 anymore. Steve: Cannot publish errata. They have to be incorportated (eventually). Plh: "Edited Recommendation" Daniel: That's what we need. David: If we already had a test suite and already were in Rec, we could use PER, but we're not there yest and have to go through heavier process. Elika: We have spec and implementations, not tests yet. <fantasai> Straw Poll: Do nothing, publish Editor's Draft (with note about expectations), publish LC/CR <molly> Wait <molly> this conversation has been completely confusing. * Bert is not surprised :-) <molly> can someone please put into lay terms exactly what benefits/ deteriments each of those choices offer? <fantasai> So, this is wrt CSS2.1 for which we have a lot of errata * anne wants an option for moving the editing process to dev.w3.org * anne would vote for that <Bert> LC/CR will be when test suite is complete. <fantasai> but the errata aren't incorporated into a public copy of CSS2.1 <fantasai> just the internal copy <fantasai> LC/CR has a lot of overhead <Bert> Public editor's draft is regular, starting now. <fantasai> Editor's Draft is unofficial Howcome: no opinion Elika: Editor's draft David: Editor's draft Daniel: Do nothing Saloni: Editor's draft John: Editor's draft Steve: Editor's draft Peter: Editor's draft Alex: Editor's draft Bert: Do nothing * molly whatever moves CSS 2.1 forward Anne: Editor's draft Arron: Editor's draft <glazou> molly, that's the problem... forward according to us, to users, to W3C Process RESOLUTION: Publish Editor's draft periodically <anne> (for the record, I want editing to happen in public, either by porting the script, or comitting to dev.w3.org automatically or something) * myakura wondering why not publishing another css-beijing wd, incorporating that note * fantasai what note * fantasai a note wouldn't solve the problem of people forgetting to check the errata when they look things up in the spec <myakura> the one about expectations * fantasai ah RESOLUTION: Add note to Editor's draft about expectations for future publications i.e. expectation to publish LC/PR once test suite is done * melinda thinks it would be worthwhile identifying just which changes we think exceed 'clarifications' and 'minor corrections' CSS3 Fonts ---------- Scribe: fantasai <jdaggett> http://people.mozilla.org/~jdaggett/css3fontspresentation.pdf John: The CSS3 Fonts spec I'm editing is based on the CSS2.1 spec with some additions John: It combines the two CSS3 Fonts and Web Fonts sepcs John: It's still an editor's draft. John: server is flaky today John: Slides posted to IRC John: Tried to add more informative typogrpahy info John: A lot of i18n things that a lot of people wouldn't be familiar with john: Planning to add a note about how some of this relates to TrueType data John: My goal is to iron out the @font-face definition John: and then add more features John: The themes are, mechanics of @font-face John: font-matching algo improvments, enabling richer typography, and text-rendering effects John: Fonts Today John: Covering where tech is today vs 10 years ago John: Fonts are much richer today John: Underlying platform APIs are much more complex John: You have things like Uniscribe, Pango, CoreText John: Far wider variety of scripts to be handled John shows some examples of different scripts e.g. diacritics, cyrillic, Arabic shaping, Linear B which is written with surrogate pairs, MathML which needs specialized fonts John: Evolution of True Type John: Started as Apple format, it's a container format John: early TrueType was scalable glyphs with quadratic splines John: ... John: Around early 90s, Apple developed TrueType GX John: The extended TrueType by adding more tables John: Added support for richer typographic variations and allows handling of complex scripts JohN: but not shared with MS John: So Microsoft creates TrueType Open John: Adds tables John: created OpenType with Adobe John: Created two glyph formats, quadratic (.ttf) and cubic (.otf) John: Apple changes TrueType GX name to AAT John: Problems with TrueType John: dual platform nature -- there are platform-specific data in the fonts John: e.g. family names are per-platform John: And font classification is different John: Usually font vendor tries to make them match, but errors arise John: e.g. weight is pulled from OS/2 table on Microsoft, Apple based on style name John: Complex script handling is completely different John: Apple is slowly adopting OpenType, so this difference will go away in the future but right now that's how it works Some confusion about what formats are being discussed atm John summarizes data in the TureType Name Table Fmily, subfamily, full version, license John: for each name, there are two platform names, n localizations John: differnet style names for each weight Style Linking John: different processes for unifying a set of faces into a single font family John: Apple says to use the same family name across all style variations John: Microsoft spec restricts family name to only regular, bold, italic, bold italic John: Has a "preferred family name" to group a larger set John: "Savvy" apps use Preferred Family, then Family John shows example of names for Kozuka Gothic Pro On Macintosh you see one family with 6 weights on Windows you see 6 families, 1 weight each "savvy" apps can use the preferred family name Implications? John: Browsers need to become "savvy" apps on Windows John: How to map "old-style" family names? John: Luckily very few in actual use on web John: But because of this, lots of spec bugs hidden by lack of style-linked families John: Discussion yesterday of bolder vs lighter is an example of that: problem because people don't usually see more than two weights John links to some further reading material John: Interesting point, Microsoft has come up with their own version of font-matching John: They do a lot of synthetic faces, etc. Philippe: W3C is trying to set up group to do EOT. How does that effect this? Steve: Don't ask that now. John: So this is the font-matching algorithm for CSS2.1 John: You match the family name to a set of font faces John: Match font-style, fallback on failure John: Match font-variant, fallback if not synthesized (archaic) John: In the past, e.g. smallcaps was a separate font. These days it's incorporated, so you don't need this John: .... John: Because of the way font-style is matched, font-style trumps font-family in the spec John: Reality is most user agents either synthesize italic John: or ignore it John: if they don't find italic <anne> (I don't understand why smallcaps being incorperated obsoletes the need for font-variant...) <anne> (Idea: make a small-caps variant or something for Ahem, to test this easily) discussion about small-caps <Bert> (Would be called "Ahem Pro" then :-) ) Howcome: on the small-caps issue, shouldn't that still be part of the font-matching? Because if you specified small-caps you want small-caps Several people: you synthesize it John: Many scripts have no concept of italics John: in CSS3, suggest no fallback on italic, and no matching of font-variant Howcome: What do you suggest should happen if there's no italic John: dont' fallback on italic John: say italic and oblique are equvalent unless both faces exist Howcome: but then you synthesize it. Then I'm ok with it. Peter: you might want a soft fallback Peter: e.g. if there's an italic in the list, then fall back to it Peter: if you fall back to the system font, then go back to the front and use synthesis Jason: So if you specify italic, you fallback to oblique? Peter: No, I'm saying that if you have a list of three fonts and your first font doesn't have an italic, but the second one does Peter: then you use the second one Peter: but if none of them have italic, then you go back to the first one and synthesize it Jason: The author usually expect that you'd use one font throughout the spec Steve: that's not true because the choice of fonts is on a per-character basis in CSS. John: Currently all browsers just synthesize an italic Peter: Rather than synthesize an italic font, wouldn't it be better to fall back to another font that's specified that has an italic? Ishida: In Cyrillic some italic shapes are radically different from non-italic John: That's not unique to Cyrillic. There are fonts where that's true in Latin John: Another problem in the spec is that italic and oblique are treated as if they can exist in the same font-family John: And they almost never do Bert: the case where these are different are Knuth's fonts Bert: he uses them to mean different things John: It's a very rare case John: I want to clean up the archaic stuff in this spec fantasai: I think Peter's double-fallback proposal is good to consider <anne> (Can Ahem Pro do italic and obligue fancyness? Maybe we need several different Ahem Pro's to test accurately...) Jason: One thing that I suggest is, Iknow from experience that most serious typographers would rather rip their arm off than have the UA synthesize an italic or oblique font Jason: So I think we should have a way for italic to fall back to normal John: I think it would make more sense for those typographers to use web fonts Jason: until then Peter: or if that doesn't work for whatever reason John: So I propose a simplified Web Fonts definition <Bert> (Web Fonts allow you to specify a specific font for italic, it doesn't actually have to be an italic font.) John: Trimmed down version of CSS2 @font-face spec font-family, src url, src local font attribute descriptors (font-weight, font style etc) unicode-range for combining fonts no attribute-based font substitution Safari already implements this, Moz and Opera coming soon John: I took font-variant out because it's a rendering-time thing, not a font-selection thing John: You don't need it for descriptors Bert: So I can't say I want to use this font for small-caps, I want it to be the same as for roman .... John: All the fonts are going to store that in the same font file, not a different one Bert: I don't care where it's stored * glazou wonders if all your fonts are belong to us Bert: you're making it impossible to use the Computer Modern fonts Bert: I'm concerned about every case where my roman doesn't have smallcaps Bert: And I want to tell the browser where to find the smallcaps font Steve: So let's go back and understand where the web font descripters are there for John: Motivations John: We want richer set of available fonts John: Much tigher control over how content is rendered John: Better support for international sites (e.g. BBC) John: Domains with specialized font requirements sucha s MathML John: Also allows us to improve integration of SVG fonts in HTML content John: Need for restricted font formats is a separate discussion John shows css3-fonts spec John: This is an example using Gentium John: The UA is using Gentium to render the text, but if for some reason the font is unavailable the serif font will be used John: If Gentium is on the system, this rule will not use any fonts that are in the system John: The reason you want to do that is that if you don't, you run into the situation where some user has the font that you're using John: and not the font you want them to use John: It is possible to set this up a different way John: src: local(Gentium), url(/fonts/Gentium.ttf); will look for Gentium on the local system first John: I originally wrote the spec the opposite way. Howcome: I agree it's not clear which is the best Howcome: But I'm leaning towards what you had in there first. John: Then how do you turn that off, so that it's always downloaded? Steve: Add a keyword like 'download' Peter, Steve: Note the default behavior will always be to use the local version David: The other possibility .. David: You say that if local() is not in the list, then you assume it's at the beginning of the list David: but if it is in the list, then you use its position at that location David: That way if the author wants to say the local version is the lowest priority, then he has to specify it as lower priority. Otherwise it's implied at the front of the list. Some arguing fantasai: I don't think we should be wasting bandwidth by default Steve: I think the behavior on down-level clients should be the default Steve: down-level clients will always use the local copy if it exists John shows last example of combining local() to make a shortcut for family names John shows example of pulling out a font that otherwise would be inaccessible using CSS John shows some examples of unicode-range John: back to Steve's question John: What do descriptors do? John: Do descriptors define underlying attributes? or are they hints of what's in the font? John: Problem is, if descriptor says the font-weight is bold but font says it's not what happens? John: I think this is really confusing John: I think the font-descriptor should override whatever's in the font Steve: The notion of descriptors came from the idea that you build a table of fonts Steve: with their attributes Steve: the role of the descriptors was to build this table without having to download the fonts John shows an example of two statements that use the same font name Howcome, Bert: the assumption is that you assume both statements have all weights * fantasai is not following this discussion Steve: So the question is, how does that table get built if I have multiple font declarations that have overlapping definitions Steve: My understanding is that I build my table Steve: For the first declaration, I populate all 18 slots in my table (all weights and styles) with Bongo Steve: pointing to that src Steve: The second declaration updates the italic entries to point to the second src ... Steve: Most fonts today don't have all weights in the same file Steve and John to talk offline <dbaron> As far as I can tell, CSS2 was ambiguous about whether the descriptors override the font data. <Bert> Question was what is most useful default for a descriptor: all, or normal?) John: Security Issues John: There's a definite potential for intentionally corrupted fonts to become an attack vendor. John: Errors can occur with metrics, at drawing, etc. John: You can do some validation, but not that much Howcome: This is just battle-testing the font renderers. It's something they have to go through. John: Note that fonts associated with one page should not affect rendering of another page. John: Also you don't want to use downloaded fonts in a system fallback. Howcome: if both pages point to the same src for the font, what then? David: follow the HTTP cache headers John: Last thing, Thank You to WebKit! John: Their code sends a previously-secret special parameter that's necessary to implement this :) John: Size Adjustments John: We reworked the description of font-size adjust John: Tried to improve the explanation, not give a long list of aspect values David: I wrote an explanation of it as well on MDC, you might be interested in looking at it John shows an image from the spec that explains font-size adjust David: I hope this draft incorporated the CSS2 errata on font-size-adjust David: It was dropped from CSS2.1, but we did make some corrections to it previously Ishida: I have some real problems with Arabic etc. John: Ok, yes I will say that this is very Western-centric. John: There are definitely problems with rendering Latin with CJK Steve wants to say why he really wants this to work with Arabic but will wait til later John: Beyond X-height Adjustments John: Font-linking on CJK Windows.. John: Certain fonts like Tahoma have magical properties John: that link to ther CJK fonts John: On a fallback to CJK, resizing occurs John: it will make the CJK characters bigger John shows a screenshot John: This is something that has been done for readability on Windows. John: We should think about it for CSS John: and whether it fits in with CSS John: and/or how to address its use-cases Alex: Michel Suignard would know all about this John: There are other situations where this type of size adjustment would be interesting CSS3 Fonts: Extending font-variant ---------------------------------- John: Last thing I wanted to discuss is how to improve typographic features John: based on the idea of exposing OpenType features John: extending font-variant to support opentype features John: e.g. ligatures, figure forms, other features <jdaggett> http://lists.w3.org/Archives/Public/www-style/2008Jan/0380.html John: I think the key here is picking out the features that are appropriate for a large audience, not necessarily all OpenType features John shows some examples of ligatures John shows some examples of digits monospace digits vs proportional digits monospaced digits are different glyphs, often used for tables John shows example of alternate glyphs in Japanese John: Lastly to wrap up, some rendering properties John: text-fill-color, text-stroke-color, text-stroke-width John: Need to think about how this works with SVG * fantasai notes that the minute-taker is tired and hungry :) <anne> ( http://www.urbandictionary.com/define.php?term=m(__)m ) Ishida asks about language features in OpenType fonts Ishida: Does lang trigger the appropriate language features in the OpenType fonts? John: I haven't looked deeply into that more discussion of languages and features and mixed scripts Meeting closed fwiw <fantasai> molly: I got a question for you <fantasai> there's a CSS property that changes the direction of block flow <fantasai> For horizontal text it takes the value 'tb' (for top-to-bottom flow) <fantasai> For vertical text it takes the values 'rl' and 'lr'. <fantasai> Question is, what's a good name for it? <fantasai> It's currently called 'block-progression' <fantasai> other suggestions include 'block-direction' <fantasai> what do you think? <molly> sorry, I'm back now. <molly> and for the record I want to be you when I grow up, Elika <molly> my goodness, you're a powerhouse, woman! <molly> so the actual normal flow changes within the block? <fantasai> yeah <fantasai> it changes direction <molly> block-flow <fantasai> sure? <fantasai> I will bring that up tomorrow :) <molly> well, I think it's the most clear. <fantasai> cool <fantasai> so <molly> if the whole point is to change the flow of the block <fantasai> block-flow: tb | lr | rl <fantasai> ? <molly> I think that makes sense <fantasai> ok <molly> what do you think? <fantasai> Makes sense to me :) <molly> hehe <molly> isn't it the middle of the night there? <molly> go to bed! <fantasai> yep <fantasai> hehehe * fantasai updates a few more issues and then obeys molly :) <molly> I wish I could be there with <fantasai> I wish you could too <fantasai> we have no web-designers present this meeting :( <molly> alas, not this trip, I just couldn't physically do it <fantasai> I'm sure you'd be bored out of your mind half the time <molly> Well, I'll stick around online as close to things as possible. <fantasai> but it's really helpful to be able to ask "what makes sense here from your perspective?" <fantasai> yay~ <molly> absolutely, and it always makes me feel good to contribute *something* of value <fantasai> :) <molly> I am planning to be at TPAC so that'll be good <fantasai> awesome <fantasai> another question <fantasai> relates to font-weights <fantasai> if you have three nested spans <molly> okay, I was around for part of that discussion earlier g/a <fantasai> with the font weights 'bolder', 'bolder', and 'lighter' <fantasai> but you only have two weights, normal and bold <fantasai> is the innermost span bold or normal? <molly> what's the rule look like? <fantasai> (A related question: if given two nested spans 'bolder' and 'lighter', should the inner span always be the same weight as outside the spans?) <fantasai> the rule looks like <fantasai> <span style="font-weight: bolder"> <span style="font-weight: bolder"> <span style="font-weight: lighter">Am I normal or bold?</span> </span> </span> <molly> well, I might argue that the only span of relevance is that directly spanning the content, and therefore, in this case, "lighter" <molly> all of the other spans are empty <fantasai> oh, well they could have text in them :) <fantasai> or they could be <div>s <molly> also, what's the parent? It seems that in part this would be inheritance no? <fantasai> the behavior would have to be the same <fantasai> no, there's no inheritance <fantasai> it's just "bolder" is a relative term <fantasai> if you have a font with three weights <fantasai> then the innermost span would be the same weight as the outermost span, bolder than the text outside the spans <fantasai> but lighter than the text inside the middle span <fantasai> normal weight <span style="font-weight: bolder"> bold weight <span style="font-weight: bolder"> extra-bold weight <span style="font-weight: lighter"> bold weight</span> </span> </span> <fantasai> like that <molly> so it's relative to the immediate parent span? <fantasai> yep <molly> urgh <fantasai> the question is, what happens if you only have two weights <molly> I say it goes to normal <molly> in some ways it feels like as the designer <molly> I'd need a "clue" to say, okay, there's a breakdown in the relation here <molly> if the author is intending to have a lighter color <fantasai> right, well <molly> that should be explicit (I hate hate hate relative values btw) <molly> for this very reason <fantasai> it's defined as lighter than the parent <fantasai> but the designer might be trying to get back to the middle value here <fantasai> if there were multiple weights (like 3 or 5) that's what happens <fantasai> I don't know <molly> it's confusing. <molly> I don't know either. Definitely a question to ask Jason <fantasai> we've got both kinds of implementations <fantasai> k <molly> that's of course what I figured :) <fantasai> I think I did ask him <fantasai> and he said it was a hard question :) <molly> any relative value questions are hard <molly> to me, anyway <molly> relational math? Designers don't think that way, they just don't for the vast majority anyway <fantasai> heh <molly> designers say "I want it THIS dark" <molly> and give it a specific value <molly> seriously. <fantasai> we have keywords for that <fantasai> seriously. <fantasai> :)
Received on Tuesday, 9 September 2008 01:56:39 UTC