# Liblouis: Danish table for 6 dots grade 2 forward and backward translation 
#
#  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/>.
#
# Version: Bue Vester-Andersen, 170604

### Table Metadata

#+locale: da
#+type: literary
#+contraction: full
#+grade: 2
#+dots: 6
#+direction: both

# Display opcodes
include da-dk-octobraille.dis

### Character definitions

# These ctrl-chars have to have a representation, so that they can be properly converted back and forth.
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)

# Definition of dot cells
space \s 0
punctuation ! 235 EXCLAMATION MARK
punctuation " 2356 QUOTATION MARK
punctuation ' 4 APOSTROPHE
punctuation ( 236 LEFT PARENTHESIS
punctuation ) 356 RIGHT PARENTHESIS
punctuation , 2 COMMA
punctuation - 36 HYPHEN-MINUS
punctuation . 3 FULL STOP
punctuation / 34 SLASH
punctuation : 25 COLON
punctuation ; 23 SEMICOLON
punctuation ? 26 QUESTION MARK
uplow Aa 1
uplow Bb 12
uplow Cc 14
uplow Dd 145
uplow Ee 15
uplow Ff 124
uplow Gg 1245
uplow Hh 125
uplow Ii 24
uplow Jj 245
uplow Kk 13
uplow Ll 123
uplow Mm 134
uplow Nn 1345
uplow Oo 135
uplow Pp 1234
uplow Rr 1235
uplow Ss 234
uplow Tt 2345
uplow Uu 136
uplow Vv 1236
uplow Yy 13456

#use 8 dots for the following chars to avoid conflict with indicators
uplow Qq 123457
uplow Ww 24567
uplow Xx 13467
uplow Zz 13567
punctuation | 4568 VERTICAL LINE
punctuation ~ 467 TILDE (changed by pass 2 to not conflict with indicators
uplow \x00dc\x00fc 12567

include digits6Dots.uti

punctuation \x00a7 346 SECTION SIGN (0xa7)

uplow \x00c5\x00e5 16 LATIN LETTER A WITH RING ABOVE
uplow \x00c6\x00e6 345 LATIN LETTER AE
uplow \x00d8\x00f8 246 LATIN LETTER O WITH STROKE

# cover all other Braille patterns
include braille-patterns.cti

# Characters with two or more cells

punctuation # 45-3456 NUMBER SIGN
sign $ 45-256 DOLLAR SIGN
math % 245-356 PERCENT SIGN
sign & 6-12346 AMPERSAND
punctuation * 6-35 ASTERISK
math + 45-235 PLUS SIGN
math < 45-134 LESS-THAN SIGN
math = 45-2356 EQUALS SIGN
math > 45-234 GREATER-THAN SIGN
sign @ 45-1 COMMERCIAL AT
punctuation [ 5-236 LEFT SQUARE BRACKET
punctuation \\ 45-16 REVERSE SLASH
punctuation ] 5-356 RIGHT SQUARE BRACKET
punctuation ^ 45-346 CIRCUMFLEX ACCENT
punctuation _ 45-36 LOW LINE
punctuation ` 4 GRAVE ACCENT
punctuation { 45-246 LEFT CURLY BRACKET
punctuation } 45-135 RIGHT CURLY BRACKET
math \x00f7 45-256 DIVISION SIGN

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

# Litdigits
include litdigits6Dots.uti

undefined 26

### Braille indicators and special characters

#hyphen - 36

letsign 6

# No letsign before capital letters or letters with accents

noletsign I\x0160\x0152\x017d\x0178\x00c0\x00c1\x00c2\x00c3\x00c7\x00c8\x00c9\x00ca\x00cb\x00cc\x00cd\x00ce\x00cf\x00d0\x00d1\x00d2\x00d3\x00d4\x00d5\x00d9\x00da\x00db\x00dc\x00dd\x00de\x008a\x008c\x008e
noletsign i\x0161\x0153\x017e\x00ff\x00df\x00e0\x00e1\x00e2\x00e3\x00e7\x00e8\x00e9\x00ea\x00eb\x00ec\x00ed\x00ee\x00ef\x00f0\x00f1\x00f2\x00f3\x00f4\x00f5\x00f9\x00fa\x00fb\x00fd\x00fe\x009a\x009c

# 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

capsletter 46
begcapsword 456
endcapsword 68 # Used during back-translation to stop overflow of capsword
multind 6-46 letsign capsletter
multind 46-6 capsletter letsign
multind 6-456 letsign begcapsword
multind 68-6-46 endcapsword letsign capsletter
multind 68-6-456 endcapsword letsign begcapsword
multind 68-6 endcapsword letsign

numsign 3456
multind 6-3456 letsign numsign

#class of none-space characters that demand double dashes
# Used in context lines later.
#must be the first class defined.
class charsWDoubleDash .,?!/:"'() # class w

### Correct - forward translation

# Chars that don't require a space before percent and permille:
class charsBeforePercent "(\x201e\x0084\x201c\x0093\x201d\x0094\x00ab\x00bb #class x
noback correct `["%"] *
noback correct !$sx["%"] " %"
noback correct `["\x2030"] *
noback correct !$sx["\x2030"] " \x2030"
noback correct `["\x0089"] *
noback correct !$sx["\x0089"] " \x2030"

# Chars to be treated like digits when switching back to letter mode
class extraDigits \x00bc\x00bd\x00be

#Use the "correct" opcode to convert chars that can't be back-translated
# and make the table more simple.

# Dashes
class dashes \x2013\x2014\x0096\x0097\x00ad
noback correct %dashes "-"

class quotes \x201e\x0084\x201c\x0093\x201d\x0094\x00ab\x00bb 
noback correct %quotes "\""

class apostrophes `\x201a\x0082\x2039\x008b\x2018\x0091\x2019\x0092\x203a\x009b\x00b4
noback correct %apostrophes "'"

### Correct - backward translation

# characters that may get mangled by the insertion of extra letsigns
nofor correct "\x2818" "~"
#nofor correct "\x282f" "&"
#nofor correct "\x2814" "*"

# Try to distinguish between times (\x00d7) and bullit (\x2022),
# which share the same Braille representation.
nofor correct `["\x00d7"] "\x2022" 
# nofor correct $d["\s\x00d7\s"]$d * #apparently doesn't work now
nofor correct ["\x00d7"]!$d "\x2022" 
nofor correct !$d["\x00d7"] "\x2022" 

nofor correct "\x28a0" ? # Extraneous endcaps signs
#nofor correct "\x2820" ?
nofor correct "~\\456/" "|"

### Pass 1 - Forward and backward

# Punctuations, math and numbers
midnum , 2
midnum . 3
#midnum - 36
endnum - 36
midnum / 34
midnum : 25
nofor midnum ^ 346
nofor midnum ^ 45-346

midnum ^ 45-346
midnum \x00d7 45-3-3456

# various back rules for math signs etc.
nofor midnum % 0-245-356-0-3456
nofor endnum % 0-245-356
nofor endnum \x2030 0-245-356-356
nofor midnum \s 3456
nofor midnum \x00d7 45-3-3456
nofor midnum \x00d7 45-3
nofor midnum \x00d7 3-3456

# Punctuation
prepunc " 2356
postpunc " 2356
always /\s 6-34-0
always \s/ 0-6-34
nofor always / 6-34
prepunc - 36
postpunc - 36
nofor always \s-\s 0-36-36-0
always :- 25-36
always ;- 23-36
always --- 36-36-36
always ---- 36-36-36-36
always ----- 36-36-36-36-36
# Star enclosed by parentheses
always (*) 236-35-356

before punctuation before sign always ( 6-236

# these characters must be separated from ")" by a letsign.
class SepToRightpar Jj%'\x2030\x0089\x201a\x0082\x2039\x009b\x2018\x0091\x2019\x0092\x203a\x009b
after SepToRightpar always ) 6-356
after punctuation after sign always ) 6-356

prepunc ( 236
postpunc ) 356
always .) 3-356
always ( 6-236
always ) 6-356

# extra back rules for ")"
nofor after punctuation always ) 356
nofor after punctuation always ) 68-356
nofor always \x00b0 4-356
nofor always ') 4-6-356
nofor always ") 2356-356
nofor endword j) 245-356
nofor always ) 6-356

always ... 3-3-3

# Exclamation and "fra"
always fra! 124-1235-1-235
always !fra 235-124-1235-1
always ?! 26-6-235
always )! 356-6-235
always (!) 236-6-235-356
always "fra" 2356-124-1235-1-2356
always "!" 2356-6-235-2356
always !! 235-235
always !!! 235-235-235
always !!!! 235-235-235-235
always !!!!! 235-235-235-235-235
always '! 4-6-235
always \s! 0-6-235
prepunc ! 6-235
always \x00a1 6-256

### Contractions ###

#Special sequences, urls emails and file names.

nocont $
nocont \x005c
nocont @
nocont ://
nocont www
nocont .com
nocont .dk
nocont .eu
nocont .edu
nocont .gov
nocont .mil
nocont .net
nocont .org
nocont .uk
nocont .doc
nocont .exe
nocont .htm
nocont .tex
nocont .txt
nocont .gif
nocont .jpg
nocont .png
nocont .wav
nocont .tar
nocont .zip

# Ensure no contractions in English ordinal numbers
endnum nd 6-1345-145
endnum st 6-234-2345
endnum ve 6-1236-15

#Words
word af 356
always 'af 4-1-124
word aldrig 1-35
word aig =
word alle 1-15
begnum ae 6-1-15
contraction ae
word allerede 1-123-1235
begnum alr 6-1-123-1235
contraction alr
word alligevel 1-123-1236
begnum alv 6-1-123-1236
contraction alv
word altid 1-2345-145
begnum atd 6-1-2345-145
contraction atd
word altså 1-16
begnum aå 6-1-16
contraction aå
word at 1

word blevet 12-2345
begnum bt 6-12-2345
contraction bt
word blev 12-1236
begnum bv 6-12-1236
contraction bv
word blive 12-3456
word bve 12-1236-15
word bliver 12

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 6-145-1345
contraction dn
word disse 145-234
begnum ds 6-145-234
contraction ds
word dit 145-2345
begnum dt 6-145-2345
contraction dt
word du 145

word efter 1356
word eller 15
word endnu 15-136
begnum eu 6-15-136
contraction eu

word fik 124-13
begnum fk 6-124-13
contraction fk
word fordi 124-145
begnum fd 6-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 fra 235
word første 124-1356-15
word først 124-1356
word før 246

word ganske 1245-123456
word gennem 12456
word ge =
word gik 1245-13
begnum gk 6-1245-13
contraction gk
word gør 1245

word ham 236
word hans 13456-234
begnum ys 6-13456-234
contraction ys
word han 13456
word har 125
word havde 125-1456
word hde =
word have 125-3456
word hve =
word helt 125-2345
begnum ht 6-125-2345
contraction ht
word hendes 125-234
begnum hs 6-125-234
contraction hs
word hende 125-145
begnum hd 6-125-145
contraction hd
word hun 136
word hvad 2456
word hv =
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 ig =
word ikke 24-13
begnum ik 6-24-13
contraction ik
word imidlertid 24-24
begnum ii 6-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 6-13-134
contraction km
word kunne 13-1246
word kne =

word ligesom 123-234
begnum ls 6-123-234
contraction ls
word lige 123
word lille 123-123
begnum ll 6-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 me =
word min 134-1345
begnum mn 6-134-1345
contraction mn
word mit 134-2345
begnum mt 6-145-2345
contraction mt
word måske 134-123456
word msk =
word måtte 134-1256
word mte =

word naturligvis 1345-2345-1236
begnum ntv 6-1345-2345-1236
contraction ntv
word nd =
word ned 1246
word ne =
word nogen 1345-1345
begnum nn 6-1345-1345
contraction nn
word noget 1345-2345
begnum nt 6-1345-2345
contraction nt
word nogle 1345-123-15
begnum nle 6-1345-123-15
contraction nle
word når 1345

word også 14-16
begnum cå 6-14-16
contraction cå
word og 14
word omkring 135-134-13
begnum omk 6-135-134-13
contraction omk
word op 135
word or =
word over 1346

word på 1234

word ret 12356
word re 1235-15
word rigtige 1235-12456
word rge =
word rigtigt 1235-2345
begnum rt 6-1235-2345
contraction rt
word rigtig 1235

word sagde 234-1456
word sammen 234-134
begnum sm 6-234-134
contraction sm
word samme 234-146
word sme =
word selvfølgelig 234-1236-124
begnum svf 6-234-1236-124
contraction svf
word selv 234-1236
begnum sv 6-234-1236
contraction sv
word sidste 234-1356-15
word sste =
word sidst 234-1356
word sst =
word sin 234-1345
begnum sn 6-234-1345
contraction sn
word sit 234-2345
begnum st 6-234-2345
contraction st
word skal 123456
word sk =
word skulle 123456-123-15
word skle =
word snart 234-1235
begnum sr 6-234-1235
contraction sr
word som 234
word sådan 16-1
begnum åa 6-16-1
contraction åa
word således 16-15
begnum åe 6-16-15
contraction åe
word så 16

word tid 2345-145
begnum td 6-2345-145
contraction td
word tilbage 2345-12
begnum tb 6-2345-12
contraction tb
word til 2345

word under 12345

word var- =
word var. =
word var 36
word ve 3456
word ved 1236
word ville 1236-123-15
begnum vle 6-1236-123-15
contraction vle
word vil 1236-123
begnum vl 6-1236-123
contraction vl
word været 1236-2345
begnum vt 6-1236-2345
contraction vt
word være 345

#Part words
nocross den 12346
nocross der 23456
nocross det 2346
nocross de 1456
nocross en 126
nocross er 156
nocross et 346
nocross ge 12456
#nocross hvor 34
nocross hv 2456
nocross ig 35
nocross me 146
nocross nd 12345
nocross ne 1246
nocross or 1346
nocross re 12356
nocross sk 123456
nocross st 1356
nocross te 1256

# Numsign/"ve", special case when back-translating
noback nocross ve 3456

#ve special case
nofor midendword ve 3456

# nondigletters covers small letters from k + various part word contractions with dots 5 or 6. Necesary to ensure correct back-translation.
class nondigletter klmnopqrstuvwxyzæøå\x017e\x00e0\x00e7\x00e8\x00e9\x00ea\x00eb\x00ee\x00ef\x00f4\x00f9\x00fb\x00fc\x283f\x2829\x282b\x2837
nofor before nondigletter begword ve 3456
nofor sufword veade 3456-1-1456
nofor sufword veader 3456-1-23456
nofor sufword veage 3456-1-12456

# veb
nofor before nondigletter begword veb 3456-12
nofor before nondigletter begword veba 3456-12-1
nofor before nondigletter begword vebb 3456-12-12
nofor before nondigletter begword vebe 3456-12-15
nofor before nondigletter begword vebi 3456-12-24

# vec
nofor before nondigletter begword vec 3456-14

# ved
nofor before nondigletter begword ved 3456-145
nofor before nondigletter begword veda 3456-145-1
nofor before nondigletter begword vedb 3456-145-12
nofor sufword vedben 3456-145-12-126
nofor sufword vedbend 3456-145-12-15-12345
nofor sufword vedbenden 3456-145-12-126-12346
nofor before nondigletter begword vedc 3456-145-14
nofor before nondigletter begword vedd 3456-145-145
nofor sufword vedde 3456-145-1456
nofor sufword veddet 3456-145-2346
nofor sufword vede 3456-1456
nofor sufword veden 3456-12346
nofor sufword veder 3456-23456
nofor sufword vedet 3456-2346
nofor before nondigletter begword vedf 3456-145-124
nofor before nondigletter begword vedfa 3456-145-124-1
nofor before nondigletter begword vedfe 3456-145-124-15
nofor before nondigletter begword vedfi 3456-145-124-24
nofor before nondigletter begword vedg 3456-145-1245
nofor before nondigletter begword vedga 3456-145-1245-1
nofor sufword vedge 3456-145-12456
nofor before nondigletter begword vedgi 3456-145-1245-24
nofor before nondigletter begword vedh 3456-145-125
nofor before nondigletter begword vedha 3456-145-125-1
nofor before nondigletter begword vedhe 3456-145-125-15
nofor before nondigletter begword vedhi 3456-145-125-24
nofor before nondigletter begword vedi 3456-145-24
nofor before nondigletter begword vedj 3456-145-245

# vee
nofor before nondigletter begword vee 3456-15
nofor sufword veen 3456-126
nofor sufword veer 3456-156
nofor sufword veet 3456-346

# vef
nofor before nondigletter begword vef 3456-124
nofor before nondigletter begword vefa 3456-124-1
nofor before nondigletter begword vefe 3456-124-15
nofor before nondigletter begword vefi 3456-124-24

# veg
nofor before nondigletter begword veg 3456-1245
nofor before nondigletter begword vega 3456-1245-1
nofor sufword vege 3456-12456
nofor sufword vegen 3456-1245-126
nofor word veget 3456-1245-346
nofor sufword vegger 3456-1245-1245-156
nofor before nondigletter begword vegi 3456-1245-24

# veh
nofor before nondigletter begword veh 3456-125
nofor before nondigletter begword veha 3456-125-1
nofor sufword vehage 3456-125-1-23456
nofor before nondigletter begword vehe 3456-125-15
nofor before nondigletter begword vehi 3456-125-24

# vei
nofor before nondigletter begword vei 3456-24
nofor sufword veide 3456-24-1456
nofor sufword veige 3456-24-12456

# vej
nofor before nondigletter begword vej 3456-245
nofor before nondigletter begword veja 3456-245-1
nofor before nondigletter begword vejaf 3456-245-1-124
nofor sufword vejafde 3456-245-1-124-1456
nofor before nondigletter begword vejafgif 3456-245-1-124-1245-24-124
nofor before nondigletter begword vejb 3456-245-12
nofor before nondigletter begword vejba 3456-245-12-1
nofor before nondigletter begword vejbe 3456-245-12-15
nofor before nondigletter begword vejbi 3456-245-12-24
nofor before nondigletter begword vejc 3456-245-14
nofor before nondigletter begword vejd 3456-245-145
nofor before nondigletter begword vejda 3456-245-145-1
nofor sufword vejde 3456-245-1456
nofor before nondigletter begword vejdi 3456-245-145-24
nofor before nondigletter begword veje 3456-245-15
nofor before nondigletter begword vejeb 3456-245-15-12
nofor before nondigletter begword vejed 3456-245-15-145
nofor sufword vejede 3456-245-15-1456
nofor before nondigletter begword vejef 3456-245-15-124
nofor before nondigletter begword vejeg 3456-245-15-1245
nofor sufword vejege 3456-245-15-12456
nofor sufword vejen 3456-245-126
nofor sufword vejene 3456-245-15-1246
nofor sufword vejer 3456-245-156
nofor word vejet 3456-245-346
nofor before nondigletter begword vejf 3456-245-124
nofor before nondigletter begword vejfa 3456-245-124-1
nofor before nondigletter begword vejfe 3456-245-124-15
nofor before nondigletter begword vejfi 3456-245-124-24
nofor before nondigletter begword vejg 3456-245-1245
nofor before nondigletter begword vejga 3456-245-1245-1
nofor sufword vejge 3456-245-12456
nofor before nondigletter begword vejgi 3456-245-1245-24
nofor before nondigletter begword vejh 3456-245-125
nofor before nondigletter begword vejha 3456-245-125-1
nofor before nondigletter begword vejhe 3456-245-125-15
nofor before nondigletter begword vejhi 3456-245-125-24
nofor before nondigletter begword vejhj 3456-245-125-245
nofor before nondigletter begword veji 3456-245-24
nofor before nondigletter begword vejid 3456-245-24-145
nofor before nondigletter begword vejj 3456-245-245
nofor before nondigletter begword vejja 3456-245-245-1
nofor before nondigletter begword vejje 3456-245-245-15
nofor before nondigletter begword vejji 3456-245-245-24
nofor always vend 3456-12345
nofor always veor 3456-1346
nofor always vest 3456-1356

# combinations to handle Danish regression rules
nocross dend 1456-12345
nocross end 15-12345
nocross gend 12456-12345
nocross gen 1245-126
nocross ger 1245-156
nocross get 1245-346
nocross hven 2456-126
nocross hver 2456-156
nocross hvet 2456-346
nocross hve 2456-15
nocross mend 146-12345
nocross men 134-126
nocross mer 134-156
nocross met 134-346
nocross nden 1345-12346
nocross nder 1345-23456
nocross ndet 1345-2346
nocross nend 1246-12345
nocross nen 1345-126
nocross ner 1345-156
nocross net 1345-346
nocross rend 12356-12345
nocross ren 1235-126
nocross rer 1235-156
nocross ret 1235-346
nocross sten 1356-126
nocross ster 1356-156
nocross stet 1356-346
nocross ste 1356-15
nocross tend 1256-12345
nocross ten 2345-126
nocross ter 2345-156
nocross tet 2345-346
nocross vend 3456-12345
nocross ven 1236-126
nocross ver 1236-156
nocross vet 1236-346

# Additional words containing "hvor"
# these are made explicit in 6-dots to handle / better

word hvoraf 34-1-124
word hvorfra 34-124-1235-1
word hvorhen 34-125-126
word hvorhenne 34-125-126-1246
word hvori 34-24
word hvoriblandt 34-24-12-123-1-12345-2345
word hvorimellem 34-24-146-123-123-15-134
word hvorimod 34-24-134-135-145
word hvorlænge 34-123-345-1345-12456
word hvormange 34-134-1-1345-12456
word hvorom 34-135-134
word hvormeget 34-146-1245-346
word hvorudfra 34-136-145-124-1235-1
word hvorvidt 34-1236-24-145-2345
word ihvorvel 24-34-3456-123

# Common combinations of one word contractions with slash
word af/på 356-34-1234
word af/på 356-34-68-1234
word du/i 145-34-24
word du/i 145-34-68-24
word eller/og 15-34-14
word eller/og 15-34-68-14
word fra/til 235-34-2345
word fra/til 235-34-68-2345
word han/hun 13456-34-136
word han/hun 13456-34-68-136
word hun/han 136-34-13456
word hun/han 136-34-68-13456
word i/du 24-34-145
word i/du 24-34-68-145
word og/eller 14-34-15
word og/eller 14-34-68-15
word over/under 1346-34-12345
word over/under 1346-34-68-12345
word på/af 1234-34-356
word på/af 1234-34-68-356
word til/fra 2345-34-235
word til/fra 2345-34-68-235
word under/over 12345-34-1346
word under/over 12345-34-68-1346

# no backtrans of ^1 and `2. use contractions
nofor always eta 346-1
nofor always etb 346-12
always etc 346-14

# Ensure no one-letter word contraction before or after a dash

endword -af 36-1-124
begword af- 1-124-36
endword -altid 36-1-2345-145
begword altid- 1-2345-145-36
endword -at 36-1-2345
endword -a 36-6-1
begword at- 1-2345-36
endword -og 36-135-1245
endword -c 36-6-14
begword og- 135-1245-36
endword -du 36-145-136
endword -d 36-6-145
begword du- 145-136-36
endword -efter 36-15-124-2345-156
endword -z 36-6-1356
begword efter- 15-124-2345-156-36
midword -efter- 36-1356-36
endword -e 36-6-15
endword -for 36-124-1346
endword -f 36-6-124
begword for- 124-1346-36
endword -fra 36-124-1235-1
begword fra- 124-1235-1-36
endword -g 36-6-1245
endword -gennem 36-1245-126-1246-134
begword gennem- 1245-126-1246-134-36
endword -ham 36-125-1-134
begword ham- 125-1-134-36
endword -han 36-125-1-1345
endword -y 36-6-13456
begword han- 125-1-1345-36
endword -har 36-125-1-1235
endword -h 36-6-125
begword har- 125-1-1235-36
endword -hun 36-125-136-1345
endword -u 36-6-136
begword hun- 125-136-1345-36
endword -j 36-6-245
endword -kan 36-13-1-1345
endword -k 36-6-13
begword kan- 13-1-1345-36
endword -lige 36-123-24-12456
endword -l 36-6-123
begword lige- 123-24-12456-36
endword -med 36-146-145
endword -m 36-6-134
begword med- 146-145-36
endword -men 36-134-126
begword men- 134-126-36
 endword -ned 36-1246-145
begword ned- 1246-145-36
endword -når 36-1345-16-1235
endword -n 36-6-1345
begword når- 1345-16-1235-36
endword -op 36-135-1234
endword -o 36-6-135
begword op- 135-1234-36
endword -over 36-135-1236-156
endword -x 36-6-1346
begword over- 135-1236-156-36
endword -på 36-1234-16
endword -p 36-6-1234
begword på- 1234-16-36
midword -på- 36-1234-36
endword -ret 36-1235-346
begword ret- 1235-346-36
midword -ret- 36-12356-36
endword -rigtig 36-1235-35-2345-35
endword -r 36-6-1235
begword rigtig- 1235-35-2345-35-36
midword -rigtig- 36-1235-36
endword -skal 36-123456-1-123
begword skal- 123456-1-123-36
midword -skal- 36-123456-36
endword -som 36-234-135-134
endword -s 36-6-234
begword som- 234-135-134-36
midword -som- 36-234-36
endword -så 36-234-16
endword -å 36-6-16
begword så- 234-16-36
endword -til 36-2345-24-123
endword -t 36-6-2345
begword til- 2345-24-123-36
midword -til- 36-2345-36
endword -under 36-136-1345-23456
begword under- 136-1345-23456-36
midword -under- 36-12345-36
endword -ved 36-1236-15-145
endword -v 36-6-1236
begword ved- 1236-15-145-36
midword -ved- 36-1236-36


### Context rules - forward translation

# Exclamation at beginning of string
noback context `["!"] @6-235

# Ensure two dashes where appropriate.
noback context $w["-"]$w @36
noback context $sw["-"]$sw @36-36
noback context `["-"]$sw @36-36
noback context $sw["-"]~ @36-36
noback context !$sw["-"]~ @36
noback context `["-"]~ @36-36

# Ensure letsign between letter and numsign
noback context $l[]$D @6

# No "nd", "hv", "or", or "st" after a digit and a letsign
noback context $dy["hv"] @6-125-1236
noback context $dy$Spm["hv"] @6-125-1236
noback context $dy["nd"] @6-1345-145
noback context $dy$Spm["nd"] @6-1345-145
noback context $dy["or"] @6-135-1235
noback context $dy$Spm["or"] @6-135-1235
noback context $dy["st"] @6-234-2345
noback context $dy$Spm["st"] @6-234-2345
noback context $dy["te"] @6-2345-15
noback context $dy$Spm["te"] @6-2345-15


#ensure dot 6 between a digit and a letter
noback context $dy[]$u @6
noback context $dy$Spm.[]$u @6

### context - backward translation

# Ensure the correct number of dashes
nofor context @36[@36-36] "--"
nofor context [@36-36]@36 "--"
nofor context $w[@36-36]$w "--"
nofor context $sw[@36-36]$sw "-"
nofor context `[@36-36]$sw "-"
nofor context $sw[@36-36]~ "-"
nofor context `@36-36~ "-"


### Pass 2 - forward translation

# Correct chars defined as 8 dots because they include letsign
noback pass2 @467 @45-6
noback pass2 @4568 @45-456
noback pass2 @123457 @6-12345
noback pass2 @24567 @6-2456
noback pass2 @13467 @6-1346
noback pass2 @13567 @6-1356
noback pass2 @12567 @6-1256

# Show endcapsword as dot 6 (letsign)
noback pass2 @68 @6

noback pass2 @6-46-5 @46-5 # no letsign before cap letters with accent
noback pass2 _$D[@6-46-6] *
noback pass2 _$D[@6-46] *
noback pass2 @6-46-6 @46-6 # Ensure correct order and no double letsign
noback pass2 @6-46 @46-6 # Ensure correct order

 ### Pass 2 - backward

# Insert letsign between number (with extra punctuation) and capsletter sign
nofor pass2 @3456$l.$Spm$l.@3$l.@3[]@46 @68-6
nofor pass2 @3456$l.$Spm$l.@3[]@46 @68-6
nofor pass2 @3456$l.$Spm$Spm[]@46 @68-6
nofor pass2 @3456$l.$Spm[]@46 @68-6

# Insert letsign between number (with extra punctuation) and capsword sign
nofor pass2 @3456$l.$Spm$l.@3$l.@3[]@456 @6
nofor pass2 @3456$l.$Spm$l.@34$l.@34[]@456 @6
nofor pass2 @3456$l.$Spm$l.@36$l.@36[]@456 @6
nofor pass2 @3456$l.$Spm$l.@3[]@456 @6
nofor pass2 @3456$l.$Spm$l.@34[]@456 @6
nofor pass2 @3456$l.$Spm$l.@36[]@456 @6
nofor pass2 @3456$l.$Spm$Spm[]@456 @6
nofor pass2 @3456$l.$Spm[]@456 @6
nofor pass2 @3456$l.[]@456 @6

# Place endcaps in connection to all the following Braille patterns:
nofor pass2 $l[@45-3] @45-3-68
nofor pass2 $l[@468] @468-68
nofor pass2 $l[@6] @68-6 # Must come before letsign
nofor pass2 $l[@36] @36-68
nofor pass2 $l[@34] @34-68
nofor pass2 $l[@2356] @2356-68
nofor pass2 $l[@45-36] @45-36-68
nofor pass2 $l[@4-356] @4-356-68
nofor pass2 $l[@245-356] @245-356-68
nofor pass2 $l[@4] @4-68
nofor pass2 $l[@235] @235-68
nofor pass2 $l[@45-1] @45-1-68
nofor pass2 $l[@236] @236-68
nofor pass2 $l[@356-356] @356-356-68
nofor pass2 $l[@356] @356-68
nofor pass2 $l[@3] @3-68
nofor pass2 $l[@2] @2-68
nofor pass2 $l[@26] @26-68
nofor pass2 $l[@25] @25-68
nofor pass2 $l[@12346] @12346-68

nofor pass2 $l[]@46 @68-6
#nofor pass2 $a[]@456 @6

### Pass 3 - forward translation

# Ensure there is only one letsign
 noback pass3 @6-6 @6


### Pass 3 - backward translation

# Save letters that have been defined with letsign as part of their definitions
nofor pass3 @6-12345 @6-123457
nofor pass3 @6-2456 @6-24567
nofor pass3 @6-1346 @6-13467
nofor pass3 @6-1356 @6-13567
nofor pass3 @6-1256 @6-12567

# save ~ and |  before inserting extra letsigns and endcapsword in pass 2.
nofor pass3 @45-6 @467 # Create alternative representation of "~"
nofor pass3 @45-456 @4568

# Include hyphenation file as the last thing
include hyph_brl_da_dk.dic
