Hi, David- Thanks for the thoughtful and concrete reply.
On 6/7/13 10:25 PM, David Dailey wrote: > > You've made a lot of good points here about CSS being more popular > than SVG: more people care; more people can edit the spec; the range > of applicability (to HTML as well as SVG and other domains) is > greater. And I appreciate the effort to expand the dialogue to > svg-developers, since www-svg tends to be less about the philosophy > of where SVG ought to go and more about how to get to wherever it is > already known to be going. > > It sounds like we share the frustration about the sluggishness of > progress with SVG text. As you know I've been teaching lots of folks > to learn SVG, through both the W3C, in accredited educational > channels and other venues, in most of the world's continents. > Frustration about text handling in SVG is something, as an educator, > I hear from a lot of folks. It's a shame that there is not an easier > forum to let those frustrations boil up to the point that > implementers might actually hear it! You're right, and my own frustration on this is compounded by the fact that W3C does provide just such a channel for feedback, the [email protected] list, but in many ways, that's inadequate... I could go into details, but the long and the short is that it seems to be too high a barrier for most people, and processing and tracking those comments and suggestions is not an easy task... this is something that we hope WebPlatform.org can help with in the future (but not quite yet). > You mention frustrations with other like SMIL, and the list can be > extended to include other topics as well, but text is the issue I'm > fussing about here, so let me just respond to a couple of your > questions. > > DS: What do you mean by "much more"? Wrapping text to arbitrary > shapes? That is also coming, but as part of a more complex proposal > that will also hopefully be part of SVG 2 (but may be deferred a > bit, since we are trying to be have an aggressive schedule to move > SVG 2 forward). <br> Simple CSS text wrapping is meant for the most > common case, a basic rectangular area. > > Well, it is good to be able to confine and flow text into rectangles > and into arbitrary shapes. Maybe I am not understanding the proposal. > Confining text to a rectangle is something that is pretty easy to do > with about 3 lines of JavaScript; even beginning students can do that > in exercises. True, and it's not much harder to wrap to certain other shapes (circles, triangles, etc.) using script, but a declarative solution is better (and easier for designers). > I suppose it wouldn't matter too much if browsers implemented SVG in > HTML or HTML in SVG consistently, but consistency in <foreignObject> > <iframe> <object> <embed> <frame> all seem to be areas that > implementations have decided to ignore. There are lots of examples > of inconsistency reported over the years here and at www-svg. We have a spec, SVG Integration, that should address those inconsistencies. > Maybe they've all been fixed, but I rather doubt it, since my > personal experience as a seasoned developer is that browsers are > diverging rather than converging in consistency in their > implementations, for the complicated stuff. Happily, the simple stuff > is reaching consolidation! The key here is testing. I think the reason you are perceiving increased inconsistency is rather because more parts of the spec are implemented by more browsers, and we need more tests to make sure they do it right. The is where the "Test the Web Forward" project will help. That's a crowdsourcing effort (started by Adobe) to contribute tests to W3C for inclusion in our test suites, to make sure that browser vendors have even clearer implement guidelines and coordination. > Text handling should include This is a great list of concrete suggestions. Some of them are already being addressed in SVG 2 (or are planned to be), and some will still need to be considered. I'll try to triage them here and let you know where I understand the state of them to be... I'll also pass it along to the SVG WG. > a) methods to select text through dragging, double clicking etc. Though I agree with you, and add that text should also be findable in the document just like HTML text is, this is not something that the spec normally would define, since it's a "quality of implementation" issue, and because it may not be applicable to all UA; nevertheless, I think we could try to put in a "should" on this in the spec, on the section for interactivity. I would add BTW, most browsers already let you do this; Firefox has a long-outstanding bug about this, and I think it's the final lagger. Cameron MacCormack has recently put in a considerable amount of effort in revamping Firefox's text handling, and tied it into their CSS engine, which allows you to select it just as you would expect; I think his refinements will be released in the next few months. > b) ability to click between characters and allow insertion of new > text at the position of the cursor SVG should handle this just as HTML does, and there is ongoing work on the 'contenteditable' attribute and functionality there. > c) the ability to copy and paste from and into text areas Same as (b). > d) the ability to delete through delete and backspace (defined > relative to current selection be it a null character or multiple > characters) Same as (c). > e) scrollbars that appear when the text overflows the available > rectangle That's implicitly part of my "text as CSS box" proposal... all the power of things you can do with HTML text. > f) methods for querying the scrolling position and currently selected > text This will also fall out of the model by adopting CSS and more closely integrating to HTML (e.g. we'll get it "for free"), though the element.scrollTop et al and text selection both needs a bit of standardization work, IIRC. > g) ability to build autolinks to continuation shapes (as in Aldus > Pagemaker where a text could be continued in other shapes appearing > elsewhere in a document or page) This is part of Tav's more advanced proposal that will work with the CSS Regions, Exclusions, and Shapes specs over the next months (or near future, at least). > h) the ability to measure glyphs -- currently browsers do not agree > on what is the bounding box associated with a glyph. It looks like > only Adobe ASV plugin does it right. Agreed, that needs better definition. I'll go a step further and say that we need a font/text metric API (for use in both CSS and SVG), and there's general consensus around this... but nobody has done the work to start specifying one. > i) text alignment features from SVG1.1 -- most browsers decided not > to implement this. Does that mean the browsers are right and the spec > is wrong? When browsers decide to deviate from the spec is this > really a signal that the spec should be weakened? I'm thinking of > kerning, text-decoration, individual vertical and horizontal spacing > and sizing of substrings, top alignment, directionality of text > flow, etc. SVG 1.1 has a microzillion things there, many of which > just don't work, at least as of my most recent tests. My proposal explicitly addresses the 'alignment-baseline' property from that set (that set was inherited from XSL, BTW), and the CSS WG has been working on even more powerful features in this regard for years, especially for Asian scripts and for the ebook use case. This is another instance where giving SVG text the full power of CSS properties will advance the cause. CSS will need to expand a bit to meet some of these cases, but in other cases, SVG should do it the way CSS has defined slightly differently. Each property or effect here should be evaluated on a case-by-case basis, so the more concrete you can get here, the better. > j) allowing text to be aligned to both a bottom and a top curve. > k) allowing individual glyphs to be warped according to shapes These are a different matter, and are both interesting. I think there are a lot of cases where more advanced transforms (e.g. non-affine transforms) could allow these effects: http://dev.w3.org/csswg/css-transforms/ Adding some sort of transform mesh might be even more powerful. There are other cases where we could indeed make this simpler by warping (not wrapping) glyphs to a shape, though I don't think anyone in the SVG WG has put forward a proposal... personally, I don't have the math skills to know how that could be done, though I'm sure it could. I think a well-defined proposal for this could meet with interest from implementers. But I don't think this is an SVG feature... I think CSS would want it as well, so we could use it in HTML (probably using SVG shapes as the warping area). > A lot of this has been on the table for more than a decade and what > is new, since the proposals of 2009-2012 is important so that > authors won't keep warping text using Photoshop, Inkscape, Gimp and > Illustrator and then saving or exporting as bitmaps to produce the > sorts of artsy textual effects that are, in fact, commonplace on the > web, in defiance of accessibility both textual and graphical. This > practice by authors is commonplace and it damages accessibility. > > I remember reading something in the W3C's planning docs that > treatment of text is one of the most commonly encountered complaints > about SVG. It certainly is among the practitioners whose paths have > crossed my own. > > The paper that Dr. Whitfield and I presented at SVG Open2011 > http://cs.sru.edu/~ddailey/svg/GeometricAccessibility.html makes a > lot of these concerns more graphically. I also remember submitting a > lot of these ideas some time ago, in one of the SVG WG's call for > public input. Hopefully, this answers at least a part of the > question of what I mean by "much more." Yes, and I hope I've shown that for many of your feature requests, the alignment (no pun intended) with CSS will make them much easier to realize. This is precisely why I'm pushing so hard for this particular proposal. You've identified some other areas that are interesting, and I feel are well in scope for combined SVG/CSS efforts. There might be some things that are best left exclusively for SVG, but surprisingly few in the text realm. Regards- -Doug ------------------------------------ ----- To unsubscribe send a message to: [email protected] -or- visit http://groups.yahoo.com/group/svg-developers and click "edit my membership" ----Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/svg-developers/ <*> Your email settings: Individual Email | Traditional <*> To change settings online go to: http://groups.yahoo.com/group/svg-developers/join (Yahoo! ID required) <*> To change settings via email: [email protected] [email protected] <*> To unsubscribe from this group, send an email to: [email protected] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

