# Liblouis: Danish table for 8 dots grade 1
#
#  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 grade 1 (fuldskrift).
# Use this table for translation and back-translation of Danish 8 dots grade 1.
#
# Version: Bue Vester-Andersen, 170604

### Table Metadata

#-name: Dansk fuldskrift 8-punkt
#-index-name: Danish, uncontracted, 8-dot
#-display-name: Danish 8-dot uncontracted braille

#+locale: da
#+type: literary
#+contraction: no
#+grade: 1
#+dots: 8
#+direction: both

# Display upcodes
include da-dk-octobraille.dis

### Character definitions ###

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)
letter \x2020 2357 #Dagger (0x86
letter \x2021 23578 #Double dagger (0x87
letter \x02c6 5678 #Modifier letter circumflex (0x88)
math \x2030 245678 #permille sign (0x89)
uppercase \x0160 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
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)
letter \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
letter \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 \x02DC 46 #SMALL TILDE (0x98)
sign \x2122 234578 #TRADE MARK SIGN (0x99)
lowercase \x0161 2348 #LATIN SMALL LETTER S WITH CARON (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)
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 \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

# characters that have letsign as part of their definition
# (to be removed when the alwaysletsign opcode has been implemented).

punctuation \x2026 6-3-3-3 #Elipsis (0x85)
noback punctuation \x0085 6-3-3-3 #Elipsis (0x85)
letter \x2013 6-36 #EN DASH (0x96)
noback sign \x0096 6-36 #EN DASH (0x96)
letter \x2014 6-367 #Em DASH (0x97)
noback sign \x0097 6-367 #Em DASH (0x97)

# Misc unicode characters
include da-dk-8miscChars.cti

# Rules for grade 1 and grade 2

# Emphasis opcodes
emphclass italic
emphclass underline
emphclass bold

begemphphrase italic 56
endemphphrase italic after 56
begemphword italic 56
endemphword italic 56

begemphphrase bold 56
endemphphrase bold after 56
begemphword bold 56
endemphword bold 56

begemphphrase underline 56
endemphphrase underline after 56
begemphword underline 56
endemphword underline 56

