| <svg width="400" height="400" xmlns="http://www.w3.org/2000/svg"> |
| <style> |
| @import url(../../fast/text/international/resources/Mac-compatible-font-fallback.css); |
| </style> |
| <g font-size="16" transform="scale(3,3)"> |
| <!-- The order of all characters in both lines should be the same, the spacing is different due the absolute positioning in the second line --> |
| <text y="20" x="10 20 30 40 50">Test אבגדה</text> |
| |
| <!-- |
| Quoting SVG 1.1: Whenever the character data within a ‘tspan’ element is re-ordered, the corresponding |
| elements within the ‘x’, ‘y’, ‘dx’, ‘dy’ and ‘rotate’ are also re-ordered to maintain the correspondence. |
| |
| The text is processed in logical order (as defined in the markup). |
| 10 = T | LTR -> char 0 |
| 20 = e | LTR -> char 1 |
| 30 = s | LTR -> char 2 |
| 40 = t | LTR -> char 3 |
| 50 = | LTR -> char 4 |
| 88 = א | RTL -> char 9 |
| 79 = ב | RTL -> char 8 |
| 72 = ג | RTL -> char 7 |
| 64 = ד | RTL -> char 6 |
| 55 = ה | RTL -> char 5 |
| It's rendered according to the BiDi algorithm as: Test הדגבא |
| The Hebrew string is reordered, and the x/y/dx/dy/rotate lists as well to maintain correspondence. |
| --> |
| <text y="40"><tspan x="10 20 30 40 50 88 79 72 64 55">Test אבגדה</tspan></text> |
| |
| <text y="60" x="10 20 30 40 50">Test <tspan x="88 79 72 64 55">אבגדה</tspan></text> |
| |
| <text y="80" x="10 20 30 40 50 88 79 72 64 55">Test אבגדה</text> |
| </g> |
| </svg> |