Shaping text to both a top and a bottom curve [RE: Re: Minutes, June 9 2011 SVG WG telcon Question ]

Hi all,

 

Rik suggests, I think, re-raising the following issue (apparently discussed here  June 9, 2011) with the Working Group.  Josh’s,  who raised the issue, comments are at the top. My perpetual observation on all these “fancy” text effects is that if one can’t do them in SVG (possibly as augmented by CSS and or script -- if a usable geometry were exposed) then authors will rely on bitmapped versions (as they have done on the web for decades), thence undermining accessibility. The web and the world of print are replete, if one goes looking, with exactly this sort of “dual-curve alignment” of text.

 

You may recall that Israel Eisenberg created software to do this sort of warping of text into shapes, but I recall him writing that the code was very messy. (I can only imagine). Developing a polyfill would be non-trivial; it seems that spec-cing the desired behavior might involve less work in the long run (though then it would but the onus of programming onto the shoulders of the implementers).

 

How hard to spec could it be to explain how something like

<textShape topalign="path1" bottomalign="path2">Hello, here is some text
shaped by two bezier curves.</textShape>

ought to behave in browsers? If individual glyphs didn’t warp, but only resized and rotated as per the delta x and delta y of the two curves (traversing each at proportional intervals along its total length), it’s pretty easy. Figuring out how a glyph should warp so that its top part stretches more than its bottom part – well, that could involve a bit of graph paper to explain, but nothing that would require super-fancy math to my way of thinking. And of course, there are potentially weird issues involved when the curves cross and a glyph happens to fall in the middle of the intersection. Part of the glyph would have zero height while the parts on either side of the intersection would be upside down from one another. If a glyph’s footprint subtended two or more intersections of the curves, it would probably be rather unrecognizable as its familiar self, unless one can rotate one’s eyes independently in their sockets. 

 

Regards

David

 

From: Rik Cabanier [mailto:cabanier@gmail.com] 
Sent: Friday, September 05, 2014 12:38 AM
To: josh@pier311.com
Cc: David Dailey; Chris Smith; Cameron McCormack
Subject: Re: Re: Minutes, June 9 2011 SVG WG telcon Question

 

 

 

On Thu, Sep 4, 2014 at 4:31 PM, <josh@pier311.com> wrote:

Rik, Cam, David

 

Thanks for getting back with us. We are working on an app that is an SVG designer that allows customers to customize their product on our web site. Without the ability to manipulate text along two different paths (top and bottom)  SVG is pretty useless for us but we really want to use SVG for this app. SVG has awesome features but without this it is not much use to us.

 

We are interested in helping out anyway we can with getting this thing moving towards SVG 2!

 

Make a proposal on www-svg. If you have a working polyfill, that would be even better.

 

--------- Original Message --------- 

Subject: Re: Minutes, June 9 2011 SVG WG telcon Question

From: "Rik Cabanier" <cabanier@gmail.com>
Date: 9/4/14 8:57 am
To: "David Dailey" <ddailey@zoominternet.net>
Cc: josh@pier311.com, info@pier311.com, "Cameron McCormack" <cam@mcc.id.au>

 

 

On Thu, Sep 4, 2014 at 3:46 AM, David Dailey <ddailey@zoominternet.net> wrote:

Hi Rik, Josh (adding Cam)

 

I’m still very interested in this sort of thing. Stretching glyphs and texts to fit shapes. 

 

Our recent paper from TGW2014 has lots of illustrations in which the shape of text (and not just its flow lines) warp and bloat to fill the shapes provided.

http://cs.sru.edu/~ddailey/TGW2014/RectilinearMold2.html

Many more examples (and, I think, use cases) can be seen at http://cs.sru.edu/~ddailey/svg/GeometricAccessibility.html 

 

Included are there are examples of and links to Israel Eisenberg’s wonderful examples at http://owl3d.com/svg/tests/boundText/ 

 

I thought, and perhaps Cameron can enlighten me, that this sort of thing was still on the docket for either SVG or CSS, but I lose track as status of discussions progress.

 

In terms of justification and “use cases” my primary rationale is that people across cultures have been doing this sort of thing for millennia. If SVG doesn’t provide the functionality, then authors will resort to bitmaps, and that undermines accessibility, as well as utility, searchability, scaling etc. etc.

 

Is it worth echoing this conversation at www-svg ?

 

Yes!

 

To some of us outside the standards world, the term “use case” carries with it a bit of magical meaning that is a bit mysterious. I always assume that when one asks for use cases, one is really just asking “why on earth, would you want to do such a thing?” Is that interpretation hopelessly naïve?

 

That is most definitely not the case. If one brings it up and a lot of people like it; it will get done.

However, if few people get excited, it most likely will get dropped.

 

Personally, I think having low level APIs that can enable this (ie convert text to outlines) will have a higher chance of being accepted.

 

 

From: Rik Cabanier [mailto:cabanier@gmail.com] 
Sent: Wednesday, September 03, 2014 12:25 AM
To: josh@pier311.com
Cc: David Dailey; info@pier311.com
Subject: Re: Minutes, June 9 2011 SVG WG telcon Question

 

 

 

On Thu, Aug 28, 2014 at 7:02 PM, <josh@pier311.com> wrote:

Rick and David,

 

    We have been researching how to have text follow two separate paths, one on the top and one on the bottom, in SVG. We came across minutes from a teleconference on June 9, 2011 and found the follow question:

Suppose, for example, we had the following ability: 
 
<text id="T" style="font-family:ariel;font-size:16">
 
<textShape topalign="path1" bottomalign="path2">Hello, here is some text
shaped by two bezier curves.</textPath>
 
< /text>
This is exactly what we are wanting to do and we would like to know if there has been any headway on figuring this out or if anyone is experimenting with it that we could contact. 

Hi Josh,

 

no, there has been no further discussion on this topic. I also don't believe that it's on the list for SVG 2.

If you'd like to see this added, contact us on www-svg with your use-case. If that sparks excitement, we might reconsider it.

 

Rik 

 

Received on Saturday, 6 September 2014 14:22:57 UTC