# Default Unicode mappings
#
# Copyright 2000 Alexandre Julliard
#
# This file contains default mappings for Unicode chars that aren't
# defined directly in the code page file. It is used by the cpmap.pl
# tool to build codepage tables.
#
# The first column defines equivalence sets; if any character in the set
# is defined in the codepage file, all others in the set will map to the
# same value.
#
# The second column specifies the default char to map the whole set to,
# if no characters in the set are defined by the codepage file.
#
# Characters that have an explicit decomposition in the UnicodeData.txt
# file (for instance 00c0 LATIN CAPITAL LETTER A WITH GRAVE -> 0041 0300)
# are handled automatically and do not have to be defined here. They can
# still be defined if necessary to override the unicode decomposition.
#

# letters

00a2,20a1      'c'  # CENT SIGN, COLON SIGN
00a3,20a4      'L'  # POUND SIGN, LIRA SIGN
00a5           'Y'  # YEN SIGN
00a9           'c'  # COPYRIGHT SIGN
00ae           'r'  # REGISTERED SIGN
00b5,03bc      'u'  # MICRO SIGN, GREEK SMALL LETTER MU
00c6           'A'  # LATIN CAPITAL LETTER AE
00d0,0110,0189 'D'  # LATIN CAPITAL LETTER D WITH STROKE/AFRICAN D/ETH
00d7           'x'  # MULTIPLICATION SIGN
00d8,2205      'O'  # LATIN CAPITAL LETTER O WITH STROKE, EMPTY SET
00df,03b2      none # LATIN SMALL LETTER SHARP S, GREEK SMALL LETTER BETA
00e6           'a'  # LATIN SMALL LETTER AE
00f0           'd'  # LATIN SMALL LETTER ETH
00f8           'o'  # LATIN SMALL LETTER O WITH STROKE
0111           'd'  # LATIN SMALL LETTER D WITH STROKE
0126           'H'  # LATIN CAPITAL LETTER H WITH STROKE
0127           'h'  # LATIN SMALL LETTER H WITH STROKE
0131           'i'  # LATIN SMALL LETTER DOTLESS I
0141           'L'  # LATIN CAPITAL LETTER L WITH STROKE
0142           'l'  # LATIN SMALL LETTER L WITH STROKE
0152           'O'  # LATIN CAPITAL LIGATURE OE
0153           'o'  # LATIN SMALL LIGATURE OE
0166           'T'  # LATIN CAPITAL LETTER T WITH STROKE
0167           't'  # LATIN SMALL LETTER T WITH STROKE
0180           'b'  # LATIN SMALL LETTER B WITH STROKE
0190           'E'  # LATIN CAPITAL LETTER OPEN E
0191           'F'  # LATIN CAPITAL LETTER F WITH HOOK
0192           'f'  # LATIN SMALL LETTER F WITH HOOK
0197           'I'  # LATIN CAPITAL LETTER I WITH STROKE
019a           'l'  # LATIN SMALL LETTER L WITH BAR
019f           'O'  # LATIN CAPITAL LETTER O WITH MIDDLE TILDE
01ab           't'  # LATIN SMALL LETTER T WITH PALATAL HOOK
01ae           'T'  # LATIN CAPITAL LETTER T WITH RETROFLEX HOOK
01b6           'z'  # LATIN SMALL LETTER Z WITH STROKE
0391 	       'A'  # GREEK CAPITAL LETTER ALPHA
0392 	       'B'  # GREEK CAPITAL LETTER BETA
0395 	       'E'  # GREEK CAPITAL LETTER EPSILON
0396 	       'Z'  # GREEK CAPITAL LETTER ZETA
0397 	       'H'  # GREEK CAPITAL LETTER ETA
0399 	       'I'  # GREEK CAPITAL LETTER IOTA
039a 	       'K'  # GREEK CAPITAL LETTER KAPPA
039c 	       'M'  # GREEK CAPITAL LETTER MU
039d 	       'N'  # GREEK CAPITAL LETTER NU
039f 	       'O'  # GREEK CAPITAL LETTER OMICRON
03a1 	       'P'  # GREEK CAPITAL LETTER RHO
03a4 	       'T'  # GREEK CAPITAL LETTER TAU
03a5 	       'Y'  # GREEK CAPITAL LETTER UPSILON
03a7 	       'X'  # GREEK CAPITAL LETTER CHI
01e4 	       'G'  # LATIN CAPITAL LETTER G WITH STROKE
01e5 	       'g'  # LATIN SMALL LETTER G WITH STROKE
0261 	       'g'  # LATIN SMALL LETTER SCRIPT G
2118           'P'  # SCRIPT CAPITAL P
212e           'e'  # ESTIMATED SYMBOL

# accents

00a8,0308                '"'  # DIAERESIS
00af,02c9,0304           2014 # MACRON -> EM DASH
00b4,02b9,02ca,0301,2032 '''  # ACUTE ACCENT, PRIME
00b8,0327                ','  # CEDILLA
02ba,02dd,030b,2033      '"'  # DOUBLE ACUTE ACCENT, DOUBLE PRIME
02c4,2303                '^'  # UP ARROWHEAD
02c6,0302                '^'  # CIRCUMFLEX ACCENT
02c7,030c                'v'  # COMBINING CARON -> CARON
02c8                     '''  # MODIFIER LETTER VERTICAL LINE
02cb,0300                '`'  # GRAVE ACCENT
02cd,0331,0332           '_'  # MODIFIER LETTER LOW MACRON, COMBINING MACRON BELOW, COMBINING LOW LINE
02d8,0306                none # BREVE
02d9,0307                none # DOT ABOVE
02da,030a,2070,2218      00b0 # RING ABOVE, SUPERSCRIPT ZERO, RING OPERATOR -> DEGREE SIGN
02db,0328                none # OGONEK
02dc,0303                '~'  # SMALL TILDE
0305,203e                00af # OVERLINE -> MACRON
030e                     '"'  # COMBINING DOUBLE VERTICAL LINE ABOVE
0333                     '_'  # COMBINING DOUBLE LOW LINE

# mathematical symbols

00b1,2213 none # PLUS-MINUS SIGN, MINUS-OR-PLUS SIGN
2044,2215 '/'  # FRACTION/DIVISION SLASH
2216      '\'  # SET MINUS
2217      '*'  # ASTERISK OPERATOR
221a      'V'  # SQUARE ROOT
221f      'L'  # RIGHT ANGLE
2223      '|'  # DIVIDES
2229      'n'  # INTERSECTION
2236      ':'  # RATIO
2248      02DC # ALMOST EQUAL TO -> SMALL TILDE
2261,2263 '='  # IDENTICAL TO, STRICTLY EQUIVALENT TO
226a      00ab # MUCH LESS-THAN -> LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
226b      00bb # MUCH GREATER-THAN -> RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
22c5      00b7 # DOT OPERATOR -> MIDDLE DOT

# misc symbols

00a1                '!'  # INVERTED EXCLAMATION MARK
00ab,300a           '<'  # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK, LEFT DOUBLE ANGLE BRACKET
00ad           	    '-'  # SOFT HYPHEN
00bb,300b           '>'  # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK, RIGHT DOUBLE ANGLE BRACKET
01c0                2502 # LATIN LETTER DENTAL CLICK -> BOX DRAWINGS LIGHT VERTICAL
01c3                '!'  # LATIN LETTER RETROFLEX CLICK
02bb                2018 # MODIFIER LETTER TURNED COMMA -> LEFT SINGLE QUOTATION MARK
02bc,2019           '''  # RIGHT SINGLE QUOTATION MARK
2010,2011,2212 	    '-'  # HYPHEN, MINUS SIGN
2013,2014,2015 	    '-'  # EN DASH, EM DASH, HORIZONTAL BAR, MINUS SIGN
2018,201b,2035      '`'  # LEFT SINGLE QUOTATION MARK, SINGLE HIGH-REVERSED-9 QUOTATION MARK, REVERSED PRIME
201a                ','  # SINGLE LOW-9 QUOTATION MARK
201c,301d           '"'  # LEFT DOUBLE QUOTATION MARK, REVERSED DOUBLE PRIME QUOTATION MARK
201d,301e           '"'  # RIGHT DOUBLE QUOTATION MARK, DOUBLE PRIME QUOTATION MARK
201e,301f           ','  # LOW DOUBLE PRIME QUOTATION MARK, DOUBLE LOW-9 QUOTATION MARK
2022,2219      	    none # BULLET, BULLET OPERATOR
2039,3008      	    '<'  # SINGLE LEFT-POINTING ANGLE QUOTATION MARK, LEFT ANGLE BRACKET
203a,3009      	    '>'  # SINGLE RIGHT-POINTING ANGLE QUOTATION MARK, RIGHT ANGLE BRACKET
203c                '!'  # DOUBLE EXCLAMATION MARK
2190 		    2039 # LEFTWARDS ARROW -> SINGLE LEFT-POINTING ANGLE QUOTATION MARK
2191 		    02c6 # UPWARDS ARROW -> MODIFIER LETTER CIRCUMFLEX ACCENT
2192 		    203a # RIGHTWARDS ARROW -> SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
2193 		    02c7 # DOWNWARDS ARROW -> CARON
2194                '-'  # LEFT RIGHT ARROW
2195                '|'  # UP DOWN ARROW
223c           	    '~'  # TILDE
301a                '['  # LEFT WHITE SQUARE BRACKET
301b                ']'  # RIGHT WHITE SQUARE BRACKET
fe49,fe4a,fe4b,fe4c 203e # DOUBLE WAVY OVERLINE -> OVERLINE
fe4d,fe4e,fe4f      '_'  # DASHED/CENTRELINE/WAVY LOW LINE

# box drawing chars

2500,2501 	    '-'  # BOX DRAWINGS LIGHT/HEAVY HORIZONTAL
2502,2503 	    '|'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL
2504,2505 	    '-'  # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH HORIZONTAL
2506,2507 	    00a6 # BOX DRAWINGS LIGHT/HEAVY TRIPLE DASH VERTICAL -> BROKEN BAR
2508,2509 	    '-'  # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH HORIZONTAL
250a,250b 	    00a6 # BOX DRAWINGS LIGHT/HEAVY QUADRUPLE DASH VERTICAL -> BROKEN BAR
250c,250d,250e,250f '+'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND RIGHT
2510,2511,2512,2513 00ac # BOX DRAWINGS LIGHT/HEAVY DOWN AND LEFT -> NOT SIGN
2514,2515,2516,2517 'L'  # BOX DRAWINGS LIGHT/HEAVY UP AND RIGHT
2518,2519,251a,251b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND LEFT
251c,251d,251e,251f,2520,2521,2522,2523 '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND RIGHT
2524,2525,2526,2527,2528,2529,252a,252b '+'  # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND LEFT
252c,252d,252e,252f,2530,2531,2532,2533 'T'  # BOX DRAWINGS LIGHT/HEAVY DOWN AND HORIZONTAL
2534,2535,2536,2537,2538,2539,253a,253b '+'  # BOX DRAWINGS LIGHT/HEAVY UP AND HORIZONTAL
253c,253d,253e,253f,2540,2541,2542,2543,2544,2545,2546,2547,2548,2549,254a,254b '+'   # BOX DRAWINGS LIGHT/HEAVY VERTICAL AND HORIZONTAL
254c,254d      	    '-'  # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH HORIZONTAL
254e,254f      	    00a6 # BOX DRAWINGS LIGHT/HEAVY DOUBLE DASH VERTICAL -> BROKEN BAR
2550           	    '='  # BOX DRAWINGS DOUBLE HORIZONTAL
2551           	    '|'  # BOX DRAWINGS DOUBLE VERTICAL
2552,2553,2554 	    '+'  # BOX DRAWINGS DOWN AND RIGHT
2555,2556,2557 	    00ac # BOX DRAWINGS DOWN AND LEFT -> NOT SIGN
2558,2559,255a 	    'L'  # BOX DRAWINGS UP AND RIGHT
255b,255c,255d 	    '+'  # BOX DRAWINGS UP AND LEFT
255e,255f,2560 	    '+'  # BOX DRAWINGS VERTICAL AND RIGHT
2561,2562,2563 	    '+'  # BOX DRAWINGS VERTICAL AND LEFT
2564,2565,2566 	    'T'  # BOX DRAWINGS DOWN AND HORIZONTAL
2567,2568,2569 	    '+'  # BOX DRAWINGS UP AND HORIZONTAL
256a,256b,256c 	    '+'  # BOX DRAWINGS VERTICAL AND HORIZONTAL
2571           	    '/'  # BOX DRAWINGS LIGHT DIAGONAL UPPER RIGHT TO LOWER LEFT
2572           	    '\'  # BOX DRAWINGS LIGHT DIAGONAL UPPER LEFT TO LOWER RIGHT
2573           	    'X'  # BOX DRAWINGS LIGHT DIAGONAL CROSS
2574,2576,2578,257a,257c,257e '-'  # BOX DRAWINGS LIGHT/HEAVY LEFT/RIGHT
2575,2577,2579,257b,257d,257f '|'  # BOX DRAWINGS LIGHT/HEAVY UP/DOWN
25cb,25ef           'O'  # WHITE/LARGE CIRCLE
