# Liblouis: Danish table for 6 dots grade 2 forward translation (literary) 1993
#
#  Copyright (C) 2014, 2016-2021, 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 table is for 6 dots grade 2 literary Braille, embossable, not meant for back-translation.
#
# Version: Bue Vester-Andersen, December 2022

### Table Metadata

#-name: Dansk forkortet 6-punkt 1993
#-index-name: Danish, contracted, 6-dot, 1993
#-display-name: Danish 6-dot contracted braille (1993 standard)

#+language: da
#+type: literary
#+contraction: full
#+grade: 2
#+dots: 6
#+direction: forward
#+system: ddp
#+version: 1993

#-has-nocross: yes

# Display opcodes
include da-dk-octobraille_1993.dis

### Spaces

# 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)
space \x00a0 a

include spaces.uti

### Character definitions

# Definition of dot cells
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
lowercase a 1
lowercase b 12
lowercase c 14
lowercase d 145
lowercase e 15
lowercase f 124
lowercase g 1245
lowercase h 125
lowercase i 24
lowercase j 245
lowercase k 13
lowercase l 123
lowercase m 134
lowercase n 1345
lowercase o 135
lowercase p 1234
lowercase r 1235
lowercase s 234
lowercase t 2345
lowercase u 136
lowercase v 1236
lowercase y 13456

#use 8 dots for the following chars to avoid conflict with indicators
lowercase q 123457
lowercase w 24567
lowercase x 13467
lowercase z 13567
punctuation | 4568 VERTICAL LINE
punctuation ~ 467 TILDE (changed by pass 2 to not conflict with indicators
lowercase \x00fc 12567

include digits6Dots.uti

punctuation \x00a7 346 SECTION SIGN (0xa7)

lowercase \x00e5 16 LATIN LETTER A WITH RING ABOVE
lowercase \x00e6 345 LATIN LETTER AE
lowercase \x00f8 246 LATIN LETTER O WITH STROKE

# Uppercase letters
base uppercase A a
base uppercase B b
base uppercase C c
base uppercase D d
base uppercase E e
base uppercase F f
base uppercase G g
base uppercase H h
base uppercase I i
base uppercase J j
base uppercase K k
base uppercase L l
base uppercase M m
base uppercase N n
base uppercase O o
base uppercase P p
base uppercase R r
base uppercase S s
base uppercase T t
base uppercase U u
base uppercase V v
base uppercase Y y
base uppercase Q q
base uppercase W w
base uppercase X x
base uppercase Z z
base uppercase \x00dc \x00fc
base uppercase \x00c5 \x00e5 LATIN LETTER A WITH RING ABOVE
base uppercase \x00c6 \x00e6 LATIN LETTER AE
base uppercase \x00d8 \x00f8 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_1993.cti

# Litdigits
include litdigits6Dots.uti

undefined 26

### Braille indicators and special characters

#hyphen - 36

letsign 6

noletsign Ii\x00df\x0149\x0152\x0153

# Emphasis opcodes
emphclass italic
emphclass underline
emphclass bold

begemphphrase italic 56
endemphphrase italic after 56

begemphphrase bold 56
endemphphrase bold after 56

begemphphrase underline 56
endemphphrase underline after 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.
attribute charsWDoubleDash .,?!/:"'() # class w

### Correct - forward translation

# Chars that don't require a space before percent and permille:
attribute 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
attribute extraDigits \x00bc\x00bd\x00be

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

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

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

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

# Convert most single caps to lowercase

#Special abbreviations with imbedded small letters.
# Must be handled by case in this version of liblouis
noback correct "KAbB" "KABB"
noback correct "CUDiM" "CUDIM"

swapcc UpperLower ABCDEFGHIJKLMNOPQRSTUVWXYZ\x00c0\x00c1\x00c2\x00c3\x00c4\x00c5\x00c6\x00c7\x00c8\x00c9\x00ca\x00cb\x00cc\x00cd\x00ce\x00cf\x00d0\x00d1\x00d2\x00d3\x00d4\x00d5\x00d6\x00d8\x00d9\x00da\x00db\x00dc\x00dd\x00de\x008a\x008c abcdefghijklmnopqrstuvwxyz\x00e0\x00e1\x00e2\x00e3\x00e4\x00e5\x00e6\x00e7\x00e8\x00e9\x00ea\x00eb\x00ec\x00ed\x00ee\x00ef\x00f0\x00f1\x00f2\x00f3\x00f4\x00f5\x00f6\x00f8\x00f9\x00fa\x00fb\x00fc\x00fd\x00fe\x009a\x009c
swapcc UpperLowerExt \x0100\x0102\x0104\x0106\x0108\x010a\x010c\x010e\x0110\x0112\x0114\x0116\x0118\x011a\x011c\x011e\x0120\x0122\x0124\x0126\x0128\x012a\x012c\x012e\x0130\x0132\x0134\x0136\x0139\x013b\x013d\x013f\x0141\x0143\x0145\x0147\x014a\x014c\x014e\x0150\x0152\x0154\x0156\x0158\x015a\x015c\x015e\x0160\x0162\x0164\x0166\x0168\x016a\x016c\x016e\x0170\x0172\x0174\x0176\x0178\x0179\x017b\x017d\x0386\x0388\x0389\x038a\x038c\x038e\x038f\x0391\x0392\x0393\x0394\x0395\x0396\x0397\x0398\x0399\x039a\x039b\x039c\x039d\x039e\x039f\x03a0\x03a1\x03a3\x03a4\x03a5\x03a6\x03a7\x03a8\x03a9 \x0101\x0103\x0105\x0107\x0109\x010b\x010d\x010f\x0111\x0113\x0115\x0117\x0119\x011b\x011d\x011f\x0121\x0123\x0125\x0127\x0129\x012b\x012d\x012f\x0131\x0133\x0135\x0137\x013a\x013c\x013e\x0140\x0142\x0144\x0146\x0148\x014b\x014d\x014f\x0151\x0153\x0155\x0157\x0159\x015b\x015d\x015f\x0161\x0163\x0165\x0167\x0169\x016b\x016d\x016f\x0171\x0173\x0175\x0177\x00ff\x017a\x017c\x017e\x03ac\x03ad\x03ae\x03af\x03cc\x03cd\x03ce\x03b1\x03b2\x03b3\x03b4\x03b5\x03b6\x03b7\x03b8\x03b9\x03ba\x03bb\x03bc\x03bd\x03be\x03bf\x03c0\x03c1\x03c3\x03c4\x03c5\x03c6\x03c7\x03c8\x03c9

# I is a special case
noback correct _$sp["I"]$sp "i"
noback correct `["I"]$sp "i"
noback correct _$sp["I"]~ "i"

noback correct $sSpu[%UpperLower]$u %UpperLower
noback correct `[%UpperLower]$u %UpperLower

noback correct $sSpu[%UpperLowerExt]$u %UpperLowerExt
noback correct `[%UpperLowerExt]$u %UpperLowerExt


### Pass 1 

# Punctuations, math and numbers
midnum , 2
midnum . 3
# the following rule is doubtful, but probably does not apply.
#midnum - 36
endnum - 36
midnum / 34
midnum : 25
nofor midnum ^ 346
nofor midnum ^ 45-346

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

# Remove space between § and numbers.
noback begnum § 346
begnum §\s 346
begnum §§\s 346-346
always §§ 346-346

# Punctuation
prepunc " 2356
postpunc " 2356
always /\s 6-34-0
always \s/ 0-6-34
prepunc - 36
postpunc - 36
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.
attribute 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

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

# 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 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 always ge 12456
#nocross always hvor 34
nocross always hv 2456
nocross always ig 35
nocross always me 146
nocross always nd 12345
nocross always ne 1246
nocross always or 1346
nocross always re 12356
nocross always sk 123456
nocross always st 1356
nocross always te 1256

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

# 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

# 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

# Substitutions for joinnum rules with common math signs
noback context $dy$s["-"$s]$dy @36
noback context $dy$s["+"$s]$dy @235
noback context $dy$s["\x00d7"$s]$dy @3
noback context $dy$s["\x00f7"$s]$dy @256
noback context $dy$s["="$s]$dy @2356

# Space on each side of = when between letters or punctuation.
noback context $lp["="]$lp @0-2356-0

# 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
# Not letsign after digit + punctuation in literary braille
# noback context $dy$Spm.[]$u @6

### 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-5 @5 # no letsign before letters with accent
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 3 - forward translation

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

# Ensure there is only one emphasis sign
noback pass3 @56-56 @56
noback pass3 @56-56-56 @56


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