Chapter 3. Beyond Straight Lines
Baselines ensure that glyphs are positioned to create a pleasing line of text. However, we’ve already said that, in graphical layout, you don’t always want text to display in perfectly straight lines. Sometimes it’s fun to make text move out of those boring lines and into more complex curves—circles, spirals, around the edges of various objects, and so forth.
This chapter introduces the <textPath> element, which allows you to use SVG path geometry to describe complex text layouts.
Creating Curved Text
We’ve shown (in Chapter 5 in SVG Text Layout) how you can position and rotate individual characters. For some simple designs, that’s enough. Example 3-1 spaces the letters of the word “Sunrise” in a semicircle, each letter positioned every 30° and rotated to match, as shown in Figure 3-1.
Figure 3-1. Curved text positioned with x, y, and rotate
Example 3-1. Arranging letters around a shape with character position attributes
<svgxmlns="http://www.w3.org/2000/svg"xmlns:xlink="http://www.w3.org/1999/xlink"xml:lang="en"width="4in"height="2.3in"viewBox="0 0 400 230"><title>Text Positioned in a Curve</title><styletype="text/css">text{font:bolditalic48px"Times New Roman",Times,serif;fill:gold;stroke:orangeRed;}</style><rectfill="#CEE"width="100%"height="100%"/><gtransform="translate(200,180)"><text ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access