# Default Unicode mappings
#
# Copyright 2000 Alexandre Julliard
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
# NOTES:
#
# 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
00a6           '|'  # BROKEN BAR
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
