# Liblouis: Danish table for 8 dots computer Braille (G0) 2022
#
#  Copyright (C) 2014, 2016-2022, 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 DDP2022.
# Use this table for translation and back-translation of Danish 8 dots computer Braille (Octo-Braille).
# See also: Den Danske Punktskrift 2022
#           Det Danske Punktskriftsnævn
#           https://www.blind.dk/punktskrift-2022
#
# Version: Bue Vester-Andersen, December 2022

### Table Metadata

#-name: Dansk computer 2022
#-index-name: Danish, computer, 2022
#-display-name: Danish computer braille (2022 standard)

#+language: da
#+type: computer
#+contraction: no
#+grade: 0
#+dots: 8
#+direction: both
#+system: ddp
#+version: 2022

# Display upcodes
include da-dk-octobraille.dis

### Character definitions

sign \x0000 8 NULL
sign \x0001 478 START OF HEADING
sign \x0002 1278 START OF TEXT
sign \x0003 134678 END OF TEXT
sign \x0004 25678 END OF TRANSMISSION
sign \x0005 24568 ENQUIRY
sign \x0006 123458 ACKNOWLEDGE
sign \x0007 124578 BELL
sign \x0008 12578 BACKSPACE
space \t 2478 CHARACTER TABULATION
space \n 24578 LINE FEED (LF)
space \v 13458 LINE TABULATION
space \f 1238 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 13478 INFORMATION SEPARATOR ONE
space \s 0 SPACE
punctuation ! 235 EXCLAMATION MARK
punctuation " 2356 QUOTATION MARK
punctuation # 34568 NUMBER SIGN
sign $ 14578 DOLLAR SIGN
math % 678 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 - 36 HYPHEN-MINUS
punctuation . 3 FULL STOP
punctuation / 348 SLASH

# Digits
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 @ 178 COMMERCIAL AT

# Latin letters
include latinLetterDef8Dots.uti

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 letters, see above

punctuation { 123678 LEFT CURLY BRACKET
punctuation | 4568 VERTICAL LINE
punctuation } 345678 RIGHT CURLY BRACKET
punctuation ~ 2378 TILDE
sign \x007f 7 DELETE
sign \x20AC 1578 #EURO SIGN (0x80)
sign \x0081 2357 <control-0081>
punctuation \x201A 457 #Low single quote (0x82)
sign \x0192 58 #Flurihn (0x83)
punctuation \x201E 467 #Low quote (0x84)
punctuation \x2026 6 #Elipsis (0x85)
sign \x2020 45 #Dagger (0x86
sign \x2021 456 #Double dagger (0x87
sign \x02c6 5678 #Modifier letter circumflex (0x88)
math \x2030 245678 #permille sign (0x89)
uppercase \x0160 46 #Latin  capital Letter S with caron (0x8a/0x9a)
punctuation \x2039 23578 #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 368 #EN DASH (0x96)
sign \x2014 367 #Em DASH (0x97)
sign \x02DC 23478 #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)
space \x00a0 23458 NO-BREAK SPACE (0xa0)
punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
punctuation \x00a2 2578 CENT SIGN (0xa2)
punctuation \x00a3 12378 POUND SIGN (0xa3)
punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
punctuation \x00a5 1345678 YEN SIGN (0xa5)
punctuation \x00a6 3478 BROKEN BAR (0xa6)
punctuation \x00a7 578 SECTION SIGN (0xa7)
punctuation \x00a8 56 DIAERESIS (0xa8)
punctuation \x00a9 1478 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 12478 PLUS-MINUS SIGN
punctuation \x00b2 238 SUPERSCRIPT TWO
punctuation \x00b3 258 SUPERSCRIPT THREE
punctuation \x00b4 458 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 1368 VULGAR FRACTION ONE QUARTER
punctuation \x00bd 468 VULGAR FRACTION ONE HALF
punctuation \x00be 13468 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 67 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 3456 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 235678 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 467 #Low quote (0x84)
punctuation \x0085 6 #Elipsis (0x85)
letter \x0086 45 #Dagger (0x86
letter \x0087 456 #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 23578 #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 368 #EN DASH (0x96)
sign \x0097 367 #Em DASH (0x97)
sign \x0098 23478 #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
