Proposals/SVG Text Manifesto

From SVG

There has been a lot of discussion about text in SVG. Often, the discussion focuses on a narrow picture of SVG text. Here a list of proposed basic principles to guide future changes to the SVG specification with regard to text.

Text has multiple use cases with different needs.

Titles/Artistic use

In this case the author/artist is more interested in style. They are interested in exact placement of glyphs, in using a specific font, in special effects.

Issues such as discretionary ligatures and complex scripts are red herrings for this kind of text; the artist will take care of these issues when creating the art.

In this case SVG Fonts allows the greatist artistic freedom.

Note that turning text into paths is NOT an acceptable solution. Text needs to be searchable and accessible.

Prose

In this case readability is the primary concern. The amount of text precludes hand-placing characters precisely. Handling of all complex script issues should be done by the rendering engine.

SVG fonts are generally not appropriate for this use as they don't handle complex scripts well.


There are multiple uses of SVG

With the implementation of SVG by all major browsers (finally!) and the inclusion of SVG as part of HTML5, the Web has become a primary, if not the primary driving force behind SVG.

It is important to remember that there are other uses of SVG: creating artwork, printing, engraving, set-top boxes, etc. Changes to the SVG specification should not adversely effect these uses.

In particular, SVG renderers should not be required to be HTML renders as well. This, however, should not preclude the adoption of CSS text/regions/exclusions which can be handled without requiring an HTML renderer.


Existing content should not be broken

A considerable amount of content is already out in the wild that relies on features suce as 'dx', 'dy', and 'rotate'.