%PDF- %PDF-
Direktori : /usr/share/liblouis/tables/ |
Current File : //usr/share/liblouis/tables/da-dk-g26l-lit_1993.ctb |
# Liblouis: Danish table for 6 dots grade 1.5 (grade 2l) literary, forward translation only 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/>. # # Version: Bue Vester-Andersen, December 2022 ### Table Metadata #-name: Dansk lille forkortelse 6-punkt litterær 1993 #-index-name: Danish, partially contracted, 6-dot, 1993 #-display-name: Danish 6-dot partially contracted braille (1993 standard) #+language: da #+type: literary #+contraction: partial #+grade: 1.5 #+dots: 6 #+direction: forward #+system: ddp #+version: 1993 # 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 # 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 # Remove space between § and numbers. 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 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. attribute SepToRightpar Jj%'\x2030\x0089\x201a\x0082\x2039\x009b\x2018\x0091\x2019\x0092\x203a\x009b after SepToRightpar 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 #inverted exclamation always \x00a1 6-256 ### Contractions ### #Special sequences, urls emails and file names. nocont $ nocont \x005c nocont @ nocont :// nocont www #Words word at 1 word bliver 12 word den 12346 word der 23456 word det 2346 word de 1456 word du 145 word efter 1356 word eller 15 word en 126 word er 156 word et 346 word for 124 word før 246 word gennem 12456 word gør 1245 word han 13456 word har 125 word hun 136 word hvad 2456 word hvor 34 word jeg 245 word kan 13 word lige 123 word med 134 word men 146 word ned 1246 word når 1345 word og 14 word op 135 word over 1346 word på 1234 word ret 12356 word rigtig 1235 word skal 123456 word som 234 word så 16 word te 1256 word til 2345 word under 12345 word ve 3456 word ved 1236 word være 345 # 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 # 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 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