mirror of https://github.com/nirenjan/libx52.git
322 lines
11 KiB
INI
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
|
|
|