mirror of
https://bjh21.me.uk/bedstead/.git
synced 2026-07-09 13:33:06 -04:00
536 lines
19 KiB
Plaintext
536 lines
19 KiB
Plaintext
Precise pixel layouts for mosaic graphics:
|
||
|
||
Based on a 6x10 grid of pixels:
|
||
|
||
............ 000000111111 ..0000..1111
|
||
......##.... 000000111111 ..0000..1111
|
||
....##..##.. 000000111111 ............
|
||
..##......## 222222333333 ..2222..3333
|
||
..##......## 222222333333 ..2222..3333
|
||
..########## 222222333333 ..2222..3333
|
||
..##......## 222222333333 ............
|
||
..##......## 444444555555 ..4444..5555
|
||
............ 444444555555 ..4444..5555
|
||
............ 444444555555 ............
|
||
|
||
Mosaic characters are not smoothed, and smoothing also doesn't apply
|
||
between mosaic characters and adjacent alphanumeric characters.
|
||
|
||
The SAA5050 series is generally compatible with the G0 primary
|
||
character sets defined by ETSI EN 300 706 V1.2.1:
|
||
|
||
SAA5050: Latin with English option
|
||
SAA5051: Latin with German option
|
||
SAA5052: Latin with Swedish option
|
||
SAA5053: Latin with Italian option
|
||
SAA5054: Latin with French option
|
||
|
||
SAA5057: Cyrillic (Russian)
|
||
|
||
There's no ETSI EN 300 706 character set that corresponds to the
|
||
SAA5055. The ETSI EN 300 706 Hebrew set is almost identical to the
|
||
SAA5056 set, except that the old Sheqel sign on the SAA5056 is
|
||
replaced by the new Sheqel sign in ETSI EN 300 706.
|
||
|
||
ETSI EN 300 706 to Unicode mapping:
|
||
|
||
ZVBI, the Zapping teletext decoder has opinions on this:
|
||
|
||
* Exceptions:
|
||
* ETS 300 706 Table 36 Latin National Subset Turkish character
|
||
* 0x23 Turkish currency symbol is not representable in Unicode,
|
||
* translated to private code U+E800. Was unable to identify all
|
||
* Arabic glyphs in Table 44 and 45 Arabic G0 and G2, these are
|
||
* mapped to private code U+E620 ... U+E67F and U+E720 ... U+E77F
|
||
* respectively. Table 47 G1 Block Mosaic is not representable
|
||
* in Unicode, translated to private code U+EE00 ... U+EE7F.
|
||
* (contiguous form has bit 5 set, separate form cleared).
|
||
* Table 48 G3 Smooth Mosaics and Line Drawing Set is not
|
||
* representable in Unicode, translated to private code U+EF20
|
||
* ... U+EF7F.
|
||
*
|
||
* Note that some Teletext character sets contain complementary
|
||
* Latin characters. For example the Greek capital letters Alpha
|
||
* and Beta are reused as Latin capital letter A and B, while a
|
||
* separate code exists for Latin capital letter C. This function
|
||
* is unable to distinguish between uses, so it will always translate
|
||
* Greek A and B to Alpha and Beta, C to Latin C.
|
||
*
|
||
* Private codes U+F000 ... U+F7FF are reserved for DRCS.
|
||
|
||
Latin G0 primary set is mostly ASCII, with the exception of:
|
||
|
||
0x24 0x00A4 # CURRENCY SIGN
|
||
0x7C 0x00A6 # BROKEN BAR
|
||
0x7F 0x25A0 # BLACK SQUARE
|
||
|
||
G0 national options each vary a few characters:
|
||
|
||
Czech/Slovak:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x016F # LATIN SMALL LETTER U WITH RING ABOVE
|
||
0x40 0x010D # LATIN SMALL LETTER C WITH CARON
|
||
0x5B 0x0165 # LATIN SMALL LETTER T WITH CARON
|
||
0x5C 0x017E # LATIN SMALL LETTER Z WITH CARON
|
||
0x5D 0x00FD # LATIN SMALL LETTER Y WITH ACUTE
|
||
0x5E 0x00ED # LATIN SMALL LETTER I WITH ACUTE
|
||
0x5F 0x0159 # LATIN SMALL LETTER R WITH CARON
|
||
0x60 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
|
||
0x7B 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
|
||
0x7C 0x011B # LATIN SMALL LETTER E WITH CARON
|
||
0x7D 0x00FA # LATIN SMALL LETTER U WITH ACUTE
|
||
0x7E 0x0161 # LATIN SMALL LETTER S WITH CARON
|
||
|
||
English:
|
||
0x23 0x00A3 # POUND SIGN
|
||
0x24 0x0024 # DOLLAR SIGN
|
||
0x40 0x0040 # COMMERCIAL AT
|
||
0x5B 0x2190 # LEFTWARDS ARROW
|
||
0x5C 0x00BD # VULGAR FRACTION ONE HALF
|
||
0x5D 0x2192 # RIGHTWARDS ARROW
|
||
0x5E 0x2191 # UPWARDS ARROW
|
||
0x5F 0x0023 # NUMBER SIGN
|
||
0x60 0x2014 # EM DASH
|
||
0x7B 0x00BC # VULGAR FRACTION ONE QUARTER
|
||
0x7C 0x2016 # DOUBLE VERTICAL LINE
|
||
0x7D 0x00BE # VULGAR FRACTION THREE QUARTERS
|
||
0x7E 0x00F7 # DIVISION SIGN
|
||
|
||
Estonian:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x00F5 # LATIN SMALL LETTER O WITH TILDE
|
||
0x40 0x0160 # LATIN CAPITAL LETTER S WITH CARON
|
||
0x5B 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
|
||
0x5C 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
|
||
0x5D 0x017D # LATIN CAPITAL LETTER Z WITH CARON
|
||
0x5E 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
|
||
0x5F 0x00D5 # LATIN CAPITAL LETTER O WITH TILDE
|
||
0x60 0x0161 # LATIN SMALL LETTER S WITH CARON
|
||
0x7B 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
|
||
0x7C 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
|
||
0x7D 0x017E # LATIN SMALL LETTER Z WITH CARON
|
||
0x7E 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
||
|
||
French:
|
||
0x23 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
|
||
0x24 0x00EF # LATIN SMALL LETTER I WITH DIAERESIS
|
||
0x40 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
|
||
0x5B 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
|
||
0x5C 0x00EA # LATIN SMALL LETTER E WITH CIRCUMFLEX
|
||
0x5D 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
|
||
0x5E 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||
0x5F 0x0023 # NUMBER SIGN
|
||
0x60 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
|
||
0x7B 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||
0x7C 0x00F4 # LATIN SMALL LETTER O WITH CIRCUMFLEX
|
||
0x7D 0x00FB # LATIN SMALL LETTER U WITH CIRCUMFLEX
|
||
0x7E 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
|
||
|
||
German:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x0024 # DOLLAR SIGN
|
||
0x40 0x00A7 # SECTION SIGN
|
||
0x5B 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
|
||
0x5C 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
|
||
0x5D 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
|
||
0x5E 0x005E # CIRCUMFLEX ACCENT
|
||
0x5F 0x005F # LOW LINE
|
||
0x60 0x00B0 # DEGREE SIGN
|
||
0x7B 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
|
||
0x7C 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
|
||
0x7D 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
||
0x7E 0x00DF # LATIN SMALL LETTER SHARP S
|
||
|
||
Italian:
|
||
0x23 0x00A3 # POUND SIGN
|
||
0x24 0x0024 # DOLLAR SIGN
|
||
0x40 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
|
||
0x5B 0x00B0 # DEGREE SIGN
|
||
0x5C 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
|
||
0x5D 0x2192 # RIGHTWARDS ARROW
|
||
0x5E 0x2191 # UPWARDS ARROW
|
||
0x5F 0x0023 # NUMBER SIGN
|
||
0x60 0x00F9 # LATIN SMALL LETTER U WITH GRAVE
|
||
0x7B 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
|
||
0x7C 0x00F2 # LATIN SMALL LETTER O WITH GRAVE
|
||
0x7D 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
|
||
0x7E 0x00EC # LATIN SMALL LETTER I WITH GRAVE
|
||
|
||
Lettish/Lithuanian:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x0024 # DOLLAR SIGN
|
||
0x40 0x0160 # LATIN CAPITAL LETTER S WITH CARON
|
||
0x5B 0x0117 # LATIN SMALL LETTER E WITH DOT ABOVE
|
||
0x5C 0x0229 # LATIN SMALL LETTER E WITH CEDILLA
|
||
# should 0x5C be U+0119 LATIN SMALL LETTER E WITH OGONEK?
|
||
0x5D 0x017D # LATIN CAPITAL LETTER Z WITH CARON
|
||
0x5E 0x010D # LATIN SMALL LETTER C WITH CARON
|
||
0x5F 0x016B # LATIN SMALL LETTER U WITH MACRON
|
||
0x60 0x0161 # LATIN SMALL LETTER S WITH CARON
|
||
0x7B 0x0105 # LATIN SMALL LETTER A WITH OGONEK
|
||
0x7C 0x0173 # LATIN SMALL LETTER U WITH OGONEK
|
||
0x7D 0x017E # LATIN SMALL LETTER Z WITH CARON
|
||
0x7E 0x012F # LATIN SMALL LETTER I WITH OGONEK
|
||
|
||
Polish:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x0144 # LATIN SMALL LETTER N WITH ACUTE
|
||
0x40 0x0105 # LATIN SMALL LETTER A WITH OGONEK
|
||
0x5B 0x01B5 # LATIN CAPITAL LETTER Z WITH STROKE
|
||
0x5C 0x015A # LATIN CAPITAL LETTER S WITH ACUTE
|
||
0x5D 0x0141 # LATIN CAPITAL LETTER L WITH STROKE
|
||
0x5E 0x0107 # LATIN SMALL LETTER C WITH ACUTE
|
||
0x5F 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
|
||
0x60 0x0119 # LATIN SMALL LETTER E WITH OGONEK
|
||
0x7B 0x017C # LATIN SMALL LETTER Z WITH DOT ABOVE
|
||
0x7C 0x015B # LATIN SMALL LETTER S WITH ACUTE
|
||
0x7D 0x0142 # LATIN SMALL LETTER L WITH STROKE
|
||
0x7E 0x017A # LATIN SMALL LETTER Z WITH ACUTE
|
||
|
||
Portuguese/Spanish:
|
||
0x23 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
|
||
0x24 0x0024 # DOLLAR SIGN
|
||
0x40 0x00A1 # INVERTED EXCLAMATION MARK
|
||
0x5B 0x00E1 # LATIN SMALL LETTER A WITH ACUTE
|
||
0x5C 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
|
||
0x5D 0x00ED # LATIN SMALL LETTER I WITH ACUTE
|
||
0x5E 0x00F3 # LATIN SMALL LETTER O WITH ACUTE
|
||
0x5F 0x00FA # LATIN SMALL LETTER U WITH ACUTE
|
||
0x60 0x00BF # INVERTED QUESTION MARK
|
||
0x7B 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
||
0x7C 0x00F1 # LATIN SMALL LETTER N WITH TILDE
|
||
0x7D 0x00E8 # LATIN SMALL LETTER E WITH GRAVE
|
||
0x7E 0x00E0 # LATIN SMALL LETTER A WITH GRAVE
|
||
|
||
Rumanian:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x00A4 # CURRENCY SIGN
|
||
0x40 0x0162 # LATIN CAPITAL LETTER T WITH CEDILLA
|
||
0x5B 0x00C2 # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
|
||
0x5C 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
|
||
0x5D 0x01CD # LATIN CAPITAL LETTER A WITH CARON
|
||
# should 0x5D be U+0102 LATIN CAPITAL LETTER A WITH BREVE?
|
||
0x5E 0x00CD # LATIN CAPITAL LETTER I WITH ACUTE
|
||
0x5F 0x0131 # LATIN SMALL LETTER DOTLESS I
|
||
0x60 0x0163 # LATIN SMALL LETTER T WITH CEDILLA
|
||
0x7B 0x00E2 # LATIN SMALL LETTER A WITH CIRCUMFLEX
|
||
0x7C 0x015F # LATIN SMALL LETTER S WITH CEDILLA
|
||
0x7D 0X01CE # LATIN SMALL LETTER A WITH CARON
|
||
# should 0x7D be U+0103 LATIN SMALL LETTER A WITH BREVE?
|
||
0x7E 0x00EE # LATIN SMALL LETTER I WITH CIRCUMFLEX
|
||
|
||
Serbian/Croation/Slovenian:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x00CB # LATIN CAPITAL LETTER E WITH DIAERESIS
|
||
0x40 0x010C # LATIN CAPITAL LETTER C WITH CARON
|
||
0x5B 0x0106 # LATIN CAPITAL LETTER C WITH ACUTE
|
||
0x5C 0x017D # LATIN CAPITAL LETTER Z WITH CARON
|
||
0x5D 0x00D0 # LATIN CAPITAL LETTER ETH
|
||
# should 0x5D be U+0110 LATIN CAPITAL LETTER D WITH STROKE?
|
||
0x5E 0x0160 # LATIN CAPITAL LETTER S WITH CARON
|
||
0x5F 0x00EB # LATIN SMALL LETTER E WITH DIAERESIS
|
||
0x60 0x010D # LATIN SMALL LETTER C WITH CARON
|
||
0x7B 0x0107 # LATIN SMALL LETTER C WITH ACUTE
|
||
0x7C 0x017E # LATIN SMALL LETTER Z WITH CARON
|
||
0x7D 0x00F0 # LATIN SMALL LETTER ETH
|
||
# should 0x5F be U+0111 LATIN SMALL LETTER D WITH STROKE?
|
||
0x7E 0x0161 # LATIN SMALL LETTER S WITH CARON
|
||
|
||
Swedish/Finnish:
|
||
0x23 0x0023 # NUMBER SIGN
|
||
0x24 0x00A4 # CURRENCY SIGN
|
||
0x40 0x00C9 # LATIN CAPITAL LETTER E WITH ACUTE
|
||
0x5B 0x00C4 # LATIN CAPITAL LETTER A WITH DIAERESIS
|
||
0x5C 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
|
||
0x5D 0x00C5 # LATIN CAPITAL LETTER A WITH RING ABOVE
|
||
0x5E 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
|
||
0x5F 0x005F # LOW LINE
|
||
0x60 0x00E9 # LATIN SMALL LETTER E WITH ACUTE
|
||
0x7B 0x00E4 # LATIN SMALL LETTER A WITH DIAERESIS
|
||
0x7C 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
|
||
0x7D 0x00E5 # LATIN SMALL LETTER A WITH RING ABOVE
|
||
0x7E 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
||
|
||
Turkish:
|
||
0x23 0xE800 # <private use>
|
||
0x24 0x011F # LATIN SMALL LETTER G WITH BREVE
|
||
0x40 0x0130 # LATIN CAPITAL LETTER I WITH DOT ABOVE
|
||
0x5B 0x015E # LATIN CAPITAL LETTER S WITH CEDILLA
|
||
0x5C 0x00D6 # LATIN CAPITAL LETTER O WITH DIAERESIS
|
||
0x5D 0x00C7 # LATIN CAPITAL LETTER C WITH CEDILLA
|
||
0x5E 0x00DC # LATIN CAPITAL LETTER U WITH DIAERESIS
|
||
0x5F 0x011E # LATIN CAPITAL LETTER G WITH BREVE
|
||
0x60 0x0131 # LATIN SMALL LETTER DOTLESS I
|
||
0x7B 0x015F # LATIN SMALL LETTER S WITH CEDILLA
|
||
0x7C 0x00F6 # LATIN SMALL LETTER O WITH DIAERESIS
|
||
0x7D 0x00E7 # LATIN SMALL LETTER C WITH CEDILLA
|
||
0x7E 0x00FC # LATIN SMALL LETTER U WITH DIAERESIS
|
||
|
||
Latin G2 supplementary set:
|
||
0x00A0 # NO-BREAK SPACE
|
||
0x00A1 # INVERTED EXCLAMATION MARK
|
||
0x00A2 # CENT SIGN
|
||
0x00A3 # POUND SIGN
|
||
0x0024 # DOLLAR SIGN
|
||
0x00A5 # YEN SIGN
|
||
0x0023 # NUMBER SIGN
|
||
0x00A7 # SECTION SIGN
|
||
0x00A4 # CURRENCY SIGN
|
||
0x2018 # LEFT SINGLE QUOTATION MARK
|
||
0x201C # LEFT DOUBLE QUOTATION MARK
|
||
0x00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||
0x2190 # LEFTWARDS ARROW
|
||
0x2191 # UPWARDS ARROW
|
||
0x2192 # RIGHTWARDS ARROW
|
||
0x2193 # DOWNWARDS ARROW
|
||
0x00B0 # DEGREE SIGN
|
||
0x00B1 # PLUS-MINUS SIGN
|
||
0x00B2 # SUPERSCRIPT TWO
|
||
0x00B3 # SUPERSCRIPT THREE
|
||
0x00D7 # MULTIPLICATION SIGN
|
||
0x00B5 # MICRO SIGN
|
||
0x00B6 # PILCROW SIGN
|
||
0x00B7 # MIDDLE DOT
|
||
0x00F7 # DIVISION SIGN
|
||
0x2019 # RIGHT SINGLE QUOTATION MARK
|
||
0x201D # RIGHT DOUBLE QUOTATION MARK
|
||
0x00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
|
||
0x00BC # VULGAR FRACTION ONE QUARTER
|
||
0x00BD # VULGAR FRACTION ONE HALF
|
||
0x00BE # VULGAR FRACTION THREE QUARTERS
|
||
0x00BF # INVERTED QUESTION MARK
|
||
0x0020 # SPACE
|
||
0x02CB # MODIFIER LETTER GRAVE ACCENT
|
||
0x02CA # MODIFIER LETTER ACUTE ACCENT
|
||
0x02C6 # MODIFIER LETTER CIRCUMFLEX ACCENT
|
||
0x02DC # SMALL TILDE
|
||
0x02C9 # MODIFIER LETTER MACRON
|
||
0x02D8 # BREVE
|
||
0x02D9 # DOT ABOVE
|
||
0x00A8 # DIAERESIS
|
||
0x002E # FULL STOP
|
||
0x02DA # RING ABOVE
|
||
0x02CF # MODIFIER LETTER LOW ACUTE ACCENT
|
||
0x02CD # MODIFIER LETTER LOW MACRON
|
||
0x02DD # DOUBLE ACUTE ACCENT
|
||
0x02DB # OGONEK
|
||
0x02C7 # CARON
|
||
0x2014 # EM DASH
|
||
0x00B9 # SUPERSCRIPT ONE
|
||
0x00AE # REGISTERED SIGN
|
||
0x00A9 # COPYRIGHT SIGN
|
||
0x2122 # TRADE MARK SIGN
|
||
0x266A # EIGHTH NOTE
|
||
0x20A0 # EURO-CURRENCY SIGN
|
||
0x2030 # PER MILLE SIGN
|
||
0x0251 # LATIN SMALL LETTER ALPHA
|
||
0x0020 # SPACE
|
||
0x0020 # SPACE
|
||
0x0020 # SPACE
|
||
0x215B # VULGAR FRACTION ONE EIGHTH
|
||
0x215C # VULGAR FRACTION THREE EIGHTHS
|
||
0x215D # VULGAR FRACTION FIVE EIGHTHS
|
||
0x215E # VULGAR FRACTION SEVEN EIGHTHS
|
||
0x2126 # OHM SIGN
|
||
0x00C6 # LATIN CAPITAL LETTER AE
|
||
0x00D0 # LATIN CAPITAL LETTER ETH
|
||
# should this be U+0110 LATIN CAPITAL LETTER D WITH STROKE? See T.51.
|
||
0x00AA # FEMININE ORDINAL INDICATOR
|
||
0x0126 # LATIN CAPITAL LETTER H WITH STROKE
|
||
0x0020 # SPACE
|
||
0x0132 # LATIN CAPITAL LIGATURE IJ
|
||
0x013F # LATIN CAPITAL LETTER L WITH MIDDLE DOT
|
||
0x0141 # LATIN CAPITAL LETTER L WITH STROKE
|
||
0x00D8 # LATIN CAPITAL LETTER O WITH STROKE
|
||
0x0152 # LATIN CAPITAL LIGATURE OE
|
||
0x00BA # MASCULINE ORDINAL INDICATOR
|
||
0x00DE # LATIN CAPITAL LETTER THORN
|
||
0x0166 # LATIN CAPITAL LETTER T WITH STROKE
|
||
0x014A # LATIN CAPITAL LETTER ENG
|
||
0x0149 # LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
|
||
0x0138 # LATIN SMALL LETTER KRA
|
||
0x00E6 # LATIN SMALL LETTER AE
|
||
0x0111 # LATIN SMALL LETTER D WITH STROKE
|
||
0x00F0 # LATIN SMALL LETTER ETH
|
||
0x0127 # LATIN SMALL LETTER H WITH STROKE
|
||
0x0131 # LATIN SMALL LETTER DOTLESS I
|
||
0x0133 # LATIN SMALL LIGATURE IJ
|
||
0x0140 # LATIN SMALL LETTER L WITH MIDDLE DOT
|
||
0x0142 # LATIN SMALL LETTER L WITH STROKE
|
||
0x00F8 # LATIN SMALL LETTER L WITH STROKE
|
||
0x0153 # LATIN SMALL LIGATURE OE
|
||
0x00DF # LATIN SMALL LETTER SHARP S
|
||
0x00FE # LATIN SMALL LETTER THORN
|
||
0x0167 # LATIN SMALL LETTER T WITH STROKE
|
||
0x014B # LATIN SMALL LETTER ENG
|
||
0x25A0 # BLACK SQUARE
|
||
|
||
Cyrillic Russian option:
|
||
0x042E # CYRILLIC CAPITAL LETTER YU
|
||
0x0410 # CYRILLIC CAPITAL LETTER A
|
||
0x0411 # CYRILLIC CAPITAL LETTER BE
|
||
0x0426 # CYRILLIC CAPITAL LETTER TSE
|
||
0x0414 # CYRILLIC CAPITAL LETTER DE
|
||
0x0415 # CYRILLIC CAPITAL LETTER IE
|
||
0x0424 # CYRILLIC CAPITAL LETTER EF
|
||
0x0413 # CYRILLIC CAPITAL LETTER GHE
|
||
0x0425 # CYRILLIC CAPITAL LETTER HA
|
||
0x0418 # CYRILLIC CAPITAL LETTER I
|
||
0x040D # CYRILLIC CAPITAL LETTER I WITH GRAVE
|
||
# Should be U+0419 CYRILLIC CAPITAL LETTER SHORT I ?
|
||
0x041A # CYRILLIC CAPITAL LETTER KA
|
||
0x041B # CYRILLIC CAPITAL LETTER EL
|
||
0x041C # CYRILLIC CAPITAL LETTER EM
|
||
0x041D # CYRILLIC CAPITAL LETTER EN
|
||
0x041E # CYRILLIC CAPITAL LETTER O
|
||
0x041F # CYRILLIC CAPITAL LETTER PE
|
||
0x042F # CYRILLIC CAPITAL LETTER YA
|
||
0x0420 # CYRILLIC CAPITAL LETTER ER
|
||
0x0421 # CYRILLIC CAPITAL LETTER ES
|
||
0x0422 # CYRILLIC CAPITAL LETTER TE
|
||
0x0423 # CYRILLIC CAPITAL LETTER U
|
||
0x0416 # CYRILLIC CAPITAL LETTER ZHE
|
||
0x0412 # CYRILLIC CAPITAL LETTER VE
|
||
0x042C # CYRILLIC CAPITAL LETTER SOFT SIGN
|
||
0x042A # CYRILLIC CAPITAL LETTER HARD SIGN
|
||
0x0417 # CYRILLIC CAPITAL LETTER ZE
|
||
0x0428 # CYRILLIC CAPITAL LETTER SHA
|
||
0x042D # CYRILLIC CAPITAL LETTER E
|
||
0x0429 # CYRILLIC CAPITAL LETTER SHCHA
|
||
0x0427 # CYRILLIC CAPITAL LETTER CHE
|
||
0x042B # CYRILLIC CAPITAL LETTER YERU
|
||
0x044E # CYRILLIC SMALL LETTER YU
|
||
0x0430 # CYRILLIC SMALL LETTER A
|
||
0x0431 # CYRILLIC SMALL LETTER BE
|
||
0x0446 # CYRILLIC SMALL LETTER TSE
|
||
0x0434 # CYRILLIC SMALL LETTER DE
|
||
0x0435 # CYRILLIC SMALL LETTER IE
|
||
0x0444 # CYRILLIC SMALL LETTER EF
|
||
0x0433 # CYRILLIC SMALL LETTER GHE
|
||
0x0445 # CYRILLIC SMALL LETTER HA
|
||
0x0438 # CYRILLIC SMALL LETTER I
|
||
0x045D # CYRILLIC SMALL LETTER I WITH GRAVE
|
||
0x043A # CYRILLIC SMALL LETTER KA
|
||
0x043B # CYRILLIC SMALL LETTER EL
|
||
0x043C # CYRILLIC SMALL LETTER EM
|
||
0x043D # CYRILLIC SMALL LETTER EN
|
||
0x043E # CYRILLIC SMALL LETTER O
|
||
0x043F # CYRILLIC SMALL LETTER PE
|
||
0x044F # CYRILLIC SMALL LETTER YA
|
||
0x0440 # CYRILLIC SMALL LETTER ER
|
||
0x0441 # CYRILLIC SMALL LETTER ES
|
||
0x0442 # CYRILLIC SMALL LETTER TE
|
||
0x0443 # CYRILLIC SMALL LETTER U
|
||
0x0436 # CYRILLIC SMALL LETTER ZHE
|
||
0x0432 # CYRILLIC SMALL LETTER VE
|
||
0x044C # CYRILLIC SMALL LETTER SOFT SIGN
|
||
0x044A # CYRILLIC SMALL LETTER HARD SIGN
|
||
0x0437 # CYRILLIC SMALL LETTER ZE
|
||
0x0448 # CYRILLIC SMALL LETTER SHA
|
||
0x044D # CYRILLIC SMALL LETTER E
|
||
0x0449 # CYRILLIC SMALL LETTER SHCHA
|
||
0x0447 # CYRILLIC SMALL LETTER CHE
|
||
0x25A0 # BLACK SQUARE
|
||
|
||
Hebrew:
|
||
0x2190u, 0x00BDu, 0x2192u, 0x2191u, 0x0023u,
|
||
0x05D0u, 0x05D1u, 0x05D2u, 0x05D3u, 0x05D4u, 0x05D5u, 0x05D6u, 0x05D7u, 0x05D8u, 0x05D9u, 0x05DAu, 0x05DBu, 0x05DCu, 0x05DDu, 0x05DEu, 0x05DFu,
|
||
0x05E0u, 0x05E1u, 0x05E2u, 0x05E3u, 0x05E4u, 0x05E5u, 0x05E6u, 0x05E7u, 0x05E8u, 0x05E9u, 0x05EAu, 0x20AAu, 0x2016u, 0x00BEu, 0x00F7u, 0x25A0u
|
||
|
||
|
||
ZVBI doesn't have a mapping for Arabic characters, but maybe we can.
|
||
|
||
0x20 0x0020
|
||
0x21 0x0021
|
||
0x22 0x0022
|
||
0x23 0x00A3
|
||
0x24 0x00A4
|
||
0x25 0x0025
|
||
|
||
0x40 0xFE94 # ARABIC LETTER TEH MARBUTA FINAL FORM
|
||
0x41 0xFE80 # ARABIC LETTER HAMZA ISOLATED FORM
|
||
0x42 0xFE92 # ARABIC LETTER BEH MEDIAL FORM
|
||
0x43 0xFE8F # ARABIC LETTER BEH ISOLATED FORM (also final?)
|
||
0x44 0xFE98 # ARABIC LETTER TEH MEDIAL FORM
|
||
0X45 0xFE95 # ARABIC LETTER TEH ISOLATED FORM (also final?)
|
||
0x46 0xFE8E # ARABIC LETTER ALEF FINAL FORM
|
||
0x47 0xFE8D # ARABIC LETTER ALEF ISOLATED FORM
|
||
0x48 0xFE91 # ARABIC LETTER BEH INITIAL FORM
|
||
0x49
|
||
0x4A 0xFE97 # ARABIC LETTER TEH INITIAL FORM
|
||
0x4B 0xFE9B # ARABIC LETTER THEH INITIAL FORM
|
||
0x4C 0xFE9F # ARABIC LETTER JEEM INITIAL FORM
|
||
0x4D 0xFEA3 # ARABIC LETTER HAH INITIAL FORM
|
||
0x4E 0xFEA7 # ARABIC LETTER KHAH INITIAL FORM
|
||
0x4F
|
||
0x50 0x0631 # ARABIC LETTER REH (final and isolated)
|
||
0x51 0x0630 # ARABIC LETTER THAL (final and isolated)
|
||
0x52 0xFEB3 # ARABIC LETTER SEEN INITIAL FORM (also medial)
|
||
0x53 0xFEB7 # ARABIC LETTER SHEEN INITIAL FORM (also medial)
|
||
|
||
0x5B 0xFE9C # ARABIC LETTER THEH MEDIAL FORM
|
||
0x5C 0xFEA0 # ARABIC LETTER JEEM MEDIAL FORM
|
||
0x5D 0xFEA4 # ARABIC LETTER HAH MEDIAL FORM
|
||
0x5E 0xFEA8 # ARABIC LETTER KHAH MEDIAL FORM
|
||
|
||
0x6B 0xFE99 # ARABIC LETTER THEH ISOLATED FORM (also final?)
|
||
0x6C 0xFE9D # ARABIC LETTER JEEM ISOLATED FORM (also final?)
|
||
0x6D 0xFEA1 # ARABIC LETTER HAH ISOLATED FORM (also final?)
|
||
0x6E 0xFEA5 # ARABIC LETTER KHAH ISOLATED FORM (also final?)
|
||
|
||
UK patent number 1343298 (filed 1971 by Mullard) describes the
|
||
character rounding technique used by the SAA5050.
|
||
|
||
FontForge's "Expand stroke" may be useful for converting single-line
|
||
font into something useful. A 50-unit circular pen generates Bedstead
|
||
Plotter. A 100×50-unit, 20° rectangular pen generates a surprisingly
|
||
good Bedstead Calligraphic.
|
||
|
||
Typographers seem to like explaining how to design their languages'
|
||
unique letters:
|
||
|
||
Æ and æ:
|
||
https://medium.com/@frodefrodefrode/designing-the-letter-%C3%A6-862cffbe22b
|
||
|
||
Polish characters
|
||
http://www.twardoch.com/download/polishhowto/
|
||
|
||
ẞ:
|
||
https://typography.guru/journal/capital-sharp-s-designs/
|
||
https://typography.guru/journal/how-to-draw-a-capital-sharp-s-r18/
|
||
|
||
Microsoft have their own suggestions:
|
||
https://docs.microsoft.com/en-gb/typography/develop/character-design-standards/
|
||
|
||
Good bitmap sizes for Bedstead fulfill two characteristics:
|
||
|
||
1: An integer number of output pixels per Bedstead pixel (so
|
||
horizontal and vertical lines work).
|
||
|
||
2: Edges of diagonals don't pass through pixel centres (so no doubt
|
||
whether any pixel is in or out).
|
||
|
||
The first requires that the height be 10n for integer n.
|
||
|
||
The second requires that the height _not_ be 40n for integer n.
|
||
|
||
So good sizes are 10, 20, 30, 50, 60, 70, 90, 100, etc.
|
||
|
||
The best sizes would be those where the area of a (long) diagonal line
|
||
is correct. The outline version has an area of 1 - (0.25^2) + (0.75^2) =
|
||
1.5/pixel. Others:
|
||
|
||
size | area/diagonal pixel
|
||
-----|--------------------
|
||
10 | 1
|
||
20 | 1+1/2 = 1.5
|
||
30 | 1+6/9 = 1.67
|
||
50 | 1+10/25 = 1.4
|
||
60 | 1+18/36 = 1.5
|
||
70 | 1+28/49 = 1.57
|
||
90 | 1+36/81 = 1.44
|
||
100 | 1+50/100 = 1.5
|
||
|
||
So the _very_ best sizes are 20, 60, 100, etc. 90 and 50 are pretty
|
||
good because they're between √2 and 1.5.
|