# liblouis: Danish, table for 8 dots grade 2 forward and backward translation (2022)
#
#  Copyright (C) 2014, 2016-2023, 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 2 Braille (stor forkortelse) (2022).
# Use this table for translation and back-translation of Danish 8 dots Braille grade 2.
# 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 forkortet 8-punkt 2022
#-index-name: Danish, contracted, 8-dot, 2022
#-display-name: Danish 8-dot contracted braille (2022 standard)

#+language: da
#+type: literary
#+contraction: full
#+grade: 2
#+dots: 8
#+direction: both
#+system: ddp
#+version: 2022

#-has-nocross: yes

# Display upcodes
include da-dk-octobraille.dis

### Character definitions ###
# Various spaces
include spaces.uti

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
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
lowercase a 1 LATIN LETTER A
lowercase b 12 LATIN LETTER B
lowercase c 14 LATIN LETTER C
lowercase d 145 LATIN LETTER D
lowercase e 15 LATIN LETTER E
lowercase f 124 LATIN LETTER F
lowercase g 1245 LATIN LETTER G
lowercase h 125 LATIN LETTER H
lowercase i 24 LATIN LETTER I
lowercase j 245 LATIN LETTER J
lowercase k 13 LATIN LETTER K
lowercase l 123 LATIN LETTER L
lowercase m 134 LATIN LETTER M
lowercase n 1345 LATIN LETTER N
lowercase o 135 LATIN LETTER O
lowercase p 1234 LATIN LETTER P
lowercase r 1235 LATIN LETTER R
lowercase s 234 LATIN LETTER S
lowercase t 2345 LATIN LETTER T
lowercase u 136 LATIN LETTER U
lowercase v 1236 LATIN LETTER V
lowercase y 13456 LATIN LETTER Y

punctuation [ 23678 LEFT SQUARE BRACKET
punctuation ] 35678 RIGHT SQUARE BRACKET
punctuation ^ 12348 CIRCUMFLEX ACCENT
punctuation _ 3678 LOW LINE
punctuation ` 5 GRAVE ACCENT
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)
sign \x2020 45 #Dagger (0x86
sign \x2021 456 #Double dagger (0x87
sign \x02c6 5678 #Modifier letter circumflex (0x88)
math \x2030 245678 #permille sign (0x89)
punctuation \x2039 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
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)
punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
lowercase \x0153 1358 #Latin small LIGATURE OE (0x9c)
letter \x009d 2567 OPERATING SYSTEM COMMAND
punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
punctuation \x00a2 2578 CENT SIGN (0xa2)
punctuation \x00a3 12378 POUND SIGN (0xa3)
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)
letter \x00ad 378 SOFT HYPHEN (0xad)
punctuation \x00ae 123578 Registered sign (0xae)
punctuation \x00af 23567 macron (0xaf)
math \x00b1 12478 PLUS-MINUS SIGN
punctuation \x00b2 238 SUPERSCRIPT TWO
punctuation \x00b3 258 SUPERSCRIPT THREE
punctuation \x00b4 458 acute ACCENT
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
lowercase \x00e1 123568 LATIN LETTER A WITH ACUTE
lowercase \x00e2 168 LATIN LETTER A WITH CIRCUMFLEX
lowercase \x00e3 1468 LATIN LETTER A WITH TILDE
lowercase \x00e4 3458 LATIN LETTER A WITH DIAERESIS
lowercase \x00e5 16 LATIN LETTER A WITH RING ABOVE
lowercase \x00e6 345 LATIN LETTER AE
lowercase \x00ec 1568 LATIN LETTER I WITH GRAVE
lowercase \x00ed 1268 LATIN LETTER I WITH ACUTE
lowercase \x00f0 134568 LATIN LETTER ETH
lowercase \x00f1 124568 LATIN LETTER N WITH TILDE
lowercase \x00f2 12468 LATIN LETTER O WITH GRAVE
lowercase \x00f3 3468 LATIN LETTER O WITH ACUTE
lowercase \x00f5 14568 LATIN LETTER O WITH TILDE
lowercase \x00f6 2468 LATIN LETTER O WITH DIAERESIS
math \x00f7 2568 DIVISION SIGN
lowercase \x00f8 246 LATIN LETTER O WITH STROKE
lowercase \x00fa 12568 LATIN LETTER U WITH ACUTE
lowercase \x00fd 1348 LATIN LETTER Y WITH ACUTE (infinite?)
lowercase \x00fe 138 LATIN LETTER THORN
lowercase \x00df 23468 LATIN SMALL LETTER SHARP S
lowercase \x00ff 234568 LATIN SMALL LETTER Y WITH DIAERESIS

# Character used for capslettersign
# Resides in the "private use area", and shouldn't conflict with anything.
sign \xf8ff f

# Used as dash where dash should act as space.
space \xf8fe ef

# In CP-1252 the following chars are different from Unicode.
# This placement ensures that Liblouis will always return the unicode when back-translating.
noback sign \x0080 1578 #EURO SIGN (0x80)
noback punctuation \x0082 457 #Low single quote (0x82)
noback sign \x0083 58 #Flurihn (0x83)
noback punctuation \x0084 467 #Low quote (0x84)
noback letter \x0086 45 #Dagger (0x86
noback letter \x0087 456 #Double dagger (0x87
noback letter \x0088 5678 #Modifier letter circumflex (0x88)
noback math \x0089 245678 #permille sign (0x89)
noback uppercase \x008a 5-2347 #Latin letter S with caron (0x8a)
noback lowercase \x009a 5-234
noback punctuation \x008b 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
noback uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
noback lowercase \x009c 1358
noback uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
noback lowercase \x009e 346
noback punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
noback punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
noback punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
noback punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
noback sign \x0095 37 #Bullit (0x95)
noback sign \x0096 368 #EN DASH (0x96)
noback sign \x0097 367 #Em DASH (0x97)
noback sign \x0098 23478 #small TILDE (0x98)
noback sign \x0099 234578 #TRADE MARK SIGN (0x99)
noback punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
noback 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 * 56-35 ASTERISK
lowercase q 56-12345 LATIN LETTER Q
lowercase w 56-2456 LATIN LETTER W
lowercase x 56-1346 LATIN LETTER X
lowercase z 56-1356 LATIN LETTER Z
punctuation \\ 56-347 REVERSE SLASH
punctuation \x2026 56-3-3-3 #Elipsis (0x85)
noback punctuation \x0085 56-3-3-3 #Elipsis (0x85)
lowercase \x017e 56-346  #LATIN  LETTER Z WITH CARON (0x8e)
noback lowercase \x009e 56-346 #LATIN  LETTER Z WITH CARON (0x8e)
punctuation \x00a4 56-2367 CURRENCY SIGN (0xa4)
punctuation \x00a8 56-56 DIAERESIS (0xa8)
punctuation \x00ac 56-34567 NOT SIGN (0xac)
sign \x00b0 56-356 Degree sign (0xb0)
sign \x00b5 56-236 MICRO SIGN
punctuation \x00bf 56-34 INVERTED QUESTION MARK
math \x00d7 56-3456 MULTIPLICATION SIGN
lowercase \x00e0 56-12356 LATIN  LETTER A WITH GRAVE
lowercase \x00e7 56-12346 LATIN  LETTER C WITH CEDILLA
lowercase \x00e8 56-2346 LATIN  LETTER E WITH GRAVE
lowercase \x00e9 56-123456 LATIN  LETTER E WITH ACUTE
lowercase \x00ea 56-126 LATIN  LETTER E WITH CIRCUMFLEX
lowercase \x00eb 56-1246 LATIN  LETTER E WITH DIAERESIS
lowercase \x00ee 56-146 LATIN  LETTER I WITH CIRCUMFLEX
lowercase \x00ef 56-12456 LATIN  LETTER I WITH DIAERESIS
lowercase \x00f4 56-1456 LATIN  LETTER O WITH CIRCUMFLEX
lowercase \x00f9 56-23456 LATIN  LETTER U WITH GRAVE
lowercase \x00fb 56-156 LATIN  LETTER U WITH CIRCUMFLEX
lowercase \x00fc 56-1256 LATIN  LETTER U WITH DIAERESIS

# Misc unicode characters

# Many of the characters below and in da-dk-8miscChars.cti 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.

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

# For each accented letter, the first occurring instance is chosen for back-translation.
# There are no rules about this in the specs of Danish Braille,
# So the choice is arbitrary and may change over time.

lowercase \x0101 5-1 Latin letter a with macron
noback lowercase \x0103 5-1 Latin letter a with breve
noback lowercase \x0105 5-1 Latin letter a with ogonek
lowercase \x0107 5-14 Latin letter c with acute
noback lowercase \x0109 5-14 Latin letter c with circumflex
noback lowercase \x010b 5-14 Latin letter c with dot above
noback lowercase \x010d 5-14 Latin letter c with caron
lowercase \x010f 5-145 Latin letter d with caron
noback lowercase \x0111 5-145 Latin letter d with stroke
lowercase \x0113 5-15 Latin letter e with macron
noback lowercase \x0115 5-15 Latin letter e with breve
noback lowercase \x0117 5-15 Latin letter e with dot above
noback lowercase \x0119 5-15 Latin letter e with ogonek
noback lowercase \x011b 5-15 Latin letter e with caron
lowercase \x011d 5-1245 Latin letter g with circumflex
noback lowercase \x011f 5-1245 Latin letter g with breve
noback lowercase \x0121 5-1245 Latin letter g with dot above
noback lowercase \x0123 5-1245 Latin letter g with cedilla
lowercase \x0125 5-125 Latin letter h with circumflex
noback lowercase \x0127 5-125 Latin letter h with stroke
lowercase \x0129 5-24 Latin letter i with tilde
noback lowercase \x012b 5-24 Latin letter i with macron
noback lowercase \x012d 5-24 Latin letter i with breve
noback lowercase \x012f 5-24 Latin letter i with ogonek
noback lowercase \x0131 5-24 Latin small dotless i
noback lowercase \x0133 24-245 Latin ligature ij
lowercase \x0135 5-245 Latin letter j with circumflex
lowercase \x0137 5-13 Latin letter k with cedilla
lowercase \x0138 5-12345 Small latin letter kra (Greenlandic q)
lowercase \x013a 5-123 Latin letter l with acute
noback lowercase \x013c 5-123 Latin letter l with cedilla
noback lowercase \x013e 5-123 Latin letter l with caron
noback lowercase \x0140 5-123 Latin letter l with middle dot
noback lowercase \x0142 5-123 Latin letter l with stroke
lowercase \x0144 5-1345 Latin letter n with acute
noback lowercase \x0146 5-1345 Latin letter n with cedilla
noback lowercase \x0148 5-1345 Latin letter n with caron
noback lowercase \x0149 4-1345 Latin small letter n preceeded by apostrophe
noback lowercase \x014b 5-1345 Latin letter eng
lowercase \x014d 5-135 Latin letter o with macron
noback lowercase \x014f 5-135 Latin letter o with breve
noback lowercase \x0151 5-135 Latin letter o with double acute
lowercase \x0155 5-1235 Latin letter r with acute
noback lowercase \x0157 5-1235 Latin letter r with cedilla
noback lowercase \x0159 5-1235 Latin letter r with caron
noback lowercase \x015b 5-234 Latin letter s with acute
noback lowercase \x015d 5-234 Latin letter s with circumflex
noback lowercase \x015f 5-234 Latin letter s with cedilla
lowercase \x0161 5-234 #Latin  lowercase Letter S with caron (0x8a/0x9a)
lowercase \x0163 5-2345 Latin letter t with cedilla
noback lowercase \x0165 5-2345 Latin letter t with caron
noback lowercase \x0167 5-2345 Latin letter t with stroke
lowercase \x0169 5-136 Latin letter u with tilde
noback lowercase \x016b 5-136 Latin letter u with macron
noback lowercase \x016d 5-136 Latin letter u with breve
noback lowercase \x016f 5-136 Latin letter u with ring above
noback lowercase \x0171 5-136 Latin letter u with double acute
noback lowercase \x0173 5-136 Latin letter u with ogonek
lowercase \x0175 5-2456 Latin letter w with circumflex
lowercase \x0177 5-13456 Latin letter y with circumflex
lowercase \x017a 5-1356 Latin letter z with acute
noback lowercase \x017c 5-1356 Latin letter z with dot above
noback lowercase \x017f 5-234 Latin small letter long s

# Greek letters (with do# Punctuation and bullits

noback punctuation \x2010 36 # Hyphen
noback punctuation \x2011 36 # Non-breaking hyphen
noback punctuation \x2012 36 # Figure dash
sign \x2016 45-4568 # Double Vertical Line
sign \x2017 45-3678 # Double low line
noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark
noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark
noback sign \x2023 37 #Triangular bullit
noback punctuation \x203c 235-235 # Double Exclamation Mark
noback punctuation \x203d 26-235 # Interrobang
noback sign \x2043 37 # 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 37 # BLACK LEFTWARDS BULLET 
noback sign \x204d 37 # BLACK RIGHTWARDS BULLET 

# Arrows

sign \x2190 45-1256-246 Left arrow
sign \x2191 45-1256-346 Up arrow
sign \x2192 45-1256-135 Right arrow
sign \x2193 45-1256-146 Down arrow
sign \x2194 45-1256-2456-1235-135 Left-right arrow
sign \x2196 45-1256-156 Northwest arrow
sign \x2197 45-1256-234 Northeast arrow
sign \x2198 45-1256-126 Southeast arrow
sign \x2199 45-1256-345 Southwest arrow
sign \x21d4 45-1256-2456-2356-1235-135 Left-right double arrow

# Math signs (experimental)

math \x2200 45-1 # For all
math \x2208 45-15 # Element of
math \x2213 456-36 # Minus or plus
math \x221d 456-5-23568 # Proportional to
math \x2229 46-236 # Intersection
math \x222a 46-235 # Union
math \x2243 456-35 # approx. equal to
math \x2245 5-45-35 # approx. equal to
math \x2248 45-35 # approx. equal to
math \x224f 45-5-23568 # Diff between or approx. equal to
math \x2251 46-5-23568 # approx. equal to
math \x2260 5-23568-4-156 # Not equal to
math \x2261 456-123456 # Equivalent to
math \x2264 456-358 # Less than or equal to
math \x2265 456-267 # Greater than or equal to
math \x226a 46-358 # Much less than
math \x226b 46-267 # Much greater than
math \x22c5 5-256 # Multiplication dot

# Geometrical shapes

noback sign \x25e6 37 #White bullet

# Greek letters with dots 458 as prefix)
lowercase \x03AC 458-5-1 Greek letter alpha with tonos
lowercase \x03AD 458-5-15 Greek letter epsilon with tonos
lowercase \x03AE 458-5-156 Greek letter eta with tonos
lowercase \x03AF 458-5-24 Greek letter iota with sonos
lowercase \x03CC 458-5-135 Greek letter omicron with tonos
lowercase \x03CD 458-5-136 Greek letter upsilon with tonos
lowercase \x03CE 458-5-2456 Greek letter omega with tonos

lowercase \x03B1 458-1 Greek letter alpha
lowercase \x03B2 458-12 Greek letter beta
lowercase \x03B3 458-1245 Greek letter gamma
lowercase \x03B4 458-145 Greek letter delta
lowercase \x03B5 458-15 Greek letter epsilon
lowercase \x03B6 458-1356 Greek letter zeta
lowercase \x03B7 458-156 Greek letter eta
lowercase \x03B8 458-1456 Greek letter theta
lowercase \x03B9 458-24 Greek letter iota
lowercase \x03BA 458-13 Greek letter kappa
lowercase \x03BB 458-123 Greek letter lamda
lowercase \x03BC 458-134 Greek letter Mu
lowercase \x03BD 458-1345 Greek letter Nu
lowercase \x03BE 458-1346 Greek letter Xi
lowercase \x03BF 458-135 Greek letter Omicron
lowercase \x03C0 458-1234 Greek letter Pi
lowercase \x03C1 458-1235 Greek letter Rho
lowercase \x03C3 458-234 Greek letter sigma
lowercase \x03C4 458-2345			Greek letter Tau
lowercase \x03C5 458-136 Greek letter Upsilon
lowercase \x03C6 458-124 Greek letter Phi
lowercase \x03C7 458-12346 Greek letter Chi
lowercase \x03C8 458-13456 Greek letter Psi
lowercase \x03C9 458-2456 Greek letter Omega

# Uppercase letters

base uppercase A a LATIN LETTER A
base uppercase B b LATIN LETTER B
base uppercase C c LATIN LETTER C
base uppercase D d LATIN LETTER D
base uppercase E e LATIN LETTER E
base uppercase F f LATIN LETTER F
base uppercase G g LATIN LETTER G
base uppercase H h LATIN LETTER H
base uppercase I i LATIN LETTER I
base uppercase J j LATIN LETTER J
base uppercase K k LATIN LETTER K
base uppercase L l LATIN LETTER L
base uppercase M m LATIN LETTER M
base uppercase N n LATIN LETTER N
base uppercase O o LATIN LETTER O
base uppercase P p LATIN LETTER P
base uppercase Q q LATIN LETTER Q
base uppercase R r LATIN LETTER R
base uppercase S s LATIN LETTER S
base uppercase T t LATIN LETTER T
base uppercase U u LATIN LETTER U
base uppercase V v LATIN LETTER V
base uppercase W w LATIN LETTER W
base uppercase X x LATIN LETTER X
base uppercase Y y LATIN LETTER Y
base uppercase Z z LATIN LETTER Z
base uppercase \x008a \x009a LATIN LETTER S WITH CARON (0x8a)
base uppercase \x008c \x009c LATIN LIGATURE OE (0x8c)
base uppercase \x008e \x009e LATIN  LETTER Z WITH CARON (0x8e)
base uppercase \x00c0 \x00e0 LATIN  LETTER A WITH GRAVE
base uppercase \x00c1 \x00e1 LATIN LETTER A WITH ACUTE
base uppercase \x00c2 \x00e2 LATIN LETTER A WITH CIRCUMFLEX
base uppercase \x00c3 \x00e3 LATIN LETTER A WITH TILDE
base uppercase \x00c4 \x00e4 LATIN LETTER A WITH DIAERESIS
base uppercase \x00c5 \x00e5 LATIN LETTER A WITH RING ABOVE
base uppercase \x00c6 \x00e6 LATIN LETTER AE
base uppercase \x00c7 \x00e7 LATIN  LETTER C WITH CEDILLA
base uppercase \x00c8 \x00e8 LATIN  LETTER E WITH GRAVE
base uppercase \x00c9 \x00e9 LATIN  LETTER E WITH ACUTE
base uppercase \x00ca \x00ea LATIN  LETTER E WITH CIRCUMFLEX
base uppercase \x00cb \x00eb LATIN  LETTER E WITH DIAERESIS
base uppercase \x00cc \x00ec LATIN LETTER I WITH GRAVE
base uppercase \x00cd \x00ed LATIN LETTER I WITH ACUTE
base uppercase \x00ce \x00ee LATIN  LETTER I WITH CIRCUMFLEX
base uppercase \x00cf \x00ef LATIN  LETTER I WITH DIAERESIS
base uppercase \x00d0 \x00f0 LATIN LETTER ETH
base uppercase \x00d1 \x00f1 LATIN LETTER N WITH TILDE
base uppercase \x00d2 \x00f2 LATIN LETTER O WITH GRAVE
base uppercase \x00d3 \x00f3 LATIN LETTER O WITH ACUTE
base uppercase \x00d4 \x00f4 LATIN  LETTER O WITH CIRCUMFLEX
base uppercase \x00d5 \x00f5 LATIN LETTER O WITH TILDE
base uppercase \x00d6 \x00f6 LATIN LETTER O WITH DIAERESIS
base uppercase \x00d8 \x00f8 LATIN LETTER O WITH STROKE
base uppercase \x00d9 \x00f9 LATIN  LETTER U WITH GRAVE
base uppercase \x00da \x00fa LATIN LETTER U WITH ACUTE
base uppercase \x00db \x00fb LATIN  LETTER U WITH CIRCUMFLEX
base uppercase \x00dc \x00fc LATIN  LETTER U WITH DIAERESIS
base uppercase \x00dd \x00fd LATIN LETTER Y WITH ACUTE (infinite?)
base uppercase \x00de \x00fe LATIN LETTER THORN
base uppercase \x0100 \x0101 Latin letter a with macron
base uppercase \x0102 \x0103 Latin letter a with breve
base uppercase \x0104 \x0105 Latin letter a with ogonek
base uppercase \x0106 \x0107 Latin letter c with acute
base uppercase \x0108 \x0109 Latin letter c with circumflex
base uppercase \x010a \x010b Latin letter c with dot above
base uppercase \x010c \x010d Latin letter c with caron
base uppercase \x010e \x010f Latin letter d with caron
base uppercase \x0110 \x0111 Latin letter d with stroke
base uppercase \x0112 \x0113 Latin letter e with macron
base uppercase \x0114 \x0115 Latin letter e with breve
base uppercase \x0116 \x0117 Latin letter e with dot above
base uppercase \x0118 \x0119 Latin letter e with ogonek
base uppercase \x011a \x011b Latin letter e with caron
base uppercase \x011c \x011d Latin letter g with circumflex
base uppercase \x011e \x011f Latin letter g with breve
base uppercase \x0120 \x0121 Latin letter g with dot above
base uppercase \x0122 \x0123 Latin letter g with cedilla
base uppercase \x0124 \x0125 Latin letter h with circumflex
base uppercase \x0126 \x0127 Latin letter h with stroke
base uppercase \x0128 \x0129 Latin letter i with tilde
base uppercase \x012a \x012b Latin letter i with macron
base uppercase \x012c \x012d Latin letter i with breve
base uppercase \x012e \x012f Latin letter i with ogonek
base uppercase \x0130 \x0131 Latin capital letter i with dot above / small dotless i
base uppercase \x0132 \x0133 Latin ligature ij
base uppercase \x0134 \x0135 Latin letter j with circumflex
base uppercase \x0136 \x0137 Latin letter k with cedilla
base uppercase \x0139 \x013a Latin letter l with acute
base uppercase \x013b \x013c Latin letter l with cedilla
base uppercase \x013d \x013e Latin letter l with caron
base uppercase \x013f \x0140 Latin letter l with middle dot
base uppercase \x0141 \x0142 Latin letter l with stroke
base uppercase \x0143 \x0144 Latin letter n with acute
base uppercase \x0145 \x0146 Latin letter n with cedilla
base uppercase \x0147 \x0148 Latin letter n with caron
base uppercase \x014a \x014b Latin letter eng
base uppercase \x014c \x014d Latin letter o with macron
base uppercase \x014e \x014f Latin letter o with breve
base uppercase \x0150 \x0151 Latin letter o with double acute
base uppercase \x0152 \x0153 LATIN LIGATURE OE (0x8c)
uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
base uppercase \x0154 \x0155 Latin letter r with acute
base uppercase \x0156 \x0157 Latin letter r with cedilla
base uppercase \x0158 \x0159 Latin letter r with caron
base uppercase \x015a \x015b Latin letter s with acute
base uppercase \x015c \x015d Latin letter s with circumflex
base uppercase \x015e \x015f Latin letter s with cedilla
base uppercase \x0160 \x0161 LATIN LETTER S WITH CARON (0x8a)
base uppercase \x0162 \x0163 Latin letter t with cedilla
base uppercase \x0164 \x0165 Latin letter t with caron
base uppercase \x0166 \x0167 Latin letter t with stroke
base uppercase \x0168 \x0169 Latin letter u with tilde
base uppercase \x016a \x016b Latin letter u with macron
base uppercase \x016c \x016d Latin letter u with breve
base uppercase \x016e \x016f Latin letter u with ring above
base uppercase \x0170 \x0171 Latin letter u with double acute
base uppercase \x0172 \x0173 Latin letter u with ogonek
base uppercase \x0174 \x0175 Latin letter w with circumflex
base uppercase \x0176 \x0177 Latin letter y with circumflex
base uppercase \x0178 \x00ff LATIN LETTER Y WITH DIAERESIS (0x9f)
uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
base uppercase \x0179 \x017a Latin letter z with acute
base uppercase \x017b \x017c Latin letter z with dot above
base uppercase \x017d \x017e LATIN  LETTER Z WITH CARON (0x8e)
base uppercase \x0386 \x03AC Greek letter alpha with tonos
base uppercase \x0388 \x03AD Greek letter epsilon with tonos
base uppercase \x0389 \x03AE Greek letter eta with tonos
base uppercase \x038A \x03AF Greek letter iota with sonos
base uppercase \x038C \x03CC Greek letter omicron with tonos
base uppercase \x038E \x03CD Greek letter upsilon with tonos
base uppercase \x038F \x03CE Greek letter omega with tonos
base uppercase \x0391 \x03B1 Greek letter alpha
base uppercase \x0392 \x03B2 Greek letter beta
base uppercase \x0393 \x03B3 Greek letter gamma
base uppercase \x0394 \x03B4 Greek letter delta
base uppercase \x0395 \x03B5 Greek letter epsilon
base uppercase \x0396 \x03B6 Greek letter zeta
base uppercase \x0397 \x03B7 Greek letter eta
base uppercase \x0398 \x03B8 Greek letter theta
base uppercase \x0399 \x03B9 Greek letter iota
base uppercase \x039A \x03BA Greek letter kappa
base uppercase \x039B \x03BB Greek letter lamda
base uppercase \x039C \x03BC Greek letter Mu
base uppercase \x039D \x03BD Greek letter Nu
base uppercase \x039E \x03BE Greek letter Xi
base uppercase \x039F \x03BF Greek letter Omicron
base uppercase \x03A0 \x03C0 Greek letter Pi
base uppercase \x03A1 \x03C1 Greek letter Rho
base uppercase \x03A3 \x03C3 Greek letter sigma
base uppercase \x03A4 \x03C4 Greek letter Tau
base uppercase \x03A5 \x03C5 Greek letter Upsilon
base uppercase \x03A6 \x03C6 Greek letter Phi
base uppercase \x03A7 \x03C7 Greek letter Chi
base uppercase \x03A8 \x03C8 Greek letter Psi
base uppercase \x03A9 \x03C9 Greek letter Omega

# Uppercase letters in computer braille mode

comp6 A 17
comp6 B 127
comp6 C 147
comp6 D 1457
comp6 E 157
comp6 F 1247
comp6 G 12457
comp6 H 1257
comp6 I 247
comp6 J 2457
comp6 K 137
comp6 L 1237
comp6 M 1347
comp6 N 13457
comp6 O 1357
comp6 P 12347
comp6 Q 6-123457
comp6 R 12357
comp6 S 2347
comp6 T 23457
comp6 U 1367
comp6 V 12367
comp6 W 6-24567
comp6 X 6-13467
comp6 Y 134567
comp6 Z 56-13567
comp6 \x008a 23478
comp6 \x008c 13578
comp6 \x008e 56-3467
comp6 \x00c0 56-123567
comp6 \x00c1 1235678
comp6 \x00c2 1678
comp6 \x00c3 14678
comp6 \x00c4 34578
comp6 \x00c5 167
comp6 \x00c6 3457
comp6 \x00c7 6-123467
comp6 \x00c8 6-23467
comp6 \x00c9 6-1234567
comp6 \x00ca 6-1267
comp6 \x00cb 6-12467
comp6 \x00cc 15678
comp6 \x00cd 12678
comp6 \x00ce 6-1467
comp6 \x00cf 6-124567
comp6 \x00d0 67
comp6 \x00d1 1245678
comp6 \x00d2 124678
comp6 \x00d3 34678
comp6 \x00d4 6-14567
comp6 \x00d5 145678
comp6 \x00d6 24678
comp6 \x00d8 2467
comp6 \x00d9 6-234567
comp6 \x00da 125678
comp6 \x00db 6-1567
comp6 \x00dc 6-12567
comp6 \x00dd 13478
comp6 \x00de 1378
comp6 \x0100 5-17
comp6 \x0102 5-17
comp6 \x0104 5-17
comp6 \x0106 5-147
comp6 \x0108 5-147
comp6 \x010a 5-147
comp6 \x010c 5-147
comp6 \x010e 5-1457
comp6 \x0110 5-1457
comp6 \x0112 5-157
comp6 \x0114 5-157
comp6 \x0116 5-157
comp6 \x0118 5-157
comp6 \x011a 5-157
comp6 \x011c 5-12457
comp6 \x011e 5-12457
comp6 \x0120 5-12457
comp6 \x0122 5-12457
comp6 \x0124 5-1257
comp6 \x0126 5-1257
comp6 \x0128 5-247
comp6 \x012a 5-247
comp6 \x012c 5-247
comp6 \x012e 5-247
comp6 \x0130 5-247
comp6 \x0132 247-245
comp6 \x0134 5-2457
comp6 \x0136 5-137
comp6 \x0139 5-1237
comp6 \x013b 5-1237
comp6 \x013d 5-1237
comp6 \x013f 5-1237
comp6 \x0141 5-1237
comp6 \x0143 5-13457
comp6 \x0145 5-13457
comp6 \x0147 5-13457
comp6 \x014a 5-13457
comp6 \x014c 5-1357
comp6 \x014e 5-1357
comp6 \x0150 5-1357
comp6 \x0152 13578
comp6 \x0154 5-12357
comp6 \x0156 5-12357
comp6 \x0158 5-12357
comp6 \x015a 5-2347
comp6 \x015c 5-2347
comp6 \x015e 5-2347
comp6 \x0160 23478
comp6 \x0162 5-23457
comp6 \x0164 5-23457
comp6 \x0166 5-23457
comp6 \x0168 5-1367
comp6 \x016a 5-1367
comp6 \x016c 5-1367
comp6 \x016e 5-1367
comp6 \x0170 5-1367
comp6 \x0172 5-1367
comp6 \x0174 5-24567
comp6 \x0176 5-134567
comp6 \x0178 2345678
comp6 \x0179 5-13567
comp6 \x017b 5-13567
comp6 \x017d 6-3467
comp6 \x0386 458-5-17
comp6 \x0388 458-5-157
comp6 \x0389 458-5-1567
comp6 \x038A 458-5-247
comp6 \x038C 458-5-1357
comp6 \x038E 458-5-1367
comp6 \x038F 458-5-24567
comp6 \x0391 458-17
comp6 \x0392 458-127
comp6 \x0393 458-12457
comp6 \x0394 458-1457
comp6 \x0395 458-157
comp6 \x0396 458-13567
comp6 \x0397 458-1567
comp6 \x0398 458-14567
comp6 \x0399 458-247
comp6 \x039A 458-137
comp6 \x039B 458-1237
comp6 \x039C 458-1347
comp6 \x039D 458-13457
comp6 \x039E 458-13467
comp6 \x039F 458-1357
comp6 \x03A0 458-12347
comp6 \x03A1 458-12357
comp6 \x03A3 458-2347
comp6 \x03A4 458-23457
comp6 \x03A5 458-1367
comp6 \x03A6 458-1247
comp6 \x03A7 458-123467
comp6 \x03A8 458-134567
comp6 \x03A9 458-24567

nofor always A 17
nofor always B 127
nofor always C 147
nofor always D 1457
nofor always E 157
nofor always F 1247
nofor always G 12457
nofor always H 1257
nofor always I 247
nofor always J 2457
nofor always K 137
nofor always L 1237
nofor always M 1347
nofor always N 13457
nofor always O 1357
nofor always P 12347
nofor always Q 56-123457
nofor always R 12357
nofor always S 2347
nofor always T 23457
nofor always U 1367
nofor always V 12367
nofor always W 56-24567
nofor always X 56-13467
nofor always Y 134567
nofor always Z 56-13567
nofor always \x00c0 56-123567
nofor always \x00c1 1235678
nofor always \x00c2 1678
nofor always \x00c3 14678
nofor always \x00c4 34578
nofor always \x00c5 167
nofor always \x00c6 3457
nofor always \x00c7 56-123467
nofor always \x00c8 56-23467
nofor always \x00c9 56-1234567
nofor always \x00ca 56-1267
nofor always \x00cb 56-12467
nofor always \x00cc 15678
nofor always \x00cd 12678
nofor always \x00ce 56-1467
nofor always \x00cf 56-124567
nofor always \x00d0 67
nofor always \x00d1 1245678
nofor always \x00d2 124678
nofor always \x00d3 34678
nofor always \x00d4 56-14567
nofor always \x00d5 145678
nofor always \x00d6 24678
nofor always \x00d8 2467
nofor always \x00d9 56-234567
nofor always \x00da 125678
nofor always \x00db 56-1567
nofor always \x00dc 56-12567
nofor always \x00dd 13478
nofor always \x00de 1378
nofor always \x0100 5-17
nofor always \x0106 5-147
nofor always \x010e 5-1457
nofor always \x0112 5-157
nofor always \x011c 5-12457
nofor always \x0124 5-1257
nofor always \x0128 5-247
nofor always \x0134 5-2457
nofor always \x0136 5-137
nofor always \x0139 5-1237
nofor always \x0143 5-13457
nofor always \x014c 5-1357
nofor always \x0152 13578
nofor always \x0154 5-12357
nofor always \x0160 5-2347
nofor always \x0162 5-23457
nofor always \x0168 5-1367
nofor always \x0174 5-24567
nofor always \x0176 5-134567
nofor always \x0178 2345678
nofor always \x0179 5-13567
nofor always \x017d 56-3467
nofor always \x0386 458-5-17
nofor always \x0388 458-5-157
nofor always \x0389 458-5-1567
nofor always \x038A 458-5-247
nofor always \x038C 458-5-1357
nofor always \x038E 458-5-1367
nofor always \x038F 458-5-24567
nofor always \x0391 458-17
nofor always \x0392 458-127
nofor always \x0393 458-12457
nofor always \x0394 458-1457
nofor always \x0395 458-157
nofor always \x0396 458-13567
nofor always \x0397 458-1567
nofor always \x0398 458-14567
nofor always \x0399 458-247
nofor always \x039A 458-137
nofor always \x039B 458-1237
nofor always \x039C 458-1347
nofor always \x039D 458-13457
nofor always \x039E 458-13467
nofor always \x039F 458-1357
nofor always \x03A0 458-12347
nofor always \x03A1 458-12357
nofor always \x03A3 458-2347
nofor always \x03A4 458-23457
nofor always \x03A5 458-1367
nofor always \x03A6 458-1247
nofor always \x03A7 458-123467
nofor always \x03A8 458-134567
nofor always \x03A9 458-24567

### misc opcodes ###

# Emphasis opcodes
emphclass italic
emphclass underline
emphclass bold

begemphphrase italic 46
endemphphrase italic after 46

begemphphrase bold 46
endemphphrase bold after 46

begemphphrase underline 46
endemphphrase underline after 46

# special symbols
hyphen - 36
letsign 56
noletsign IQWXZiqwxz\x0149
noletsignbefore 1234567890

capsletter f
multind f-56 capsletter letsign
multind 56-f letsign capsletter
capsnocont

# The Danish use of letsign differs somewhat from the LibLouis way.
# In order to be sure that we are getting a letsign when we want one, we are sometimes getting an overlap.

# Ensure that we have letsign between a digit and "st"
# and nd after a digit is not contracted
noback context _$d["st"]!$l @56-234-2345
noback context _$d["st"]~ @56-234-2345
noback context _$d["nd"]!$l @1345-145
noback context _$d["nd"]~ @1345-145
# The following lines are to ensure that we get a letsign between a digit and a single letter.
noback context $d[]$l!$l @56
noback context $d[]$l~ @56

### Correct - Forward translation

# Ensure that capsnocont does not stretch across dashes
noback correct $U["-"] "\xf8fe"

# Special characters that always need letsigns because they represent contractions
always \x00a1 56-256 # inverted exclamationmark

# Punctuation
# Ensure word contractions followed by ! back-translate correctly
postpunc ! 235

#Special sequences, urls emails and file names.
nocont $
nocont \\ # line cannot end with a backslash
nocont @
nocont ://
nocont www

#Words
word af 356
always 'af 4-1-124
word aldrig 1-35
word aig =
word alle 1-15
begnum ae 56-1-15
contraction ae
word allerede 1-123-1235
begnum alr 56-1-123-1235
contraction alr
word alligevel 1-123-1236
begnum alv 56-1-123-1236
contraction alv
word altid 1-2345-145
begnum atd 56-1-2345-145
contraction atd
word altså 1-16
begnum aå 56-1-16
contraction aå
word arbejde 1-12-1456
word abde =
word arbejdede 1-12-1456-1456
word abdede =
word arbejder 1-12-23456
word abder =
word arbejdet 1-12-2346
word abdet =
word at 1

word betyde 12-2345-1456
word btde =
word betyder 12-2345-23456
word btder =
word blevet 12-2345
begnum bt 56-12-2345
contraction bt
word blev 12-1236
begnum bv 56-12-1236
contraction bv
word blive 12-3456
word bve =
word bliver 12

word danmark 145-1345-13
begnum dnk 56-145-1345-13
contraction dnk
word danmarks 145-1345-13-234
begnum dnks 56-145-1345-13-234
contraction dnks
word dansk 145-123456
word dsk =
word danske 145-123456-15
word dske =
word derefter 23456-1356
word derst =
word deres 256
word derfor 23456-124
word derf =
word derigennem 23456-24-12456
word derige 1456-1235-24-12456
word dermed 23456-134
word derm =
word derned 23456-1246
word derne =
word derop 23456-135
word dero =
word derover 23456-1346
word deror =
word derpå 23456-1234
word derp =
word dersom 23456-234
word ders =
word dertil 23456-2345
word dert =
word derunder 23456-12345
word derved 23456-1236
word din 145-1345
begnum dn 56-145-1345
contraction dn
word disse 145-234
begnum ds 56-145-234
contraction ds
word dit 145-2345
begnum dt 56-145-2345
contraction dt
word du 145

word efter 1356
word eftersom 1356-234
word sts =
word eller 15
word endnu 15-136
begnum eu 56-15-136
contraction eu

word faktisk 124-13-2345
begnum fkt 56-124-13-2345
contraction fkt
word fik 124-13
begnum fk 56-124-13
contraction fk
word forbi 124-12
begnum fb 56-124-12
contraction fb
word fordi 124-145
begnum fd 56-124-145
contraction fd
word forskellige 124-123456-15
word fske =
word forskelligt 124-123456-2345
word fskt =
word forskellig 124-123456
word fsk =
word for 124
word fortælle 124-1256
word fte =
word fortæller 124-2345-156
word fter =
word fra 235
word første 124-1356-15
word fste =
word først 124-1356
word fst =
word før 246

word gang 1245-1245
begnum gg 56-1245-1245
contraction gg
word gange 1245-12456
word gge =
word gangene 1245-1245-15-1246
word ganske 1245-123456
word gennem 12456
word gik 1245-13
begnum gk 56-1245-13
contraction gk
word gør 1245

word ham 236
word hans 13456-234
begnum ys 56-13456-234
contraction ys
word han 13456
word har 125
word havde 125-1456
word hde =
word have 125-3456
word hve =
word hele 125-123-15
begnum hle 56-125-123-15
contraction hle
word heller 125-123-1235
begnum hlr 56-125-123-1235
contraction hlr
word helt 125-2345
begnum ht 6-125-2345
contraction ht
word hendes 125-234
begnum hs 56-125-234
contraction hs
word hende 125-145
begnum hd 56-125-145
contraction hd
word hjælpe 125-1234-15
begnum hpe 56-125-1234-15
contraction hpe
word hjælpende 125-1234-15-1345-1456 # *** temporary patch
word hjælper 125-1234-156
word hper =
word hun 136
word hvad 2456
word hvilke 2456-13-15
word hvke =
word hvilken 2456-13-126
word hvken =
word hvilket 2456-13-346
word hvket =
word hvis 2456-234
word hvs =
word hvordan 34-1
word hvora 34-6-1
word hvorefter 34-1356
word hvorst 34-234-2345
word hvorfor 34-124
word hvorf 34-6-124
word hvorigennem 34-24-12456
word hvorledes 34-15
word hvore 34-6-15
word hvormed 34-134
word hvorm 34-6-134
word hvornår 34-1345
word hvorn 34-6-1345
word hvorover 34-1346
word hvoror 34-135-1235
word hvorpå 34-1234
word hvorp 34-6-1234
word hvortil 34-2345
word hvort 34-6-2345
word hvorunder 34-12345
word hvornd 34-1345-145
word hvorved 34-1236
word hvorv 34-6-1236
word hvor 34

word igennem 24-12456
word ige =
word igen 35
word (igen) 236-24-1245-126-356
word ikke 24-13
begnum ik 56-24-13
contraction ik
word ingen 24-126
word ien =
word ingenting 24-24
begnum ii 56-24-24
contraction ii

word jeg 245
word jeg) 245-6-356

word kan 13
word kommer 13-156
word ker =
word kommet 13-346
word ket =
word komme 13-146
word kme =
word kom 13-134
begnum km 56-13-134
contraction km
word kunne 13-1246
word kne =
word kvinde 13-1236-1456
word kvde =
word kvindes 13-1236-1456-234
word kvdes =
word kvinden 13-1236-12346
word kvden =
word kvindens 13-1236-12346-234
word kvdens =
word kvinder 13-1236-23456
word kvder =
word kvinders 13-1236-23456-234
word kvders =
word kvinderne 13-1236-23456-1246
word kvderne =
word kvindernes 13-1236-23456-1246-234
word kvdernes =

word lang 123-1245
begnum lg 56-123-1245
contraction lg
word lange 123-12456
begnum lge 56-123-12456
contraction lge
word langt 123-1245-2345
begnum lgt 56-123-1245-2345
contraction lgt
word lidt 123-2345
begnum lt 56-123-2345
contraction lt
word ligesom 123-234
begnum ls 56-123-234
contraction ls
word lige 123
word lille 123-123
begnum ll 56-123-123
contraction ll

word mange 134-12456
word mge =
word med 134
word megen 146-126
word meen =
word meget 146-346
word meet =
word mellem 146-134
word mem =
word men 146
word menneske 146-123456-15
word meske =
word menneskes 146-123456-15-234
word meskes =
word menneskene 146-123456-15-1246
word meskene =
word menneskenes 146-123456-15-1246-234
word meskenes =
word mennesker 146-123456-156
word meskr =
word menneskers 146-123456-156-234
word meskrs =
word mennesket 146-123456-346
word meskt =
word menneskets 146-123456-346-234
word meskts =
word min 134-1345
begnum mn 56-134-1345
contraction mn
word mit 134-2345
begnum mt 56-145-2345
contraction mt
word mulighed 134-123-125
begnum mlh 56-134-123-125
contraction mlh
word muligheds 134-123-125-234
begnum mlhs 56-134-123-125-234
contraction mlhs
word muligheden 134-123-125-126
begnum mlhen 56-134-123-125-15-1345
contraction mlhen
word mulighedens 134-123-125-126-234
begnum mlhens 56-134-123-125-15-1345-234
contraction mlhens
word muligheder 134-123-125-156
word mlhder =
word muligheders 134-123-125-156-234
word mlhders =
word mulighederne 134-123-125-156-1246
word mlhderne =
word mulighedernes 134-123-125-156-1246-234
word mlhdernes =
word måske 134-123456
word msk =
word måtte 134-1256
word mte =

word naturlig 1345-2345-123
begnum ntl 56-1345-2345-123
contraction ntl
word naturligt 1345-2345-123-2345
begnum ntlt 56-1345-2345-123-2345
contraction ntlt
word naturligvis 1345-2345-1236
begnum ntv 56-1345-2345-1236
contraction ntv
word ned 1246
word nogen 1345-1345
begnum nn 56-1345-1345
contraction nn
word nogensinde 1345-234-1456
word nsde =
word noget 1345-2345
begnum nt 56-1345-2345
contraction nt
word nogle 1345-123-15
begnum nle 56-1345-123-15
contraction nle
word næste 1345-1256
word nte =
word næsten 1345-126
word nen =
word når 1345

word også 14-16
begnum cå 56-14-16
contraction cå
word og 14
word omkring 135-134-13
begnum omk 56-135-134-13
contraction omk
word op 135
word or =
word organisation 1346-1245-234
word orgs =
word organisations 1346-1245-234-234
word orgss =
word organisationen 1346-1245-234-126
word orgsen =
word organisationens 1346-1245-234-126-234
word orgsens =
word organisationer 1346-1245-234-156
word orgser =
word organisationers 1346-1245-234-156-234
word orgsers =
word organisationerne 1346-1245-234-156-1246
word orgserne =
word organisationernes 1346-1245-234-156-1246-234
word orgsernes =
word over 1346

word problem 1234-12
begnum pb 56-1234-12
contraction pb
word problems 1234-12-234
begnum pbs 56-1234-12-234
contraction pb
word problemet 1234-12-346
word pbet =
word problemets 1234-12-346-234
word pbets =
word problemer 1234-12-156
word pber =
word problemers 1234-12-156-234
word pbers =
word problemerne 1234-12-156-1246
word pberne =
word problemernes 1234-12-156-1246-234
word pbernes =
word punktskrift 1234-1345-123456
word pnsk =
word på 1234

word ret 12356
word rigtige 1235-12456
word rge =
word rigtigt 1235-2345
begnum rt 56-1235-2345
contraction rt
word rigtig 1235

word sagde 234-1456
word sammen 234-134
begnum sm 56-234-134
contraction sm
word samme 234-146
word sme =
word samtidig 234-134-2345
begnum smt 56-234-134-2345
contraction smt
word selvfølgelig 234-1236-124
begnum svf 56-234-1236-124
contraction svf
word selv 234-1236
begnum sv 56-234-1236
contraction sv
word sidste 234-1356-15
word sste =
word sidst 234-1356
word sst =
word sin 234-1345
begnum sn 56-234-1345
contraction sn
word sit 234-2345
begnum st 56-234-2345
contraction st
word skal 123456
word skulle 123456-123-15
word skle =
word snart 234-1235
begnum sr 56-234-1235
contraction sr
word som 234
word spørgsmål 234-1234-134
begnum spm 56-234-1234-134
contraction spm
word spørgsmåls 234-1234-134-234
begnum spms 56-234-1234-134-234
contraction spms
word spørgsmålet 234-1234-134-346
word spmet =
word spørgsmålets 234-1234-134-346-234
word spmets =
word spørgsmålene 234-1234-134-1246
word spmne =
word spørgsmålenes 234-1234-134-1246-234
word spmnes =
word stadig 1356-1245
word stg =
word sådan 16-1
begnum åa 56-16-1
contraction åa
word således 16-15
begnum åe 56-16-15
contraction åe
word så 16

word tid 2345-145
begnum td 56-2345-145
contraction td
word tidlig 2345-145-123
begnum tdl 56-2345-145-123
contraction tdl
word tidlige 2345-145-123-12456
word tdlge =
word tidligere 2345-145-123-12356
word tdlre =
word tidligst 2345-145-123-1356
word tdlst =
word tilbage 2345-12
begnum tb 56-2345-12
contraction tb
word tilfælde 2345-124
begnum tf 56-2345-124
contraction tf
word til 2345

word under 12345

word vanskelig 1236-123456
word vsk =
word vanskelige 1236-123456-15
word vske =
word vanskeligt 1236-123456-2345
word vskt =
word var 3456
word ved 1236
word vidste 1236-1356-15
word vste =
word ville 1236-123-15
begnum vle 56-1236-123-15
contraction vle
word vil 1236-123
begnum vl 56-1236-123
contraction vl
word virkelig 1236-1235-13
begnum vrk 56-1236-1235-13
contraction vrk
word været 1236-2345
begnum vt 56-1236-2345
contraction vt
word være 345


word øjeblik 246-245-12
begnum øjb 56-246-245-12
contraction øjb

#Part words and words
begword dansk 145-123456
begword dsk =
nocross always den 12346
nocross always der 23456
nocross always det 2346
nocross always de 1456
nocross always en 126
nocross always er 156
nocross always et 346
nocross begword gang 1245-1245
begword gg 56-1245-1245
nocross begword gange 1245-1-1345-12456 # *** temporary patch
nocross partword ge 12456
begword hjælpe 125-1234-15
nocross partword hv 2456
nocross partword hvor 34
nocross partword ig 35
begword kvinde 13-1236-1456
begword kvde =
nocross partword me 146
begword menneske 146-123456-15
begword meske =
nocross partword nd 12345
nocross partword ne 1246
nocross partword or 1346
begword organisation 1346-1245-234
begword orgs =
begword problem 1234-12
begword pb 56-1234-12
nocross partword re 12356
nocross partword sk 123456
nocross partword st 1356
nocross always te 1256
begword virkelig 1236-1235-13
nocross partword ve 3456

nofor always www 2456-2456-2456 # does not work forward because of nocont

#special cases with dropped signs
# which can be both punctuations and contractions.

always fra! 124-1235-1-235
always !fra 235-124-1235-1
always !! 235-235
always !!! 235-235-235
always "fra" 2356-124-1235-1-2356
after punctuation always ! 56-235
always 'af 4-1-124

always \s! 0-56-235
prepunc ! 56-235
nofor always ! 56-235
noback context `["!"] @56-235


# Ensure no one-letter word contraction before or after a dash
prfword -af 36-1-124
sufword af- 1-124-36
prfword -at 36-1-2345
sufword at- 1-2345-36
prfword -deres 36-1456-12356-234
sufword deres- 1456-12356-234-36
prfword -du 36-145-136
sufword du- 145-136-36
prfword -efter 36-15-124-2345-156
sufword efter- 15-124-2345-156-36
prfword -for 36-124-1346
sufword for- 124-1346-36
prfword -fra 36-124-1235-1
sufword fra- 124-1235-1-36
prfword -gennem 36-1245-126-1246-134
sufword gennem- 1245-126-1246-134-36
prfword -ham 36-125-1-134
sufword ham- 125-1-134-36
prfword -han 36-125-1-1345
sufword han- 125-1-1345-36
prfword -har 36-125-1-1235
sufword har- 125-1-1235-36
prfword -hun 36-125-136-1345
sufword hun- 125-136-1345-36
prfword -kan 36-13-1-1345
sufword kan- 13-1-1345-36
prfword -lige 36-123-24-12456
sufword lige- 123-24-12456-36
prfword -med 36-146-145
sufword med- 146-145-36
prfword -men 36-134-126
sufword men- 134-126-36
prfword -ned 36-1246-145
sufword ned- 1246-145-36
prfword -når 36-1345-16-1235
sufword når- 1345-16-1235-36
prfword -og 36-135-1245
sufword og- 135-1245-36
prfword -op 36-135-1234
sufword op- 135-1234-36
prfword -over 36-135-1236-156
sufword over- 135-1236-156-36
prfword -på 36-1234-16
sufword på- 1234-16-36
prfword -ret 36-1235-346
sufword ret- 1235-346-36
prfword -rigtig 36-1235-35-2345-35
sufword rigtig- 1235-35-2345-35-36
prfword -skal 36-123456-1-123
sufword skal- 123456-1-123-36
prfword -som 36-234-135-134
sufword som- 234-135-134-36
prfword -så 36-234-16
sufword så- 234-16-36
prfword -til 36-2345-24-123
sufword til- 2345-24-123-36
prfword -under 36-136-1345-23456
sufword under- 136-1345-23456-36
prfword -ved 36-1236-15-145
sufword ved- 1236-15-145-36
prfword -være 36-1236-345-12356
sufword være- 1236-345-12356-36

# *** patches for various Liblouis bugs
# this file will be removed when the bugs are fixed

nofor always a 56-1
nofor always b 56-12
nofor always c 56-14
nofor always d 56-145
nofor always e 56-15
nofor always f 56-124
nofor always g 56-1245
nofor always h 56-125
nofor always j 56-245
nofor always k 56-13
nofor always l 56-123
nofor always m 56-134
nofor always n 56-1345
nofor always o 56-135
nofor always p 56-1234
nofor always q 56-12345
nofor always r 56-1235
nofor always s 56-234
nofor always t 56-2345
nofor always u 56-136
nofor always v 56-1236
nofor always w 56-2456
nofor always x 56-1346
nofor always y 56-13456
nofor always z 56-1356
nofor always æ 56-345
nofor always ø 56-246
nofor always å 56-16

nofor always A 56-17
nofor always B 56-127
nofor always C 56-147
nofor always D 56-1457
nofor always E 56-157
nofor always F 56-1247
nofor always G 56-12457
nofor always H 56-1257
nofor always J 56-2457
nofor always K 56-137
nofor always L 56-1237
nofor always M 56-1347
nofor always N 56-13457
nofor always O 56-1357
nofor always P 56-12347
nofor always Q 56-123457
nofor always R 56-12357
nofor always S 56-2347
nofor always T 56-23457
nofor always U 56-1367
nofor always V 56-12367
nofor always W 56-24567
nofor always X 56-13467
nofor always Y 56-134567
nofor always Z 56-13567
nofor always Æ 56-3457
nofor always Ø 56-2467
nofor always Å 56-167

# if a word contraction is followed by a punctuation and another word immediately after,
# The contracted word before the punctuation will back-translate as its components
attribute wordlimit /,!.:’()?"'\x00ab_\x201d\x0094\x2019\x0092\x00bb
nofor before wordlimit begword af 356
nofor before wordlimit begword aldrig 1-35
nofor before wordlimit begword alle 1-15
nofor before wordlimit begword allerede 1-123-1235
nofor before wordlimit begword alligevel 1-123-1236
nofor before wordlimit begword altid 1-2345-145
nofor before wordlimit begword altså 1-16
nofor before wordlimit begword arbejde 1-12-1456
nofor before wordlimit begword arbejdede 1-12-1456-1456
nofor before wordlimit begword arbejder 1-12-23456
nofor before wordlimit begword arbejdet 1-12-2346
nofor before wordlimit begword at 1

nofor before wordlimit begword betyde 12-2345-1456
nofor before wordlimit begword betyder 12-2345-23456
nofor before wordlimit begword blevet 12-2345
nofor before wordlimit begword blev 12-1236
nofor before wordlimit begword blive 12-3456
nofor before wordlimit begword bve 12-1236-15
nofor before wordlimit begword bliver 12

nofor before wordlimit begword danmark 145-1345-13
nofor before wordlimit begword danmarks 145-1345-13-234
nofor before wordlimit begword dansk 145-123456
nofor before wordlimit begword derefter 23456-1356
nofor before wordlimit begword derst =
nofor before wordlimit begword deres 256
nofor before wordlimit begword derfor 23456-124
nofor before wordlimit begword derf =
nofor before wordlimit begword derigennem 23456-24-12456
nofor before wordlimit begword derige 1456-1235-24-12456
nofor before wordlimit begword dermed 23456-134
nofor before wordlimit begword derm =
nofor before wordlimit begword derned 23456-1246
nofor before wordlimit begword derne =
nofor before wordlimit begword derop 23456-135
nofor before wordlimit begword dero =
nofor before wordlimit begword derover 23456-1346
nofor before wordlimit begword deror =
nofor before wordlimit begword derpå 23456-1234
nofor before wordlimit begword derp =
nofor before wordlimit begword dersom 23456-234
nofor before wordlimit begword ders =
nofor before wordlimit begword dertil 23456-2345
nofor before wordlimit begword dert =
nofor before wordlimit begword derunder 23456-12345
nofor before wordlimit begword derved 23456-1236
nofor before wordlimit begword din 145-1345
nofor before wordlimit begword disse 145-234
nofor before wordlimit begword dit 145-2345
nofor before wordlimit begword du 145

nofor before wordlimit begword efter 1356
nofor before wordlimit begword eftersom 1356-234
nofor before wordlimit begword eller 15
nofor before wordlimit begword endnu 15-136

nofor before wordlimit begword faktisk 124-13-2345
nofor before wordlimit begword fik 124-13
nofor before wordlimit begword forbi 124-12
nofor before wordlimit begword fordi 124-145
nofor before wordlimit begword forskellige 124-123456-15
nofor before wordlimit begword fske =
nofor before wordlimit begword forskelligt 124-123456-2345
nofor before wordlimit begword fskt =
nofor before wordlimit begword forskellig 124-123456
nofor before wordlimit begword fsk =
nofor before wordlimit begword for 124
nofor before wordlimit begword fortælle 124-1256
nofor before wordlimit begword fortæller 124-2345-156
nofor before wordlimit begword fra 235
nofor before wordlimit begword første 124-1356-15
nofor before wordlimit begword først 124-1356
nofor before wordlimit begword før 246

nofor before wordlimit begword gang 1245-1245
nofor before wordlimit begword gange 1245-12456
nofor before wordlimit begword ganske 1245-123456
nofor before wordlimit begword gennem 12456
nofor before wordlimit begword ge =
nofor before wordlimit begword gik 1245-13
nofor before wordlimit begword gør 1245

nofor before wordlimit begword ham 236
nofor before wordlimit begword hans 13456-234
nofor before wordlimit begword han 13456
nofor before wordlimit begword har 125
nofor before wordlimit begword havde 125-1456
nofor before wordlimit begword hde =
nofor before wordlimit begword have 125-3456
nofor before wordlimit begword hve =
nofor before wordlimit begword hele 125-123-15
nofor before wordlimit begword heller 125-123-1235
nofor before wordlimit begword helt 125-2345
nofor before wordlimit begword hendes 125-234
nofor before wordlimit begword hende 125-145
nofor before wordlimit begword hjælpe 125-1234-15
nofor before wordlimit begword hjælper 125-1234-156
nofor before wordlimit begword hun 136
nofor before wordlimit begword hvad 2456
nofor before wordlimit begword hv =
nofor before wordlimit begword hvilke 2456-13
nofor before wordlimit begword hvilken 2456-13-126
nofor before wordlimit begword hvilket 2456-13-346
nofor before wordlimit begword hvis 2456-234
nofor before wordlimit begword hvs =
nofor before wordlimit begword hvordan 34-1
nofor before wordlimit begword hvorefter 34-1356
nofor before wordlimit begword hvorfor 34-124
nofor before wordlimit begword hvorigennem 34-24-12456
nofor before wordlimit begword hvorledes 34-15
nofor before wordlimit begword hvormed 34-134
nofor before wordlimit begword hvornår 34-1345
nofor before wordlimit begword hvorover 34-1346
nofor before wordlimit begword hvorpå 34-1234
nofor before wordlimit begword hvortil 34-2345
nofor before wordlimit begword hvorunder 34-12345
nofor before wordlimit begword hvorved 34-1236
nofor before wordlimit begword hvor 34

nofor before wordlimit begword igennem 24-12456
nofor before wordlimit begword ige =
nofor before wordlimit begword igen 35
nofor before wordlimit begword ig =
nofor before wordlimit begword ikke 24-13
nofor before wordlimit begword ingen 24-126
nofor before wordlimit begword ingenting 24-24

nofor before wordlimit begword jeg 245

nofor before wordlimit begword kan 13
nofor before wordlimit begword kommer 13-156
nofor before wordlimit begword ker =
nofor before wordlimit begword kommet 13-346
nofor before wordlimit begword ket =
nofor before wordlimit begword komme 13-146
nofor before wordlimit begword kme =
nofor before wordlimit begword kom 13-134
nofor before wordlimit begword kunne 13-1246
nofor before wordlimit begword kne =
nofor before wordlimit begword kvinde 13-1236-1456
word kvindes 13-1236-1456-234
nofor before wordlimit begword kvinden 13-1236-12346
nofor before wordlimit begword kvindens 13-1236-12346-234
nofor before wordlimit begword kvinder 13-1236-23456
nofor before wordlimit begword kvinders 13-1236-23456-234
nofor before wordlimit begword kvinderne 13-1236-23456-1246
nofor before wordlimit begword kvindernes 13-1236-23456-1246-234

nofor before wordlimit begword lang 123-1245
nofor before wordlimit begword lange 123-12456
nofor before wordlimit begword langt 123-1245-2345
nofor before wordlimit begword lidt 123-2345
nofor before wordlimit begword ligesom 123-234
nofor before wordlimit begword lige 123
nofor before wordlimit begword lille 123-123

nofor before wordlimit begword mange 134-12456
nofor before wordlimit begword mge =
nofor before wordlimit begword med 134
nofor before wordlimit begword megen 146-126
nofor before wordlimit begword meen =
nofor before wordlimit begword meget 146-346
nofor before wordlimit begword meet =
nofor before wordlimit begword mellem 146-134
nofor before wordlimit begword mem =
nofor before wordlimit begword men 146
nofor before wordlimit begword me =
nofor before wordlimit begword menneske 146-123456
nofor before wordlimit begword menneskes 146-123456-234
nofor before wordlimit begword menneskene 146-123456-15-1246
nofor before wordlimit begword menneskenes 146-123456-15-1246-234
nofor before wordlimit begword mennesker 146-123456-156
nofor before wordlimit begword menneskers 146-123456-156-234
nofor before wordlimit begword mennesket 146-123456-346
nofor before wordlimit begword menneskets 146-123456-346-234
nofor before wordlimit begword min 134-1345
nofor before wordlimit begword mit 134-2345
nofor before wordlimit begword mulighed 134-123-125
nofor before wordlimit begword muligheds 134-123-125-234
nofor before wordlimit begword muligheden 134-123-125-126
nofor before wordlimit begword mulighedens 134-123-125-126-234
nofor before wordlimit begword muligheder 134-123-125-156
nofor before wordlimit begword muligheders 134-123-125-156-234
nofor before wordlimit begword mulighederne 134-123-125-156-1246
nofor before wordlimit begword mulighedernes 134-123-125-156-1246-234
nofor before wordlimit begword måske 134-123456
nofor before wordlimit begword msk =
nofor before wordlimit begword måtte 134-1256
nofor before wordlimit begword mte =

nofor before wordlimit begword naturlig 1345-2345-123
nofor before wordlimit begword naturligt 1345-2345-123-2345
nofor before wordlimit begword naturligvis 1345-2345-1236
nofor before wordlimit begword nd =
nofor before wordlimit begword ned 1246
nofor before wordlimit begword ne =
nofor before wordlimit begword nogen 1345-1345
nofor before wordlimit begword nogensinde 1345-234-1456
nofor before wordlimit begword noget 1345-2345
nofor before wordlimit begword nogle 1345-123-15
nofor before wordlimit begword næste 1345-1256
nofor before wordlimit begword næsten 1345-126
nofor before wordlimit begword når 1345

nofor before wordlimit begword også 14-16
nofor before wordlimit begword og 14
nofor before wordlimit begword omkring 135-134-13
nofor before wordlimit begword op 135
nofor before wordlimit begword or =
nofor before wordlimit begword organisation 1346-1245-234
nofor before wordlimit begword organisations 1346-1245-234-234
nofor before wordlimit begword organisationen 1346-1245-234-126
nofor before wordlimit begword organisationens 1346-1245-234-126-234
nofor before wordlimit begword organisationer 1346-1245-234-156
nofor before wordlimit begword organisationers 1346-1245-234-156-234
nofor before wordlimit begword organisationerne 1346-1245-234-156-1246
nofor before wordlimit begword organisationernes 1346-1245-234-156-1246-234
nofor before wordlimit begword over 1346

nofor before wordlimit begword problem 1234-12
nofor before wordlimit begword problems 1234-12-234
nofor before wordlimit begword problemet 1234-12-346
nofor before wordlimit begword problemets 1234-12-346-234
nofor before wordlimit begword problemer 1234-12-156
nofor before wordlimit begword problemers 1234-12-156-234
nofor before wordlimit begword problemerne 1234-12-156-1246
nofor before wordlimit begword problemernes 1234-12-156-1246-234
nofor before wordlimit begword punktskrift 1234-1345-123456
nofor before wordlimit begword på 1234

nofor before wordlimit begword ret 12356
nofor before wordlimit begword re 1235-15
nofor before wordlimit begword rigtige 1235-12456
nofor before wordlimit begword rge =
nofor before wordlimit begword rigtigt 1235-2345
nofor before wordlimit begword rigtig 1235

nofor before wordlimit begword sagde 234-1456
nofor before wordlimit begword sammen 234-134
nofor before wordlimit begword samme 234-146
nofor before wordlimit begword sme =
nofor before wordlimit begword samtidig 234-134-2345
nofor before wordlimit begword selvfølgelig 234-1236-124
nofor before wordlimit begword selv 234-1236
nofor before wordlimit begword sidste 234-1356-15
nofor before wordlimit begword sste =
nofor before wordlimit begword sidst 234-1356
nofor before wordlimit begword sst =
nofor before wordlimit begword sin 234-1345
nofor before wordlimit begword sit 234-2345
nofor before wordlimit begword skal 123456
nofor before wordlimit begword sk =
nofor before wordlimit begword skulle 123456-123-15
nofor before wordlimit begword skle =
nofor before wordlimit begword snart 234-1235
nofor before wordlimit begword som 234
nofor before wordlimit begword spørgsmål 234-1234-134
nofor before wordlimit begword spørgsmåls 234-1234-134-234
nofor before wordlimit begword spørgsmålet 234-1234-134-346
nofor before wordlimit begword spørgsmålets 234-1234-134-346-234
nofor before wordlimit begword spørgsmålene 234-1234-134-1246
nofor before wordlimit begword spørgsmålenes 234-1234-134-1246-234
nofor before wordlimit begword stadig 1356-1245
nofor before wordlimit begword sådan 16-1
nofor before wordlimit begword således 16-15
nofor before wordlimit begword så 16

nofor before wordlimit begword tid 2345-145
nofor before wordlimit begword tidlig 2345-145-123
nofor before wordlimit begword tidlige 2345-145-123-12456
nofor before wordlimit begword tidligere 2345-145-123-12356
nofor before wordlimit begword tidligst 2345-145-123-1356
nofor before wordlimit begword tilbage 2345-12
nofor before wordlimit begword tilfælde 2345-124
nofor before wordlimit begword til 2345

nofor before wordlimit begword under 12345

nofor before wordlimit begword vanskelig 1236-123456
nofor before wordlimit begword vanskelige 1236-123456-15
nofor before wordlimit begword vanskeligt 1236-123456-2345
nofor before wordlimit begword var 3456
nofor before wordlimit begword ved 1236
nofor before wordlimit begword vidste 1236-1356-15
nofor before wordlimit begword ville 1236-123-15
nofor before wordlimit begword vil 1236-123
nofor before wordlimit begword virkelig 1236-1235-13
nofor before wordlimit begword været 1236-2345
nofor before wordlimit begword være 345

nofor before wordlimit begword øjeblik 246-245-12

# Problems solved with pass 2

# Convert the fake "space hyphen" back to a normal hyphen.
noback pass2 @ef @36

### Multi-pass opcodes for converting the virtual capsletter sign @f into dot 7.

# Most of these lines are temporary.
# They will be written with a few swap sets when the swapdd opcode has been fixed.


# Generic forward convert of @f-... to @...7
noback pass2 @f-235 @2357
# Conversion with letsign.
noback pass2 @f-56-235 @56-2357
# Conversion with dot 5, which is used for accent marker in higher unicode pages.
noback pass2 @f-5-235 @5-2357
# Generic backward conversion.
nofor pass2 @2357 @f-235
# Conversion with dot 5 (letsign is handled below).
nofor pass2 @5-2357 @f-5-235

# Same for the following characters.

noback pass2 @f-35 @357
noback pass2 @f-56-35 @56-357
noback pass2 @f-5-35 @5-357
nofor pass2 @357 @f-35
nofor pass2 @5-357 @f-5-35

noback pass2 @f-1 @17
noback pass2 @f-56-1 @56-17
noback pass2 @f-5-1 @5-17
nofor pass2 @17 @f-1
nofor pass2 @5-17 @f-5-1
nofor pass2 @458-17 @f-458-1
nofor pass2 @458-5-17 @f-458-5-1

noback pass2 @f-12 @127
noback pass2 @f-56-12 @56-127
noback pass2 @f-5-12 @5-127
nofor pass2 @127 @f-12
nofor pass2 @5-127 @f-5-12
nofor pass2 @458-127 @f-458-12

noback pass2 @f-14 @147
noback pass2 @f-56-14 @56-147
noback pass2 @f-5-14 @5-147
nofor pass2 @147 @f-14
nofor pass2 @5-147 @f-5-14
nofor pass2 @458-147 @f-458-14

noback pass2 @f-145 @1457
noback pass2 @f-56-145 @56-1457
noback pass2 @f-5-145 @5-1457
nofor pass2 @1457 @f-145
nofor pass2 @5-1457 @f-5-145
nofor pass2 @458-1457 @f-458-145

noback pass2 @f-15 @157
noback pass2 @f-56-15 @56-157
noback pass2 @f-5-15 @5-157
nofor pass2 @157 @f-15
nofor pass2 @5-157 @f-5-15
nofor pass2 @458-157 @f-458-15
nofor pass2 @458-5-157 @f-458-5-15

noback pass2 @f-124 @1247
noback pass2 @f-56-124 @56-1247
noback pass2 @f-5-124 @5-1247
nofor pass2 @1247 @f-124
nofor pass2 @5-1247 @f-5-124
nofor pass2 @458-1247 @f-458-124

noback pass2 @f-1245 @12457
noback pass2 @f-56-1245 @56-12457
noback pass2 @f-5-1245 @5-12457
nofor pass2 @12457 @f-1245
nofor pass2 @5-12457 @f-5-1245
nofor pass2 @458-12457 @f-458-1245

noback pass2 @f-125 @1257
noback pass2 @f-56-125 @56-1257
noback pass2 @f-5-125 @5-1257
nofor pass2 @1257 @f-125
nofor pass2 @5-1257 @f-5-125

noback pass2 @f-24 @247
noback pass2 @f-56-24 @56-247
noback pass2 @f-5-24 @5-247
nofor pass2 @247 @f-24
nofor pass2 @5-247 @f-5-24
nofor pass2 @458-247 @f-458-24
nofor pass2 @458-5-247 @f-458-5-24

noback pass2 @f-245 @2457
noback pass2 @f-56-245 @56-2457
noback pass2 @f-5-245 @5-2457
nofor pass2 @2457 @f-245
nofor pass2 @5-2457 @f-5-245

noback pass2 @f-13 @137
noback pass2 @f-56-13 @56-137
noback pass2 @f-5-13 @5-137
nofor pass2 @137 @f-13
nofor pass2 @5-137 @f-5-13
nofor pass2 @458-137 @f-458-13

noback pass2 @f-123 @1237
noback pass2 @f-56-123 @56-1237
noback pass2 @f-5-123 @5-1237
nofor pass2 @1237 @f-123
nofor pass2 @5-1237 @f-5-123
nofor pass2 @458-1237 @f-458-123

noback pass2 @f-134 @1347
noback pass2 @f-56-134 @56-1347
noback pass2 @f-5-134 @5-1347
nofor pass2 @1347 @f-134
nofor pass2 @5-1347 @f-5-134
nofor pass2 @458-1347 @f-458-134

noback pass2 @f-1345 @13457
noback pass2 @f-56-1345 @56-13457
noback pass2 @f-5-1345 @5-13457
nofor pass2 @13457 @f-1345
nofor pass2 @5-13457 @f-5-1345
nofor pass2 @458-13457 @f-458-1345

noback pass2 @f-135 @1357
noback pass2 @f-56-135 @56-1357
noback pass2 @f-5-135 @5-1357
nofor pass2 @1357 @f-135
nofor pass2 @5-1357 @f-5-135
nofor pass2 @458-1357 @f-458-135
nofor pass2 @458-5-1357 @f-458-5-135

noback pass2 @f-1234 @12347
noback pass2 @f-56-1234 @56-12347
noback pass2 @f-5-1234 @5-12347
nofor pass2 @12347 @f-1234
nofor pass2 @5-12347 @f-5-1234
nofor pass2 @458-12347 @f-458-1234

noback pass2 @f-12345 @123457
noback pass2 @f-56-12345 @56-123457
noback pass2 @f-5-12345 @5-123457
nofor pass2 @123457 @f-12345
nofor pass2 @5-123457 @f-5-12345

noback pass2 @f-1235 @12357
noback pass2 @f-56-1235 @56-12357
noback pass2 @f-5-1235 @5-12357
nofor pass2 @12357 @f-1235
nofor pass2 @5-12357 @f-5-1235
nofor pass2 @458-12357 @f-458-1235

noback pass2 @f-234 @2347
noback pass2 @f-56-234 @56-2347
noback pass2 @f-5-234 @5-2347
nofor pass2 @2347 @f-234
nofor pass2 @5-2347 @f-5-234
nofor pass2 @458-2347 @f-458-234

noback pass2 @f-2345 @23457
noback pass2 @f-56-2345 @56-23457
noback pass2 @f-5-2345 @5-23457
nofor pass2 @23457 @f-2345
nofor pass2 @5-23457 @f-5-2345
nofor pass2 @458-23457 @f-458-2345

noback pass2 @f-136 @1367
noback pass2 @f-56-136 @56-1367
noback pass2 @f-5-136 @5-1367
nofor pass2 @1367 @f-136
nofor pass2 @5-1367 @f-5-136
nofor pass2 @458-1367 @f-458-136
nofor pass2 @458-5-1367 @f-458-5-136

noback pass2 @f-1236 @12367
noback pass2 @f-56-1236 @56-12367
noback pass2 @f-5-1236 @5-12367
nofor pass2 @12367 @f-1236
nofor pass2 @5-12367 @f-5-1236

noback pass2 @f-2456 @24567
noback pass2 @f-56-2456 @56-24567
noback pass2 @f-5-2456 @5-24567
nofor pass2 @24567 @f-2456
nofor pass2 @5-24567 @f-5-2456
nofor pass2 @458-24567 @f-458-2456
nofor pass2 @458-5-24567 @f-458-5-2456

noback pass2 @f-1346 @13467
noback pass2 @f-56-1346 @56-13467
noback pass2 @f-5-1346 @5-13467
nofor pass2 @13467 @f-1346
nofor pass2 @5-13467 @f-5-1346
nofor pass2 @458-13467 @f-458-1346

noback pass2 @f-13456 @134567
noback pass2 @f-56-13456 @56-134567
noback pass2 @f-5-13456 @5-134567
nofor pass2 @134567 @f-13456
nofor pass2 @5-134567 @f-5-13456
nofor pass2 @458-134567 @f-458-13456

noback pass2 @f-1356 @13567
noback pass2 @f-56-1356 @56-13567
noback pass2 @f-5-1356 @5-13567
nofor pass2 @13567 @f-1356
nofor pass2 @5-13567 @f-5-1356
nofor pass2 @458-13567 @f-458-1356

noback pass2 @f-34 @347
noback pass2 @f-56-34 @56-347
noback pass2 @f-5-34 @5-347
nofor pass2 @347 @f-34
nofor pass2 @5-347 @f-5-34

noback pass2 @f-346 @3467
noback pass2 @f-56-346 @56-3467
noback pass2 @f-5-346 @5-3467
nofor pass2 @3467 @f-346
nofor pass2 @5-3467 @f-5-346

#noback pass2 @f-2348 @23478
#noback pass2 @f-56-2348 @56-23478
#noback pass2 @f-5-2348 @5-23478
#nofor pass2 @23478 @f-2348
#nofor pass2 @5-23478 @f-5-2348

noback pass2 @f-1358 @13578
noback pass2 @f-56-1358 @56-13578
noback pass2 @f-5-1358 @5-13578
nofor pass2 @13578 @f-1358
nofor pass2 @5-13578 @f-5-1358

noback pass2 @f-234568 @2345678
noback pass2 @f-56-234568 @56-2345678
noback pass2 @f-5-234568 @5-2345678
nofor pass2 @2345678 @f-234568
nofor pass2 @5-2345678 @f-5-234568

noback pass2 @f-236 @2367
noback pass2 @f-56-236 @56-2367
noback pass2 @f-5-236 @5-2367
nofor pass2 @2367 @f-236
nofor pass2 @5-2367 @f-5-236

noback pass2 @f-256 @2567
noback pass2 @f-56-256 @56-2567
noback pass2 @f-5-256 @5-2567
nofor pass2 @2567 @f-256
nofor pass2 @5-2567 @f-5-256

noback pass2 @f-356 @3567
noback pass2 @f-56-356 @56-3567
noback pass2 @f-5-356 @5-3567
nofor pass2 @3567 @f-356
nofor pass2 @5-3567 @f-5-356

noback pass2 @f-3456 @34567
noback pass2 @f-56-3456 @56-34567
noback pass2 @f-5-3456 @5-34567
nofor pass2 @34567 @f-3456
nofor pass2 @5-34567 @f-5-3456

noback pass2 @f-12356 @123567
noback pass2 @f-56-12356 @56-123567
noback pass2 @f-5-12356 @5-123567
nofor pass2 @123567 @f-12356
nofor pass2 @5-123567 @f-5-12356

noback pass2 @f-123568 @1235678
noback pass2 @f-56-123568 @56-1235678
noback pass2 @f-5-123568 @5-1235678
nofor pass2 @1235678 @f-123568
nofor pass2 @5-1235678 @f-5-123568

noback pass2 @f-168 @1678
noback pass2 @f-56-168 @56-1678
noback pass2 @f-5-168 @5-1678
nofor pass2 @1678 @f-168
nofor pass2 @5-1678 @f-5-168

noback pass2 @f-1468 @14678
noback pass2 @f-56-1468 @56-14678
noback pass2 @f-5-1468 @5-14678
nofor pass2 @14678 @f-1468
nofor pass2 @5-14678 @f-5-1468

noback pass2 @f-3458 @34578
noback pass2 @f-56-3458 @56-34578
noback pass2 @f-5-3458 @5-34578
nofor pass2 @34578 @f-3458
nofor pass2 @5-34578 @f-5-3458

noback pass2 @f-16 @167
noback pass2 @f-56-16 @56-167
noback pass2 @f-5-16 @5-167
nofor pass2 @167 @f-16
nofor pass2 @5-167 @f-5-16

noback pass2 @f-345 @3457
noback pass2 @f-56-345 @56-3457
noback pass2 @f-5-345 @5-3457
nofor pass2 @3457 @f-345
nofor pass2 @5-3457 @f-5-345

noback pass2 @f-12346 @123467
noback pass2 @f-56-12346 @56-123467
noback pass2 @f-5-12346 @5-123467
nofor pass2 @123467 @f-12346
nofor pass2 @5-123467 @f-5-12346
nofor pass2 @458-123467 @f-458-12346

noback pass2 @f-2346 @23467
noback pass2 @f-56-2346 @56-23467
noback pass2 @f-5-2346 @5-23467
nofor pass2 @23467 @f-2346
nofor pass2 @5-23467 @f-5-2346

noback pass2 @f-123456 @1234567
noback pass2 @f-56-123456 @56-1234567
noback pass2 @f-5-123456 @5-1234567
nofor pass2 @1234567 @f-123456
nofor pass2 @5-1234567 @f-5-123456

noback pass2 @f-126 @1267
noback pass2 @f-56-126 @56-1267
noback pass2 @f-5-126 @5-1267
nofor pass2 @1267 @f-126
nofor pass2 @5-1267 @f-5-126

noback pass2 @f-1246 @12467
noback pass2 @f-56-1246 @56-12467
noback pass2 @f-5-1246 @5-12467
nofor pass2 @12467 @f-1246
nofor pass2 @5-12467 @f-5-1246

noback pass2 @f-1568 @15678
noback pass2 @f-56-1568 @56-15678
noback pass2 @f-5-1568 @5-15678
nofor pass2 @15678 @f-1568
nofor pass2 @5-15678 @f-5-1568

noback pass2 @f-1268 @12678
noback pass2 @f-56-1268 @56-12678
noback pass2 @f-5-1268 @5-12678
nofor pass2 @12678 @f-1268
nofor pass2 @5-12678 @f-5-1268

noback pass2 @f-146 @1467
noback pass2 @f-56-146 @56-1467
noback pass2 @f-5-146 @5-1467
nofor pass2 @1467 @f-146
nofor pass2 @5-1467 @f-5-146

noback pass2 @f-12456 @124567
noback pass2 @f-56-12456 @56-124567
noback pass2 @f-5-12456 @5-124567
nofor pass2 @124567 @f-12456
nofor pass2 @5-124567 @f-5-12456

# Eth (does not follow the normal rules)
noback pass2 @f-134568 @67
noback pass2 @f-56-134568 @56-67
nofor pass2 @67 @f-134568

noback pass2 @f-124568 @1245678
noback pass2 @f-56-124568 @56-1245678
noback pass2 @f-5-124568 @5-1245678
nofor pass2 @1245678 @f-124568
nofor pass2 @5-1245678 @f-5-124568

noback pass2 @f-12468 @124678
noback pass2 @f-56-12468 @56-124678
noback pass2 @f-5-12468 @5-124678
nofor pass2 @124678 @f-12468
nofor pass2 @5-124678 @f-5-12468

noback pass2 @f-3468 @34678
noback pass2 @f-56-3468 @56-34678
noback pass2 @f-5-3468 @5-34678
nofor pass2 @34678 @f-3468
nofor pass2 @5-34678 @f-5-3468

noback pass2 @f-1456 @14567
noback pass2 @f-56-1456 @56-14567
noback pass2 @f-5-1456 @5-14567
nofor pass2 @14567 @f-1456
nofor pass2 @5-14567 @f-5-1456
nofor pass2 @458-14567 @f-458-1456

noback pass2 @f-14568 @145678
noback pass2 @f-56-14568 @56-145678
noback pass2 @f-5-14568 @5-145678
nofor pass2 @145678 @f-14568
nofor pass2 @5-145678 @f-5-14568

noback pass2 @f-2468 @24678
noback pass2 @f-56-2468 @56-24678
noback pass2 @f-5-2468 @5-24678
nofor pass2 @24678 @f-2468
nofor pass2 @5-24678 @f-5-2468

noback pass2 @f-246 @2467
noback pass2 @f-56-246 @56-2467
noback pass2 @f-5-246 @5-2467
nofor pass2 @2467 @f-246
nofor pass2 @5-2467 @f-5-246

noback pass2 @f-23456 @234567
noback pass2 @f-56-23456 @56-234567
noback pass2 @f-5-23456 @5-234567
nofor pass2 @234567 @f-23456
nofor pass2 @5-234567 @f-5-23456

noback pass2 @f-12568 @125678
noback pass2 @f-56-12568 @56-125678
noback pass2 @f-5-12568 @5-125678
nofor pass2 @125678 @f-12568
nofor pass2 @5-125678 @f-5-12568

noback pass2 @f-156 @1567
noback pass2 @f-56-156 @56-1567
noback pass2 @f-5-156 @5-1567
nofor pass2 @1567 @f-156
nofor pass2 @5-1567 @f-5-156
nofor pass2 @458-1567 @f-458-156
nofor pass2 @458-5-1567 @f-458-5-156

noback pass2 @f-1256 @12567
noback pass2 @f-56-1256 @56-12567
noback pass2 @f-5-1256 @5-12567
nofor pass2 @12567 @f-1256
nofor pass2 @5-12567 @f-5-1256

noback pass2 @f-1348 @13478
noback pass2 @f-56-1348 @56-13478
noback pass2 @f-5-1348 @5-13478
nofor pass2 @13478 @f-1348
nofor pass2 @5-13478 @f-5-1348

noback pass2 @f-138 @1378
noback pass2 @f-56-138 @56-1378
noback pass2 @f-5-138 @5-1378
nofor pass2 @1378 @f-138
nofor pass2 @5-1378 @f-5-138

noback pass2 @f-234568 @2345678
noback pass2 @f-56-234568 @56-2345678
noback pass2 @f-5-234568 @5-2345678
nofor pass2 @2345678 @f-234568
nofor pass2 @5-2345678 @f-5-234568

# Tweak to keep letsign for letters that should always have letsign.
# Letsign will be removed by the multind opcode. So we insert an extra one.
nofor pass2 @56-123457 @f-56-56-12345
nofor pass2 @56-24567 @f-56-56-2456
nofor pass2 @56-13467 @f-56-56-1346
nofor pass2 @56-13567 @f-56-56-1356
nofor pass2 @56-123567 @f-56-56-12356
nofor pass2 @56-123467 @f-56-56-12346
nofor pass2 @56-23467 @f-56-56-2346
nofor pass2 @56-1234567 @f-56-56-123456
nofor pass2 @56-1267 @f-56-56-126
nofor pass2 @56-12467 @f-56-56-1246
nofor pass2 @56-1467 @f-56-56-146
nofor pass2 @56-124567 @f-56-56-12456
nofor pass2 @56-14567 @f-56-56-1456
nofor pass2 @56-234567 @f-56-56-23456
nofor pass2 @56-1567 @f-56-56-156
nofor pass2 @56-12567 @f-56-56-1256
nofor pass2 @56-3467 @f-56-56-346

# Ensure that punctuation signs etc. are not "tolowered" when they have a letsign, but only when they act as a partword contraction.
nofor pass2 @56-347 *
nofor pass2 @56-2357 *
nofor pass2 @56-2567 *
nofor pass2 @56-2367 *
nofor pass2 @56-34567 *
nofor pass2 @56-367 *

# remove any superfluous capsletter marks.
noback pass2 @f ?

# Pass 3

# Remove any superfluous letsigns and only keep one.
noback pass3 @56-56 @56

# Ensure there is only one emphasis sign
# Danish Braille only has one emphasis sign,
# so don't repeat if more than one emphasis type is present.
noback pass3 @46-46 @46
noback pass3 @46-46-46 @46

# Remove letsigns before letters marked with indicator for accents or greek letters.

noback pass3 @56-5 @5
noback pass3 @56-458 @458

# Remove letsigns from www
noback pass3 @56-2456-56-2456-56-2456 @2456-2456-2456
noback pass3 @56-24567-56-2456-56-2456 @24567-2456-2456
noback pass3 @56-24567-56-24567-56-24567 @24567-24567-24567

# Include hyphenation file as the last thing
include da-dk-g2.dic
