# Liblouis: Danish table for 6 dots grade 2 forward and backward translation # # Copyright (C) 2014-2020, Bue Vester-Andersen # # 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 # . # # Version: Bue Vester-Andersen, 200302 ### Table Metadata #-name: Dansk forkortet 6-punkt #-index-name: Danish, contracted, 6-dot #-display-name: Danish 6-dot contracted braille #+locale: da #+type: literary #+contraction: full #+grade: 2 #+dots: 6 #+direction: both #-has-nocross: yes # Display opcodes include da-dk-octobraille.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 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 # Extra chars for private use: space \xf800 234f # Used to force a hidden word boundary letter \xf801 123f # Used to prevent word contractions in certain cases # Litdigits include litdigits6Dots.uti midendnumericmodechars /,.:^ 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 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 6 multind 6-46 letsign capsletter multind 46-6 capsletter letsign multind 6-456 letsign begcapsword 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/" "|" #ensure \xf800\xf801 between a digit and a letter noback correct $dy[]$l "\xf800\xf801" noback correct $dy$Spm.[]$l "\xf800\xf801" ### 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 # 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 \x00d7 45-3 #nofor midnum \x00d7 3 # 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 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 sufword var- = sufword 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 # Rules and corrections for back-translation #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 before nondigletter begword vea 3456-1 nofor sufword veade 3456-1-1456 nofor sufword veader 3456-1-23456 nofor sufword veage 3456-1-12456 nofor before nondigletter begword veag 3456-1-1245 # 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 sufword vebbest 3456-12-12-15-1356 nofor before nondigletter begword vebe 3456-12-15 nofor before nondigletter begword vebi 3456-12-24 # vec nofor before nondigletter begword vec 3456-14 nofor before nondigletter begword vecchi 3456-14-14-125-24 # ved nofor before nondigletter begword ved 3456-145 nofor before nondigletter begword veda 3456-145-1 nofor sufword vedaer 3456-145-1-156 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 before nondigletter begword vedda 3456-145-145-1 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 vedhef 3456-145-125-15-124 nofor sufword vedhefte 3456-145-125-15-124-1256 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 nofor sufword vedst 3456-145-1356 nofor sufword vedte 3456-145-1256 # vee nofor before nondigletter begword vee 3456-15 nofor before nondigletter begword veeb 3456-15-12 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 nofor sufword vegst 3456-1245-1356 # veh nofor before nondigletter begword veh 3456-125 nofor before nondigletter begword veha 3456-125-1 nofor sufword vehand 3456-125-1-12345 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 before nondigletter begword veibe 3456-24-12-15 nofor sufword veide 3456-24-1456 nofor sufword veien 3456-24-126 nofor sufword veige 3456-24-12456 nofor before nondigletter begword veij 3456-24-245 nofor sufword veind 3456-24-12345 # vej nofor before nondigletter begword vej 3456-245 nofor before nondigletter begword veja 3456-245-1 nofor before nondigletter begword vejadga 3456-245-1-145-1245-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 vejbid 3456-245-12-24-145 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 vejea 3456-245-15-1 nofor before nondigletter begword vejeb 3456-245-15-12 nofor before nondigletter begword vejed 3456-245-15-145 nofor before nondigletter begword vejeda 3456-245-15-145-1 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 sufword vejfest 3456-245-124-15-1356 nofor before nondigletter begword vejfi 3456-245-124-24 nofor begword vejfor 3456-245-124-1346 nofor before nondigletter begword vejg 3456-245-1245 nofor before nondigletter begword vejga 3456-245-1245-1 nofor before nondigletter begword vejgaa 3456-245-1245-1-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 sufword vejhist 3456-245-125-24-1356 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 sufword vejor 3456-245-1346 nofor begword vejst 3456-245-1356 nofor always vend 3456-12345 nofor always veor 3456-1346 nofor always vest 3456-1356 nofor always vete 3456-1256 # Corrections of letters with accents nofor sufword aïda 1-5-24-145-1 nofor sufword anaïs 1-1345-1-5-24-234 nofor sufword barsebäck 12-1-1235-234-15-12-345-14-13 nofor sufword bohè 12-135-125-5-15 nofor sufword château 14-125-5-1-1256-1-136 nofor sufword citroën 14-24-2345-1235-135-5-15-1345 nofor sufword däniken 145-345-1345-24-13-126 nofor word fór 124-5-135-1235 nofor sufword göran 1245-246-1235-1-1345 nofor sufword göring 1245-246-1235-24-1345-1245 nofor word händel 125-345-1345-1456-123 nofor word händels 125-345-1345-1456-123-234 nofor sufword lagerlöf 123-1-1245-156-123-246-124 nofor sufword márquez 134-5-1-1235-6-12345-136-15-6-1356 nofor sufword miró 134-24-1235-5-135 nofor sufword moliè 134-135-123-24-5-15 nofor sufword norröna 1345-1346-1235-246-1345-1 nofor sufword tannhäus 2345-1-1345-1345-125-345-136-234 nofor sufword tórshavn 2345-5-135-1235-234-125-1-1236-1345 nofor sufword václav 1236-5-1-14-123-1-1236 nofor sufword verän 1236-156-345-1345 nofor sufword weizsäck 6-2456-15-24-6-1356-234-345-14-13 # Common combinations of one word contractions with slash word af/på 356-34-1234 word du/i 145-34-24 word eller/og 15-34-14 word fra/til 235-34-2345 word han/hun 13456-34-136 word hun/han 136-34-13456 word i/du 24-34-145 word og/eller 14-34-15 word over/under 1346-34-12345 word på/af 1234-34-356 word til/fra 2345-34-235 word under/over 12345-34-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["-"]"\xf800\xf801" @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 ### 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 # No "nd", "hv", "or", or "st" after a digit and a letsign noback pass2 @234f-123f-2456 @6-125-1236 noback pass2 @234f-123f-12345 @6-1345-145 noback pass2 @234f-123f-1346 @6-135-1235 noback pass2 @234f-123f-1356 @6-234-2345 noback pass2 @234f-123f-1256 @6-2345-15 # extra lines to correct hyphenation errors caused by \xf801 noback pass2 @234f-123f-135-3456-1235 @6-135-1236-156 noback pass2 @234f-123f-3456 @6-1236-15 noback pass2 @234f-123f @6 # 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 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 @234f-123f-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 @6 #nofor pass2 @3456$l.$Spm$l.@3[]@46 @6 #nofor pass2 @3456$l.$Spm$Spm[]@46 @6 #nofor pass2 @3456$l.$Spm[]@46 @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 #nofor pass2 $l[]@46 @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 @123457 nofor pass3 @6-2456 @24567 nofor pass3 @6-1346 @13467 nofor pass3 @6-1356 @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