TTML

TTML which stands for "Teletype Markup Language" is a primitive markup language invented by Oren Watson in December 2014. It is based on using the control characters of Ascii as markup.
 Key C Name Markup
 ^@ \0 Null is ignored
 ^A \1 Start of Header makes text bold
 ^B \2 Start of Text makes text entirely normal
 ^C \3 End of Text makes text small (footnotes)
 ^D \4 End of Transmission ?????
 ^E \5 Enquiry makes text italic
 ^F \6 Acknowledge makes text underlined
 ^G \a Bell makes text highlighted
 ^H \b Backspace moves cursor back, so you can overstrike
 ^I \t Tab moves cursor one half char forward
 ^J \n New Line moves cursor down one line (note does not move cursor back to start of line)
 ^K \v Vertical Tab moves cursor down one half-line (used for sub/superscripts)
 ^L \f Form Feed moves to next page (on electronic media, may instead add horizontal line)
 ^M \r Carriage Return moves cursor back to start of line
 ^N \16 Shift Out change to greek and math symbols
 ^O \17 Shift In change to cyrillic and other math symbols
 ^P \20 Data Link Escape change color to grey
 ^Q \21 Data Control 1 change color to green
 ^R \22 Data Control 2 change color to red
 ^S \23 Data Control 3 change color to blue
 ^T \24 Data Control 4 on paper, change to purple; on black terminal, change to gold/amber
 ^U \25 Negative Acknowledge makes text strikethrough
 ^V \26 Synchronize makes text double width
 ^W \27 End Text Block makes text double height
 ^X \30 Cancel return to normal alphabet/font
 ^Y \31 End of Medium return to normal color
 ^Z \32 Substitute followed by a control, next char only affected. e.g. ^[^Na is alpha.
 ^[ \33 Escape begin hyperlink
 ^\ \34 File Separator next character ignored
 ^] \35 Group Separator end hyperlink
 ^^ \36 Record Separator replaced with ^ when occurs in ^ notation.
 ^_ \37 Unit Separator separate hyperlink location from its text
 ^? \177 Delete reverse video on terminal, boxed text on paper.
==Example==
 ^F^W^V^ATTML: TeleType Markup Language^M
 
 ^B^ATTML^B is a simple markup language that can be used for all kinds of documents.^M
 the appearance of ^ATTML^B text is meant to evoke the look of mathematical and^M
 scientific papers of the mid 20th century. ^ATTML^B uses simple ^Edirectives^B^M
 which alter the appearance of text, reposition the flow of text, or allow stylistic^M
 beauty within a minimalistic and retro aesthetic.^M
 TTML directives consist of ascii control codes, or, for easier typing, the^M
 caret-notation for those codes. Note the ^^^^ directive is used to insert a caret^M
 into a TTML document.^M
 Note that this documentation is best read by following its TTML source and rendered^M
 version in parallel.^M
 
 
 ^WTTML Appearance Directives^M
 ^BThe most important appearance directive is ^^B which returns the appearance of^M
 text to be entirely normal. ^^B cancels all previous appearance directives.^M
 The ^^A directive creates ^Abold^B text for important terms. The ^^C directive^M
 creates ^Csmall^B text for footnotes. The ^^E directive creates ^Eitalic^B text,^M
 which can be used for the titles of works, and for ^Eemphasis^B. The ^^F directive^M
 makes ^Funderlined^B text. The ^^G directive creates ^Ghighlighted^B text.^M
 Finally the ^^U directive creates ^Ustruck thru^B text.^M
 For coloring, use directives ^P^^P, ^Q^^Q, ^R^^R, ^S^^S, ^T^^T, ^Yand ^^Y to^M
 return to black.^M
 The ^^V directive doubles the ^Vwidth^B of text, while the ^^W directive doubles^M
 the ^Wheight^B of text. For titles use both to create large text.^M
 
 
 ^WTTML Text Flow Directives^M
 ^BThe most important text flow directives are ^^M and ^^J which are used together^M
 to end a line. You may also know ^^J as the newline character on UNIX. Alone,^M
 ^^J moves the flow of text to the next line, while ^^M moves the flow of text to the^M
 beginning of the line. To insert a newline in TTML source without inserting^M
 a ^^J you may escape it with the ^^\ directive.^M
 Other text flow directives are used mostly for formatting mathematical symbols.^M
 The ^^H directive allows one character to be superimposed on another, like these:^M
 =^H/ a^H` L^H=. In literal terms it simply moves the cursor one space backward.^M
 The ^^I directive moves one half character forward. It is used to centre fractions,^M
 like so:^M
 __^H^H^I1^B^M
 22^M
 The ^^K directive moves by one half-line down. It is used to create subscripts^M
 and superscripts like so:^M
 C H O + 3O -> 2CO + 3H O^M^K^\
 2 6 2 2 2^M
 0 -1 -2^M^K^\
 2 + 2 + 2 + ... = 2^M
Implementation: partial in perl
Category:Markup Languages
Category: Languages