Transformations of text are strategies to perform geometric transformations on text (reversal, rotations, etc.), particularly in systems that do not natively support transformation, such as HTML, seven-segment displays and plain text.
Implementation Many systems, such as HTML, seven-segment displays and plain text, do not support transformation of text. In the case of HTML, this limitation in display may eventually be addressed through standard cascading style sheets (CSS), since proposed specifications for CSS3 include rotation for block elements. In the meantime, several ways of producing the visual effects of text transformations have come into use.
The most common of these transformations are rotation and reflection. Unicode supports a variety of characters that resemble transformed characters, primarily for various forms of phonetic transcription. Each of these character names indicates what kind of transformation the characters have undergone:
Reversed characters, those that have been reflected in a vertical line, or flipped horizontally, like certain Cyrillic script letters; Inverted characters, those that have been reflected on a horizontal line (i.e., flipped vertically, rare); Turned characters, those that have been rotated 180 degrees and thus appear upside-down (this is the most common); Sideways characters, those that have been rotated 90 degrees counterclockwise (generally the least supported, and used only for a handful of vowels in the Uralic Phonetic Alphabet system).
Upside-down text
Strategies can be used to render words upside down in languages such as HTML that do not permit rotation of text; using Unicode characters (especially those in the IPA), a very close approximation of upside-down text (also called flip text) can be achieved. The letters s, x, z, and o are rotationally symmetrical, while pairs such as b/q, d/p, and n/u are rotations of each other. Historically, capital J in early forms of italic type was designed in such a way that it could be turned upside down to render a pound sign, £. The rest of the letters have been encoded into the Unicode IPA section, generating a complete set of upside-down lowercase letters. With the addition of the Fraser alphabet to the Unicode standard in version 5.2, full (or at least near-full) support for upside-down capital letters is now available. Number support is incomplete; four numbers are universally strobogrammatic (0, 8, and 6/9), and the upside-down versions of numbers 2 and 3 have been assigned Unicode points for use in dozenal notation in Unicode 8.0. Segment display representations of the ten decimal digits were added to the Unicode standard in version 13.0 as part of the Symbols for Legacy Computing block, providing symmetrical versions of 1 and 5 (as well as alternate options for 0, 2, 8 and 6/9); this leaves 4 and 7 as the last two decimal digits not yet directly supported. The open-source Unicode typeface Quivira includes an upside-down 1 in its Private Use Area for the purpose of encoding texts that use a turned one as a numeral representing –1 in balanced ternary and similar signed-digit numeral systems. Punctuation (by use of such characters as the interpunct and the inverted question mark and exclamation point) is mostly covered. Several Internet utilities exist for the transformation of regular text to (and sometimes from) upside-down text; each has its own slightly different algorithm for letters not precisely or well covered. Below is a conversion table that can be used to transform lowercase, uppercase numeric and punctuation output. These characters require Unicode version 13.0 minimum (in particular the 2 and 3 from the duodecimal block and the 🯱 and 🯵 from the segmented display block).
Sideways text Sideways text presents a unique problem. Unlike rotating text 180 degrees, the number of sideways characters falls far short of what would be needed for most purposes, and because text is rendered horizontally, it would be very difficult to render beyond one line of vertical text in a well-aligned manner without columns, especially in proportional fonts (furthermore, each character would require a line break after it). The process of using alternate characters for sideways text is further complicated by the fact that most fonts space letters further apart vertically (to accommodate underlining and overlining) than horizontally, and that most fonts are taller than they are wider, making simulated sideways text look significantly more awkward. Until CSS3 introduced rotation for block elements, there was no direct way to rotate text at any direction other than the manual 180-degree method described above. Internet Explorer offered a proprietary CSS property that rotated text 90 degrees clockwise. It was intended to render Chinese ideographs in traditional vertical orientation; when used for non-Chinese scripts, it rendered the entire text rotated 90 degrees. This property was revised and is now incorporated into CSS: <div style="writing-mode:vertical-rl;"> There remain some inconsistencies in how the writing-mode property is implemented; rotation can also cause some issues with a given element's width, height and word wrapping. The most common way around these problems was to use images of text, which can then be rotated and transformed in an image editor at will, and to represent the text in those images with the alt attribute so that search engines and text-only browsers can read it properly. The use of ANSI art and box-drawing characters to manually draw sideways text has the advantage of being copiable and pastable (whereas images are not in most plain text situations), but generally creates large characters and is not generally readable by search engines. With the broader adoption of CSS3 by all of the major browsers, these methods are now mostly obsolete for Web media.
Reversed text
… excerpt ends here. Continue reading the full article.
