This file is indexed.

/usr/share/liblouis/tables/da-dk-g26.ctb is in liblouis-data 3.5.0-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

   1
   2
   3
   4
   5
   6
   7
   8
   9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
  23
  24
  25
  26
  27
  28
  29
  30
  31
  32
  33
  34
  35
  36
  37
  38
  39
  40
  41
  42
  43
  44
  45
  46
  47
  48
  49
  50
  51
  52
  53
  54
  55
  56
  57
  58
  59
  60
  61
  62
  63
  64
  65
  66
  67
  68
  69
  70
  71
  72
  73
  74
  75
  76
  77
  78
  79
  80
  81
  82
  83
  84
  85
  86
  87
  88
  89
  90
  91
  92
  93
  94
  95
  96
  97
  98
  99
 100
 101
 102
 103
 104
 105
 106
 107
 108
 109
 110
 111
 112
 113
 114
 115
 116
 117
 118
 119
 120
 121
 122
 123
 124
 125
 126
 127
 128
 129
 130
 131
 132
 133
 134
 135
 136
 137
 138
 139
 140
 141
 142
 143
 144
 145
 146
 147
 148
 149
 150
 151
 152
 153
 154
 155
 156
 157
 158
 159
 160
 161
 162
 163
 164
 165
 166
 167
 168
 169
 170
 171
 172
 173
 174
 175
 176
 177
 178
 179
 180
 181
 182
 183
 184
 185
 186
 187
 188
 189
 190
 191
 192
 193
 194
 195
 196
 197
 198
 199
 200
 201
 202
 203
 204
 205
 206
 207
 208
 209
 210
 211
 212
 213
 214
 215
 216
 217
 218
 219
 220
 221
 222
 223
 224
 225
 226
 227
 228
 229
 230
 231
 232
 233
 234
 235
 236
 237
 238
 239
 240
 241
 242
 243
 244
 245
 246
 247
 248
 249
 250
 251
 252
 253
 254
 255
 256
 257
 258
 259
 260
 261
 262
 263
 264
 265
 266
 267
 268
 269
 270
 271
 272
 273
 274
 275
 276
 277
 278
 279
 280
 281
 282
 283
 284
 285
 286
 287
 288
 289
 290
 291
 292
 293
 294
 295
 296
 297
 298
 299
 300
 301
 302
 303
 304
 305
 306
 307
 308
 309
 310
 311
 312
 313
 314
 315
 316
 317
 318
 319
 320
 321
 322
 323
 324
 325
 326
 327
 328
 329
 330
 331
 332
 333
 334
 335
 336
 337
 338
 339
 340
 341
 342
 343
 344
 345
 346
 347
 348
 349
 350
 351
 352
 353
 354
 355
 356
 357
 358
 359
 360
 361
 362
 363
 364
 365
 366
 367
 368
 369
 370
 371
 372
 373
 374
 375
 376
 377
 378
 379
 380
 381
 382
 383
 384
 385
 386
 387
 388
 389
 390
 391
 392
 393
 394
 395
 396
 397
 398
 399
 400
 401
 402
 403
 404
 405
 406
 407
 408
 409
 410
 411
 412
 413
 414
 415
 416
 417
 418
 419
 420
 421
 422
 423
 424
 425
 426
 427
 428
 429
 430
 431
 432
 433
 434
 435
 436
 437
 438
 439
 440
 441
 442
 443
 444
 445
 446
 447
 448
 449
 450
 451
 452
 453
 454
 455
 456
 457
 458
 459
 460
 461
 462
 463
 464
 465
 466
 467
 468
 469
 470
 471
 472
 473
 474
 475
 476
 477
 478
 479
 480
 481
 482
 483
 484
 485
 486
 487
 488
 489
 490
 491
 492
 493
 494
 495
 496
 497
 498
 499
 500
 501
 502
 503
 504
 505
 506
 507
 508
 509
 510
 511
 512
 513
 514
 515
 516
 517
 518
 519
 520
 521
 522
 523
 524
 525
 526
 527
 528
 529
 530
 531
 532
 533
 534
 535
 536
 537
 538
 539
 540
 541
 542
 543
 544
 545
 546
 547
 548
 549
 550
 551
 552
 553
 554
 555
 556
 557
 558
 559
 560
 561
 562
 563
 564
 565
 566
 567
 568
 569
 570
 571
 572
 573
 574
 575
 576
 577
 578
 579
 580
 581
 582
 583
 584
 585
 586
 587
 588
 589
 590
 591
 592
 593
 594
 595
 596
 597
 598
 599
 600
 601
 602
 603
 604
 605
 606
 607
 608
 609
 610
 611
 612
 613
 614
 615
 616
 617
 618
 619
 620
 621
 622
 623
 624
 625
 626
 627
 628
 629
 630
 631
 632
 633
 634
 635
 636
 637
 638
 639
 640
 641
 642
 643
 644
 645
 646
 647
 648
 649
 650
 651
 652
 653
 654
 655
 656
 657
 658
 659
 660
 661
 662
 663
 664
 665
 666
 667
 668
 669
 670
 671
 672
 673
 674
 675
 676
 677
 678
 679
 680
 681
 682
 683
 684
 685
 686
 687
 688
 689
 690
 691
 692
 693
 694
 695
 696
 697
 698
 699
 700
 701
 702
 703
 704
 705
 706
 707
 708
 709
 710
 711
 712
 713
 714
 715
 716
 717
 718
 719
 720
 721
 722
 723
 724
 725
 726
 727
 728
 729
 730
 731
 732
 733
 734
 735
 736
 737
 738
 739
 740
 741
 742
 743
 744
 745
 746
 747
 748
 749
 750
 751
 752
 753
 754
 755
 756
 757
 758
 759
 760
 761
 762
 763
 764
 765
 766
 767
 768
 769
 770
 771
 772
 773
 774
 775
 776
 777
 778
 779
 780
 781
 782
 783
 784
 785
 786
 787
 788
 789
 790
 791
 792
 793
 794
 795
 796
 797
 798
 799
 800
 801
 802
 803
 804
 805
 806
 807
 808
 809
 810
 811
 812
 813
 814
 815
 816
 817
 818
 819
 820
 821
 822
 823
 824
 825
 826
 827
 828
 829
 830
 831
 832
 833
 834
 835
 836
 837
 838
 839
 840
 841
 842
 843
 844
 845
 846
 847
 848
 849
 850
 851
 852
 853
 854
 855
 856
 857
 858
 859
 860
 861
 862
 863
 864
 865
 866
 867
 868
 869
 870
 871
 872
 873
 874
 875
 876
 877
 878
 879
 880
 881
 882
 883
 884
 885
 886
 887
 888
 889
 890
 891
 892
 893
 894
 895
 896
 897
 898
 899
 900
 901
 902
 903
 904
 905
 906
 907
 908
 909
 910
 911
 912
 913
 914
 915
 916
 917
 918
 919
 920
 921
 922
 923
 924
 925
 926
 927
 928
 929
 930
 931
 932
 933
 934
 935
 936
 937
 938
 939
 940
 941
 942
 943
 944
 945
 946
 947
 948
 949
 950
 951
 952
 953
 954
 955
 956
 957
 958
 959
 960
 961
 962
 963
 964
 965
 966
 967
 968
 969
 970
 971
 972
 973
 974
 975
 976
 977
 978
 979
 980
 981
 982
 983
 984
 985
 986
 987
 988
 989
 990
 991
 992
 993
 994
 995
 996
 997
 998
 999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
# 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

#-name: Dansk forkortet 6-punkt
#-display-name: Danish 6-dot fully contracted braille

#+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 @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