# Liblouis: Misc character definitions for Danish 6 dots (all grades)
#
# By Bue Vester-Andersen
#
#  This file is part of liblouis.
#
#  liblouis 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.
#
#  liblouis 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 liblouis. If not, see
#  <http://www.gnu.org/licenses/>.
#
#------------
# This file contains miscelaneous unicode character definitions used by 6 dots, all grades.
# Many of the characters in this file have not been defined in the
# Danish Braille standard.
# The current implementation is purely experimental and subject to change.
# Math chars and arrows etc. are inspired by UEB.
# Version: Bue Vester-Andersen 191202

# CP1252 (\x0080-\x009f)
noback sign \x0080 45-15 #EURO SIGN (0x80)
noback punctuation \x0082 4 #Low single quote (0x82)
noback sign \x0083 45-124 #Flurihn (0x83)
noback punctuation \x0084 2356 #Low quote (0x84)
noback punctuation \x0085 3-3-3 #Elipsis (0x85)
noback math \x0089 245-356-356 #permille sign (0x89)
noback uplow \x008a\x009a 5-234 #LATIN LETTER S WITH CARON (0x8a)
noback punctuation \x008b 4 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
noback uplow \x008c\x009c 135-15 #LATIN LIGATURE OE (0x8c)
noback uplow \x008e\x009e 5-1356 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
noback punctuation \x0091 4 #LEFT SINGLE QUOTATION MARK (0x91)
noback punctuation \x0092 4 #RIGHT SINGLE QUOTATION MARK (0x92)
noback punctuation \x0093 2356 #LEFT DOUBLE QUOTATION MARK (0x93)
noback punctuation \x0094 2356 #RIGHT DOUBLE QUOTATION MARK (0x94)
noback sign \x0095 45-3 #Bullit (0x95)
noback sign \x0096 36-36 #EN DASH (0x96)
noback sign \x0097 36-36 #Em DASH (0x97)
noback sign \x0099 45-2345 #TRADE MARK SIGN (0x99)
noback punctuation \x009b 4 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
noback uppercase \x009f 5-13456 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)

# Latin-1 Supplement (Unicode block) (\x00a0-\x00ff)
noback punctuation \x00a0 0 NO-BREAK SPACE (0xa0)
noback punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
punctuation \x00a2 45-25 CENT SIGN (0xa2)
punctuation \x00a3 45-123 POUND SIGN (0xa3)
#punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
punctuation \x00a5 45-13456 YEN SIGN (0xa5)
#punctuation \x00a6 3478 BROKEN BAR (0xa6)
#punctuation \x00a8 6-56 DIAERESIS (0xa8)
punctuation \x00a9 45-14 COPYRIGHT SIGN (0xa9)
#letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
noback punctuation \x00ab 2356 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
#punctuation \x00ac 34567 NOT SIGN (0xac)
noback punctuation \x00ad 36 SOFT HYPHEN (0xad)
punctuation \x00ae 45-1235 REGISTERED SIGN (0xae)
#punctuation \x00af 23567 MACRON (0xaf)
sign \x00b0 4-356 DEGREE SIGN (0xb0)
noback math \x00b1 45-235-36 PLUS-MINUS SIGN
digit \x00b2 346-12 SUPERSCRIPT TWO
digit \x00b3 346-14 SUPERSCRIPT THREE
noback punctuation \x00b4 4 ACUTE ACCENT
sign \x00b5 5-134 MICRO SIGN
#punctuation \x00b6 1234568 PILCROW SIGN
#punctuation \x00b7 38 MIDDLE DOT
#punctuation \x00b8 4678 CEDILLA
digit \x00b9 346-1 SUPERSCRIPT ONE
#letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
noback punctuation \x00bb 2356 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
noback sign \x00bc 3456-1-34-145 VULGAR FRACTION ONE QUARTER
noback sign \x00bd 3456-1-34-12 VULGAR FRACTION ONE HALF
noback sign \x00be 3456-14-34-145 VULGAR FRACTION THREE QUARTERS
noback punctuation \x00bf 26 INVERTED QUESTION MARK
uplow \x00c0\x00e0 5-1 LATIN LETTER A WITH GRAVE
noback uplow \x00c1\x00e1 5-1 LATIN LETTER A WITH ACUTE
noback uplow \x00c2\x00e2 5-1 LATIN LETTER A WITH CIRCUMFLEX
noback uplow \x00c3\x00e3 5-1 LATIN LETTER A WITH TILDE
noback uplow \x00c4\x00e4 345 LATIN LETTER A WITH DIAERESIS
uplow \x00c7\x00e7 5-14 LATIN LETTER C WITH CEDILLA
noback uplow \x00c8\x00e8 5-15 LATIN LETTER E WITH GRAVE
uplow \x00c9\x00e9 5-15 LATIN LETTER E WITH ACUTE 
noback uplow \x00ca\x00ea 5-15 LATIN LETTER E WITH CIRCUMFLEX
noback uplow \x00cb\x00eb 5-15 LATIN LETTER E WITH DIAERESIS
noback uplow \x00cc\x00ec 5-24 LATIN LETTER I WITH GRAVE
noback uplow \x00cd\x00ed 5-24 LATIN LETTER I WITH ACUTE
uplow \x00ce\x00ee 5-24 LATIN LETTER I WITH CIRCUMFLEX (first for back-translation)
noback uplow \x00cf\x00ef 5-24 LATIN LETTER I WITH DIAERESIS
uplow \x00d0\x00f0 5-145 LATIN LETTER ETH
uplow \x00d1\x00f1 5-1345 LATIN LETTER N WITH TILDE
noback uplow \x00d2\x00f2 5-135 LATIN LETTER O WITH GRAVE
noback uplow \x00d3\x00f3 5-135 LATIN LETTER O WITH ACUTE
uplow \x00d4\x00f4 5-135 LATIN LETTER O WITH CIRCUMFLEX (first for back-translation)
noback uplow \x00d5\x00f5 5-135 LATIN LETTER O WITH TILDE
noback uplow \x00d6\x00f6 246 LATIN LETTER O WITH DIAERESIS
math \x00d7 45-3 MULTIPLICATION SIGN
noback uplow \x00d9\x00f9 5-136 LATIN LETTER U WITH GRAVE
noback uplow \x00da\x00fa 5-136 LATIN LETTER U WITH ACUTE
uplow \x00db\x00fb 5-136 LATIN LETTER U WITH CIRCUMFLEX (first for back-translation
uplow \x00dd\x00fd 5-13456 LATIN LETTER Y WITH ACUTE (infinite?)
uplow \x00de\x00fe 5-2345 LATIN CAPITAL LETTER THORN
noback lowercase \x00df 234-234 LATIN SMALL LETTER SHARP S
math \x00f7 45-256 DIVISION SIGN

# Latin Extended-A (\x0100-\x017f)

noback uplow \x0100\x0101 5-1 Latin letter a with macron
noback uplow \x0102\x0103 5-1 Latin letter a with breve
noback uplow \x0104\x0105 5-1 Latin letter a with ogonek
noback uplow \x0106\x0107 5-14 Latin letter c with acute
noback uplow \x0108\x0109 5-14 Latin letter c with circumflex
noback uplow \x010a\x010b 5-14 Latin letter c with dot above
noback uplow \x010c\x010d 5-14 Latin letter c with caron
noback uplow \x010e\x010f 5-145 Latin letter d with caron
noback uplow \x0110\x0111 5-145 Latin letter d with stroke
noback uplow \x0112\x0113 5-15 Latin letter e with macron
noback uplow \x0114\x0115 5-15 Latin letter e with breve
noback uplow \x0116\x0117 5-15 Latin letter e with dot above
noback uplow \x0118\x0119 5-15 Latin letter e with ogonek
noback uplow \x011a\x011b 5-15 Latin letter e with caron
noback uplow \x011c\x011d 5-1245 Latin letter g with circumflex
noback uplow \x011e\x011f 5-1245 Latin letter g with breve
noback uplow \x0120\x0121 5-1245 Latin letter g with dot above
noback uplow \x0122\x0123 5-1245 Latin letter g with cedilla
noback uplow \x0124\x0125 5-125 Latin letter h with circumflex
noback uplow \x0126\x0127 5-125 Latin letter h with stroke
noback uplow \x0128\x0129 5-24 Latin letter i with tilde
noback uplow \x012a\x012b 5-24 Latin letter i with macron
noback uplow \x012c\x012d 5-24 Latin letter i with breve
noback uplow \x012e\x012f 5-24 Latin letter i with ogonek
noback uplow \x0130\x0131 5-24 Latin capital letter i with dot above / small dotless i
noback uplow \x0132\x0133 24-245 Latin ligature ij
noback uplow \x0134\x0135 5-245 Latin letter j with circumflex
noback uplow \x0136\x0137 5-13 Latin letter k with cedilla
noback lowercase \x0138 5-12345 Small latin letter kra (Greenlandic q)
noback uplow \x0139\x013a 5-123 Latin letter l with acute
noback uplow \x013b\x013c 5-123 Latin letter l with cedilla
noback uplow \x013d\x013e 5-123 Latin letter l with caron
noback uplow \x013f\x0140 5-123 Latin letter l with middle dot
noback uplow \x0141\x0142 5-123 Latin letter l with stroke
noback uplow \x0143\x0144 5-1345 Latin letter n with acute
noback uplow \x0145\x0146 5-1345 Latin letter n with cedilla
noback uplow \x0147\x0148 5-1345 Latin letter n with caron
noback lowercase \x0149 4-1345 Latin small letter n preceeded by apostrophe
noback uplow \x014a\x014b 5-1345 Latin letter eng
noback uplow \x014c\x014d 5-135 Latin letter o with macron
noback uplow \x014e\x014f 5-135 Latin letter o with breve
noback uplow \x0150\x0151 5-135 Latin letter o with double acute
noback uplow \x0152\x0153 135-15 #LATIN LIGATURE OE (0x8c)
noback uplow \x0154\x0155 5-1235 Latin letter r with acute
noback uplow \x0156\x0157 5-1235 Latin letter r with cedilla
noback uplow \x0158\x0159 5-1235 Latin letter r with caron
noback uplow \x015a\x015b 5-234 Latin letter s with acute
noback uplow \x015c\x015d 5-234 Latin letter s with circumflex
noback uplow \x015e\x015f 5-234 Latin letter s with cedilla
uplow \x0160\x0161 5-234 #LATIN LETTER S WITH CARON (0x8a)
noback uplow \x0162\x0163 5-2345 Latin letter t with cedilla
noback uplow \x0164\x0165 5-2345 Latin letter t with caron
noback uplow \x0166\x0167 5-2345 Latin letter t with stroke
noback uplow \x0168\x0169 5-136 Latin letter u with tilde
noback uplow \x016a\x016b 5-136 Latin letter u with macron
noback uplow \x016c\x016d 5-136 Latin letter u with breve
noback uplow \x016e\x016f 5-136 Latin letter u with ring above
noback uplow \x0170\x0171 5-136 Latin letter u with double acute
noback uplow \x0172\x0173 5-136 Latin letter u with ogonek
noback uplow \x0174\x0175 5-2456 Latin letter w with circumflex
noback uplow \x0176\x0177 5-13456 Latin letter y with circumflex
uplow \x0178\x00ff 5-13456 #LATIN LETTER Y WITH DIAERESIS (0x9f)
noback uplow \x0179\x017a 5-1356 Latin letter z with acute
noback uplow \x017b\x017c 5-1356 Latin letter z with dot above
uplow \x017d\x017e 5-1356 #LATIN LETTER Z WITH CARON (0x8e)
noback lowercase \x017f 5-234 Latin small letter long s 

# Latin Extended-B 


sign \x0192 45-124 #Flurihn (0x83)
#letter \x02c6 5678 #Modifier letter circumflex (0x88)
noback sign \x02DC 45-6 #SMALL TILDE (0x98)

# Greek letters (with dot 5 as prefix)

noback uplow \x0386\x03AC 5-1 Greek letter alpha with tonos
noback uplow \x0388\x03AD 5-15 Greek letter epsilon with tonos
noback uplow \x0389\x03AE 5-156 Greek letter eta with tonos
noback uplow \x038A\x03AF 5-24 Greek letter iota with sonos
noback uplow \x038C\x03CC 5-135 Greek letter omicron with tonos
noback uplow \x038E\x03CD 5-136 Greek letter upsilon with tonos
noback uplow \x038F\x03CE 5-2456 Greek letter omega with tonos

noback uplow \x0391\x03B1 5-1 Greek letter alpha
noback uplow \x0392\x03B2 5-12 Greek letter beta
noback uplow \x0393\x03B3 5-1245 Greek letter gamma
noback uplow \x0394\x03B4 5-145 Greek letter delta
noback uplow \x0395\x03B5 5-15 Greek letter epsilon
noback uplow \x0396\x03B6 5-1356 Greek letter zeta
noback uplow \x0397\x03B7 5-156 Greek letter eta
noback uplow \x0398\x03B8 5-1456 Greek letter theta
noback uplow \x0399\x03B9 5-24 Greek letter iota
noback uplow \x039A\x03BA 5-13 Greek letter kappa
noback uplow \x039B\x03BB 5-123 Greek letter lamda
noback uplow \x039C\x03BC 5-134 Greek letter Mu
noback uplow \x039D\x03BD 5-1345 Greek letter Nu
noback uplow \x039E\x03BE 5-1346 Greek letter Xi
noback uplow \x039F\x03BF 5-135 Greek letter Omicron
noback uplow \x03A0\x03C0 5-1234 Greek letter Pi
noback uplow \x03A1\x03C1 5-1235 Greek letter Rho
noback uplow \x03A3\x03C3 5-234 Greek letter sigma
noback uplow \x03A4\x03C4 5-2345			Greek letter Tau
noback uplow \x03A5\x03C5 5-136 Greek letter Upsilon
noback uplow \x03A6\x03C6 5-124 Greek letter Phi
noback uplow \x03A7\x03C7 5-125 Greek letter Chi
noback uplow \x03A8\x03C8 5-13456 Greek letter Psi
noback uplow \x03A9\x03C9 5-2456 Greek letter Omega

# Punctuation and bullits

noback space \x2000 0 # En quad
noback space \x2001 0 # Em quad
noback space \x2002 0 # En space
noback space \x2003 0 # Em space
noback space \x2004 0 # Three-Per-Em Space
noback space \x2005 0 # Four-Per-Em Space
noback space \x2006 0 # Six-Per-Em Space
noback space \x2007 0 # Figure Space
noback space \x2008 0 # Punctuation Space
noback space \x2009 0 # Thin Space
noback space \x200a 0 # Hair Space
noback punctuation \x2010 36 # Hyphen
noback punctuation \x2011 36 # Non-breaking hyphen
noback punctuation \x2012 36 # Figure dash
noback sign \x2013 36-36 #EN DASH (0x96)
noback sign \x2014 36-36 #Em DASH (0x97)
noback punctuation \x2018 4 #LEFT SINGLE QUOTATION MARK (0x91)
noback punctuation \x2019 4 #RIGHT SINGLE QUOTATION MARK (0x92)
noback punctuation \x201A 4 #Low single quote (0x82)
noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark
noback punctuation \x201c 2356 #LEFT DOUBLE QUOTATION MARK (0x93)
noback punctuation \x201d 2356 #RIGHT DOUBLE QUOTATION MARK (0x94)
noback punctuation \x201E 2356 #Low quote (0x84)
noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark
#letter \x2020 2357 #Dagger (0x86
#letter \x2021 23578 #Double dagger (0x87
sign \x2022 45-3 #Bullit (0x95)
noback sign \x2023 45-3 #Triangular bullit
noback punctuation \x2026 3-3-3 #Elipsis (0x85)
noback space \x202f 0 # Narrow No-Break Space (NNBSP)
math \x2030 245-356-356 #permille sign (0x89)
noback punctuation \x2039 4 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
noback punctuation \x203A 4 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
noback punctuation \x203c 235-235 # Double Exclamation Mark
noback punctuation \x203d 26-235 # Interrobang
noback sign \x2043 45-3 # Hyphen bullet (0x95)
noback punctuation \x2047 26-26 # Double question mark
noback punctuation \x2048 26-235 # Question exclamation mark
noback punctuation \x2049 235-26 # Exclamation question mark
noback sign \x204c 45-3 # BLACK LEFTWARDS BULLET 
noback sign \x204d 45-3 # BLACK RIGHTWARDS BULLET 
sign \x20AC 45-15 #EURO SIGN (0x80)
sign \x2122 45-2345 #TRADE MARK SIGN (0x99)

# Arrows

sign \x2190 45-2456 Left arrow
sign \x2191 45-12356 Up arrow
sign \x2192 45-1235 Right arrow
sign \x2193 45-12345 Down arrow

# Geometrical shapes

noback sign \x25e6 45-3 #White bullet
