# Typographic approximation

A typographic approximation is a replacement of an element of the writing system (usually a glyph) with another glyph or glyphs. The replacement may be a nearly homographic character, a digraph, or a character string. An approximation is different from a typographical error in that an approximation is intentional and aims to preserve the visual appearance of the original. The concept of approximation also applies to the World Wide Web and other forms of textual information available via digital media, though usually at the level of characters, not glyphs.
Historically, the main cause of typographic approximation was a low quantity of glyphs (such as letterforms and symbols) available for printing. In the age of World Wide Web and digital typesetting, especially after the advent of Unicode and enormous amount of computer fonts, typographic approximations are usually caused either by low ability of humans to distinguish and find needed symbols or by inadequate replacement patterns in word processors, rather than by lack of available characters.
| Normative: | 3 × 2 − 1 |
| Approximated: | 3 x 2 - 1 |
| An ASCII approximation of an arithmetical expression ||

## Typewriter and line printer approximations
### Merger of characters

On typewriter, several characters were merged due to limited size of glyph repertoire. Several modern computing characters appeared by merger of different symbols, such as the "typewriter" apostrophe, ', which can denote an apostrophe proper, ’, a single quotation mark, or the prime symbol.

### Non-spacing modifiers

Some typewriters have non-spacing keys for use as diacritical marks. After the typist pushes, say, acute accent ◌́ the caret does not move. This allows the typist to overstrike this mark by a spacing letter, say, e and obtain é, an accented letter. Due to geometrical restrictions of a monospaced font, the result could not always be perfect. For example, overstriking was unlikely to be a feasible method to produce uppercase accented letters, such as É.
Overstrike was used on line printers for the same function. This contributed to standardization of such characters as U+0060 ` GRAVE ACCENT.
Overstrike of the same letter was used to simulate boldface letters on line printers.

## ASCII approximations

An ASCII approximation (above) may be ugly, but giving some representation of several symbols. Replacements of non-ASCII characters (others than default "*") are highlighted in yellow. :
Original text: :
| ASCII*Decima ||
| ASC Dec Hex Binary ╔═╤════════════════ ║ │ 0 00 00000000 ║☺│ 1 01 00000001 ║☻│ 2 02 00000010 ║♥│ 3 03 00000011 ║♦│ 4 04 00000100 ║♣│ 5 05 00000101 ║♠│ 6 06 00000110 ║•│ 7 07 00000111 ║◘│ 8 08 00001000 ║∘│ 9 09 00001001 ║◙│ 10 0a 00001010 ║♂│ 11 0b 00001011 | ASC Dec Hex ╔═╤════════ ║►│ 16 10 ║◄│ 17 11 ║↕│ 18 12 ║‼│ 19 13 ║¶│ 20 14 ║§│ 21 15 ║▬│ 22 16 ║↨│ 23 17 ║↑│ 24 18 ║↓│ 25 19 ║→│ 26 1a ║←│ 27 1b |
| ║─│196 c4 11000100 ║═│205 cd 11001101 | ║││179 b3 ║║│186 ba |
The US-ASCII character set and other variants of ISO/IEC 646 contains 95 graphic characters. It is comparable with a (Latin script) typewriter and insufficient for a quality typography. But high availability and robustness of ASCII character encoding prompted computer users to invent ASCII substitutes for various glyphs.
The following ASCII characters are used to approximate certain characters. Note that there are many Latin letters that are homographic to letters of other scripts, however those Latin letters are not listed below.
* U+0020 SPACE (space): alignment and justification.
* U+0022 " QUOTATION MARK: various type of double quotes, double prime ″.
* U+0023 # NUMBER SIGN: sharp symbol ♯.
* U+0027 ' APOSTROPHE: various type of single quotes, apostrophe ’, prime ′.
* Parentheses U+0028 ( LEFT PARENTHESIS U+0029 ) RIGHT PARENTHESIS: encircled characters, such as (c) for Copyright symbol ©.
* U+002A * ASTERISK – see Asterisk.
* U+002B + PLUS SIGN – various symbols with strokes extending to left, up, right and down.
* U+002D - HYPHEN-MINUS – probably an ASCII character the most used for approximations. A conventional representation of hyphen, an approximation of dash (especially as -- and ---), minus sign − and line drawing horizontal line ─ (see the image).
* U+002E . FULL STOP: various dot-like symbols, see Full stop.
* U+002F / SOLIDUS – see Slash (punctuation).
* U+0031 1 DIGIT ONE: Turkish dotless ı, Cyrillic palochka Ӏ.
* U+0033 3 DIGIT THREE: IPA reversed epsilon ɜ, Cyrillic letter З.
* U+0034 4 DIGIT FOUR: Cyrillic letter Ч.
* U+0038 8 DIGIT EIGHT: various non-Latin letters and symbols with similar grapheme.
* U+003A : COLON – see Colon (punctuation).
* U+003C < LESS-THAN SIGN and U+003E > GREATER-THAN SIGN: chevrons ⟨ ⟩, angle quotes ‹ ›, horizontal arrows (especially as digraphs <- and ->).
* U+003D = EQUALS SIGN: line drawing horizontal double line ═ (see the image), double hyphen.
* U+003F ? QUESTION MARK – although not an approximation, the question sign sometimes replaces unrepresented and unrecognized characters.
* U+0040 @ COMMERCIAL AT – see At sign.
* U+004E N LATIN CAPITAL LETTER N: Numero sign №.
* U+0054 T LATIN CAPITAL LETTER T: various symbols with strokes extending to left, right and down, but not up.
* U+0055 U LATIN CAPITAL LETTER U: set union ∪.
* U+0056 V LATIN CAPITAL LETTER V: logical OR ∨.
* U+0058 X LATIN CAPITAL LETTER X: X mark ✗.
* U+005B [ LEFT SQUARE BRACKET and U+005D ] RIGHT SQUARE BRACKET: checkbox and similar rectangular pictograms.
* U+005E ^ CIRCUMFLEX ACCENT: logical AND ∧, upwards arrow ↑, and similar symbols with the wedge at the top.
* U+005F _ LOW LINE – see Underscore.
* U+0060 ` GRAVE ACCENT – opening single quote ‘.
* U+0062 b LATIN SMALL LETTER B - flat symbol ♭
* U+006F o LATIN SMALL LETTER O: bullets and various circle-like symbols such as ∘ and ∞ (using two consecutive characters).
* U+0075 u LATIN SMALL LETTER U: μ — SI prefix micro- or lowercase Greek letter mu
* U+0076 v LATIN SMALL LETTER V: downwards arrow ↓, and similar symbols with the wedge at the bottom.
* U+0078 x LATIN SMALL LETTER X: multiplication sign ×.
* U+007C | VERTICAL LINE (on the image, this ASCII character is rendered as a broken bar ¦): line drawing vertical symbols.
* U+007E ~ TILDE – see Tilde.

## Approximation of non-glyphs

There exist various approximation for typographic alignment. For example, justification may be emulated with inserting of spaces, and flush-right alignment may be done by padding with spaces.
There are various techniques for approximation of tables (historically used for text mode displays), such as box-drawing characters.