# Liblouis: Danish table for 8 dots computer Braille (G0)
#
#  Copyright (C) 2014-2017, Bue Vester-Andersen <bue@vester-andersen.dk>
#
#  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  is the Danish table for 8 dots computer Braille.
# Use this table for translation and back-translation of Danish 8 dots computer Braille (Octo-Braille).
#
# Version: Bue Vester-Andersen, 170604

### Table Metadata

#+locale: da
#+type: computer
#+contraction: no
#+grade: 0
#+dots: 8
#+direction: both

### Character definitions

# Display upcodes
include da-dk-octobraille.dis

sign \x0000 8 NULL
sign \x0001 178 START OF HEADING
sign \x0002 1278 START OF TEXT
sign \x0003 1478 END OF TEXT
sign \x0004 14578 END OF TRANSMISSION
sign \x0005 24568 ENQUIRY
sign \x0006 12478 ACKNOWLEDGE
sign \x0007 124578 BELL
sign \x0008 12578 BACKSPACE
space \t 2478 CHARACTER TABULATION
space \n 678 LINE FEED (LF)
space \v 1368 LINE TABULATION
space \f 12378 FORM FEED (FF)
space \r 257 CARRIAGE RETURN (CR)
sign \x000e 134578 SHIFT OUT
sign \x000f 12358 SHIFT IN
sign \x0010 123478 DATA LINK ESCAPE
sign \x0011 1234578 DEVICE CONTROL ONE
sign \x0012 13568 DEVICE CONTROL TWO
sign \x0013 4578 DEVICE CONTROL THREE
sign \x0014 268 DEVICE CONTROL FOUR
sign \x0015 13678 NEGATIVE ACKNOWLEDGE
sign \x0016 278 SYNCHRONOUS IDLE
sign \x0017 3578 END OF TRANSMISSION BLOCK
sign \x0018 78 CANCEL
sign \x0019 68 END OF MEDIUM
sign \x001a 135678 SUBSTITUTE
sign \x001b 2678 ESCAPE
sign \x001c 45678 INFORMATION SEPARATOR FOUR
sign \x001d 12368 INFORMATION SEPARATOR THREE
sign \x001e 1234678 INFORMATION SEPARATOR TWO
sign \x001f 235678 INFORMATION SEPARATOR ONE
space \s 0 SPACE
punctuation ! 235 EXCLAMATION MARK
punctuation " 2356 QUOTATION MARK
punctuation # 34568 NUMBER SIGN
sign $ 25678 DOLLAR SIGN
math % 24578 PERCENT SIGN
sign & 123468 AMPERSAND
punctuation ' 4 APOSTROPHE
punctuation ( 2368 LEFT PARENTHESIS
punctuation ) 3568 RIGHT PARENTHESIS
punctuation * 35 ASTERISK
math + 2358 PLUS SIGN
punctuation , 2 COMMA
punctuation - 368 HYPHEN-MINUS
punctuation . 3 FULL STOP
punctuation / 348 SLASH
include digits8Dots.uti
punctuation : 25 COLON
punctuation ; 23 SEMICOLON
math < 358 LESS-THAN SIGN
math = 23568 EQUALS SIGN
math > 267 GREATER-THAN SIGN
punctuation ? 26 QUESTION MARK
sign @ 478 COMMERCIAL AT
uppercase A 17 Latin capital letter A
uppercase B 127 Latin capital letter B
uppercase C 147 Latin capital letter C
uppercase D 1457 Latin capital letter D
uppercase E 157 Latin capital letter E
uppercase F 1247 Latin capital letter F
uppercase G 12457 Latin capital letter G
uppercase H 1257 Latin capital letter H
uppercase I 247 Latin capital letter I
uppercase J 2457 Latin capital letter J
uppercase K 137 Latin capital letter K
uppercase L 1237 Latin capital letter L
uppercase M 1347 Latin capital letter M
uppercase N 13457 Latin capital letter N
uppercase O 1357 Latin capital letter O
uppercase P 12347 Latin capital letter P
uppercase Q 123457 Latin capital letter Q
uppercase R 12357 Latin capital letter R
uppercase S 2347 Latin capital letter S
uppercase T 23457 Latin capital letter T
uppercase U 1367 Latin capital letter U
uppercase V 12367 Latin capital letter V
uppercase W 24567 Latin capital letter W
uppercase X 13467 Latin capital letter X
uppercase Y 134567 Latin capital letter Y
uppercase Z 13567 Latin capital letter Z
punctuation [ 23678 LEFT SQUARE BRACKET
punctuation \\ 347 REVERSE SLASH
punctuation ] 35678 RIGHT SQUARE BRACKET
punctuation ^ 12348 CIRCUMFLEX ACCENT
punctuation _ 3678 LOW LINE
punctuation ` 5 GRAVE ACCENT
lowercase a 1 Latin small letter A
lowercase b 12 Latin small letter B
lowercase c 14 Latin small letter C
lowercase d 145 Latin small letter D
lowercase e 15 Latin small letter E
lowercase f 124 Latin small letter F
lowercase g 1245 Latin small letter G
lowercase h 125 Latin small letter H
lowercase i 24 Latin small letter I
lowercase j 245 Latin small letter J
lowercase k 13 Latin small letter K
lowercase l 123 Latin small letter L
lowercase m 134 Latin small letter M
lowercase n 1345 Latin small letter N
lowercase o 135 Latin small letter O
lowercase p 1234 Latin small letter P
lowercase q 12345 Latin small letter Q
lowercase r 1235 Latin small letter R
lowercase s 234 Latin small letter S
lowercase t 2345 Latin small letter T
lowercase u 136 Latin small letter U
lowercase v 1236 Latin small letter V
lowercase w 2456 Latin small letter W
lowercase x 1346 Latin small letter X
lowercase y 13456 Latin small letter Y
lowercase z 1356 Latin small letter Z
punctuation { 123678 LEFT CURLY BRACKET
punctuation | 4568 VERTICAL LINE
punctuation } 345678 RIGHT CURLY BRACKET
punctuation ~ 467 TILDE
sign \x007f 7 DELETE
sign \x20AC 1578 #EURO SIGN (0x80)
sign \x0081 45 <control-0081>
punctuation \x201A 457 #Low single quote (0x82)
sign \x0192 58 #Flurihn (0x83)
punctuation \x201E 2378 #Low quote (0x84)
punctuation \x2026 6 #Elipsis (0x85)
sign \x2020 2357 #Dagger (0x86
sign \x2021 23578 #Double dagger (0x87
sign \x02c6 5678 #Modifier letter circumflex (0x88)
math \x2030 245678 #permille sign (0x89)
uppercase \x0160 23478 #Latin  capital Letter S with caron (0x8a/0x9a)
punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
uppercase \x017d 3467 #Latin capital letter Z with caron (0x8e)
sign \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
sign \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
punctuation \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
punctuation \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
sign \x2022 37 #Bullit (0x95)
sign \x2013 36 #EN DASH (0x96)
sign \x2014 367 #Em DASH (0x97)
sign \x02DC 46 #small TILDE (0x98)
sign \x2122 234578 #TRADE MARK SIGN (0x99)
lowercase \x0161 2348 #Latin  lowercase Letter S with caron (0x8a/0x9a)
punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
lowercase \x0153 1358 #Latin small LIGATURE OE (0x9c)
letter \x009d 2567 OPERATING SYSTEM COMMAND
lowercase \x017E 346 #Latin small letter Z with caron (0x9e)
uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
punctuation \x00a2 2578 CENT SIGN (0xa2)
punctuation \x00a3 1238 POUND SIGN (0xa3)
punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
punctuation \x00a5 67 YEN SIGN (0xa5)
punctuation \x00a6 3478 BROKEN BAR (0xa6)
punctuation \x00a7 578 SECTION SIGN (0xa7)
punctuation \x00a8 56 DIAERESIS (0xa8)
punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
punctuation \x00ac 34567 NOT SIGN (0xac)
letter \x00ad 378 SOFT HYPHEN (0xad)
punctuation \x00ae 123578 Registered sign (0xae)
punctuation \x00af 23567 macron (0xaf)
sign \x00b0 356 Degree sign (0xb0)
math \x00b1 123458 PLUS-MINUS SIGN
punctuation \x00b2 238 SUPERSCRIPT TWO
punctuation \x00b3 258 SUPERSCRIPT THREE
punctuation \x00b4 468 acute ACCENT
sign \x00b5 236 MICRO SIGN
punctuation \x00b6 1234568 PILCROW SIGN
punctuation \x00b7 38 MIDDLE DOT
punctuation \x00b8 4678 CEDILLA
punctuation \x00b9 28 SUPERSCRIPT ONE
letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
punctuation \x00bd 458 VULGAR FRACTION ONE HALF
punctuation \x00be 3456 VULGAR FRACTION THREE QUARTERS
punctuation \x00bf 34 INVERTED QUESTION MARK
uppercase \x00c0 123567 Latin capital letter A with GRAVE
uppercase \x00c1 1235678 Latin capital letter A with acute
uppercase \x00c2 1678 Latin capital letter A with CIRCUMFLEX
uppercase \x00c3 14678 Latin capital letter A with TILDE
uppercase \x00c4 34578 Latin capital letter A with DIAERESIS
uppercase \x00c5 167 Latin capital letter A with RING ABOVE
uppercase \x00c6 3457 Latin capital letter AE
uppercase \x00c7 123467 Latin capital letter C with CEDILLA
uppercase \x00c8 23467 Latin capital letter E with GRAVE
uppercase \x00c9 1234567 Latin capital letter E with acute
uppercase \x00ca 1267 Latin capital letter E with CIRCUMFLEX
uppercase \x00cb 12467 Latin capital letter E with DIAERESIS
uppercase \x00cc 15678 Latin capital letter I with GRAVE
uppercase \x00cd 12678 Latin capital letter I with acute
uppercase \x00ce 1467 Latin capital letter I with CIRCUMFLEX
uppercase \x00cf 124567 Latin capital letter I with DIAERESIS
uppercase \x00d0 1345678 Latin capital letter ETH
uppercase \x00d1 1245678 Latin capital letter N with TILDE
uppercase \x00d2 124678 Latin capital letter O with GRAVE
uppercase \x00d3 34678 Latin capital letter O with acute
uppercase \x00d4 14567 Latin capital letter O with CIRCUMFLEX
uppercase \x00d5 145678 Latin capital letter O with TILDE
uppercase \x00d6 24678 Latin capital letter O with DIAERESIS
math \x00d7 13468 MULTIPLICATION SIGN
uppercase \x00d8 2467 Latin capital letter O with STROKE
uppercase \x00d9 234567 Latin capital letter U with GRAVE
uppercase \x00da 125678 Latin capital letter U with acute
uppercase \x00db 1567 Latin capital letter U with CIRCUMFLEX
uppercase \x00dc 12567 Latin capital letter U with DIAERESIS
uppercase \x00dd 13478 Latin capital letter Y with acute (infinite?)
uppercase \x00de 1378 Latin capital letter THORN
lowercase \x00df 23468 Latin small letter SHARP S
lowercase \x00e0 12356 Latin small letter A with GRAVE
lowercase \x00e1 123568 Latin small letter A with acute
lowercase \x00e2 168 Latin small letter A with CIRCUMFLEX
lowercase \x00e3 1468 Latin small letter A with TILDE
lowercase \x00e4 3458 Latin small letter A with DIAERESIS
lowercase \x00e5 16 Latin small letter A with RING ABOVE
lowercase \x00e6 345 Latin small letter AE
lowercase \x00e7 12346 Latin small letter C with CEDILLA
lowercase \x00e8 2346 Latin small letter E with GRAVE
lowercase \x00e9 123456 Latin small letter E with acute
lowercase \x00ea 126 Latin small letter E with CIRCUMFLEX
lowercase \x00eb 1246 Latin small letter E with DIAERESIS
lowercase \x00ec 1568 Latin small letter I with GRAVE
lowercase \x00ed 1268 Latin small letter I with acute
lowercase \x00ee 146 Latin small letter I with CIRCUMFLEX
lowercase \x00ef 12456 Latin small letter I with DIAERESIS
lowercase \x00f0 134568 Latin small letter ETH
lowercase \x00f1 124568 Latin small letter N with TILDE
lowercase \x00f2 12468 Latin small letter O with GRAVE
lowercase \x00f3 3468 Latin small letter O with acute
lowercase \x00f4 1456 Latin small letter O with CIRCUMFLEX
lowercase \x00f5 14568 Latin small letter O with TILDE
lowercase \x00f6 2468 Latin small letter O with DIAERESIS
math \x00f7 2568 DIVISION SIGN
lowercase \x00f8 246 Latin small letter O with STROKE
lowercase \x00f9 23456 Latin small letter U with GRAVE
lowercase \x00fa 12568 Latin small letter U with acute
lowercase \x00fb 156 Latin small letter U with CIRCUMFLEX
lowercase \x00fc 1256 Latin small letter U with DIAERESIS
lowercase \x00fd 1348 Latin small letter Y with acute
lowercase \x00fe 138 Latin small letter THORN
lowercase \x00ff 234568 Latin small letter Y with DIAERESIS

# In CP-1252 the following chars are different from Unicode.
# This placement ensures that Liblouis will always return the unicode when back-translating.
sign \x0080 1578 #EURO SIGN (0x80)
punctuation \x0082 457 #Low single quote (0x82)
sign \x0083 58 #Flurihn (0x83)
punctuation \x0084 2378 #Low quote (0x84)
punctuation \x0085 6 #Elipsis (0x85)
letter \x0086 2357 #Dagger (0x86
letter \x0087 23578 #Double dagger (0x87
letter \x0088 5678 #Modifier letter circumflex (0x88)
math \x0089 245678 #permille sign (0x89)
uppercase \x008a 23478 #Latin letter S with caron (0x8a)
lowercase \x009a 2348
punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
lowercase \x009c 1358
uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
lowercase \x009e 346
punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
sign \x0095 37 #Bullit (0x95)
sign \x0096 36 #EN DASH (0x96)
sign \x0097 367 #Em DASH (0x97)
sign \x0098 46 #small TILDE (0x98)
sign \x0099 234578 #TRADE MARK SIGN (0x99)
punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
uppercase \x009f 2345678 #Latin capital letter Y with DIAERESIS (0x9f)

#Unicode Braille patterns
include braille-patterns.cti

undefined 26
