libx52/lib/libx52util/x52_char_map.cfg

322 lines
11 KiB
INI

# Conversion Map for X52 Pro MFD character map
# The X52 Pro MFD uses a single byte character set and encodes multiple
# character ranges in that set. This file defines the mapping from Unicode
# code points to the vendor character set. This is transformed at compilation
# time to a lookup table using UTF-8. All characters must be explicitly
# specified to be added to the lookup table.
# Lines must be formatted as follows
# <Unicode Code point in hex> <MFD Charmap value in hex>
# or
# <Unicode Code point in hex> <MFD Charmap value as single character>
# Comment lines begin with the # character in the first column
# Comments may begin after the character map value, they are ignored as long
# as the rest of the line is in a valid format.
# Code points which are not found in the list below will translate to
# 0xDB which is the entry in the character map for a box (similar to U+25FB)
# Note that the library will not attempt to perform any additional matching
# steps like iconv does to find a close match in the glyph, so if you need
# to add any such "close matches", you will need to explicitly list them
# in the list below.
# The following chart indicates which glyphs in the character map have been
# listed below, it is intended to give at a quick glance what additional
# characters need to be mapped. Rows are the lower nibble, columns are the
# higher nibble.
# NOTE TO MAINTAINERS: Update the chart below when you add new codepoints to
# the translation list.
# LEGEND
# ======
# ? - Needs to be mapped
# * - Already mapped
# x - There is no mapping for this (0x00-0x07)
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# | \ | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# | 0 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ? |
# | 1 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ? |
# | 2 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ? |
# | 3 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ? |
# | 4 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | ? |
# | 5 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | 6 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | 7 | x | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | 8 | ? | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | 9 | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | A | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | B | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | C | * | * | * | * | * | ? | * | * | * | * | * | * | * | * | * | * |
# | D | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | E | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# | F | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * | * |
# +---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+---+
# Map starts below
# ----------------------------------------------------------------------------
# Printable ASCII Range - These map directly onto their respective code points
# except where specified.
0x0020 0x20
0x0021 !
0x0022 "
0x0023 0x23 # Can't really use the # character as the parser strips it out
0x0024 $
0x0025 %
0x0026 &
0x0027 '
0x0028 (
0x0029 )
0x002a *
0x002b +
0x002c ,
0x002d -
0x002e .
0x002f /
0x0030 0
0x0031 1
0x0032 2
0x0033 3
0x0034 4
0x0035 5
0x0036 6
0x0037 7
0x0038 8
0x0039 9
0x003a :
0x003b ;
0x003c <
0x003d =
0x003e >
0x003f ?
0x0040 @
0x0041 A
0x0042 B
0x0043 C
0x0044 D
0x0045 E
0x0046 F
0x0047 G
0x0048 H
0x0049 I
0x004a J
0x004b K
0x004c L
0x004d M
0x004e N
0x004f O
0x0050 P
0x0051 Q
0x0052 R
0x0053 S
0x0054 T
0x0055 U
0x0056 V
0x0057 W
0x0058 X
0x0059 Y
0x005a Z
0x005b [
# Backslash (\) does not appear in the character set
0x005d ]
0x005e ^
0x005f _
0x0060 `
0x0061 a
0x0062 b
0x0063 c
0x0064 d
0x0065 e
0x0066 f
0x0067 g
0x0068 h
0x0069 i
0x006a j
0x006b k
0x006c l
0x006d m
0x006e n
0x006f o
0x0070 p
0x0071 q
0x0072 r
0x0073 s
0x0074 t
0x0075 u
0x0076 v
0x0077 w
0x0078 x
0x0079 y
0x007a z
0x007b {
0x007c |
0x007d }
# Tilde (~) does not appear in the character set
# Miscellaneous Symbols
0x00B7 0x0D # MIDDLE DOT
0x00AE 0x0E # REGISTERD SIGN
0x00A9 0x0F # COPYRIGHT SIGN
0x2122 0x10 # TRADE MARK SIGN
0x2020 0x11 # DAGGER
0x00A7 0x12 # SECTION SIGN
0x00B6 0x13 # PILCROW SIGN
0x2192 0x7E # RIGHTWARDS ARROW
0x2190 0x7F # LEFTWARDS ARROW (also available at 0x08)
0x00A0 0xA0 # NO-BREAK SPACE
0x203E 0xFF # OVERLINE
# Mathematical Symbols
0x00BD 0xF5 # VULGAR FRACTION ONE HALF
0x00BC 0xF6 # VULGAR FRACTION ONE QUARTER
0x00D7 0xF7 # MULTIPLICATION SIGN
0x00F7 0xF8 # DIVISION SIGN
0x2264 0xF9 # LESS-THAN OR EQUAL TO
0x2265 0xFA # GREATER-THAN OR EQUAL TO
0x226A 0xFB # MUCH LESS-THAN
0x226B 0xFC # MUCH GREATER-THAN
0x2260 0xFD # NOT EQUAL TO
0x221A 0xFE # SQUARE ROOT
# Accented Latin characters
0x00C7 0x80 # LATIN CAPITAL LETTER C WITH CEDILLA
0x00FC 0x81 # LATIN SMALL LETTER U WITH DIAERESIS
0x00E9 0x82 # LATIN SMALL LETTER E WITH ACUTE
0x00E2 0x83 # LATIN SMALL LETTER A WITH CIRCUMFLEX
0x00E4 0x84 # LATIN SMALL LETTER A WITH DIAERESIS
0x00E0 0x85 # LATIN SMALL LETTER A WITH GRAVE
0x0227 0x86 # LATIN SMALL LETTER A WITH DOT ABOVE
0x00E7 0x87 # LATIN SMALL LETTER C WITH CEDILLA
0x00EA 0x88 # LATIN SMALL LETTER E WITH CIRCUMFLEX
0x00EB 0x89 # LATIN SMALL LETTER E WITH DIAERESIS
0x00E8 0x8A # LATIN SMALL LETTER E WITH GRAVE
0x00EF 0x8B # LATIN SMALL LETTER I WITH DIAERESIS
0x00EE 0x8C # LATIN SMALL LETTER I WITH CIRCUMFLEX
0x00EC 0x8D # LATIN SMALL LETTER I WITH GRAVE
0x00C4 0x8E # LATIN CAPITAL LETTER A WITH DIAERESIS
0x00C2 0x8F # LATIN CAPITAL LETTER A WITH CIRCUMFLEX
0x00C9 0x90 # LATIN CAPITAL LETTER E WITH ACUTE
0x00E6 0x91 # LATIN SMALL LETTER AE
0x00C6 0x92 # LATIN CAPITAL LETTER AE
0x00F4 0x93 # LATIN SMALL LETTER O WITH CIRCUMFLEX
0x00F6 0x94 # LATIN SMALL LETTER O WITH DIAERESIS
0x00F2 0x95 # LATIN SMALL LETTER O WITH GRAVE
0x00FB 0x96 # LATIN SMALL LETTER U WITH CIRCUMFLEX
0x00F9 0x97 # LATIN SMALL LETTER U WITH GRAVE
0x00FF 0x98 # LATIN SMALL LETTER Y WITH DIAERESIS
0x00D6 0x99 # LATIN CAPITAL LETTER O WITH DIAERESIS
0x00DC 0x9A # LATIN CAPITAL LETTER U WITH DIAERESIS
0x00F1 0x9B # LATIN SMALL LETTER N WITH TILDE
0x00D1 0x9C # LATIN CAPITAL LETTER N WITH TILDE
0x00AA 0x9D # FEMININE ORDINAL INDICATOR
0x00BA 0x9E # MASCULINE ORDINAL INDICATOR
0x00BF 0x9F # INVERTED QUESTION MARK
0x00E1 0xE0 # LATIN SMALL LETTER A WITH ACUTE
0x00ED 0xE1 # LATIN SMALL LETTER I WITH ACUTE
0x00F3 0xE2 # LATIN SMALL LETTER O WITH ACUTE
0x00FA 0xE3 # LATIN SMALL LETTER U WITH ACUTE
0x00A2 0xE4 # CENT SIGN
0x00A3 0xE5 # POUND SIGN
0x00A5 0xE6 # YEN SIGN
0x20A7 0xE7 # PESETA SIGN
0x0192 0xE8 # LATIN SMALL LETTER F WITH HOOK
0x00A1 0xE9 # INVERTED EXCLAMATION MARK
0x00C3 0xEA # LATIN CAPITAL LETTER A WITH TILDE
0x00E3 0xEB # LATIN SMALL LETTER A WITH TILDE
0x00D5 0xEC # LATIN CAPITAL LETTER O WITH TILDE
0x00F5 0xED # LATIN SMALL LETTER O WITH TILDE
0x00D8 0xEE # LATIN CAPITAL LETTER O WITH STROKE
0x00F8 0xEF # LATIN SMALL LETTER O WITH STROKE
# Greek
0x0393 0x14 # GREEK CAPITAL LETTER GAMMA
0x0394 0x15 # GREEK CAPITAL LETTER DELTA
0x0398 0x16 # GREEK CAPITAL LETTER THETA
0x039B 0x17 # GREEK CAPITAL LETTER LAMDA
0x039E 0x18 # GREEK CAPITAL LETTER XI
0x03A0 0x19 # GREEK CAPITAL LETTER PI
0x03A3 0x1A # GREEK CAPITAL LETTER SIGMA
0x03D2 0x1B # GREEK UPSILON WITH HOOK SYMBOL
0x03A6 0x1C # GREEK CAPITAL LETTER PHI
0x03A8 0x1D # GREEK CAPITAL LETTER PSI
0x03A9 0x1E # GREEK CAPITAL LETTER OMEGA
0x03B1 0x1F # GREEK SMALL LETTER ALPHA
# Box Drawing
0x250C 0x09 # BOX DRAWINGS LIGHT DOWN AND RIGHT
0x2510 0x0A # BOX DRAWINGS LIGHT DOWN AND LEFT
0x2514 0x0B # BOX DRAWINGS LIGHT UP AND RIGHT
0x2518 0x0C # BOX DRAWINGS LIGHT UP AND LEFT
# Halfwidth CJK punctuation
0xFF61 0xA1 # HALFWIDTH IDEOGRAPHIC FULL STOP
0xFF62 0xA2 # HALFWIDTH LEFT CORNER BRACKET
0xFF63 0xA3 # HALFWIDTH RIGHT CORNER BRACKET
0xFF64 0xA4 # HALFWIDTH IDEOGRAPHIC COMMA
# Halfwidth Katakana variants
0xFF65 0xA5 # HALFWIDTH KATAKANA MIDDLE DOT
0xFF66 0xA6 # HALFWIDTH KATAKANA LETTER WO
0xFF67 0xA7 # HALFWIDTH KATAKANA LETTER SMALL A
0xFF68 0xA8 # HALFWIDTH KATAKANA LETTER SMALL I
0xFF69 0xA9 # HALFWIDTH KATAKANA LETTER SMALL U
0xFF6A 0xAA # HALFWIDTH KATAKANA LETTER SMALL E
0xFF6B 0xAB # HALFWIDTH KATAKANA LETTER SMALL O
0xFF6C 0xAC # HALFWIDTH KATAKANA LETTER SMALL YA
0xFF6D 0xAD # HALFWIDTH KATAKANA LETTER SMALL YU
0xFF6E 0xAE # HALFWIDTH KATAKANA LETTER SMALL YO
0xFF6F 0xAF # HALFWIDTH KATAKANA LETTER SMALL TU
0xFF70 0xB0 # HALFWIDTH KATAKANA-HIRAGANA PROLONGED SOUND MARK
0xFF71 0xB1 # HALFWIDTH KATAKANA LETTER A
0xFF72 0xB2 # HALFWIDTH KATAKANA LETTER I
0xFF73 0xB3 # HALFWIDTH KATAKANA LETTER U
0xFF74 0xB4 # HALFWIDTH KATAKANA LETTER E
0xFF75 0xB5 # HALFWIDTH KATAKANA LETTER O
0xFF76 0xB6 # HALFWIDTH KATAKANA LETTER KA
0xFF77 0xB7 # HALFWIDTH KATAKANA LETTER KI
0xFF78 0xB8 # HALFWIDTH KATAKANA LETTER KU
0xFF79 0xB9 # HALFWIDTH KATAKANA LETTER KE
0xFF7A 0xBA # HALFWIDTH KATAKANA LETTER KO
0xFF7B 0xBB # HALFWIDTH KATAKANA LETTER SA
0xFF7C 0xBC # HALFWIDTH KATAKANA LETTER SI
0xFF7D 0xBD # HALFWIDTH KATAKANA LETTER SU
0xFF7E 0xBE # HALFWIDTH KATAKANA LETTER SE
0xFF7F 0xBF # HALFWIDTH KATAKANA LETTER SO
0xFF80 0xC0 # HALFWIDTH KATAKANA LETTER TA
0xFF81 0xC1 # HALFWIDTH KATAKANA LETTER TI
0xFF82 0xC2 # HALFWIDTH KATAKANA LETTER TU
0xFF83 0xC3 # HALFWIDTH KATAKANA LETTER TE
0xFF84 0xC4 # HALFWIDTH KATAKANA LETTER TO
0xFF85 0xC5 # HALFWIDTH KATAKANA LETTER NA
0xFF86 0xC6 # HALFWIDTH KATAKANA LETTER NI
0xFF87 0xC7 # HALFWIDTH KATAKANA LETTER NU
0xFF88 0xC8 # HALFWIDTH KATAKANA LETTER NE
0xFF89 0xC9 # HALFWIDTH KATAKANA LETTER NO
0xFF8A 0xCA # HALFWIDTH KATAKANA LETTER HA
0xFF8B 0xCB # HALFWIDTH KATAKANA LETTER HI
0xFF8C 0xCC # HALFWIDTH KATAKANA LETTER HU
0xFF8D 0xCD # HALFWIDTH KATAKANA LETTER HE
0xFF8E 0xCE # HALFWIDTH KATAKANA LETTER HO
0xFF8F 0xCF # HALFWIDTH KATAKANA LETTER MA
0xFF90 0xD0 # HALFWIDTH KATAKANA LETTER MI
0xFF91 0xD1 # HALFWIDTH KATAKANA LETTER MU
0xFF92 0xD2 # HALFWIDTH KATAKANA LETTER ME
0xFF93 0xD3 # HALFWIDTH KATAKANA LETTER MO
0xFF94 0xD4 # HALFWIDTH KATAKANA LETTER YA
0xFF95 0xD5 # HALFWIDTH KATAKANA LETTER YU
0xFF96 0xD6 # HALFWIDTH KATAKANA LETTER YO
0xFF97 0xD7 # HALFWIDTH KATAKANA LETTER RA
0xFF98 0xD8 # HALFWIDTH KATAKANA LETTER RI
0xFF99 0xD9 # HALFWIDTH KATAKANA LETTER RU
0xFF9A 0xDA # HALFWIDTH KATAKANA LETTER RE
0xFF9B 0xDB # HALFWIDTH KATAKANA LETTER RO
0xFF9C 0xDC # HALFWIDTH KATAKANA LETTER WA
0xFF9D 0xDD # HALFWIDTH KATAKANA LETTER N
0xFF9E 0xDE # HALFWIDTH KATAKANA VOICED SOUND MARK
0xFF9F 0xDF # HALFWIDTH KATAKANA SEMI-VOICED SOUND MARK