Further improvements to UEB

see https://github.com/liblouis/liblouis/pull/1265
diff --git a/.github/workflows/check-format.yml b/.github/workflows/check-format.yml
index 5601451..074aa5e 100644
--- a/.github/workflows/check-format.yml
+++ b/.github/workflows/check-format.yml
@@ -14,12 +14,12 @@
   check-format:
     name: Check the code formatting
 
-    runs-on: ubuntu-latest
+    runs-on: ubuntu-22.04
 
     steps:
     - uses: actions/checkout@v2
     - name: Install dependencies
-      run: sudo apt-get update -qq && sudo apt-get install -y clang-format-9
+      run: sudo apt-get update -qq && sudo apt-get install -y clang-format-14
     - name: Autogen && configure
       run: |
         ./autogen.sh
diff --git a/.github/workflows/cifuzz.yml b/.github/workflows/cifuzz.yml
new file mode 100644
index 0000000..47539d1
--- /dev/null
+++ b/.github/workflows/cifuzz.yml
@@ -0,0 +1,32 @@
+# CIFuzz action for OSS-Fuzz set up of Liblouis.
+# CIFuzz documentation:
+# - https://google.github.io/oss-fuzz/getting-started/continuous-integration
+# Liblouis OSS-Fuzz project:
+# - https://github.com/google/oss-fuzz/blob/master/projects/liblouis
+# This CI action will build the fuzzers using the Dockerfile and build.sh
+# script from the Liblouis OSS-Fuzz project folder. It runs on GitHub's
+# servers.
+name: CIFuzz
+on: [pull_request]
+jobs:
+  Fuzzing:
+    runs-on: ubuntu-latest
+    steps:
+    - name: Build Fuzzers
+      id: build
+      uses: google/oss-fuzz/infra/cifuzz/actions/build_fuzzers@master
+      with:
+        oss-fuzz-project-name: 'liblouis'
+        language: c
+    - name: Run Fuzzers
+      uses: google/oss-fuzz/infra/cifuzz/actions/run_fuzzers@master
+      with:
+        oss-fuzz-project-name: 'liblouis'
+        fuzz-seconds: 300
+        language: c
+    - name: Upload Crash
+      uses: actions/upload-artifact@v3
+      if: failure() && steps.build.outcome == 'success'
+      with:
+        name: artifacts
+        path: ./out/artifacts
diff --git a/.github/workflows/fuzzing.yml b/.github/workflows/fuzzing.yml
new file mode 100644
index 0000000..89fb35c
--- /dev/null
+++ b/.github/workflows/fuzzing.yml
@@ -0,0 +1,75 @@
+name: Fuzz lou_translateString
+
+on:
+  workflow_dispatch:
+  schedule:
+    - cron: "0 4 * * 1"
+
+jobs:
+  build:
+    name: Build with ${{ matrix.ucs }}
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        ucs: [ucs2]
+        # ucs4
+    steps:
+    - uses: actions/checkout@v2
+    - name: Install dependencies
+      run: sudo apt-get update -qq && sudo apt-get install -y libyaml-dev texinfo texlive clang llvm
+    - name: Autogen
+      run: ./autogen.sh
+    - name: Configure
+      run: CC=clang CXX=clang++
+           CFLAGS="-fsanitize=address,undefined -fstack-protector-strong -g -Og -fno-omit-frame-pointer"
+           CXXFLAGS="-fsanitize=address,undefined -fstack-protector-strong -g -Og -fno-omit-frame-pointer"
+           LDFLAGS="-fsanitize=address,undefined -lubsan"
+           ./configure --with-fuzzer
+      if: matrix.ucs == 'ucs2'
+    - name: Configure with ucs4
+      run: CC=clang CXX=clang++
+           CFLAGS="-fsanitize=address,undefined -fstack-protector-strong -g -Og -fno-omit-frame-pointer"
+           CXXFLAGS="-fsanitize=address,undefined -fstack-protector-strong -g -Og -fno-omit-frame-pointer"
+           LDFLAGS="-fsanitize=address,undefined -lubsan"
+           ./configure --with-fuzzer --enable-ucs4
+      if: matrix.ucs == 'ucs4'
+    - name: Compile project
+      run: make -j
+    - uses: actions/cache@v3
+      with:
+        path: /home/runner/work/liblouis/liblouis
+        key: build-${{ matrix.ucs }}-${{ github.sha }}
+
+  run:
+    name: Run with ${{ matrix.ucs }} for ${{ matrix.table }}
+    needs: build
+    runs-on: ubuntu-latest
+    strategy:
+      fail-fast: false
+      matrix:
+        ucs: [ucs2]
+        # ucs4
+        table: [ afr-za-g1.ctb, afr-za-g2.ctb, ar-ar-comp8.utb, ar-ar-g1.utb, ar-ar-g2.ctb, as-in-g1.utb, aw-in-g1.utb, ba.utb, be-in-g1.utb, bel.utb, bel-comp.utb, bg.ctb, bg.utb, bh.ctb, bo.ctb, boxes.ctb, br-in-g1.utb, ca-g1.ctb, chr-us-g1.ctb, ckb-g1.ctb, cop-eg-comp8.utb, cs-comp8.utb, cs-g1.ctb, cy-cy-g1.utb, cy-cy-g2.ctb, da-dk-g08_1993.ctb, da-dk-g08.ctb, da-dk-g16_1993.ctb, da-dk-g16.ctb, da-dk-g16-lit_1993.ctb, da-dk-g18_1993.ctb, da-dk-g18.ctb, da-dk-g26_1993.ctb, da-dk-g26.ctb, da-dk-g26l_1993.ctb, da-dk-g26-lit_1993.ctb, da-dk-g26l-lit_1993.ctb, da-dk-g28_1993.ctb, da-dk-g28.ctb, da-dk-g28l_1993.ctb, de-chess.ctb, de-comp6.utb, de-de-comp8.ctb, de-g0.utb, de-g0-detailed.utb, de-g1.ctb, de-g1-detailed.ctb, de-g2.ctb, de-g2-detailed.ctb, dra.ctb, el.ctb, en_CA.ctb, en-chess.ctb, en-gb-comp8.ctb, en-gb-g1.utb, en-GB-g2.ctb, en-in-g1.ctb, en-nabcc.utb, en-ueb-g1.ctb, en-ueb-g2.ctb, en-ueb-math.ctb, en-us-comp6.ctb, en-us-comp8.ctb, en-us-comp8-ext.utb, en-us-g1.ctb, en-us-g2.ctb, en-us-interline.ctb, en-us-mathtext.ctb, eo-g1.ctb, eo-g1-x-system.ctb, Es-Es-G0.utb, es-g1.ctb, es-g2.ctb, et.ctb, et-g0.utb, ethio-g1.ctb, fa-ir-comp8.ctb, fa-ir-g1.utb, fi-fi-8dot.ctb, fi.utb, fr-bfu-comp6.utb, fr-bfu-comp8.utb, fr-bfu-g2.ctb, ga-g1.utb, ga-g2.ctb, gd.ctb, gon.ctb, grc-international-en.utb, gu-in-g1.utb, haw-us-g1.ctb, he-IL.utb, he-IL-comp8.utb, hi-in-g1.utb, hr-comp8.utb, hr-g1.ctb, hu-hu-comp8.ctb, hu-hu-g1.ctb, hu-hu-g2.ctb, hy.ctb, IPA.utb, is.ctb, it-it-comp6.utb, it-it-comp8.utb, iu-ca-g1.ctb, ja-kantenji.utb, ka-in-g1.utb, kh-in-g1.utb, kk.utb, km-g1.utb, ko-2006-g1.ctb, ko-2006-g2.ctb, ko-g1.ctb, ko-g2.ctb, kok.ctb, kru.ctb, ks-in-g1.utb, lg-ug-g1.utb, lt-6dot.utb, lt.ctb, Lv-Lv-g1.utb, mao-nz-g1.ctb, ml-in-g1.utb, mn-in-g1.utb, mn-MN-g1.utb, mn-MN-g2.ctb, mr-in-g1.utb, ms-my-g2.ctb, mt.ctb, mun.ctb, mwr.ctb, my-g1.utb, my-g2.ctb, ne.ctb, nl-comp8.utb, nl-NL-g0.utb, no-no-8dot-fallback-6dot-g0.utb, no-no-8dot.utb, no-no-comp8.ctb, no-no-g0.utb, no-no-g1.ctb, no-no-g2.ctb, no-no-g3.ctb, no-no-generic.ctb, np-in-g1.utb, nso-za-g1.utb, nso-za-g2.ctb, ny-mw.utb, or-in-g1.utb, pi.ctb, pl-pl-comp8.ctb, Pl-Pl-g1.utb, pt-pt-comp8.ctb, pt-pt-g1.utb, pt-pt-g2.ctb, pu-in-g1.utb, ro.ctb, ru-compbrl.ctb, ru.ctb, ru-litbrl.ctb, ru-litbrl-detailed.utb, ru-ru-g1.ctb, rw-rw-g1.utb, sa-in-g1.utb, sah.utb, se-se.ctb, si-in-g1.utb, sin.utb, sk-g1.ctb, sk-sk-g1.utb, sk-sk.utb, sl-si-comp8.ctb, sl-si-g1.utb, sot-za-g1.ctb, sot-za-g2.ctb, sr-g1.ctb, sv-1989.ctb, sv-1996.ctb, sv-g0.utb, sv-g1.ctb, sv-g2.ctb, sw-ke-g1-2.ctb, sw-ke-g1-3.ctb, sw-ke-g1-4.ctb, sw-ke-g1-5.ctb, sw-ke-g1.utb, sw-ke-g2.ctb, ta.ctb, ta-ta-g1.ctb, te-in-g1.utb, tr.ctb, tr-g1.ctb, tr-g2.ctb, tsn-za-g1.ctb, tsn-za-g2.ctb, tt.utb, uk.utb, uk-comp.utb, unicode-braille.utb, ur-pk-g1.utb, ur-pk-g2.ctb, uz-g1.utb, ve-za-g1.utb, ve-za-g2.ctb, vi.ctb, vi-saigon-g1.ctb, vi-vn-g0.utb, vi-vn-g1.ctb, vi-vn-g2.ctb, xh-za-g1.utb, xh-za-g2.ctb, zh-chn.ctb, zhcn-cbs.ctb, zhcn-g1.ctb, zhcn-g2.ctb, zh-hk.ctb, zh-tw.ctb, zu-za-g1.utb, zu-za-g2.ctb, ]
+
+    steps:
+    - uses: actions/cache@v3
+      with:
+        path: /home/runner/work/liblouis/liblouis
+        key: build-${{ matrix.ucs }}-${{ github.sha }}
+    - name: Fuzz function lou_translateString()
+      run: mkdir tests/fuzzing/CORPUS ; FUZZ_TABLE=tables/${{ matrix.table }} tests/fuzzing/fuzz_translate -seed=1234 -runs=100000 -max_len=10000 tests/fuzzing/CORPUS
+    - name: Store the crash POC
+      if: ${{ failure() }}
+      uses: actions/upload-artifact@v2
+      with:
+        name: crash-${{ matrix.ucs }}-${{ matrix.table }}.1
+        path: crash-* timeout-*
+    - name: Fuzz function lou_translateString() with language-specific input
+      run: cp tables/${{ matrix.table }} tests/fuzzing/CORPUS/ ; FUZZ_TABLE=tables/${{ matrix.table }} tests/fuzzing/fuzz_translate -seed=1234 -runs=100000 -max_len=10000 tests/fuzzing/CORPUS
+    - name: Store the crash POC
+      if: ${{ failure() }}
+      uses: actions/upload-artifact@v2
+      with:
+        name: crash-${{ matrix.ucs }}-${{ matrix.table }}.2
+        path: crash-* timeout-*
diff --git a/.gitignore b/.gitignore
index 61a7ca8..0462007 100644
--- a/.gitignore
+++ b/.gitignore
@@ -218,6 +218,18 @@
 /tests/braille-specs/*.log
 /tests/braille-specs/*.trs
 
+# /tests/fuzzing/
+/tests/fuzzing/.deps
+/tests/fuzzing/.dirstamp
+/tests/fuzzing/.libs
+/tests/fuzzing/*.profdata
+/tests/fuzzing/*.profraw
+/tests/fuzzing/CORPUS/*
+/tests/fuzzing/crash-*
+/tests/fuzzing/fuzz-*.log
+/tests/fuzzing/leak-*
+/tests/fuzzing/oom-*
+
 # /tests/yaml/
 /tests/yaml/Makefile
 /tests/yaml/Makefile.in
diff --git a/AUTHORS b/AUTHORS
index 13bbff8..e0079b8 100644
--- a/AUTHORS
+++ b/AUTHORS
@@ -139,6 +139,7 @@
   Hammer Attila <hammera@pickup.hu>, <hammer.attila@infoalap.hu> from IT Foundation for the Visually Impaired in Hungary
   Hans Schou <chlor@schou.dk>
   Harri Pasanen <harri@mpaja.com>
+  Harris Mowbray <harrismowbray@yahoo.com>
   Henri Apperloo <h.apperloo@cbb.nl> from CBB <www.cbb.nl>
   Herbert Koh <kohherbert@hotmail.com>
   Him Prasad Gautam
@@ -178,6 +179,8 @@
   Leonard de Ruijter from Babbage B.V. <www.babbage.com>
   Ludovic Oger <oger.ludovic@gmail.com>
   Łukasz Golonka <lukasz.golonka@mailbox.org>
+  Mariam Mikiashvili
+  Martin Kieti
   Mateja Jenčič
   Michel Such <michel.such@free.fr>
   Mike Sivill <mike.sivill@viewplustechnologies.com> from ViewPlus Technologies, Inc.
diff --git a/NEWS b/NEWS
index 119cd0a..ad33a15 100644
--- a/NEWS
+++ b/NEWS
@@ -9,10 +9,25 @@
 ** New features
 ** Bug fixes
 ** Braille table improvements
-- New grade 1, 1.2, 1.3, 1.4, 1.5 and 2 tables for Swahili (Kenya)
-  thanks to Jake Kyle, Dipendra Manocha and Martin Kieti.
+- New grade 1, 1.2, 1.3, 1.4, 1.5 and 2 tables for Swahili (Kenya) and
+  grade 1 table for Chichewa (Malawi) thanks to Jake Kyle, Dipendra
+  Manocha and Martin Kieti.
+- Improvements to Hungarian thanks to Attila Hammer.
 - Update braille patterns of some Chinese characters and phrases in
   the Chinese bopomofo braille table thanks to Bo-Cheng Jhan.
+- Add experimental Georgian computer braille table thanks to Harris
+  Mowbray and Mariam Mikiashvili.
+- Updated the Danish tables to the new 2022 Danish braille standard
+  thanks to Bue Vester-Andersen.
+  - Limited contraction level (grade 2l or 1.5) is no longer part of
+    the Danish braille standard 2022.
+  - There is no longer any need for "literary" tables. In Danish
+    braille, capital letters are now always indicated, and steps have
+    been taken in the standard to ensure better back-translation.
+  - As requested by The Danish Braille Committee, the tables for the
+    1993 standard will be kept as an option for at least a year. All
+    the 1993 tables have been renamed to include "_1993" in the
+    filename, so the new tables will be used as default.
 - Improvements to UEB thanks to James Bowden.
   - Add new sign for German sharp S (ICEB July 2022)
   - Fix a couple of acronyms which require grade 1 indicator (LLB, LLP)
@@ -31,14 +46,33 @@
 - sw-ke-g1-5.ctb
 - sw-ke-g1.utb
 - sw-ke-g2.ctb
-
+- ka.utb
+- ny-mw.utb
+- The following files now all refer to the corresponding tables for
+  Danish braille 2022:
+  - da-dk-g08.ctb
+  - da-dk-g16.ctb
+  - da-dk-g18.ctb
+  - da-dk-g26.ctb
+  - da-dk-g28.ctb
+  - da-dk-octobraille.dis
 *** Renamed
-None
-
+- The old Danish tables for the now deprecated 1993 standard have been
+  renamed to include "1993" in the filename:
+  - da-dk-g08.ctb -> da-dk-g08_1993.ctb
+  - da-dk-g16.ctb -> da-dk-g16_1993.ctb
+  - da-dk-g16-lit.ctb -> da-dk-g16-lit_1993.ctb
+  - da-dk-g18.ctb -> da-dk-g18_1993.ctb
+  - da-dk-g26.ctb -> da-dk-g26_1993.ctb
+  - da-dk-g26-lit.ctb -> da-dk-g26-lit_1993.ctb
+  - da-dk-g26l.ctb -> da-dk-g26l_1993.ctb
+  - da-dk-g26l-lit.ctb -> da-dk-g26l-lit_1993.ctb
+  - da-dk-g28.ctb -> da-dk-g28_1993.ctb
+  - da-dk-g28l.ctb -> da-dk-g28l_1993.ctb
+  - da-dk-octobraille.dis -> da-dk-octobraille_1993.dis
 *** Removed
 None
 
-
 * Noteworthy changes in release 3.23.0 (2022-09-05)
 This release contains significant updates to many existing braille
 tables (Chinese bopomofo, Hungarian, Japanese, Russian, Swedish, UEB
diff --git a/configure.ac b/configure.ac
index 198dbed..810e5a3 100644
--- a/configure.ac
+++ b/configure.ac
@@ -32,6 +32,16 @@
   [with_yaml=$withval],
   [])
 
+# Check if the user wants to enable coverage
+AC_ARG_WITH([coverage],
+    [AS_HELP_STRING([--with-coverage], [enable clang coverage in the fuzzer tests (also add coverage to lib sources) @<:@default=no@:>@])],
+    [])
+
+# Check if the user wants to compile fuzzer
+AC_ARG_WITH([fuzzer],
+    [AS_HELP_STRING([--with-fuzzer], [enable fuzzer for function lou_translateString @<:@default=no@:>@])],
+    [])
+
 # Checks for libraries.
 if test "x$with_yaml" == xno; then
   AC_DEFINE([WITHOUT_YAML],[1],[Disable YAML tests])
@@ -50,6 +60,14 @@
   esac
 fi
 
+# Check for coverage 
+AM_CONDITIONAL(USE_COVERAGE, [test x"$with_coverage" = xyes])
+
+# Check for fuzzer 
+AC_MSG_CHECKING([whether to enable fuzzer])
+AS_IF([test "x$with_fuzzer" = "xyes" && test "$CC" = "clang" && test "$CXX" = "clang++"], AC_MSG_RESULT([yes]), AC_MSG_RESULT([no]))
+AM_CONDITIONAL(USE_FUZZER, [test "x$with_fuzzer" = "xyes" && test "$CC" = "clang" && test "$CXX" = "clang++"])
+
 # Checks for header files.
 AC_HEADER_STDC
 AC_CHECK_HEADERS([stddef.h stdlib.h string.h])
@@ -115,9 +133,9 @@
 # define an additional recursive make target to format the sources.
 # Also check if clang-format is installed
 AM_EXTRA_RECURSIVE_TARGETS([format-sources])
-# prefer version 9 of clang-format as it is part of any release since ubuntu 20.04
-AC_CHECK_PROGS([SOURCE_FORMATTER], [clang-format-9 clang-format])
-AM_CONDITIONAL([HAVE_SOURCE_FORMATTER], [test x$SOURCE_FORMATTER = xclang-format -o x$SOURCE_FORMATTER = xclang-format-9])
+# prefer version 14 of clang-format as it is part of Ubuntu 22.04 LTS
+AC_CHECK_PROGS([SOURCE_FORMATTER], [clang-format-14 clang-format])
+AM_CONDITIONAL([HAVE_SOURCE_FORMATTER], [test x$SOURCE_FORMATTER = xclang-format -o x$SOURCE_FORMATTER = xclang-format-14])
 
 # GNU help2man creates man pages from --help output; in many cases,
 # this is sufficient, and obviates the need to maintain man pages
diff --git a/extra/generate-display-names/Makefile b/extra/generate-display-names/Makefile
index a5430a1..3946a4b 100644
--- a/extra/generate-display-names/Makefile
+++ b/extra/generate-display-names/Makefile
@@ -15,9 +15,8 @@
 	$(CC) -I. -I../../liblouis -g -O2 -c -o $@ $<
 
 displayLanguage.a displayLanguage.h : displayLanguage.go
-	go get golang.org/x/text/language/display
 	go build -buildmode=c-archive $<
 
 .PHONY : clean
 clean :
-	rm -rf displayLanguage.a displayLanguage.h $(GOPATH)
+	rm -rf displayLanguage.a displayLanguage.h $(GOPATH) generate.o generate generate.log
diff --git a/extra/generate-display-names/display-names b/extra/generate-display-names/display-names
index 4e89b1b..0e1188a 100644
--- a/extra/generate-display-names/display-names
+++ b/extra/generate-display-names/display-names
@@ -22,16 +22,21 @@
 * ../../tables/cs-comp8.utb                      Czech, computer                                    Czech computer braille
 * ../../tables/cy-cy-g1.utb                      Welsh, uncontracted                                Welsh uncontracted braille
 * ../../tables/cy.tbl                            Welsh, contracted                                  Welsh contracted braille
-* ../../tables/da-dk-g08.ctb                     Danish, computer                                   Danish computer braille
-* ../../tables/da-dk-g16-lit.ctb                 Danish, uncontracted, 6-dot                        Danish 6-dot uncontracted braille
-* ../../tables/da-dk-g16.ctb                     Danish, uncontracted, 6-dot                        Danish 6-dot uncontracted braille
-* ../../tables/da-dk-g18.ctb                     Danish, uncontracted, 8-dot                        Danish 8-dot uncontracted braille
-* ../../tables/da-dk-g26-lit.ctb                 Danish, contracted, 6-dot                          Danish 6-dot contracted braille
-* ../../tables/da-dk-g26.ctb                     Danish, contracted, 6-dot                          Danish 6-dot contracted braille
-* ../../tables/da-dk-g26l-lit.ctb                Danish, partially contracted, 6-dot                Danish 6-dot partially contracted braille
-* ../../tables/da-dk-g26l.ctb                    Danish, partially contracted, 6-dot                Danish 6-dot partially contracted braille
-* ../../tables/da-dk-g28.ctb                     Danish, contracted, 8-dot                          Danish 8-dot contracted braille
-* ../../tables/da-dk-g28l.ctb                    Danish, partially contracted, 8-dot                Danish 8-dot partially contracted braille
+* ../../tables/da-dk-g08_1993.ctb                Danish, computer, 1993                             Danish computer braille (1993 standard)
+* ../../tables/da-dk-g16-lit_1993.ctb            Danish, uncontracted, 6-dot, 1993                  Danish 6-dot uncontracted braille (1993 standard)
+* ../../tables/da-dk-g16_1993.ctb                Danish, uncontracted, 6-dot, 1993                  Danish 6-dot uncontracted braille (1993 standard)
+* ../../tables/da-dk-g18_1993.ctb                Danish, uncontracted, 8-dot, 1993                  Danish 8-dot uncontracted braille (1993 standard)
+* ../../tables/da-dk-g26-lit_1993.ctb            Danish, contracted, 6-dot, 1993                    Danish 6-dot contracted braille (1993 standard)
+* ../../tables/da-dk-g26_1993.ctb                Danish, contracted, 6-dot, 1993                    Danish 6-dot contracted braille (1993 standard)
+* ../../tables/da-dk-g26l-lit_1993.ctb           Danish, partially contracted, 6-dot, 1993          Danish 6-dot partially contracted braille (1993 standard)
+* ../../tables/da-dk-g26l_1993.ctb               Danish, partially contracted, 6-dot, 1993          Danish 6-dot partially contracted braille (1993 standard)
+* ../../tables/da-dk-g28_1993.ctb                Danish, contracted, 8-dot, 1993                    Danish 8-dot contracted braille (1993 standard)
+* ../../tables/da-dk-g28l_1993.ctb               Danish, partially contracted, 8-dot, 1993          Danish 8-dot partially contracted braille (1993 standard)
+* ../../tables/da-dk-g08.ctb                     Danish, computer, 2022                             Danish computer braille (2022 standard)
+* ../../tables/da-dk-g16.ctb                     Danish, uncontracted, 6-dot, 2022                  Danish 6-dot uncontracted braille (2022 standard)
+* ../../tables/da-dk-g18.ctb                     Danish, uncontracted, 8-dot, 2022                  Danish 8-dot uncontracted braille (2022 standard)
+* ../../tables/da-dk-g26.ctb                     Danish, contracted, 6-dot, 2022                    Danish 6-dot contracted braille (2022 standard)
+* ../../tables/da-dk-g28.ctb                     Danish, contracted, 8-dot, 2022                    Danish 8-dot contracted braille (2022 standard)
 * ../../tables/de-de-comp8.ctb                   German, computer, 8-dot                            German 8-dot computer braille
 * ../../tables/de-comp6.utb                      German, computer, 6-dot                            German 6-dot computer braille
 * ../../tables/de-g0.utb                         German, uncontracted                               German uncontracted braille
@@ -88,6 +93,7 @@
 * ../../tables/it-it-comp8.utb                   Italian, computer                                  Italian computer braille
 * ../../tables/iu-ca-g1.ctb                      Inuktitut                                          Inuktitut braille
   ../../tables/ja-kantenji.utb                   Japanese, Kantenji                                 Kantenji
+* ../../tables/ka.utb                            Georgian                                           Georgian braille
 * ../../tables/kha.tbl                           Khasi                                              Khasi braille
 * ../../tables/kk.utb                            Kazakh                                             Kazakh braille
 * ../../tables/km-g1.utb                         Khmer                                              Khmer braille
@@ -127,6 +133,7 @@
 * ../../tables/nl-comp8.utb                      Dutch, computer                                    Dutch computer braille
   ../../tables/nso-za-g1.utb                     Sepedi, uncontracted                               Sepedi uncontracted braille
   ../../tables/nso-za-g2.ctb                     Sepedi, contracted                                 Sepedi contracted braille
+* ../../tables/ny-mw.utb                         Chichewa                                           Chichewa braille
 * ../../tables/or.tbl                            Oriya                                              Oriya braille
 * ../../tables/pa.tbl                            Punjabi                                            Punjabi braille
 * ../../tables/pi.tbl                            Pali                                               Pali braille
@@ -156,6 +163,12 @@
 * ../../tables/sv-g0.utb                         Swedish, uncontracted                              Swedish uncontracted braille
 * ../../tables/sv-g1.ctb                         Swedish, partially contracted                      Swedish partially contracted braille
 * ../../tables/sv-g2.ctb                         Swedish, contracted                                Swedish contracted braille
+* ../../tables/sw-ke-g1-2.ctb                    Swahili, contracted, grade 1.2                     Swahili grade 1.2 contracted braille
+* ../../tables/sw-ke-g1-3.ctb                    Swahili, contracted, grade 1.3                     Swahili grade 1.3 contracted braille
+* ../../tables/sw-ke-g1-4.ctb                    Swahili, contracted, grade 1.4                     Swahili grade 1.4 contracted braille
+* ../../tables/sw-ke-g1-5.ctb                    Swahili, contracted, grade 1.5                     Swahili grade 1.5 contracted braille
+* ../../tables/sw-ke-g1.utb                      Swahili, uncontracted                              Swahili uncontracted braille
+* ../../tables/sw-ke-g2.ctb                      Swahili, contracted, grade 2                       Swahili grade 2 contracted braille
 * ../../tables/ta-ta-g1.ctb                      Tamil                                              Tamil braille
 * ../../tables/ta.tbl                            Tamil, computer                                    Tamil computer braille
 * ../../tables/te.tbl                            Telugu                                             Telugu braille
@@ -180,7 +193,7 @@
 * ../../tables/xh-za-g2.ctb                      isiXhosa, contracted                               isiXhosa contracted braille
   ../../tables/zh_CHN.tbl                        Mandarin, mainland China, without tones            Chinese current braille without tones, for simplified Chinese characters
 * ../../tables/zh_HK.tbl                         Cantonese                                          Cantonese braille
-  ../../tables/zh_TW.tbl                         Mandarin, Taiwan                                   Taiwanese braille
+  ../../tables/zh-tw.ctb                         Mandarin, Taiwan, bopomofo                         Taiwanese bopomofo braille
   ../../tables/zhcn-cbs.ctb                      Mandarin, mainland China, common braille scheme    Chinese common braille, for simplified Chinese characters
   ../../tables/zhcn-g1.ctb                       Mandarin, mainland China, with tones               Chinese current braille with tones
   ../../tables/zhcn-g2.ctb                       Mandarin, mainland China, double-phonic            Chinese double-phonic braille
diff --git a/extra/generate-display-names/displayLanguage.go b/extra/generate-display-names/displayLanguage.go
index b409c4b..84a9e20 100644
--- a/extra/generate-display-names/displayLanguage.go
+++ b/extra/generate-display-names/displayLanguage.go
@@ -48,6 +48,9 @@
 	case "no":
 		ret = "Norwegian";
 		break;
+	case "ny":
+		ret = "Chichewa"; // a.k.a. Chinyanja, Nyanja or Chewa
+		break;
 	case "or":
 		ret = "Oriya";
 		break;
diff --git a/extra/generate-display-names/go.mod b/extra/generate-display-names/go.mod
new file mode 100644
index 0000000..5e2bfca
--- /dev/null
+++ b/extra/generate-display-names/go.mod
@@ -0,0 +1,5 @@
+module liblouis.org/generate-display-names
+
+go 1.19
+
+require golang.org/x/text v0.4.0
diff --git a/extra/generate-display-names/go.sum b/extra/generate-display-names/go.sum
new file mode 100644
index 0000000..2445c23
--- /dev/null
+++ b/extra/generate-display-names/go.sum
@@ -0,0 +1,2 @@
+golang.org/x/text v0.4.0 h1:BrVqGRd7+k1DiOgtnFvAkoQEWQvBc25ouMJM6429SFg=
+golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
diff --git a/liblouis/Makefile.am b/liblouis/Makefile.am
index 98ee660..4c4598e 100644
--- a/liblouis/Makefile.am
+++ b/liblouis/Makefile.am
@@ -14,6 +14,10 @@
 	-I$(top_srcdir)/gnulib				\
 	-I$(top_builddir)/gnulib
 
+if USE_COVERAGE
+AM_CPPFLAGS += -fprofile-instr-generate -fcoverage-mapping
+endif
+
 liblouis_la_LIBADD = $(top_builddir)/gnulib/libgnu.la
 
 liblouis_la_LDFLAGS =	\
diff --git a/liblouis/lou_backTranslateString.c b/liblouis/lou_backTranslateString.c
index 9a90eab..4c7c67f 100644
--- a/liblouis/lou_backTranslateString.c
+++ b/liblouis/lou_backTranslateString.c
@@ -1385,7 +1385,7 @@
 		const widechar **passInstructions, int *passIC, PassRuleMatch *match) {
 	int k;
 	int m;
-	int not = 0;
+	int notOperator = 0;
 	TranslationTableCharacterAttributes attributes;
 	*passInstructions = &currentRule->charsdots[currentRule->charslen];
 	*passIC = 0;
@@ -1416,7 +1416,7 @@
 			*passIC += 2;
 			break;
 		case pass_not:
-			not = !not;
+			notOperator = !notOperator;
 			(*passIC)++;
 			continue;
 		case pass_string:
@@ -1487,8 +1487,8 @@
 			if (_lou_handlePassVariableTest(*passInstructions, passIC, &itsTrue)) break;
 			return 0;
 		}
-		if ((!not&&!itsTrue) || (not&&itsTrue)) return 0;
-		not = 0;
+		if ((!notOperator && !itsTrue) || (notOperator && itsTrue)) return 0;
+		notOperator = 0;
 	}
 	return 1;
 }
diff --git a/liblouis/lou_translateString.c b/liblouis/lou_translateString.c
index 70aab8a..dc0b8a3 100644
--- a/liblouis/lou_translateString.c
+++ b/liblouis/lou_translateString.c
@@ -596,7 +596,7 @@
 		TranslationTableRule *groupingRule, widechar groupingOp) {
 	int level = 0;
 	int k, kk;
-	int not = 0;  // whether next operand should be reversed
+	int notOperator = 0;  // whether next operand should be reversed
 	TranslationTableOffset ruleOffset;
 	TranslationTableRule *rule;
 	TranslationTableCharacterAttributes attributes;
@@ -616,7 +616,7 @@
 				*searchIC += 2;
 				break;
 			case pass_not:
-				not = !not;
+				notOperator = !notOperator;
 				(*searchIC)++;
 				continue;
 			case pass_string:
@@ -656,7 +656,7 @@
 														  table))
 										  ->attributes &
 								attributes;
-						if (not) itsTrue = !itsTrue;
+						if (notOperator) itsTrue = !itsTrue;
 					}
 					if (!itsTrue) break;
 				}
@@ -671,13 +671,13 @@
 											: getChar(input->chars[*searchPos], table))
 											->attributes &
 									attributes)) {
-							if (!not) break;
-						} else if (not)
+							if (!notOperator) break;
+						} else if (notOperator)
 							break;
 						(*searchPos)++;
 					}
 				}
-				not = 0;
+				notOperator = 0;
 				*searchIC += 7;
 				break;
 			case pass_groupstart:
@@ -721,8 +721,8 @@
 					break;
 				break;
 			}
-			if ((!not&&!itsTrue) || (not&&itsTrue)) break;
-			not = 0;
+			if ((!notOperator && !itsTrue) || (notOperator && itsTrue)) break;
+			notOperator = 0;
 		}
 		pos++;
 	}
@@ -736,7 +736,7 @@
 		TranslationTableRule **groupingRule, widechar *groupingOp) {
 	int searchIC, searchPos;
 	int k;
-	int not = 0;  // whether next operand should be reversed
+	int notOperator = 0;  // whether next operand should be reversed
 	TranslationTableOffset ruleOffset = 0;
 	TranslationTableRule *rule = NULL;
 	TranslationTableCharacterAttributes attributes = 0;
@@ -772,7 +772,7 @@
 			*passIC += 2;
 			break;
 		case pass_not:
-			not = !not;
+			notOperator = !notOperator;
 			(*passIC)++;
 			continue;
 		case pass_string:
@@ -810,11 +810,11 @@
 									 : getChar(input->chars[pos], table))
 									->attributes &
 							attributes)) {
-					if (!not) {
+					if (!notOperator) {
 						itsTrue = 0;
 						break;
 					}
-				} else if (not) {
+				} else if (notOperator) {
 					itsTrue = 0;
 					break;
 				}
@@ -832,13 +832,13 @@
 										 : getChar(input->chars[pos], table))
 										->attributes &
 								attributes)) {
-						if (!not) break;
-					} else if (not)
+						if (!notOperator) break;
+					} else if (notOperator)
 						break;
 					pos++;
 				}
 			}
-			not = 0;
+			notOperator = 0;
 			*passIC += 7;
 			break;
 		case pass_groupstart:
@@ -870,7 +870,7 @@
 			itsTrue = doPassSearch(table, input, transRule, *passCharDots, pos,
 					*passInstructions, *passIC, &searchIC, &searchPos, *groupingRule,
 					*groupingOp);
-			if ((!not&&!itsTrue) || (not&&itsTrue)) return 0;
+			if ((!notOperator && !itsTrue) || (notOperator && itsTrue)) return 0;
 			*passIC = searchIC;
 			pos = searchPos;
 		case pass_endTest:
@@ -894,8 +894,8 @@
 			if (_lou_handlePassVariableTest(*passInstructions, passIC, &itsTrue)) break;
 			return 0;
 		}
-		if ((!not&&!itsTrue) || (not&&itsTrue)) return 0;
-		not = 0;
+		if ((!notOperator && !itsTrue) || (notOperator && itsTrue)) return 0;
+		notOperator = 0;
 	}
 	return 0;
 }
@@ -1604,8 +1604,8 @@
  * pattern. Otherwise return 0.
  */
 static int
-isIndicatorEqual(const TranslationTableOffset *indicator1,
-		const TranslationTableOffset *indicator2, const TranslationTableHeader *table) {
+isIndicatorEqual(TranslationTableOffset indicator1, TranslationTableOffset indicator2,
+		const TranslationTableHeader *table) {
 	const TranslationTableRule *indicatorRule1;
 	const TranslationTableRule *indicatorRule2;
 
diff --git a/liblouis/pattern.c b/liblouis/pattern.c
index 2e71de9..f9e80a3 100644
--- a/liblouis/pattern.c
+++ b/liblouis/pattern.c
@@ -123,10 +123,10 @@
 #define RETURN 2
 #define SHOW 3
 
-#define CHECK_OUTPUT(type, ret, line, msg)                                      \
-	{                                                                           \
-		do_output(type, ret, line, input[*input_crs], input_minmax, *input_crs, \
-				input_dir, expr_data, expr_crs, not, loop_crs, loop_cnts, msg); \
+#define CHECK_OUTPUT(type, ret, line, msg)                                              \
+	{                                                                                   \
+		do_output(type, ret, line, input[*input_crs], input_minmax, *input_crs,         \
+				input_dir, expr_data, expr_crs, notOperator, loop_crs, loop_cnts, msg); \
 	}
 
 #else
@@ -459,8 +459,8 @@
 do_output(const int type, const int ret, const int line,
 
 		const int input, const int input_minmax, const int input_crs, const int input_dir,
-		const widechar *expr_data, const int expr_crs, const int not, const int loop_crs,
-		const int *loop_cnts,
+		const widechar *expr_data, const int expr_crs, const int notOperator,
+		const int loop_crs, const int *loop_cnts,
 
 		const char *msg) {
 	switch (type) {
@@ -561,7 +561,7 @@
 	printf("%d ", input_minmax);
 	do_pad(input_minmax);
 
-	if (not)
+	if (notOperator)
 		printf("!   ");
 	else
 		printf("    ");
@@ -1304,7 +1304,7 @@
 pattern_check_expression(const widechar *const input, int *input_crs,
 		const int input_minmax, const int input_dir, const widechar *const expr_data,
 		int (*hook)(const widechar input, const int data_len), widechar *hook_data,
-		const int hook_max, int expr_crs, int not, int loop_crs, int *loop_cnts,
+		const int hook_max, int expr_crs, int notOperator, int loop_crs, int *loop_cnts,
 		const TranslationTableHeader *table) {
 	int input_crs_prv, input_start, attrs, ret, i;
 	const widechar *data;
@@ -1320,19 +1320,19 @@
 		/* end of input expression */
 		if (EXPR_TYPE(expr_crs) == PTN_END_OF_INPUT) {
 			if (*input_crs * input_dir >= input_minmax * input_dir) {
-				if (not)
-					CHECK_OUTPUT(RETURN, 0, __LINE__,
-							"end of input failed:  no input and not ")
+				if (notOperator)
+					CHECK_OUTPUT(
+							RETURN, 0, __LINE__, "end of input failed:  no input and not")
 				else
 					CHECK_OUTPUT(RETURN, 1, __LINE__, "end of input passed:  no input")
-				return !not;
+				return !notOperator;
 			} else {
-				if (not)
+				if (notOperator)
 					CHECK_OUTPUT(
 							RETURN, 1, __LINE__, "end of input passed:  input and not")
 				else
 					CHECK_OUTPUT(RETURN, 0, __LINE__, "end of input failed:  input")
-				return not;
+				return notOperator;
 			}
 		}
 
@@ -1343,7 +1343,7 @@
 
 				attrs = (EXPR_DATA_0(expr_crs) << 16);
 				if (attrs & CTC_EndOfInput) {
-					if (not) {
+					if (notOperator) {
 						CHECK_OUTPUT(RETURN, 0, __LINE__,
 								"attributes failed:  end of input attribute:  not")
 						return 0;
@@ -1382,7 +1382,7 @@
 
 		case PTN_NOT:
 
-			not = !not;
+			notOperator = !notOperator;
 			expr_crs = EXPR_DATA_0(expr_crs);
 			CHECK_OUTPUT(SHOW, 0, __LINE__, "not next")
 			break;
@@ -1413,8 +1413,8 @@
 			/* start loop expression */
 			input_crs_prv = *input_crs;
 			ret = pattern_check_expression(input, input_crs, input_minmax, input_dir,
-					expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs), not,
-					loop_crs, loop_cnts, table);
+					expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs),
+					notOperator, loop_crs, loop_cnts, table);
 			if (ret) {
 				CHECK_OUTPUT(RETURN, 1, __LINE__, "loop passed")
 				return 1;
@@ -1446,8 +1446,8 @@
 			/* start optional expression */
 			CHECK_OUTPUT(CALL, 0, __LINE__, "option start")
 			if (pattern_check_expression(input, input_crs, input_minmax, input_dir,
-						expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs), not,
-						loop_crs, loop_cnts, table)) {
+						expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs),
+						notOperator, loop_crs, loop_cnts, table)) {
 				CHECK_OUTPUT(RETURN, 1, __LINE__, "option passed")
 				return 1;
 			}
@@ -1467,8 +1467,8 @@
 			/* start first expression */
 			CHECK_OUTPUT(CALL, 0, __LINE__, "or 1 start")
 			if (pattern_check_expression(input, input_crs, input_minmax, input_dir,
-						expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs), not,
-						loop_crs, loop_cnts, table)) {
+						expr_data, hook, hook_data, hook_max, EXPR_DATA_0(expr_crs),
+						notOperator, loop_crs, loop_cnts, table)) {
 				CHECK_OUTPUT(RETURN, 1, __LINE__, "or 1 passed")
 				return 1;
 			}
@@ -1491,11 +1491,11 @@
 
 			ret = pattern_check_attrs(
 					input[*input_crs], EXPR_CONST_DATA(expr_crs), table);
-			if (ret && not) {
+			if (ret && notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "attributes failed:  not");
 				return 0;
 			}
-			if (!ret && !not) {
+			if (!ret && !notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "attributes failed");
 				return 0;
 			}
@@ -1507,11 +1507,11 @@
 		case PTN_CHARS:
 
 			ret = pattern_check_chars(input[*input_crs], EXPR_CONST_DATA(expr_crs));
-			if (ret && not) {
+			if (ret && notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "chars failed:  not");
 				return 0;
 			}
-			if (!ret && !not) {
+			if (!ret && !notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "chars failed");
 				return 0;
 			}
@@ -1533,11 +1533,11 @@
 
 			/* call hook function */
 			ret = hook(input[*input_crs], data[0]);
-			if (ret && not) {
+			if (ret && notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "hook failed:  not");
 				return 0;
 			}
-			if (!ret && !not) {
+			if (!ret && !notOperator) {
 				CHECK_OUTPUT(RETURN, 0, __LINE__, "hook failed");
 				return 0;
 			}
@@ -1580,7 +1580,7 @@
 			}
 
 			/* returning not */
-			if (EXPR_TYPE(expr_crs) == PTN_NOT) not = !not;
+			if (EXPR_TYPE(expr_crs) == PTN_NOT) notOperator = !notOperator;
 
 			expr_crs = EXPR_NXT(expr_crs);
 
diff --git a/tables/Makefile.am b/tables/Makefile.am
index f447ed3..95d6e6c 100644
--- a/tables/Makefile.am
+++ b/tables/Makefile.am
@@ -52,18 +52,28 @@
 	cy-cy-g1.utb \
 	cy-cy-g2.ctb \
 	cy.tbl \
+	da-dk-6miscChars_1993.cti \
 	da-dk-6miscChars.cti \
+	da-dk-8miscChars_1993.cti \
 	da-dk-8miscChars.cti \
+	da-dk-g08_1993.ctb \
 	da-dk-g08.ctb \
+	da-dk-g16_1993.ctb \
 	da-dk-g16.ctb \
-	da-dk-g16-lit.ctb \
+	da-dk-g16-lit_1993.ctb \
+	da-dk-g18_1993.ctb \
 	da-dk-g18.ctb \
+	da-dk-g26_1993.ctb \
 	da-dk-g26.ctb \
-	da-dk-g26l.ctb \
-	da-dk-g26-lit.ctb \
-	da-dk-g26l-lit.ctb \
+	da-dk-g26l_1993.ctb \
+	da-dk-g26-lit_1993.ctb \
+	da-dk-g26l-lit_1993.ctb \
+	da-dk-g28_1993.ctb \
 	da-dk-g28.ctb \
-	da-dk-g28l.ctb \
+	da-dk-g28l_1993.ctb \
+	da-dk-g2_1993.dic \
+	da-dk-g2.dic \
+	da-dk-octobraille_1993.dis \
 	da-dk-octobraille.dis \
 	de-accents.cti \
 	de-accents-detailed.cti \
@@ -181,7 +191,6 @@
 	hu-hu-g2_exceptions.cti \
 	hu.tbl \
 	hy.ctb \
-	hyph_brl_da_dk.dic \
 	hyph_cs_CZ.dic \
 	hyph_da_DK.dic \
 	hyph_de_DE.dic \
@@ -210,6 +219,7 @@
 	it.tbl \
 	iu-ca-g1.ctb \
 	ja-kantenji.utb \
+	ka.utb \
 	ka-in-g1.utb \
 	kannada.cti \
 	kha.tbl \
@@ -293,6 +303,7 @@
 	np-in-g1.utb \
 	nso-za-g1.utb \
 	nso-za-g2.ctb \
+	ny-mw.utb \
 	or-in-g1.utb \
 	oriya.cti \
 	or.tbl \
@@ -345,6 +356,12 @@
 	sv-g0.utb \
 	sv-g1.ctb \
 	sv-g2.ctb \
+	sw-ke-g1-2.ctb \
+	sw-ke-g1-3.ctb \
+	sw-ke-g1-4.ctb \
+	sw-ke-g1-5.ctb \
+	sw-ke-g1.utb \
+	sw-ke-g2.ctb \
 	ta.ctb \
 	tamil.cti \
 	ta-ta-g1.ctb \
@@ -396,10 +413,16 @@
 	zh-hk.ctb \
 	zh_HK.tbl \
 	zh-tw.ctb \
-	zh_TW.tbl \
 	zu-za-g1.utb \
 	zu-za-g2.ctb
 
+comma=,
+fuzzing_yml = $(top_srcdir)/.github/workflows/fuzzing.yml
+$(fuzzing_yml): $(srcdir)/Makefile.am
+	[ ! -w $(fuzzing_yml) ] || sed -i -e "s/table: .*/table: [ $(patsubst %,%$(comma),$(filter %.utb %.ctb,$(table_files))) ]/" $(fuzzing_yml)
+
+all-local: $(fuzzing_yml)
+
 tablesdir = $(datadir)/liblouis/tables
 tables_DATA = $(table_files)
 EXTRA_DIST = $(table_files)
diff --git a/tables/da-dk-6miscChars.cti b/tables/da-dk-6miscChars.cti
index 51bbbdd..5103381 100644
--- a/tables/da-dk-6miscChars.cti
+++ b/tables/da-dk-6miscChars.cti
@@ -1,6 +1,6 @@
-# Liblouis: Misc character definitions for Danish 6 dots (all grades)
+# Liblouis: Misc character definitions for Danish 6 dots (all grades, 2022)
 #
-# By Bue Vester-Andersen
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -31,7 +31,7 @@
 # There are no rules about this in the specs of Danish Braille,
 # So the choice is arbitrary and may change over time.
 
-# Version: Bue Vester-Andersen 200302
+# Version: Bue Vester-Andersen December 2022
 
 # CP1252 (\x0080-\x009f)
 noback sign \x0080 45-15 #EURO SIGN (0x80)
@@ -56,46 +56,33 @@
 noback uppercase \x009f 5-13456 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
 
 # Latin-1 Supplement (Unicode block) (\x00a0-\x00ff)
-noback punctuation \x00a0 0 NO-BREAK SPACE (0xa0)
 noback punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 punctuation \x00a2 45-25 CENT SIGN (0xa2)
 punctuation \x00a3 45-123 POUND SIGN (0xa3)
 #punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
 punctuation \x00a5 45-13456 YEN SIGN (0xa5)
-#punctuation \x00a6 3478 BROKEN BAR (0xa6)
-#punctuation \x00a8 6-56 DIAERESIS (0xa8)
 punctuation \x00a9 45-14 COPYRIGHT SIGN (0xa9)
-#letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
 noback punctuation \x00ab 2356 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
-#punctuation \x00ac 34567 NOT SIGN (0xac)
 noback punctuation \x00ad 36 SOFT HYPHEN (0xad)
 punctuation \x00ae 45-1235 REGISTERED SIGN (0xae)
-#punctuation \x00af 23567 MACRON (0xaf)
-sign \x00b0 4-356 DEGREE SIGN (0xb0)
+sign \x00b0 45-356 DEGREE SIGN (0xb0)
 noback math \x00b1 45-235-36 PLUS-MINUS SIGN
 digit \x00b2 346-12 SUPERSCRIPT TWO
 digit \x00b3 346-14 SUPERSCRIPT THREE
 noback punctuation \x00b4 4 ACUTE ACCENT
 sign \x00b5 5-134 MICRO SIGN
-#punctuation \x00b6 1234568 PILCROW SIGN
-#punctuation \x00b7 38 MIDDLE DOT
-#punctuation \x00b8 4678 CEDILLA
 digit \x00b9 346-1 SUPERSCRIPT ONE
-#letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
 noback punctuation \x00bb 2356 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 noback sign \x00bc 3456-1-34-145 VULGAR FRACTION ONE QUARTER
 noback sign \x00bd 3456-1-34-12 VULGAR FRACTION ONE HALF
 noback sign \x00be 3456-14-34-145 VULGAR FRACTION THREE QUARTERS
 noback punctuation \x00bf 26 INVERTED QUESTION MARK
-lowercase \x00e0 5-1 LATIN LETTER A WITH GRAVE
-noback lowercase \x00e1 5-1 LATIN LETTER A WITH ACUTE
+lowercase \x00e1 5-1 LATIN LETTER A WITH ACUTE
 noback lowercase \x00e2 5-1 LATIN LETTER A WITH CIRCUMFLEX
 noback lowercase \x00e3 5-1 LATIN LETTER A WITH TILDE
-noback lowercase \x00e4 345 LATIN LETTER A WITH DIAERESIS
+lowercase \x00e4 5-345 LATIN LETTER A WITH DIAERESIS
 lowercase \x00e7 5-14 LATIN LETTER C WITH CEDILLA
-noback lowercase \x00e8 5-15 LATIN LETTER E WITH GRAVE
-lowercase \x00e9 5-15 LATIN LETTER E WITH ACUTE
-noback lowercase \x00ea 5-15 LATIN LETTER E WITH CIRCUMFLEX
+lowercase \x00ea 5-15 LATIN LETTER E WITH CIRCUMFLEX
 noback lowercase \x00eb 5-15 LATIN LETTER E WITH DIAERESIS
 noback lowercase \x00ec 5-24 LATIN LETTER I WITH GRAVE
 noback lowercase \x00ed 5-24 LATIN LETTER I WITH ACUTE
@@ -107,8 +94,8 @@
 noback lowercase \x00f3 5-135 LATIN LETTER O WITH ACUTE
 lowercase \x00f4 5-135 LATIN LETTER O WITH CIRCUMFLEX (first for back-translation)
 noback lowercase \x00f5 5-135 LATIN LETTER O WITH TILDE
-noback lowercase \x00f6 246 LATIN LETTER O WITH DIAERESIS
-math \x00d7 45-3 MULTIPLICATION SIGN
+lowercase \x00f6 5-246 LATIN LETTER O WITH DIAERESIS
+math \x00d7 45-35 MULTIPLICATION SIGN
 noback lowercase \x00f9 5-136 LATIN LETTER U WITH GRAVE
 noback lowercase \x00fa 5-136 LATIN LETTER U WITH ACUTE
 lowercase \x00fb 5-136 LATIN LETTER U WITH CIRCUMFLEX (first for back-translation
@@ -191,7 +178,7 @@
 
 sign \x0192 45-124 #Flurihn (0x83)
 #letter \x02c6 5678 #Modifier letter circumflex (0x88)
-noback sign \x02DC 45-6 #SMALL TILDE (0x98)
+noback sign \x02DC 45-23 #SMALL TILDE (0x98)
 
 # Greek letters (with dot 5 as prefix)
 
@@ -233,14 +220,11 @@
 base uppercase \x008a \x009a #LATIN LETTER S WITH CARON (0x8a)
 base uppercase \x008c \x009c #LATIN LIGATURE OE (0x8c)
 base uppercase \x008e \x009e #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
-base uppercase \x00c0 \x00e0 LATIN LETTER A WITH GRAVE
 base uppercase \x00c1 \x00e1 LATIN LETTER A WITH ACUTE
 base uppercase \x00c2 \x00e2 LATIN LETTER A WITH CIRCUMFLEX
 base uppercase \x00c3 \x00e3 LATIN LETTER A WITH TILDE
 base uppercase \x00c4 \x00e4 LATIN LETTER A WITH DIAERESIS
 base uppercase \x00c7 \x00e7 LATIN LETTER C WITH CEDILLA
-base uppercase \x00c8 \x00e8 LATIN LETTER E WITH GRAVE
-base uppercase \x00c9 \x00e9 LATIN LETTER E WITH ACUTE
 base uppercase \x00ca \x00ea LATIN LETTER E WITH CIRCUMFLEX
 base uppercase \x00cb \x00eb LATIN LETTER E WITH DIAERESIS
 base uppercase \x00cc \x00ec LATIN LETTER I WITH GRAVE
@@ -356,17 +340,6 @@
 
 # Punctuation and bullits
 
-noback space \x2000 0 # En quad
-noback space \x2001 0 # Em quad
-noback space \x2002 0 # En space
-noback space \x2003 0 # Em space
-noback space \x2004 0 # Three-Per-Em Space
-noback space \x2005 0 # Four-Per-Em Space
-noback space \x2006 0 # Six-Per-Em Space
-noback space \x2007 0 # Figure Space
-noback space \x2008 0 # Punctuation Space
-noback space \x2009 0 # Thin Space
-noback space \x200a 0 # Hair Space
 noback punctuation \x2010 36 # Hyphen
 noback punctuation \x2011 36 # Non-breaking hyphen
 noback punctuation \x2012 36 # Figure dash
diff --git a/tables/da-dk-6miscChars_1993.cti b/tables/da-dk-6miscChars_1993.cti
new file mode 100644
index 0000000..7913d83
--- /dev/null
+++ b/tables/da-dk-6miscChars_1993.cti
@@ -0,0 +1,412 @@
+# Liblouis: Misc character definitions for Danish 6 dots (all grades, 1993)
+#
+#  Copyright (C) 2014, 2016-2021, 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 file contains miscelaneous unicode character definitions used by 6 dots, all grades.
+# Many of the characters in this file have not been defined in the
+# Danish Braille standard.
+# The current implementation is purely experimental and subject to change.
+# Math chars and arrows etc. are inspired by UEB.
+# for accented letters in the range u+0080 - u+00ff: the letters 
+# that are thought to occur most frequently in Danish texts are used
+# for back-translation.
+# For all accented letters above u+00ff, the first occurring instance is chosen for back-translation.
+# There are no rules about this in the specs of Danish Braille,
+# So the choice is arbitrary and may change over time.
+
+# Version: Bue Vester-Andersen December 2022
+
+# CP1252 (\x0080-\x009f)
+noback sign \x0080 45-15 #EURO SIGN (0x80)
+noback punctuation \x0082 4 #Low single quote (0x82)
+noback sign \x0083 45-124 #Flurihn (0x83)
+noback punctuation \x0084 2356 #Low quote (0x84)
+noback punctuation \x0085 3-3-3 #Elipsis (0x85)
+noback math \x0089 245-356-356 #permille sign (0x89)
+noback lowercase \x009a 5-234 #LATIN LETTER S WITH CARON (0x8a)
+noback punctuation \x008b 4 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+noback lowercase \x009c 135-15 #LATIN LIGATURE OE (0x8c)
+noback lowercase \x009e 5-1356 #LATIN LETTER Z WITH CARON (0x8e)
+noback punctuation \x0091 4 #LEFT SINGLE QUOTATION MARK (0x91)
+noback punctuation \x0092 4 #RIGHT SINGLE QUOTATION MARK (0x92)
+noback punctuation \x0093 2356 #LEFT DOUBLE QUOTATION MARK (0x93)
+noback punctuation \x0094 2356 #RIGHT DOUBLE QUOTATION MARK (0x94)
+noback sign \x0095 45-3 #Bullit (0x95)
+noback sign \x0096 36-36 #EN DASH (0x96)
+noback sign \x0097 36-36 #Em DASH (0x97)
+noback sign \x0099 45-2345 #TRADE MARK SIGN (0x99)
+noback punctuation \x009b 4 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+noback uppercase \x009f 5-13456 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
+
+# Latin-1 Supplement (Unicode block) (\x00a0-\x00ff)
+noback punctuation \x00a0 0 NO-BREAK SPACE (0xa0)
+noback punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
+punctuation \x00a2 45-25 CENT SIGN (0xa2)
+punctuation \x00a3 45-123 POUND SIGN (0xa3)
+#punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
+punctuation \x00a5 45-13456 YEN SIGN (0xa5)
+#punctuation \x00a6 3478 BROKEN BAR (0xa6)
+#punctuation \x00a8 6-56 DIAERESIS (0xa8)
+punctuation \x00a9 45-14 COPYRIGHT SIGN (0xa9)
+#letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
+noback punctuation \x00ab 2356 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
+#punctuation \x00ac 34567 NOT SIGN (0xac)
+noback punctuation \x00ad 36 SOFT HYPHEN (0xad)
+punctuation \x00ae 45-1235 REGISTERED SIGN (0xae)
+#punctuation \x00af 23567 MACRON (0xaf)
+sign \x00b0 4-356 DEGREE SIGN (0xb0)
+noback math \x00b1 45-235-36 PLUS-MINUS SIGN
+digit \x00b2 346-12 SUPERSCRIPT TWO
+digit \x00b3 346-14 SUPERSCRIPT THREE
+noback punctuation \x00b4 4 ACUTE ACCENT
+sign \x00b5 5-134 MICRO SIGN
+#punctuation \x00b6 1234568 PILCROW SIGN
+#punctuation \x00b7 38 MIDDLE DOT
+#punctuation \x00b8 4678 CEDILLA
+digit \x00b9 346-1 SUPERSCRIPT ONE
+#letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
+noback punctuation \x00bb 2356 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+noback sign \x00bc 3456-1-34-145 VULGAR FRACTION ONE QUARTER
+noback sign \x00bd 3456-1-34-12 VULGAR FRACTION ONE HALF
+noback sign \x00be 3456-14-34-145 VULGAR FRACTION THREE QUARTERS
+noback punctuation \x00bf 26 INVERTED QUESTION MARK
+lowercase \x00e0 5-1 LATIN LETTER A WITH GRAVE
+noback lowercase \x00e1 5-1 LATIN LETTER A WITH ACUTE
+noback lowercase \x00e2 5-1 LATIN LETTER A WITH CIRCUMFLEX
+noback lowercase \x00e3 5-1 LATIN LETTER A WITH TILDE
+noback lowercase \x00e4 345 LATIN LETTER A WITH DIAERESIS
+lowercase \x00e7 5-14 LATIN LETTER C WITH CEDILLA
+noback lowercase \x00e8 5-15 LATIN LETTER E WITH GRAVE
+lowercase \x00e9 5-15 LATIN LETTER E WITH ACUTE
+noback lowercase \x00ea 5-15 LATIN LETTER E WITH CIRCUMFLEX
+noback lowercase \x00eb 5-15 LATIN LETTER E WITH DIAERESIS
+noback lowercase \x00ec 5-24 LATIN LETTER I WITH GRAVE
+noback lowercase \x00ed 5-24 LATIN LETTER I WITH ACUTE
+lowercase \x00ee 5-24 LATIN LETTER I WITH CIRCUMFLEX (first for back-translation)
+noback lowercase \x00ef 5-24 LATIN LETTER I WITH DIAERESIS
+lowercase \x00f0 5-145 LATIN LETTER ETH
+lowercase \x00f1 5-1345 LATIN LETTER N WITH TILDE
+noback lowercase \x00f2 5-135 LATIN LETTER O WITH GRAVE
+noback lowercase \x00f3 5-135 LATIN LETTER O WITH ACUTE
+lowercase \x00f4 5-135 LATIN LETTER O WITH CIRCUMFLEX (first for back-translation)
+noback lowercase \x00f5 5-135 LATIN LETTER O WITH TILDE
+noback lowercase \x00f6 246 LATIN LETTER O WITH DIAERESIS
+math \x00d7 45-3 MULTIPLICATION SIGN
+noback lowercase \x00f9 5-136 LATIN LETTER U WITH GRAVE
+noback lowercase \x00fa 5-136 LATIN LETTER U WITH ACUTE
+lowercase \x00fb 5-136 LATIN LETTER U WITH CIRCUMFLEX (first for back-translation
+lowercase \x00fd 5-13456 LATIN LETTER Y WITH ACUTE (infinite?)
+lowercase \x00fe 5-2345 LATIN LETTER THORN
+noback lowercase \x00df 234-234 LATIN SMALL LETTER SHARP S
+math \x00f7 45-256 DIVISION SIGN
+
+# Latin Extended-A (\x0100-\x017f)
+
+noback lowercase \x0101 5-1 Latin letter a with macron
+noback lowercase \x0103 5-1 Latin letter a with breve
+noback lowercase \x0105 5-1 Latin letter a with ogonek
+noback lowercase \x0107 5-14 Latin letter c with acute
+noback lowercase \x0109 5-14 Latin letter c with circumflex
+noback lowercase \x010b 5-14 Latin letter c with dot above
+noback lowercase \x010d 5-14 Latin letter c with caron
+noback lowercase \x010f 5-145 Latin letter d with caron
+noback lowercase \x0111 5-145 Latin letter d with stroke
+noback lowercase \x0113 5-15 Latin letter e with macron
+noback lowercase \x0115 5-15 Latin letter e with breve
+noback lowercase \x0117 5-15 Latin letter e with dot above
+noback lowercase \x0119 5-15 Latin letter e with ogonek
+noback lowercase \x011b 5-15 Latin letter e with caron
+noback lowercase \x011d 5-1245 Latin letter g with circumflex
+noback lowercase \x011f 5-1245 Latin letter g with breve
+noback lowercase \x0121 5-1245 Latin letter g with dot above
+noback lowercase \x0123 5-1245 Latin letter g with cedilla
+noback lowercase \x0125 5-125 Latin letter h with circumflex
+noback lowercase \x0127 5-125 Latin letter h with stroke
+noback lowercase \x0129 5-24 Latin letter i with tilde
+noback lowercase \x012b 5-24 Latin letter i with macron
+noback lowercase \x012d 5-24 Latin letter i with breve
+noback lowercase \x012f 5-24 Latin letter i with ogonek
+noback lowercase \x0131 5-24 Latin small dotless i
+noback lowercase \x0133 24-245 Latin ligature ij
+lowercase \x0135 5-245 Latin letter j with circumflex
+noback lowercase \x0137 5-13 Latin letter k with cedilla
+lowercase \x0138 5-12345 Small latin letter kra (Greenlandic q)
+noback lowercase \x013a 5-123 Latin letter l with acute
+noback lowercase \x013c 5-123 Latin letter l with cedilla
+noback lowercase \x013e 5-123 Latin letter l with caron
+noback lowercase \x0140 5-123 Latin letter l with middle dot
+noback lowercase \x0142 5-123 Latin letter l with stroke
+noback lowercase \x0144 5-1345 Latin letter n with acute
+noback lowercase \x0146 5-1345 Latin letter n with cedilla
+noback lowercase \x0148 5-1345 Latin letter n with caron
+noback lowercase \x0149 4-1345 Latin small letter n preceeded by apostrophe
+noback lowercase \x014b 5-1345 Latin letter eng
+noback lowercase \x014d 5-135 Latin letter o with macron
+noback lowercase \x014f 5-135 Latin letter o with breve
+noback lowercase \x0151 5-135 Latin letter o with double acute
+noback lowercase \x0153 135-15 #LATIN LIGATURE OE (0x8c)
+noback lowercase \x0155 5-1235 Latin letter r with acute
+noback lowercase \x0157 5-1235 Latin letter r with cedilla
+noback lowercase \x0159 5-1235 Latin letter r with caron
+noback lowercase \x015b 5-234 Latin letter s with acute
+noback lowercase \x015d 5-234 Latin letter s with circumflex
+noback lowercase \x015f 5-234 Latin letter s with cedilla
+lowercase \x0161 5-234 #LATIN LETTER S WITH CARON (0x8a)
+noback lowercase \x0163 5-2345 Latin letter t with cedilla
+noback lowercase \x0165 5-2345 Latin letter t with caron
+noback lowercase \x0167 5-2345 Latin letter t with stroke
+noback lowercase \x0169 5-136 Latin letter u with tilde
+noback lowercase \x016b 5-136 Latin letter u with macron
+noback lowercase \x016d 5-136 Latin letter u with breve
+noback lowercase \x016f 5-136 Latin letter u with ring above
+noback lowercase \x0171 5-136 Latin letter u with double acute
+noback lowercase \x0173 5-136 Latin letter u with ogonek
+noback lowercase \x0175 5-2456 Latin letter w with circumflex
+noback lowercase \x0177 5-13456 Latin letter y with circumflex
+lowercase \x00ff 5-13456 #LATIN LETTER Y WITH DIAERESIS (0x9f)
+noback lowercase \x017a 5-1356 Latin letter z with acute
+noback lowercase \x017c 5-1356 Latin letter z with dot above
+lowercase \x017e 5-1356 #LATIN LETTER Z WITH CARON (0x8e)
+noback lowercase \x017f 5-234 Latin small letter long s 
+
+# Latin Extended-B 
+
+
+sign \x0192 45-124 #Flurihn (0x83)
+#letter \x02c6 5678 #Modifier letter circumflex (0x88)
+noback sign \x02DC 45-6 #SMALL TILDE (0x98)
+
+# Greek letters (with dot 5 as prefix)
+
+noback lowercase \x03AC 5-1 Greek letter alpha with tonos
+noback lowercase \x03AD 5-15 Greek letter epsilon with tonos
+noback lowercase \x03AE 5-156 Greek letter eta with tonos
+noback lowercase \x03AF 5-24 Greek letter iota with sonos
+noback lowercase \x03CC 5-135 Greek letter omicron with tonos
+noback lowercase \x03CD 5-136 Greek letter upsilon with tonos
+noback lowercase \x03CE 5-2456 Greek letter omega with tonos
+
+noback lowercase \x03B1 5-1 Greek letter alpha
+lowercase \x03B2 5-12 Greek letter beta
+lowercase \x03B3 5-1245 Greek letter gamma
+noback lowercase \x03B4 5-145 Greek letter delta
+noback lowercase \x03B5 5-15 Greek letter epsilon
+noback lowercase \x03B6 5-1356 Greek letter zeta
+lowercase \x03B7 5-156 Greek letter eta
+lowercase \x03B8 5-1456 Greek letter theta
+noback lowercase \x03B9 5-24 Greek letter iota
+lowercase \x03BA 5-13 Greek letter kappa
+lowercase \x03BB 5-123 Greek letter lamda
+noback lowercase \x03BC 5-134 Greek letter Mu
+noback lowercase \x03BD 5-1345 Greek letter Nu
+lowercase \x03BE 5-1346 Greek letter Xi
+noback lowercase \x03BF 5-135 Greek letter Omicron
+lowercase \x03C0 5-1234 Greek letter Pi
+lowercase \x03C1 5-1235 Greek letter Rho
+noback lowercase \x03C3 5-234 Greek letter sigma
+noback lowercase \x03C4 5-2345			Greek letter Tau
+noback lowercase \x03C5 5-136 Greek letter Upsilon
+lowercase \x03C6 5-124 Greek letter Phi
+lowercase \x03C7 5-125 Greek letter Chi
+noback lowercase \x03C8 5-13456 Greek letter Psi
+lowercase \x03C9 5-2456 Greek letter Omega
+
+# Uppercase letters
+
+base uppercase \x008a \x009a #LATIN LETTER S WITH CARON (0x8a)
+base uppercase \x008c \x009c #LATIN LIGATURE OE (0x8c)
+base uppercase \x008e \x009e #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+base uppercase \x00c0 \x00e0 LATIN LETTER A WITH GRAVE
+base uppercase \x00c1 \x00e1 LATIN LETTER A WITH ACUTE
+base uppercase \x00c2 \x00e2 LATIN LETTER A WITH CIRCUMFLEX
+base uppercase \x00c3 \x00e3 LATIN LETTER A WITH TILDE
+base uppercase \x00c4 \x00e4 LATIN LETTER A WITH DIAERESIS
+base uppercase \x00c7 \x00e7 LATIN LETTER C WITH CEDILLA
+base uppercase \x00c8 \x00e8 LATIN LETTER E WITH GRAVE
+base uppercase \x00c9 \x00e9 LATIN LETTER E WITH ACUTE
+base uppercase \x00ca \x00ea LATIN LETTER E WITH CIRCUMFLEX
+base uppercase \x00cb \x00eb LATIN LETTER E WITH DIAERESIS
+base uppercase \x00cc \x00ec LATIN LETTER I WITH GRAVE
+base uppercase \x00cd \x00ed LATIN LETTER I WITH ACUTE
+base uppercase \x00ce \x00ee LATIN LETTER I WITH CIRCUMFLEX (first for back-translation)
+base uppercase \x00cf \x00ef LATIN LETTER I WITH DIAERESIS
+base uppercase \x00d0 \x00f0 LATIN LETTER ETH
+base uppercase \x00d1 \x00f1 LATIN LETTER N WITH TILDE
+base uppercase \x00d2 \x00f2 LATIN LETTER O WITH GRAVE
+base uppercase \x00d3 \x00f3 LATIN LETTER O WITH ACUTE
+base uppercase \x00d4 \x00f4 LATIN LETTER O WITH CIRCUMFLEX (first for back-translation)
+base uppercase \x00d5 \x00f5 LATIN LETTER O WITH TILDE
+base uppercase \x00d6 \x00f6 LATIN LETTER O WITH DIAERESIS
+base uppercase \x00d9 \x00f9 LATIN LETTER U WITH GRAVE
+base uppercase \x00da \x00fa LATIN LETTER U WITH ACUTE
+base uppercase \x00db \x00fb LATIN LETTER U WITH CIRCUMFLEX (first for back-translation
+base uppercase \x00dd \x00fd LATIN LETTER Y WITH ACUTE (infinite?)
+base uppercase \x00de \x00fe LATIN CAPITAL LETTER THORN
+base uppercase \x0100 \x0101 Latin letter a with macron
+base uppercase \x0102 \x0103 Latin letter a with breve
+base uppercase \x0104 \x0105 Latin letter a with ogonek
+base uppercase \x0106 \x0107 Latin letter c with acute
+base uppercase \x0108 \x0109 Latin letter c with circumflex
+base uppercase \x010a \x010b Latin letter c with dot above
+base uppercase \x010c \x010d Latin letter c with caron
+base uppercase \x010e \x010f Latin letter d with caron
+base uppercase \x0110 \x0111 Latin letter d with stroke
+base uppercase \x0112 \x0113 Latin letter e with macron
+base uppercase \x0114 \x0115 Latin letter e with breve
+base uppercase \x0116 \x0117 Latin letter e with dot above
+base uppercase \x0118 \x0119 Latin letter e with ogonek
+base uppercase \x011a \x011b Latin letter e with caron
+base uppercase \x011c \x011d Latin letter g with circumflex
+base uppercase \x011e \x011f Latin letter g with breve
+base uppercase \x0120 \x0121 Latin letter g with dot above
+base uppercase \x0122 \x0123 Latin letter g with cedilla
+base uppercase \x0124 \x0125 Latin letter h with circumflex
+base uppercase \x0126 \x0127 Latin letter h with stroke
+base uppercase \x0128 \x0129 Latin letter i with tilde
+base uppercase \x012a \x012b Latin letter i with macron
+base uppercase \x012c \x012d Latin letter i with breve
+base uppercase \x012e \x012f Latin letter i with ogonek
+base uppercase \x0130 \x0131 Latin capital letter i with dot above / small dotless i
+base uppercase \x0132 \x0133 Latin ligature ij
+base uppercase \x0134 \x0135 Latin letter j with circumflex
+base uppercase \x0136 \x0137 Latin letter k with cedilla
+base uppercase \x0139 \x013a Latin letter l with acute
+base uppercase \x013b \x013c Latin letter l with cedilla
+base uppercase \x013d \x013e Latin letter l with caron
+base uppercase \x013f \x0140 Latin letter l with middle dot
+base uppercase \x0141 \x0142 Latin letter l with stroke
+base uppercase \x0143 \x0144 Latin letter n with acute
+base uppercase \x0145 \x0146 Latin letter n with cedilla
+base uppercase \x0147 \x0148 Latin letter n with caron
+base uppercase \x014a \x014b Latin letter eng
+base uppercase \x014c \x014d Latin letter o with macron
+base uppercase \x014e \x014f Latin letter o with breve
+base uppercase \x0150 \x0151 Latin letter o with double acute
+base uppercase \x0152 \x0153 #LATIN LIGATURE OE (0x8c)
+base uppercase \x0154 \x0155 Latin letter r with acute
+base uppercase \x0156 \x0157 Latin letter r with cedilla
+base uppercase \x0158 \x0159 Latin letter r with caron
+base uppercase \x015a \x015b Latin letter s with acute
+base uppercase \x015c \x015d Latin letter s with circumflex
+base uppercase \x015e \x015f Latin letter s with cedilla
+base uppercase \x0160 \x0161 #LATIN LETTER S WITH CARON (0x8a)
+base uppercase \x0162 \x0163 Latin letter t with cedilla
+base uppercase \x0164 \x0165 Latin letter t with caron
+base uppercase \x0166 \x0167 Latin letter t with stroke
+base uppercase \x0168 \x0169 Latin letter u with tilde
+base uppercase \x016a \x016b Latin letter u with macron
+base uppercase \x016c \x016d Latin letter u with breve
+base uppercase \x016e \x016f Latin letter u with ring above
+base uppercase \x0170 \x0171 Latin letter u with double acute
+base uppercase \x0172 \x0173 Latin letter u with ogonek
+base uppercase \x0174 \x0175 Latin letter w with circumflex
+base uppercase \x0176 \x0177 Latin letter y with circumflex
+base uppercase \x0178 \x00ff #LATIN LETTER Y WITH DIAERESIS (0x9f)
+base uppercase \x0179 \x017a Latin letter z with acute
+base uppercase \x017b \x017c Latin letter z with dot above
+base uppercase \x017d \x017e #LATIN LETTER Z WITH CARON (0x8e)
+base uppercase \x0386 \x03AC Greek letter alpha with tonos
+base uppercase \x0388 \x03AD Greek letter epsilon with tonos
+base uppercase \x0389 \x03AE Greek letter eta with tonos
+base uppercase \x038A \x03AF Greek letter iota with sonos
+base uppercase \x038C \x03CC Greek letter omicron with tonos
+base uppercase \x038E \x03CD Greek letter upsilon with tonos
+base uppercase \x038F \x03CE Greek letter omega with tonos
+base uppercase \x0391 \x03B1 Greek letter alpha
+base uppercase \x0392 \x03B2 Greek letter beta
+base uppercase \x0393 \x03B3 Greek letter gamma
+base uppercase \x0394 \x03B4 Greek letter delta
+base uppercase \x0395 \x03B5 Greek letter epsilon
+base uppercase \x0396 \x03B6 Greek letter zeta
+base uppercase \x0397 \x03B7 Greek letter eta
+base uppercase \x0398 \x03B8 Greek letter theta
+base uppercase \x0399 \x03B9 Greek letter iota
+base uppercase \x039A \x03BA Greek letter kappa
+base uppercase \x039B \x03BB Greek letter lamda
+base uppercase \x039C \x03BC Greek letter Mu
+base uppercase \x039D \x03BD Greek letter Nu
+base uppercase \x039E \x03BE Greek letter Xi
+base uppercase \x039F \x03BF Greek letter Omicron
+base uppercase \x03A0 \x03C0 Greek letter Pi
+base uppercase \x03A1 \x03C1 Greek letter Rho
+base uppercase \x03A3 \x03C3 Greek letter sigma
+base uppercase \x03A4 \x03C4 Greek letter Tau
+base uppercase \x03A5 \x03C5 Greek letter Upsilon
+base uppercase \x03A6 \x03C6 Greek letter Phi
+base uppercase \x03A7 \x03C7 Greek letter Chi
+base uppercase \x03A8 \x03C8 Greek letter Psi
+base uppercase \x03A9 \x03C9 Greek letter Omega
+
+# Punctuation and bullits
+
+noback space \x2000 0 # En quad
+noback space \x2001 0 # Em quad
+noback space \x2002 0 # En space
+noback space \x2003 0 # Em space
+noback space \x2004 0 # Three-Per-Em Space
+noback space \x2005 0 # Four-Per-Em Space
+noback space \x2006 0 # Six-Per-Em Space
+noback space \x2007 0 # Figure Space
+noback space \x2008 0 # Punctuation Space
+noback space \x2009 0 # Thin Space
+noback space \x200a 0 # Hair Space
+noback punctuation \x2010 36 # Hyphen
+noback punctuation \x2011 36 # Non-breaking hyphen
+noback punctuation \x2012 36 # Figure dash
+noback sign \x2013 36-36 #EN DASH (0x96)
+noback sign \x2014 36-36 #Em DASH (0x97)
+noback punctuation \x2018 4 #LEFT SINGLE QUOTATION MARK (0x91)
+noback punctuation \x2019 4 #RIGHT SINGLE QUOTATION MARK (0x92)
+noback punctuation \x201A 4 #Low single quote (0x82)
+noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark
+noback punctuation \x201c 2356 #LEFT DOUBLE QUOTATION MARK (0x93)
+noback punctuation \x201d 2356 #RIGHT DOUBLE QUOTATION MARK (0x94)
+noback punctuation \x201E 2356 #Low quote (0x84)
+noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark
+#letter \x2020 2357 #Dagger (0x86
+#letter \x2021 23578 #Double dagger (0x87
+sign \x2022 45-3 #Bullit (0x95)
+noback sign \x2023 45-3 #Triangular bullit
+noback punctuation \x2026 3-3-3 #Elipsis (0x85)
+noback space \x202f 0 # Narrow No-Break Space (NNBSP)
+math \x2030 245-356-356 #permille sign (0x89)
+noback punctuation \x2039 4 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+noback punctuation \x203A 4 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+noback punctuation \x203c 235-235 # Double Exclamation Mark
+noback punctuation \x203d 26-235 # Interrobang
+noback sign \x2043 45-3 # Hyphen bullet
+noback punctuation \x2047 26-26 # Double question mark
+noback punctuation \x2048 26-235 # Question exclamation mark
+noback punctuation \x2049 235-26 # Exclamation question mark
+noback sign \x204c 45-3 # BLACK LEFTWARDS BULLET 
+noback sign \x204d 45-3 # BLACK RIGHTWARDS BULLET 
+sign \x20AC 45-15 #EURO SIGN (0x80)
+sign \x2122 45-2345 #TRADE MARK SIGN (0x99)
+
+# Arrows
+
+sign \x2190 45-2456 Left arrow
+sign \x2191 45-12356 Up arrow
+sign \x2192 45-1235 Right arrow
+sign \x2193 45-12345 Down arrow
+
+# Geometrical shapes
+
+noback sign \x25e6 45-3 #White bullet
diff --git a/tables/da-dk-8miscChars.cti b/tables/da-dk-8miscChars.cti
index e6eaf39..9d4d9f1 100644
--- a/tables/da-dk-8miscChars.cti
+++ b/tables/da-dk-8miscChars.cti
@@ -1,6 +1,6 @@
-# Liblouis: Misc character definitions for Danish 6 dots (all grades)

+# Liblouis: Misc character definitions for Danish 8 dots (all grades, 2022)

 #

-# By Bue Vester-Andersen

+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>

 #

 #  This file is part of liblouis.

 #

@@ -25,7 +25,7 @@
 # The current implementation is purely experimental and subject to change.

 # Math chars and arrows etc. are inspired by UEB.

 

-# Version: Bue Vester-Andersen 200302

+# Version: Bue Vester-Andersen December 2022

 

 # Latin Extended-B

 

@@ -34,26 +34,14 @@
 

 # Punctuation and bullits

 

-noback space \x2000 0 # En quad

-noback space \x2001 0 # Em quad

-noback space \x2002 0 # En space

-noback space \x2003 0 # Em space

-noback space \x2004 0 # Three-Per-Em Space

-noback space \x2005 0 # Four-Per-Em Space

-noback space \x2006 0 # Six-Per-Em Space

-noback space \x2007 0 # Figure Space

-noback space \x2008 0 # Punctuation Space

-noback space \x2009 0 # Thin Space

-noback space \x200a 0 # Hair Space

-noback punctuation \x2010 368 # Hyphen

-noback punctuation \x2011 368 # Non-breaking hyphen

-noback punctuation \x2012 368 # Figure dash

+noback punctuation \x2010 36 # Hyphen

+noback punctuation \x2011 36 # Non-breaking hyphen

+noback punctuation \x2012 36 # Figure dash

 sign \x2016 45-4568 # Double Vertical Line

 sign \x2017 45-3678 # Double low line

 noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark

 noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark

 noback sign \x2023 37 #Triangular bullit

-noback space \x202f 0 # Narrow No-Break Space (NNBSP)

 noback punctuation \x203c 235-235 # Double Exclamation Mark

 noback punctuation \x203d 26-235 # Interrobang

 noback sign \x2043 37 # Hyphen bullet (0x95)

diff --git a/tables/da-dk-8miscChars_1993.cti b/tables/da-dk-8miscChars_1993.cti
new file mode 100644
index 0000000..e17180b
--- /dev/null
+++ b/tables/da-dk-8miscChars_1993.cti
@@ -0,0 +1,102 @@
+# Liblouis: Misc character definitions for Danish 6 dots (all grades)

+#

+#  Copyright (C) 2014, 2016-2021, 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 file contains miscelaneous unicode character definitions used by 8 dots, grades 1 and 2.

+# Many of the characters in this file have not been defined in the

+# Danish Braille standard.

+# The current implementation is purely experimental and subject to change.

+# Math chars and arrows etc. are inspired by UEB.

+

+# Version: Bue Vester-Andersen December 2022

+

+# Latin Extended-B

+

+sign \x0192 45-124 #Flurihn (0x83)

+noback sign \x02DC 45-6 #SMALL TILDE (0x98)

+

+# Punctuation and bullits

+

+noback space \x2000 0 # En quad

+noback space \x2001 0 # Em quad

+noback space \x2002 0 # En space

+noback space \x2003 0 # Em space

+noback space \x2004 0 # Three-Per-Em Space

+noback space \x2005 0 # Four-Per-Em Space

+noback space \x2006 0 # Six-Per-Em Space

+noback space \x2007 0 # Figure Space

+noback space \x2008 0 # Punctuation Space

+noback space \x2009 0 # Thin Space

+noback space \x200a 0 # Hair Space

+noback punctuation \x2010 368 # Hyphen

+noback punctuation \x2011 368 # Non-breaking hyphen

+noback punctuation \x2012 368 # Figure dash

+sign \x2016 45-4568 # Double Vertical Line

+sign \x2017 45-3678 # Double low line

+noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark

+noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark

+noback sign \x2023 37 #Triangular bullit

+noback space \x202f 0 # Narrow No-Break Space (NNBSP)

+noback punctuation \x203c 235-235 # Double Exclamation Mark

+noback punctuation \x203d 26-235 # Interrobang

+noback sign \x2043 37 # Hyphen bullet (0x95)

+noback punctuation \x2047 26-26 # Double question mark

+noback punctuation \x2048 26-235 # Question exclamation mark

+noback punctuation \x2049 235-26 # Exclamation question mark

+noback sign \x204c 37 # BLACK LEFTWARDS BULLET 

+noback sign \x204d 37 # BLACK RIGHTWARDS BULLET 

+

+# Arrows

+

+sign \x2190 45-1256-246 Left arrow

+sign \x2191 45-1256-346 Up arrow

+sign \x2192 45-1256-135 Right arrow

+sign \x2193 45-1256-146 Down arrow

+sign \x2194 45-1256-2456-1235-135 Left-right arrow

+sign \x2196 45-1256-156 Northwest arrow

+sign \x2197 45-1256-234 Northeast arrow

+sign \x2198 45-1256-126 Southeast arrow

+sign \x2199 45-1256-345 Southwest arrow

+sign \x21d4 45-1256-2456-2356-1235-135 Left-right double arrow

+

+# Math signs (experimental)

+

+math \x2200 45-1 # For all

+math \x2208 45-15 # Element of

+math \x2213 456-36 # Minus or plus

+math \x221d 456-5-23568 # Proportional to

+math \x2229 46-236 # Intersection

+math \x222a 46-235 # Union

+math \x2243 456-35 # approx. equal to

+math \x2245 5-45-35 # approx. equal to

+math \x2248 45-35 # approx. equal to

+math \x224f 45-5-23568 # Diff between or approx. equal to

+math \x2251 46-5-23568 # approx. equal to

+math \x2260 5-23568-4-156 # Not equal to

+math \x2261 456-123456 # Equivalent to

+math \x2264 456-358 # Less than or equal to

+math \x2265 456-267 # Greater than or equal to

+math \x226a 46-358 # Much less than

+math \x226b 46-267 # Much greater than

+math \x22c5 5-256 # Multiplication dot

+

+# Geometrical shapes

+

+noback sign \x25e6 37 #White bullet

diff --git a/tables/da-dk-g08.ctb b/tables/da-dk-g08.ctb
index 1012bf1..bb4400e 100644
--- a/tables/da-dk-g08.ctb
+++ b/tables/da-dk-g08.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 8 dots computer Braille (G0)
+# Liblouis: Danish table for 8 dots computer Braille (G0) 2022
 #
-#  Copyright (C) 2014-2017, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -20,16 +20,19 @@
 #
 #------------
 #
-# This  is the Danish table for 8 dots computer Braille.
+# This  is the Danish table for 8 dots computer Braille DDP2022.
 # Use this table for translation and back-translation of Danish 8 dots computer Braille (Octo-Braille).
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
 #
-# Version: Bue Vester-Andersen, 170604
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk computer
-#-index-name: Danish, computer
-#-display-name: Danish computer braille
+#-name: Dansk computer 2022
+#-index-name: Danish, computer, 2022
+#-display-name: Danish computer braille (2022 standard)
 
 #+language: da
 #+type: computer
@@ -37,7 +40,8 @@
 #+grade: 0
 #+dots: 8
 #+direction: both
-
+#+system: ddp
+#+version: 2022
 
 # Display upcodes
 include da-dk-octobraille.dis
@@ -45,18 +49,18 @@
 ### Character definitions
 
 sign \x0000 8 NULL
-sign \x0001 178 START OF HEADING
+sign \x0001 478 START OF HEADING
 sign \x0002 1278 START OF TEXT
-sign \x0003 1478 END OF TEXT
-sign \x0004 14578 END OF TRANSMISSION
+sign \x0003 134678 END OF TEXT
+sign \x0004 25678 END OF TRANSMISSION
 sign \x0005 24568 ENQUIRY
-sign \x0006 12478 ACKNOWLEDGE
+sign \x0006 123458 ACKNOWLEDGE
 sign \x0007 124578 BELL
 sign \x0008 12578 BACKSPACE
 space \t 2478 CHARACTER TABULATION
-space \n 678 LINE FEED (LF)
-space \v 1368 LINE TABULATION
-space \f 12378 FORM FEED (FF)
+space \n 24578 LINE FEED (LF)
+space \v 13458 LINE TABULATION
+space \f 1238 FORM FEED (FF)
 space \r 257 CARRIAGE RETURN (CR)
 sign \x000e 134578 SHIFT OUT
 sign \x000f 12358 SHIFT IN
@@ -75,13 +79,13 @@
 sign \x001c 45678 INFORMATION SEPARATOR FOUR
 sign \x001d 12368 INFORMATION SEPARATOR THREE
 sign \x001e 1234678 INFORMATION SEPARATOR TWO
-sign \x001f 235678 INFORMATION SEPARATOR ONE
+sign \x001f 13478 INFORMATION SEPARATOR ONE
 space \s 0 SPACE
 punctuation ! 235 EXCLAMATION MARK
 punctuation " 2356 QUOTATION MARK
 punctuation # 34568 NUMBER SIGN
-sign $ 25678 DOLLAR SIGN
-math % 24578 PERCENT SIGN
+sign $ 14578 DOLLAR SIGN
+math % 678 PERCENT SIGN
 sign & 123468 AMPERSAND
 punctuation ' 4 APOSTROPHE
 punctuation ( 2368 LEFT PARENTHESIS
@@ -89,92 +93,50 @@
 punctuation * 35 ASTERISK
 math + 2358 PLUS SIGN
 punctuation , 2 COMMA
-punctuation - 368 HYPHEN-MINUS
+punctuation - 36 HYPHEN-MINUS
 punctuation . 3 FULL STOP
 punctuation / 348 SLASH
+
+# Digits
 include digits8Dots.uti
+
 punctuation : 25 COLON
 punctuation ; 23 SEMICOLON
 math < 358 LESS-THAN SIGN
 math = 23568 EQUALS SIGN
 math > 267 GREATER-THAN SIGN
 punctuation ? 26 QUESTION MARK
-sign @ 478 COMMERCIAL AT
-uppercase A 17 Latin capital letter A
-uppercase B 127 Latin capital letter B
-uppercase C 147 Latin capital letter C
-uppercase D 1457 Latin capital letter D
-uppercase E 157 Latin capital letter E
-uppercase F 1247 Latin capital letter F
-uppercase G 12457 Latin capital letter G
-uppercase H 1257 Latin capital letter H
-uppercase I 247 Latin capital letter I
-uppercase J 2457 Latin capital letter J
-uppercase K 137 Latin capital letter K
-uppercase L 1237 Latin capital letter L
-uppercase M 1347 Latin capital letter M
-uppercase N 13457 Latin capital letter N
-uppercase O 1357 Latin capital letter O
-uppercase P 12347 Latin capital letter P
-uppercase Q 123457 Latin capital letter Q
-uppercase R 12357 Latin capital letter R
-uppercase S 2347 Latin capital letter S
-uppercase T 23457 Latin capital letter T
-uppercase U 1367 Latin capital letter U
-uppercase V 12367 Latin capital letter V
-uppercase W 24567 Latin capital letter W
-uppercase X 13467 Latin capital letter X
-uppercase Y 134567 Latin capital letter Y
-uppercase Z 13567 Latin capital letter Z
+sign @ 178 COMMERCIAL AT
+
+# Latin letters
+include latinLetterDef8Dots.uti
+
 punctuation [ 23678 LEFT SQUARE BRACKET
 punctuation \\ 347 REVERSE SLASH
 punctuation ] 35678 RIGHT SQUARE BRACKET
 punctuation ^ 12348 CIRCUMFLEX ACCENT
 punctuation _ 3678 LOW LINE
 punctuation ` 5 GRAVE ACCENT
-lowercase a 1 Latin small letter A
-lowercase b 12 Latin small letter B
-lowercase c 14 Latin small letter C
-lowercase d 145 Latin small letter D
-lowercase e 15 Latin small letter E
-lowercase f 124 Latin small letter F
-lowercase g 1245 Latin small letter G
-lowercase h 125 Latin small letter H
-lowercase i 24 Latin small letter I
-lowercase j 245 Latin small letter J
-lowercase k 13 Latin small letter K
-lowercase l 123 Latin small letter L
-lowercase m 134 Latin small letter M
-lowercase n 1345 Latin small letter N
-lowercase o 135 Latin small letter O
-lowercase p 1234 Latin small letter P
-lowercase q 12345 Latin small letter Q
-lowercase r 1235 Latin small letter R
-lowercase s 234 Latin small letter S
-lowercase t 2345 Latin small letter T
-lowercase u 136 Latin small letter U
-lowercase v 1236 Latin small letter V
-lowercase w 2456 Latin small letter W
-lowercase x 1346 Latin small letter X
-lowercase y 13456 Latin small letter Y
-lowercase z 1356 Latin small letter Z
+
+# Lowercase letters, see above
+
 punctuation { 123678 LEFT CURLY BRACKET
 punctuation | 4568 VERTICAL LINE
 punctuation } 345678 RIGHT CURLY BRACKET
-punctuation ~ 467 TILDE
+punctuation ~ 2378 TILDE
 sign \x007f 7 DELETE
 sign \x20AC 1578 #EURO SIGN (0x80)
-sign \x0081 45 <control-0081>
+sign \x0081 2357 <control-0081>
 punctuation \x201A 457 #Low single quote (0x82)
 sign \x0192 58 #Flurihn (0x83)
-punctuation \x201E 2378 #Low quote (0x84)
+punctuation \x201E 467 #Low quote (0x84)
 punctuation \x2026 6 #Elipsis (0x85)
-sign \x2020 2357 #Dagger (0x86
-sign \x2021 23578 #Double dagger (0x87
+sign \x2020 45 #Dagger (0x86
+sign \x2021 456 #Double dagger (0x87
 sign \x02c6 5678 #Modifier letter circumflex (0x88)
 math \x2030 245678 #permille sign (0x89)
-uppercase \x0160 23478 #Latin  capital Letter S with caron (0x8a/0x9a)
-punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x0160 46 #Latin  capital Letter S with caron (0x8a/0x9a)
+punctuation \x2039 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
 uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
 sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
 uppercase \x017d 3467 #Latin capital letter Z with caron (0x8e)
@@ -185,9 +147,9 @@
 punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 sign \x2022 37 #Bullit (0x95)
-sign \x2013 36 #EN DASH (0x96)
+sign \x2013 368 #EN DASH (0x96)
 sign \x2014 367 #Em DASH (0x97)
-sign \x02DC 46 #small TILDE (0x98)
+sign \x02DC 23478 #small TILDE (0x98)
 sign \x2122 234578 #TRADE MARK SIGN (0x99)
 lowercase \x0161 2348 #Latin  lowercase Letter S with caron (0x8a/0x9a)
 punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
@@ -195,17 +157,16 @@
 letter \x009d 2567 OPERATING SYSTEM COMMAND
 lowercase \x017E 346 #Latin small letter Z with caron (0x9e)
 uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
-# FIXME: this rule now actually works, so adapt tests
-punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+space \x00a0 23458 NO-BREAK SPACE (0xa0)
 punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 punctuation \x00a2 2578 CENT SIGN (0xa2)
-punctuation \x00a3 1238 POUND SIGN (0xa3)
+punctuation \x00a3 12378 POUND SIGN (0xa3)
 punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
-punctuation \x00a5 67 YEN SIGN (0xa5)
+punctuation \x00a5 1345678 YEN SIGN (0xa5)
 punctuation \x00a6 3478 BROKEN BAR (0xa6)
 punctuation \x00a7 578 SECTION SIGN (0xa7)
 punctuation \x00a8 56 DIAERESIS (0xa8)
-punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
+punctuation \x00a9 1478 COPYRIGHT SIGN (0xa9)
 letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
 punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
 punctuation \x00ac 34567 NOT SIGN (0xac)
@@ -213,10 +174,10 @@
 punctuation \x00ae 123578 Registered sign (0xae)
 punctuation \x00af 23567 macron (0xaf)
 sign \x00b0 356 Degree sign (0xb0)
-math \x00b1 123458 PLUS-MINUS SIGN
+math \x00b1 12478 PLUS-MINUS SIGN
 punctuation \x00b2 238 SUPERSCRIPT TWO
 punctuation \x00b3 258 SUPERSCRIPT THREE
-punctuation \x00b4 468 acute ACCENT
+punctuation \x00b4 458 acute ACCENT
 sign \x00b5 236 MICRO SIGN
 punctuation \x00b6 1234568 PILCROW SIGN
 punctuation \x00b7 38 MIDDLE DOT
@@ -224,9 +185,9 @@
 punctuation \x00b9 28 SUPERSCRIPT ONE
 letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
 punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
-punctuation \x00bd 458 VULGAR FRACTION ONE HALF
-punctuation \x00be 3456 VULGAR FRACTION THREE QUARTERS
+punctuation \x00bc 1368 VULGAR FRACTION ONE QUARTER
+punctuation \x00bd 468 VULGAR FRACTION ONE HALF
+punctuation \x00be 13468 VULGAR FRACTION THREE QUARTERS
 punctuation \x00bf 34 INVERTED QUESTION MARK
 uppercase \x00c0 123567 Latin capital letter A with GRAVE
 uppercase \x00c1 1235678 Latin capital letter A with acute
@@ -244,20 +205,20 @@
 uppercase \x00cd 12678 Latin capital letter I with acute
 uppercase \x00ce 1467 Latin capital letter I with CIRCUMFLEX
 uppercase \x00cf 124567 Latin capital letter I with DIAERESIS
-uppercase \x00d0 1345678 Latin capital letter ETH
+uppercase \x00d0 67 Latin capital letter ETH
 uppercase \x00d1 1245678 Latin capital letter N with TILDE
 uppercase \x00d2 124678 Latin capital letter O with GRAVE
 uppercase \x00d3 34678 Latin capital letter O with acute
 uppercase \x00d4 14567 Latin capital letter O with CIRCUMFLEX
 uppercase \x00d5 145678 Latin capital letter O with TILDE
 uppercase \x00d6 24678 Latin capital letter O with DIAERESIS
-math \x00d7 13468 MULTIPLICATION SIGN
+math \x00d7 3456 MULTIPLICATION SIGN
 uppercase \x00d8 2467 Latin capital letter O with STROKE
 uppercase \x00d9 234567 Latin capital letter U with GRAVE
 uppercase \x00da 125678 Latin capital letter U with acute
 uppercase \x00db 1567 Latin capital letter U with CIRCUMFLEX
 uppercase \x00dc 12567 Latin capital letter U with DIAERESIS
-uppercase \x00dd 13478 Latin capital letter Y with acute (infinite?)
+uppercase \x00dd 235678 Latin capital letter Y with acute (infinite?)
 uppercase \x00de 1378 Latin capital letter THORN
 lowercase \x00df 23468 Latin small letter SHARP S
 lowercase \x00e0 12356 Latin small letter A with GRAVE
@@ -298,15 +259,15 @@
 sign \x0080 1578 #EURO SIGN (0x80)
 punctuation \x0082 457 #Low single quote (0x82)
 sign \x0083 58 #Flurihn (0x83)
-punctuation \x0084 2378 #Low quote (0x84)
+punctuation \x0084 467 #Low quote (0x84)
 punctuation \x0085 6 #Elipsis (0x85)
-letter \x0086 2357 #Dagger (0x86
-letter \x0087 23578 #Double dagger (0x87
+letter \x0086 45 #Dagger (0x86
+letter \x0087 456 #Double dagger (0x87
 letter \x0088 5678 #Modifier letter circumflex (0x88)
 math \x0089 245678 #permille sign (0x89)
 uppercase \x008a 23478 #Latin letter S with caron (0x8a)
 lowercase \x009a 2348
-punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+punctuation \x008b 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
 uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
 lowercase \x009c 1358
 uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
@@ -316,9 +277,9 @@
 punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 sign \x0095 37 #Bullit (0x95)
-sign \x0096 36 #EN DASH (0x96)
+sign \x0096 368 #EN DASH (0x96)
 sign \x0097 367 #Em DASH (0x97)
-sign \x0098 46 #small TILDE (0x98)
+sign \x0098 23478 #small TILDE (0x98)
 sign \x0099 234578 #TRADE MARK SIGN (0x99)
 punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
 uppercase \x009f 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
diff --git a/tables/da-dk-g08_1993.ctb b/tables/da-dk-g08_1993.ctb
new file mode 100644
index 0000000..0921ce8
--- /dev/null
+++ b/tables/da-dk-g08_1993.ctb
@@ -0,0 +1,331 @@
+# Liblouis: Danish table for 8 dots computer Braille (G0) 1993
+#
+#  Copyright (C) 2014, 2016-2021, 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  is the Danish table for 8 dots computer Braille 1993.
+# Use this table for translation and back-translation of Danish 8 dots computer Braille (Octo-Braille).
+#
+# Version: Bue Vester-Andersen, December 2022
+
+### Table Metadata
+
+#-name: Dansk computer 1993
+#-index-name: Danish, computer, 1993
+#-display-name: Danish computer braille (1993 standard)
+
+#+language: da
+#+type: computer
+#+contraction: no
+#+grade: 0
+#+dots: 8
+#+direction: both
+#+system: ddp
+#+version: 1993
+
+
+# Display upcodes
+include da-dk-octobraille_1993.dis
+
+### Character definitions
+
+sign \x0000 8 NULL
+sign \x0001 178 START OF HEADING
+sign \x0002 1278 START OF TEXT
+sign \x0003 1478 END OF TEXT
+sign \x0004 14578 END OF TRANSMISSION
+sign \x0005 24568 ENQUIRY
+sign \x0006 12478 ACKNOWLEDGE
+sign \x0007 124578 BELL
+sign \x0008 12578 BACKSPACE
+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)
+sign \x000e 134578 SHIFT OUT
+sign \x000f 12358 SHIFT IN
+sign \x0010 123478 DATA LINK ESCAPE
+sign \x0011 1234578 DEVICE CONTROL ONE
+sign \x0012 13568 DEVICE CONTROL TWO
+sign \x0013 4578 DEVICE CONTROL THREE
+sign \x0014 268 DEVICE CONTROL FOUR
+sign \x0015 13678 NEGATIVE ACKNOWLEDGE
+sign \x0016 278 SYNCHRONOUS IDLE
+sign \x0017 3578 END OF TRANSMISSION BLOCK
+sign \x0018 78 CANCEL
+sign \x0019 68 END OF MEDIUM
+sign \x001a 135678 SUBSTITUTE
+sign \x001b 2678 ESCAPE
+sign \x001c 45678 INFORMATION SEPARATOR FOUR
+sign \x001d 12368 INFORMATION SEPARATOR THREE
+sign \x001e 1234678 INFORMATION SEPARATOR TWO
+sign \x001f 235678 INFORMATION SEPARATOR ONE
+space \s 0 SPACE
+punctuation ! 235 EXCLAMATION MARK
+punctuation " 2356 QUOTATION MARK
+punctuation # 34568 NUMBER SIGN
+sign $ 25678 DOLLAR SIGN
+math % 24578 PERCENT SIGN
+sign & 123468 AMPERSAND
+punctuation ' 4 APOSTROPHE
+punctuation ( 2368 LEFT PARENTHESIS
+punctuation ) 3568 RIGHT PARENTHESIS
+punctuation * 35 ASTERISK
+math + 2358 PLUS SIGN
+punctuation , 2 COMMA
+punctuation - 368 HYPHEN-MINUS
+punctuation . 3 FULL STOP
+punctuation / 348 SLASH
+include digits8Dots.uti
+punctuation : 25 COLON
+punctuation ; 23 SEMICOLON
+math < 358 LESS-THAN SIGN
+math = 23568 EQUALS SIGN
+math > 267 GREATER-THAN SIGN
+punctuation ? 26 QUESTION MARK
+sign @ 478 COMMERCIAL AT
+uppercase A 17 Latin capital letter A
+uppercase B 127 Latin capital letter B
+uppercase C 147 Latin capital letter C
+uppercase D 1457 Latin capital letter D
+uppercase E 157 Latin capital letter E
+uppercase F 1247 Latin capital letter F
+uppercase G 12457 Latin capital letter G
+uppercase H 1257 Latin capital letter H
+uppercase I 247 Latin capital letter I
+uppercase J 2457 Latin capital letter J
+uppercase K 137 Latin capital letter K
+uppercase L 1237 Latin capital letter L
+uppercase M 1347 Latin capital letter M
+uppercase N 13457 Latin capital letter N
+uppercase O 1357 Latin capital letter O
+uppercase P 12347 Latin capital letter P
+uppercase Q 123457 Latin capital letter Q
+uppercase R 12357 Latin capital letter R
+uppercase S 2347 Latin capital letter S
+uppercase T 23457 Latin capital letter T
+uppercase U 1367 Latin capital letter U
+uppercase V 12367 Latin capital letter V
+uppercase W 24567 Latin capital letter W
+uppercase X 13467 Latin capital letter X
+uppercase Y 134567 Latin capital letter Y
+uppercase Z 13567 Latin capital letter Z
+punctuation [ 23678 LEFT SQUARE BRACKET
+punctuation \\ 347 REVERSE SLASH
+punctuation ] 35678 RIGHT SQUARE BRACKET
+punctuation ^ 12348 CIRCUMFLEX ACCENT
+punctuation _ 3678 LOW LINE
+punctuation ` 5 GRAVE ACCENT
+lowercase a 1 Latin small letter A
+lowercase b 12 Latin small letter B
+lowercase c 14 Latin small letter C
+lowercase d 145 Latin small letter D
+lowercase e 15 Latin small letter E
+lowercase f 124 Latin small letter F
+lowercase g 1245 Latin small letter G
+lowercase h 125 Latin small letter H
+lowercase i 24 Latin small letter I
+lowercase j 245 Latin small letter J
+lowercase k 13 Latin small letter K
+lowercase l 123 Latin small letter L
+lowercase m 134 Latin small letter M
+lowercase n 1345 Latin small letter N
+lowercase o 135 Latin small letter O
+lowercase p 1234 Latin small letter P
+lowercase q 12345 Latin small letter Q
+lowercase r 1235 Latin small letter R
+lowercase s 234 Latin small letter S
+lowercase t 2345 Latin small letter T
+lowercase u 136 Latin small letter U
+lowercase v 1236 Latin small letter V
+lowercase w 2456 Latin small letter W
+lowercase x 1346 Latin small letter X
+lowercase y 13456 Latin small letter Y
+lowercase z 1356 Latin small letter Z
+punctuation { 123678 LEFT CURLY BRACKET
+punctuation | 4568 VERTICAL LINE
+punctuation } 345678 RIGHT CURLY BRACKET
+punctuation ~ 467 TILDE
+sign \x007f 7 DELETE
+sign \x20AC 1578 #EURO SIGN (0x80)
+sign \x0081 45 <control-0081>
+punctuation \x201A 457 #Low single quote (0x82)
+sign \x0192 58 #Flurihn (0x83)
+punctuation \x201E 2378 #Low quote (0x84)
+punctuation \x2026 6 #Elipsis (0x85)
+sign \x2020 2357 #Dagger (0x86
+sign \x2021 23578 #Double dagger (0x87
+sign \x02c6 5678 #Modifier letter circumflex (0x88)
+math \x2030 245678 #permille sign (0x89)
+uppercase \x0160 23478 #Latin  capital Letter S with caron (0x8a/0x9a)
+punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
+sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
+uppercase \x017d 3467 #Latin capital letter Z with caron (0x8e)
+sign \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
+sign \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
+punctuation \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
+punctuation \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+sign \x2022 37 #Bullit (0x95)
+sign \x2013 36 #EN DASH (0x96)
+sign \x2014 367 #Em DASH (0x97)
+sign \x02DC 46 #small TILDE (0x98)
+sign \x2122 234578 #TRADE MARK SIGN (0x99)
+lowercase \x0161 2348 #Latin  lowercase Letter S with caron (0x8a/0x9a)
+punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+lowercase \x0153 1358 #Latin small LIGATURE OE (0x9c)
+letter \x009d 2567 OPERATING SYSTEM COMMAND
+lowercase \x017E 346 #Latin small letter Z with caron (0x9e)
+uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
+# FIXME: this rule now actually works, so adapt tests
+punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
+punctuation \x00a2 2578 CENT SIGN (0xa2)
+punctuation \x00a3 1238 POUND SIGN (0xa3)
+punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
+punctuation \x00a5 67 YEN SIGN (0xa5)
+punctuation \x00a6 3478 BROKEN BAR (0xa6)
+punctuation \x00a7 578 SECTION SIGN (0xa7)
+punctuation \x00a8 56 DIAERESIS (0xa8)
+punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
+letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
+punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
+punctuation \x00ac 34567 NOT SIGN (0xac)
+letter \x00ad 378 SOFT HYPHEN (0xad)
+punctuation \x00ae 123578 Registered sign (0xae)
+punctuation \x00af 23567 macron (0xaf)
+sign \x00b0 356 Degree sign (0xb0)
+math \x00b1 123458 PLUS-MINUS SIGN
+punctuation \x00b2 238 SUPERSCRIPT TWO
+punctuation \x00b3 258 SUPERSCRIPT THREE
+punctuation \x00b4 468 acute ACCENT
+sign \x00b5 236 MICRO SIGN
+punctuation \x00b6 1234568 PILCROW SIGN
+punctuation \x00b7 38 MIDDLE DOT
+punctuation \x00b8 4678 CEDILLA
+punctuation \x00b9 28 SUPERSCRIPT ONE
+letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
+punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
+punctuation \x00bd 458 VULGAR FRACTION ONE HALF
+punctuation \x00be 3456 VULGAR FRACTION THREE QUARTERS
+punctuation \x00bf 34 INVERTED QUESTION MARK
+uppercase \x00c0 123567 Latin capital letter A with GRAVE
+uppercase \x00c1 1235678 Latin capital letter A with acute
+uppercase \x00c2 1678 Latin capital letter A with CIRCUMFLEX
+uppercase \x00c3 14678 Latin capital letter A with TILDE
+uppercase \x00c4 34578 Latin capital letter A with DIAERESIS
+uppercase \x00c5 167 Latin capital letter A with RING ABOVE
+uppercase \x00c6 3457 Latin capital letter AE
+uppercase \x00c7 123467 Latin capital letter C with CEDILLA
+uppercase \x00c8 23467 Latin capital letter E with GRAVE
+uppercase \x00c9 1234567 Latin capital letter E with acute
+uppercase \x00ca 1267 Latin capital letter E with CIRCUMFLEX
+uppercase \x00cb 12467 Latin capital letter E with DIAERESIS
+uppercase \x00cc 15678 Latin capital letter I with GRAVE
+uppercase \x00cd 12678 Latin capital letter I with acute
+uppercase \x00ce 1467 Latin capital letter I with CIRCUMFLEX
+uppercase \x00cf 124567 Latin capital letter I with DIAERESIS
+uppercase \x00d0 1345678 Latin capital letter ETH
+uppercase \x00d1 1245678 Latin capital letter N with TILDE
+uppercase \x00d2 124678 Latin capital letter O with GRAVE
+uppercase \x00d3 34678 Latin capital letter O with acute
+uppercase \x00d4 14567 Latin capital letter O with CIRCUMFLEX
+uppercase \x00d5 145678 Latin capital letter O with TILDE
+uppercase \x00d6 24678 Latin capital letter O with DIAERESIS
+math \x00d7 13468 MULTIPLICATION SIGN
+uppercase \x00d8 2467 Latin capital letter O with STROKE
+uppercase \x00d9 234567 Latin capital letter U with GRAVE
+uppercase \x00da 125678 Latin capital letter U with acute
+uppercase \x00db 1567 Latin capital letter U with CIRCUMFLEX
+uppercase \x00dc 12567 Latin capital letter U with DIAERESIS
+uppercase \x00dd 13478 Latin capital letter Y with acute (infinite?)
+uppercase \x00de 1378 Latin capital letter THORN
+lowercase \x00df 23468 Latin small letter SHARP S
+lowercase \x00e0 12356 Latin small letter A with GRAVE
+lowercase \x00e1 123568 Latin small letter A with acute
+lowercase \x00e2 168 Latin small letter A with CIRCUMFLEX
+lowercase \x00e3 1468 Latin small letter A with TILDE
+lowercase \x00e4 3458 Latin small letter A with DIAERESIS
+lowercase \x00e5 16 Latin small letter A with RING ABOVE
+lowercase \x00e6 345 Latin small letter AE
+lowercase \x00e7 12346 Latin small letter C with CEDILLA
+lowercase \x00e8 2346 Latin small letter E with GRAVE
+lowercase \x00e9 123456 Latin small letter E with acute
+lowercase \x00ea 126 Latin small letter E with CIRCUMFLEX
+lowercase \x00eb 1246 Latin small letter E with DIAERESIS
+lowercase \x00ec 1568 Latin small letter I with GRAVE
+lowercase \x00ed 1268 Latin small letter I with acute
+lowercase \x00ee 146 Latin small letter I with CIRCUMFLEX
+lowercase \x00ef 12456 Latin small letter I with DIAERESIS
+lowercase \x00f0 134568 Latin small letter ETH
+lowercase \x00f1 124568 Latin small letter N with TILDE
+lowercase \x00f2 12468 Latin small letter O with GRAVE
+lowercase \x00f3 3468 Latin small letter O with acute
+lowercase \x00f4 1456 Latin small letter O with CIRCUMFLEX
+lowercase \x00f5 14568 Latin small letter O with TILDE
+lowercase \x00f6 2468 Latin small letter O with DIAERESIS
+math \x00f7 2568 DIVISION SIGN
+lowercase \x00f8 246 Latin small letter O with STROKE
+lowercase \x00f9 23456 Latin small letter U with GRAVE
+lowercase \x00fa 12568 Latin small letter U with acute
+lowercase \x00fb 156 Latin small letter U with CIRCUMFLEX
+lowercase \x00fc 1256 Latin small letter U with DIAERESIS
+lowercase \x00fd 1348 Latin small letter Y with acute
+lowercase \x00fe 138 Latin small letter THORN
+lowercase \x00ff 234568 Latin small letter Y with DIAERESIS
+
+# In CP-1252 the following chars are different from Unicode.
+# This placement ensures that Liblouis will always return the unicode when back-translating.
+sign \x0080 1578 #EURO SIGN (0x80)
+punctuation \x0082 457 #Low single quote (0x82)
+sign \x0083 58 #Flurihn (0x83)
+punctuation \x0084 2378 #Low quote (0x84)
+punctuation \x0085 6 #Elipsis (0x85)
+letter \x0086 2357 #Dagger (0x86
+letter \x0087 23578 #Double dagger (0x87
+letter \x0088 5678 #Modifier letter circumflex (0x88)
+math \x0089 245678 #permille sign (0x89)
+uppercase \x008a 23478 #Latin letter S with caron (0x8a)
+lowercase \x009a 2348
+punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
+lowercase \x009c 1358
+uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
+lowercase \x009e 346
+punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
+punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+sign \x0095 37 #Bullit (0x95)
+sign \x0096 36 #EN DASH (0x96)
+sign \x0097 367 #Em DASH (0x97)
+sign \x0098 46 #small TILDE (0x98)
+sign \x0099 234578 #TRADE MARK SIGN (0x99)
+punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+uppercase \x009f 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
+
+#Unicode Braille patterns
+include braille-patterns.cti
+
+undefined 26
diff --git a/tables/da-dk-g16-lit.ctb b/tables/da-dk-g16-lit_1993.ctb
similarity index 95%
rename from tables/da-dk-g16-lit.ctb
rename to tables/da-dk-g16-lit_1993.ctb
index 19b4946..a9f1b3b 100644
--- a/tables/da-dk-g16-lit.ctb
+++ b/tables/da-dk-g16-lit_1993.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 1 forward translation (literary)
+# Liblouis: Danish table for 6 dots grade 1 forward translation (literary) 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -20,17 +20,17 @@
 #
 #------------
 #
-# This  is the Danish  6 dots grade 1 table for forward translation (literary / not back-translateable).
+# This  is the Danish  6 dots grade 1 table for forward translation (literary / not back-translateable) 1993.
 # 
 # The output from this table is mainly ment for embossing and not suited for back-translation.
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk fuldskrift 6-punkt
-#-index-name: Danish, uncontracted, 6-dot
-#-display-name: Danish 6-dot uncontracted braille
+#-name: Dansk fuldskrift 6-punkt 1993
+#-index-name: Danish, uncontracted, 6-dot, 1993
+#-display-name: Danish 6-dot uncontracted braille (1993 standard)
 
 #+language: da
 #+type: literary
@@ -38,9 +38,11 @@
 #+grade: 1
 #+dots: 6
 #+direction: forward
+#+system: ddp
+#+version: 1993
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Spaces
 
@@ -116,7 +118,7 @@
 punctuation ~ 45-6 TILDE
 
 # Misc unicode characters
-include da-dk-6miscChars.cti
+include da-dk-6miscChars_1993.cti
 
 # Litdigits
 include litdigits6Dots.uti
diff --git a/tables/da-dk-g16.ctb b/tables/da-dk-g16.ctb
index c92d11d..c1adf87 100644
--- a/tables/da-dk-g16.ctb
+++ b/tables/da-dk-g16.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 1 forward and backward translation 
+# Liblouis: Danish table for 6 dots grade 1 forward and backward translation 2022
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -18,13 +18,19 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 #
-# Version: Bue Vester-Andersen, 200302
+# This  is the Danish table for 6 dots grade 1 Braille (fuldskrift) DDP2022.
+# Use this table for translation and back-translation of Danish 6 dots grade 1 Braille.
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
+#
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk fuldskrift 6-punkt
-#-index-name: Danish, uncontracted, 6-dot
-#-display-name: Danish 6-dot uncontracted braille
+#-name: Dansk fuldskrift 6-punkt 2022
+#-index-name: Danish, uncontracted, 6-dot, 2022
+#-display-name: Danish 6-dot uncontracted braille (2022 standard)
 
 #+language: da
 #+type: literary
@@ -32,20 +38,13 @@
 #+grade: 1
 #+dots: 6
 #+direction: both
+#+system: ddp
+#+version: 2022
 
 # 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
@@ -71,17 +70,22 @@
 
 punctuation \x00a7 346 SECTION SIGN (0xa7)
 
+lowercase \x00e0 12356 LATIN LETTER A WITH GRAVE
 lowercase \x00e5 16 LATIN LETTER A WITH RING ABOVE
 lowercase \x00e6 345 LATIN LETTER AE
+lowercase \x00e8 2346 LATIN LETTER E WITH GRAVE
+lowercase \x00e9 123456 LATIN LETTER E WITH ACUTE
 lowercase \x00f8 246 LATIN LETTER O WITH STROKE
 lowercase \x00fc 1256 LATIN LETTER U WITH DIAERESIS
 
+base uppercase \x00c0 \x00e0 LATIN LETTER A WITH GRAVE
 base uppercase \x00c5 \x00e5 LATIN LETTER A WITH RING ABOVE
 base uppercase \x00c6 \x00e6 LATIN LETTER AE
+base uppercase \x00c8 \x00e8 LATIN LETTER E WITH GRAVE
+base uppercase \x00c9 \x00e9 LATIN LETTER E WITH ACUTE
 base uppercase \x00d8 \x00f8 LATIN LETTER O WITH STROKE
 base uppercase \x00dc \x00fc LATIN LETTER U WITH DIAERESIS
 
-math \x00f7 256 DIVISION SIGN
 
 # cover all other Braille patterns
 include braille-patterns.cti
@@ -89,25 +93,24 @@
 # Characters with two or more cells
 
 punctuation # 45-3456 NUMBER SIGN
-sign $ 45-256 DOLLAR SIGN
+sign $ 45-145 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 \\ 45-34 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 | 4568 VERTICAL LINE
+punctuation | 45-1236 VERTICAL LINE
 punctuation } 45-135 RIGHT CURLY BRACKET
-punctuation ~ 467 TILDE (changed by pass 2 to not conflict with indicators
+punctuation ~ 45-23 TILDE
+math \x00f7 45-256 DIVISION SIGN
 
 # Misc unicode characters
 include da-dk-6miscChars.cti
@@ -121,36 +124,36 @@
 
 #hyphen - 36
 
-letsign 6
+letsign 56
 
 # No letsign before normal letters or letters with accents
 # Letters with accents are handled by pass2.
-noletsign ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÄÖÜ\x0152
-noletsign abcdefghijklmnopqrstuvwxyzæøåäöü\x00df\x0149\x0153
+noletsign ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅÀÄÈÉÖÜ\x0152
+noletsign abcdefghijklmnopqrstuvwxyzæøåàäèéöü\x00df\x0149\x0153
 
 # Emphasis opcodes
 emphclass italic
 emphclass underline
 emphclass bold
 
-begemphphrase italic 56
-endemphphrase italic after 56
+begemphphrase italic 46
+endemphphrase italic after 46
 
-begemphphrase bold 56
-endemphphrase bold after 56
+begemphphrase bold 46
+endemphphrase bold after 46
 
-begemphphrase underline 56
-endemphphrase underline after 56
+begemphphrase underline 46
+endemphphrase underline after 46
 
-capsletter 46
+capsletter 6
 begcapsword 456
-endcapsword 6
-multind 6-46 letsign capsletter
-multind 46-6 capsletter letsign
-multind 6-456 letsign begcapsword
+endcapsword 56
+multind 56-6 letsign capsletter
+multind 6-56 capsletter letsign
+multind 46-456 letsign begcapsword
 
 numsign 3456
-multind 6-3456 letsign numsign
+multind 56-3456 letsign numsign
 
 #class of none-space characters that demand double dashes
 # Used in context lines later.
@@ -191,13 +194,6 @@
 #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/" "|"
@@ -207,20 +203,13 @@
 # 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
 
 midnum ^ 45-346
-midnum \x00d7 45-3
-
-# Remove space between § and numbers.
-noback begnum § 346
-begnum §\s 346
-begnum §§\s 346-346
-always §§ 346-346
+midnum \x00d7 45-35
 
 # Punctuation
 prepunc " 2356
@@ -235,8 +224,8 @@
 always ----- 36-36-36-36-36
 
 # 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
+attribute SepToRightpar Jj%\x2030\x0089\x201a\x0082\x2039\x009b\x2018\x0091\x2019\x0092\x203a\x009b
+after SepToRightpar always ) 56-356
 
 prepunc ( 236
 postpunc ) 356
@@ -259,9 +248,9 @@
 noback context !$sw["-"]~ @36
 noback context `["-"]~ @36-36
 
-#ensure dot 6 between a digit and a letter
-noback context $dy[]$u @6
-noback context $dy$Spm.[]$u @6
+#ensure letsign between a digit and a letter
+noback context $dy[]$u @56
+noback context $dy$Spm.[]$u @56
 
 ### context - backward translation
 
@@ -277,27 +266,18 @@
 
 ### Pass 2 - forward translation
 
-# Correct tilde and vertical line
-noback pass2 @467 @45-6
-noback pass2 @4568 @45-456
-
-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 @6-46 @46-6 # Ensure correct order
+noback pass2 @56-5 @5 # no letsign before letters with accent
+noback pass2 @56-6-5 @6-5 # no letsign before cap letters with accent
+noback pass2 @56-6 @6-56 # Ensure correct order
 
  ### Pass 2 - backward
 
 ### Pass 3 - forward translation
 
 # Ensure there is only one letsign
- noback pass3 @6-6 @6
+ noback pass3 @56-56 @56
 
 # Ensure there is only one emphasis sign
-noback pass3 @56-56 @56
-noback pass3 @56-56-56 @56
+noback pass3 @46-46 @46
+noback pass3 @46-46-46 @46
 
-### Pass 3 - backward translation
-
-# save ~ and |  before inserting extra letsigns and endcapsword in pass 2.
-nofor pass3 @45-6 @468 # Create alternative representation of "~"
-nofor pass3 @45-456 @4568
diff --git a/tables/da-dk-g16-lit.ctb b/tables/da-dk-g16_1993.ctb
similarity index 61%
copy from tables/da-dk-g16-lit.ctb
copy to tables/da-dk-g16_1993.ctb
index 19b4946..71d0a77 100644
--- a/tables/da-dk-g16-lit.ctb
+++ b/tables/da-dk-g16_1993.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 1 forward translation (literary)
+# Liblouis: Danish table for 6 dots grade 1 forward and backward translation (1993)
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -18,29 +18,25 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 #
-#------------
-#
-# This  is the Danish  6 dots grade 1 table for forward translation (literary / not back-translateable).
-# 
-# The output from this table is mainly ment for embossing and not suited for back-translation.
-#
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk fuldskrift 6-punkt
-#-index-name: Danish, uncontracted, 6-dot
-#-display-name: Danish 6-dot uncontracted braille
+#-name: Dansk fuldskrift 6-punkt 1993
+#-index-name: Danish, uncontracted, 6-dot, 1993
+#-display-name: Danish 6-dot uncontracted braille (1993 standard)
 
 #+language: da
 #+type: literary
 #+contraction: no
 #+grade: 1
 #+dots: 6
-#+direction: forward
+#+direction: both
+#+system: ddp
+#+version: 1993
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Spaces
 
@@ -81,13 +77,13 @@
 lowercase \x00e6 345 LATIN LETTER AE
 lowercase \x00f8 246 LATIN LETTER O WITH STROKE
 lowercase \x00fc 1256 LATIN LETTER U WITH DIAERESIS
-math \x00f7 256 DIVISION SIGN
 
-# Uppercase letters
 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
-base uppercase \x00dc \x00fc LATIN CAPITAL LETTER U WITH DIAERESIS
+base uppercase \x00dc \x00fc LATIN LETTER U WITH DIAERESIS
+
+math \x00f7 256 DIVISION SIGN
 
 # cover all other Braille patterns
 include braille-patterns.cti
@@ -111,16 +107,16 @@
 punctuation _ 45-36 LOW LINE
 punctuation ` 4 GRAVE ACCENT
 punctuation { 45-246 LEFT CURLY BRACKET
-punctuation | 45-456 VERTICAL LINE
+punctuation | 4568 VERTICAL LINE
 punctuation } 45-135 RIGHT CURLY BRACKET
-punctuation ~ 45-6 TILDE
+punctuation ~ 467 TILDE (changed by pass 2 to not conflict with indicators
 
 # Misc unicode characters
-include da-dk-6miscChars.cti
+include da-dk-6miscChars_1993.cti
 
 # Litdigits
 include litdigits6Dots.uti
-
+midendnumericmodechars /,.:^
 undefined 26
 
 ### Braille indicators and special characters
@@ -148,24 +144,28 @@
 begemphphrase underline 56
 endemphphrase underline after 56
 
-capsletter 46 
+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.
 attribute charsWDoubleDash .,?!/:"'() # class w
 
-### Correct
+### 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 `["\x2030"] *
 noback correct !$sx["%"] " %"
+noback correct `["\x2030"] *
 noback correct !$sx["\x2030"] " \x2030"
 noback correct `["\x0089"] *
 noback correct !$sx["\x0089"] " \x2030"
@@ -186,43 +186,40 @@
 attribute apostrophes `\x201a\x0082\x2039\x008b\x2018\x0091\x2019\x0092\x203a\x009b\x00b4
 noback correct %apostrophes "'"
 
-# Convert most single caps to lowercase
+### Correct - backward translation
 
-#Special abbreviations with imbedded small letters.
-# Must be handled by case in this version of liblouis
-noback correct "KAbB" "KABB"
-noback correct "CUDiM" "CUDIM"
+# characters that may get mangled by the insertion of extra letsigns
+nofor correct "\x2818" "~"
+#nofor correct "\x282f" "&"
+#nofor correct "\x2814" "*"
 
-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
+# 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" 
 
-# I is a special case
-noback correct _$sp["I"]$sp "i"
-noback correct `["I"]$sp "i"
-noback correct _$sp["I"]~ "i"
+nofor correct "\x28a0" ? # Extraneous endcaps signs
+#nofor correct "\x2820" ?
+nofor correct "~\\456/" "|"
 
-noback correct $sSpu[%UpperLower]$u %UpperLower
-noback correct `[%UpperLower]$u %UpperLower
-
-noback correct $sSpu[%UpperLowerExt]$u %UpperLowerExt
-noback correct `[%UpperLowerExt]$u %UpperLowerExt
+### Pass 1 - Forward and backward
 
 # Punctuations, math and numbers
-midnum , 2
-midnum . 3
+#midnum , 2
+#midnum . 3
 # the following rule is doubtful, but probably does not apply.
 #midnum - 36
 endnum - 36
-midnum / 34
-midnum : 25
+#midnum / 34
+#midnum : 25
 
 midnum ^ 45-346
-midnum \x00d7 45-3-3456
+midnum \x00d7 45-3
 
 # Remove space between § and numbers.
-begnum § 346
+noback begnum § 346
 begnum §\s 346
 begnum §§\s 346-346
 always §§ 346-346
@@ -232,6 +229,7 @@
 postpunc " 2356
 prepunc - 36
 postpunc - 36
+nofor always \s-\s 0-36-36-0
 always :- 25-36
 always ;- 23-36
 always --- 36-36-36
@@ -253,17 +251,7 @@
 always !!!! 235-235-235-235
 always !!!!! 235-235-235-235-235
 
-### Context rules
-
-# 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
+### Context rules - forward translation
 
 # Ensure two dashes where appropriate.
 noback context $w["-"]$w @36
@@ -277,18 +265,41 @@
 noback context $dy[]$u @6
 noback context $dy$Spm.[]$u @6
 
-# Ensure dot 6 as nocaps
-#noback context $U2-50[]$u @6
+### context - backward translation
 
-### Pass 2
+# 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 tilde and vertical line
+noback pass2 @467 @45-6
+noback pass2 @4568 @45-456
 
 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 @45-6-46 * # don't touch tilde before capnoback pass2 @6-46 @46-6 # Ensure correct order
+noback pass2 @6-46 @46-6 # Ensure correct order
+
+ ### Pass 2 - backward
+
+### Pass 3 - forward translation
 
 # Ensure there is only one letsign
- noback pass2 @6-6 @6
+ noback pass3 @6-6 @6
 
 # Ensure there is only one emphasis sign
-noback pass2 @56-56 @56
-noback pass2 @56-56-56 @56
+noback pass3 @56-56 @56
+noback pass3 @56-56-56 @56
+
+### Pass 3 - backward translation
+
+# save ~ and |  before inserting extra letsigns and endcapsword in pass 2.
+nofor pass3 @45-6 @468 # Create alternative representation of "~"
+nofor pass3 @45-456 @4568
diff --git a/tables/da-dk-g18.ctb b/tables/da-dk-g18.ctb
index efe79b2..ca4fb24 100644
--- a/tables/da-dk-g18.ctb
+++ b/tables/da-dk-g18.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 8 dots grade 1
+# Liblouis: Danish table for 8 dots grade 1 2022
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -20,16 +20,19 @@
 #
 #------------
 #
-# This  is the Danish table for 8 dots grade 1 (fuldskrift).
+# This  is the Danish table for 8 dots grade 1 (fuldskrift) 2022.
 # Use this table for translation and back-translation of Danish 8 dots grade 1.
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk fuldskrift 8-punkt
-#-index-name: Danish, uncontracted, 8-dot
-#-display-name: Danish 8-dot uncontracted braille
+#-name: Dansk fuldskrift 8-punkt 2022
+#-index-name: Danish, uncontracted, 8-dot, 2022
+#-display-name: Danish 8-dot uncontracted braille (2022 standard)
 
 #+language: da
 #+type: literary
@@ -37,50 +40,21 @@
 #+grade: 1
 #+dots: 8
 #+direction: both
+#+system: ddp
+#+version: 2022
 
 # Display upcodes
 include da-dk-octobraille.dis
 
 ### Character definitions ###
+# Various spaces
+include spaces.uti
 
-sign \x0000 8 NULL
-sign \x0001 178 START OF HEADING
-sign \x0002 1278 START OF TEXT
-sign \x0003 1478 END OF TEXT
-sign \x0004 14578 END OF TRANSMISSION
-sign \x0005 24568 ENQUIRY
-sign \x0006 12478 ACKNOWLEDGE
-sign \x0007 124578 BELL
-sign \x0008 12578 BACKSPACE
-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)
-sign \x000e 134578 SHIFT OUT
-sign \x000f 12358 SHIFT IN
-sign \x0010 123478 DATA LINK ESCAPE
-sign \x0011 1234578 DEVICE CONTROL ONE
-sign \x0012 13568 DEVICE CONTROL TWO
-sign \x0013 4578 DEVICE CONTROL THREE
-sign \x0014 268 DEVICE CONTROL FOUR
-sign \x0015 13678 NEGATIVE ACKNOWLEDGE
-sign \x0016 278 SYNCHRONOUS IDLE
-sign \x0017 3578 END OF TRANSMISSION BLOCK
-sign \x0018 78 CANCEL
-sign \x0019 68 END OF MEDIUM
-sign \x001a 135678 SUBSTITUTE
-sign \x001b 2678 ESCAPE
-sign \x001c 45678 INFORMATION SEPARATOR FOUR
-sign \x001d 12368 INFORMATION SEPARATOR THREE
-sign \x001e 1234678 INFORMATION SEPARATOR TWO
-sign \x001f 235678 INFORMATION SEPARATOR ONE
-space \s 0 SPACE
 punctuation ! 235 EXCLAMATION MARK
 punctuation " 2356 QUOTATION MARK
 punctuation # 34568 NUMBER SIGN
-sign $ 25678 DOLLAR SIGN
-math % 24578 PERCENT SIGN
+sign $ 14578 DOLLAR SIGN
+math % 678 PERCENT SIGN
 sign & 123468 AMPERSAND
 punctuation ' 4 APOSTROPHE
 punctuation ( 2368 LEFT PARENTHESIS
@@ -88,130 +62,88 @@
 punctuation * 35 ASTERISK
 math + 2358 PLUS SIGN
 punctuation , 2 COMMA
-punctuation - 368 HYPHEN-MINUS
+punctuation - 36 HYPHEN-MINUS
 punctuation . 3 FULL STOP
 punctuation / 348 SLASH
+
+# Digits
 include digits8Dots.uti
+
 punctuation : 25 COLON
 punctuation ; 23 SEMICOLON
 math < 358 LESS-THAN SIGN
 math = 23568 EQUALS SIGN
 math > 267 GREATER-THAN SIGN
 punctuation ? 26 QUESTION MARK
-sign @ 478 COMMERCIAL AT
-uppercase A 17 LATIN CAPITAL LETTER A
-uppercase B 127 LATIN CAPITAL LETTER B
-uppercase C 147 LATIN CAPITAL LETTER C
-uppercase D 1457 LATIN CAPITAL LETTER D
-uppercase E 157 LATIN CAPITAL LETTER E
-uppercase F 1247 LATIN CAPITAL LETTER F
-uppercase G 12457 LATIN CAPITAL LETTER G
-uppercase H 1257 LATIN CAPITAL LETTER H
-uppercase I 247 LATIN CAPITAL LETTER I
-uppercase J 2457 LATIN CAPITAL LETTER J
-uppercase K 137 LATIN CAPITAL LETTER K
-uppercase L 1237 LATIN CAPITAL LETTER L
-uppercase M 1347 LATIN CAPITAL LETTER M
-uppercase N 13457 LATIN CAPITAL LETTER N
-uppercase O 1357 LATIN CAPITAL LETTER O
-uppercase P 12347 LATIN CAPITAL LETTER P
-uppercase Q 123457 LATIN CAPITAL LETTER Q
-uppercase R 12357 LATIN CAPITAL LETTER R
-uppercase S 2347 LATIN CAPITAL LETTER S
-uppercase T 23457 LATIN CAPITAL LETTER T
-uppercase U 1367 LATIN CAPITAL LETTER U
-uppercase V 12367 LATIN CAPITAL LETTER V
-uppercase W 24567 LATIN CAPITAL LETTER W
-uppercase X 13467 LATIN CAPITAL LETTER X
-uppercase Y 134567 LATIN CAPITAL LETTER Y
-uppercase Z 13567 LATIN CAPITAL LETTER Z
+sign @ 178 COMMERCIAL AT
+
+# Latin letters
+include latinLetterDef8Dots.uti
+
 punctuation [ 23678 LEFT SQUARE BRACKET
 punctuation \\ 347 REVERSE SLASH
 punctuation ] 35678 RIGHT SQUARE BRACKET
 punctuation ^ 12348 CIRCUMFLEX ACCENT
 punctuation _ 3678 LOW LINE
 punctuation ` 5 GRAVE ACCENT
-lowercase a 1 LATIN SMALL LETTER A
-lowercase b 12 LATIN SMALL LETTER B
-lowercase c 14 LATIN SMALL LETTER C
-lowercase d 145 LATIN SMALL LETTER D
-lowercase e 15 LATIN SMALL LETTER E
-lowercase f 124 LATIN SMALL LETTER F
-lowercase g 1245 LATIN SMALL LETTER G
-lowercase h 125 LATIN SMALL LETTER H
-lowercase i 24 LATIN SMALL LETTER I
-lowercase j 245 LATIN SMALL LETTER J
-lowercase k 13 LATIN SMALL LETTER K
-lowercase l 123 LATIN SMALL LETTER L
-lowercase m 134 LATIN SMALL LETTER M
-lowercase n 1345 LATIN SMALL LETTER N
-lowercase o 135 LATIN SMALL LETTER O
-lowercase p 1234 LATIN SMALL LETTER P
-lowercase q 12345 LATIN SMALL LETTER Q
-lowercase r 1235 LATIN SMALL LETTER R
-lowercase s 234 LATIN SMALL LETTER S
-lowercase t 2345 LATIN SMALL LETTER T
-lowercase u 136 LATIN SMALL LETTER U
-lowercase v 1236 LATIN SMALL LETTER V
-lowercase w 2456 LATIN SMALL LETTER W
-lowercase x 1346 LATIN SMALL LETTER X
-lowercase y 13456 LATIN SMALL LETTER Y
-lowercase z 1356 LATIN SMALL LETTER Z
+
+# Lowercase letters, see above
+
 punctuation { 123678 LEFT CURLY BRACKET
 punctuation | 4568 VERTICAL LINE
 punctuation } 345678 RIGHT CURLY BRACKET
-punctuation ~ 467 TILDE
+punctuation ~ 2378 TILDE
 sign \x007f 7 DELETE
 sign \x20AC 1578 #EURO SIGN (0x80)
-sign \x0081 45 <control-0081>
+sign \x0081 2357 <control-0081>
 punctuation \x201A 457 #Low single quote (0x82)
 sign \x0192 58 #Flurihn (0x83)
-punctuation \x201E 2378 #Low quote (0x84)
-letter \x2020 2357 #Dagger (0x86
-letter \x2021 23578 #Double dagger (0x87
-letter \x02c6 5678 #Modifier letter circumflex (0x88)
+punctuation \x201E 467 #Low quote (0x84)
+punctuation \x2026 6 #Elipsis (0x85)
+sign \x2020 45 #Dagger (0x86
+sign \x2021 456 #Double dagger (0x87
+sign \x02c6 5678 #Modifier letter circumflex (0x88)
 math \x2030 245678 #permille sign (0x89)
-uppercase \x0160 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
-punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
-uppercase \x0152 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
+punctuation \x2039 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
 sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
-uppercase \x017d 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
-letter \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
-letter \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
+uppercase \x017d 3467 #Latin capital letter Z with caron (0x8e)
+sign \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
+sign \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
 punctuation \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
 punctuation \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
 punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 sign \x2022 37 #Bullit (0x95)
-sign \x02DC 46 #SMALL TILDE (0x98)
+sign \x2013 368 #EN DASH (0x96)
+sign \x2014 367 #Em DASH (0x97)
+sign \x02DC 23478 #small TILDE (0x98)
 sign \x2122 234578 #TRADE MARK SIGN (0x99)
-lowercase \x0161 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
 punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
-lowercase \x0153 1358 #LATIN SMALL LIGATURE OE (0x9c)
+lowercase \x0153 1358 #Latin small LIGATURE OE (0x9c)
 letter \x009d 2567 OPERATING SYSTEM COMMAND
-lowercase \x017E 346 #LATIN SMALL LETTER Z WITH CARON (0x9e)
-uppercase \x0178 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
-punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+lowercase \x017E 346 #Latin small letter Z with caron (0x9e)
+uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
 punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 punctuation \x00a2 2578 CENT SIGN (0xa2)
-punctuation \x00a3 1238 POUND SIGN (0xa3)
+punctuation \x00a3 12378 POUND SIGN (0xa3)
 punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
-punctuation \x00a5 67 YEN SIGN (0xa5)
+punctuation \x00a5 1345678 YEN SIGN (0xa5)
 punctuation \x00a6 3478 BROKEN BAR (0xa6)
 punctuation \x00a7 578 SECTION SIGN (0xa7)
 punctuation \x00a8 56 DIAERESIS (0xa8)
-punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
+punctuation \x00a9 1478 COPYRIGHT SIGN (0xa9)
 letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
 punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
 punctuation \x00ac 34567 NOT SIGN (0xac)
 letter \x00ad 378 SOFT HYPHEN (0xad)
-punctuation \x00ae 123578 REGISTERED SIGN (0xae)
-punctuation \x00af 23567 MACRON (0xaf)
-sign \x00b0 356 DEGREE SIGN (0xb0)
-math \x00b1 123458 PLUS-MINUS SIGN
+punctuation \x00ae 123578 Registered sign (0xae)
+punctuation \x00af 23567 macron (0xaf)
+sign \x00b0 356 Degree sign (0xb0)
+math \x00b1 12478 PLUS-MINUS SIGN
 punctuation \x00b2 238 SUPERSCRIPT TWO
 punctuation \x00b3 258 SUPERSCRIPT THREE
-punctuation \x00b4 468 ACUTE ACCENT
+punctuation \x00b4 458 acute ACCENT
 sign \x00b5 236 MICRO SIGN
 punctuation \x00b6 1234568 PILCROW SIGN
 punctuation \x00b7 38 MIDDLE DOT
@@ -219,101 +151,104 @@
 punctuation \x00b9 28 SUPERSCRIPT ONE
 letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
 punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
-punctuation \x00bd 458 VULGAR FRACTION ONE HALF
-punctuation \x00be 3456 VULGAR FRACTION THREE QUARTERS
+punctuation \x00bc 1368 VULGAR FRACTION ONE QUARTER
+punctuation \x00bd 468 VULGAR FRACTION ONE HALF
+punctuation \x00be 13468 VULGAR FRACTION THREE QUARTERS
 punctuation \x00bf 34 INVERTED QUESTION MARK
-uppercase \x00c0 123567 LATIN CAPITAL LETTER A WITH GRAVE
-uppercase \x00c1 1235678 LATIN CAPITAL LETTER A WITH ACUTE
-uppercase \x00c2 1678 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
-uppercase \x00c3 14678 LATIN CAPITAL LETTER A WITH TILDE
-uppercase \x00c4 34578 LATIN CAPITAL LETTER A WITH DIAERESIS
-uppercase \x00c5 167 LATIN CAPITAL LETTER A WITH RING ABOVE
-uppercase \x00c6 3457 LATIN CAPITAL LETTER AE
-uppercase \x00c7 123467 LATIN CAPITAL LETTER C WITH CEDILLA
-uppercase \x00c8 23467 LATIN CAPITAL LETTER E WITH GRAVE
-uppercase \x00c9 1234567 LATIN CAPITAL LETTER E WITH ACUTE
-uppercase \x00ca 1267 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
-uppercase \x00cb 12467 LATIN CAPITAL LETTER E WITH DIAERESIS
-uppercase \x00cc 15678 LATIN CAPITAL LETTER I WITH GRAVE
-uppercase \x00cd 12678 LATIN CAPITAL LETTER I WITH ACUTE
-uppercase \x00ce 1467 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
-uppercase \x00cf 124567 LATIN CAPITAL LETTER I WITH DIAERESIS
-uppercase \x00d0 1345678 LATIN CAPITAL LETTER ETH
-uppercase \x00d1 1245678 LATIN CAPITAL LETTER N WITH TILDE
-uppercase \x00d2 124678 LATIN CAPITAL LETTER O WITH GRAVE
-uppercase \x00d3 34678 LATIN CAPITAL LETTER O WITH ACUTE
-uppercase \x00d4 14567 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
-uppercase \x00d5 145678 LATIN CAPITAL LETTER O WITH TILDE
-uppercase \x00d6 24678 LATIN CAPITAL LETTER O WITH DIAERESIS
-math \x00d7 13468 MULTIPLICATION SIGN
-uppercase \x00d8 2467 LATIN CAPITAL LETTER O WITH STROKE
-uppercase \x00d9 234567 LATIN CAPITAL LETTER U WITH GRAVE
-uppercase \x00da 125678 LATIN CAPITAL LETTER U WITH ACUTE
-uppercase \x00db 1567 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
-uppercase \x00dc 12567 LATIN CAPITAL LETTER U WITH DIAERESIS
-uppercase \x00dd 13478 LATIN CAPITAL LETTER Y WITH ACUTE (infinite?)
-uppercase \x00de 1378 LATIN CAPITAL LETTER THORN
-lowercase \x00df 23468 LATIN SMALL LETTER SHARP S
-lowercase \x00e0 12356 LATIN SMALL LETTER A WITH GRAVE
-lowercase \x00e1 123568 LATIN SMALL LETTER A WITH ACUTE
-lowercase \x00e2 168 LATIN SMALL LETTER A WITH CIRCUMFLEX
-lowercase \x00e3 1468 LATIN SMALL LETTER A WITH TILDE
-lowercase \x00e4 3458 LATIN SMALL LETTER A WITH DIAERESIS
-lowercase \x00e5 16 LATIN SMALL LETTER A WITH RING ABOVE
-lowercase \x00e6 345 LATIN SMALL LETTER AE
-lowercase \x00e7 12346 LATIN SMALL LETTER C WITH CEDILLA
-lowercase \x00e8 2346 LATIN SMALL LETTER E WITH GRAVE
-lowercase \x00e9 123456 LATIN SMALL LETTER E WITH ACUTE
-lowercase \x00ea 126 LATIN SMALL LETTER E WITH CIRCUMFLEX
-lowercase \x00eb 1246 LATIN SMALL LETTER E WITH DIAERESIS
-lowercase \x00ec 1568 LATIN SMALL LETTER I WITH GRAVE
-lowercase \x00ed 1268 LATIN SMALL LETTER I WITH ACUTE
-lowercase \x00ee 146 LATIN SMALL LETTER I WITH CIRCUMFLEX
-lowercase \x00ef 12456 LATIN SMALL LETTER I WITH DIAERESIS
-lowercase \x00f0 134568 LATIN SMALL LETTER ETH
-lowercase \x00f1 124568 LATIN SMALL LETTER N WITH TILDE
-lowercase \x00f2 12468 LATIN SMALL LETTER O WITH GRAVE
-lowercase \x00f3 3468 LATIN SMALL LETTER O WITH ACUTE
-lowercase \x00f4 1456 LATIN SMALL LETTER O WITH CIRCUMFLEX
-lowercase \x00f5 14568 LATIN SMALL LETTER O WITH TILDE
-lowercase \x00f6 2468 LATIN SMALL LETTER O WITH DIAERESIS
+uppercase \x00c0 123567 Latin capital letter A with GRAVE
+uppercase \x00c1 1235678 Latin capital letter A with acute
+uppercase \x00c2 1678 Latin capital letter A with CIRCUMFLEX
+uppercase \x00c3 14678 Latin capital letter A with TILDE
+uppercase \x00c4 34578 Latin capital letter A with DIAERESIS
+uppercase \x00c5 167 Latin capital letter A with RING ABOVE
+uppercase \x00c6 3457 Latin capital letter AE
+uppercase \x00c7 123467 Latin capital letter C with CEDILLA
+uppercase \x00c8 23467 Latin capital letter E with GRAVE
+uppercase \x00c9 1234567 Latin capital letter E with acute
+uppercase \x00ca 1267 Latin capital letter E with CIRCUMFLEX
+uppercase \x00cb 12467 Latin capital letter E with DIAERESIS
+uppercase \x00cc 15678 Latin capital letter I with GRAVE
+uppercase \x00cd 12678 Latin capital letter I with acute
+uppercase \x00ce 1467 Latin capital letter I with CIRCUMFLEX
+uppercase \x00cf 124567 Latin capital letter I with DIAERESIS
+uppercase \x00d0 67 Latin capital letter ETH
+uppercase \x00d1 1245678 Latin capital letter N with TILDE
+uppercase \x00d2 124678 Latin capital letter O with GRAVE
+uppercase \x00d3 34678 Latin capital letter O with acute
+uppercase \x00d4 14567 Latin capital letter O with CIRCUMFLEX
+uppercase \x00d5 145678 Latin capital letter O with TILDE
+uppercase \x00d6 24678 Latin capital letter O with DIAERESIS
+math \x00d7 3456 MULTIPLICATION SIGN
+uppercase \x00d8 2467 Latin capital letter O with STROKE
+uppercase \x00d9 234567 Latin capital letter U with GRAVE
+uppercase \x00da 125678 Latin capital letter U with acute
+uppercase \x00db 1567 Latin capital letter U with CIRCUMFLEX
+uppercase \x00dc 12567 Latin capital letter U with DIAERESIS
+uppercase \x00dd 235678 Latin capital letter Y with acute (infinite?)
+uppercase \x00de 1378 Latin capital letter THORN
+lowercase \x00df 23468 Latin small letter SHARP S
+lowercase \x00e0 12356 Latin small letter A with GRAVE
+lowercase \x00e1 123568 Latin small letter A with acute
+lowercase \x00e2 168 Latin small letter A with CIRCUMFLEX
+lowercase \x00e3 1468 Latin small letter A with TILDE
+lowercase \x00e4 3458 Latin small letter A with DIAERESIS
+lowercase \x00e5 16 Latin small letter A with RING ABOVE
+lowercase \x00e6 345 Latin small letter AE
+lowercase \x00e7 12346 Latin small letter C with CEDILLA
+lowercase \x00e8 2346 Latin small letter E with GRAVE
+lowercase \x00e9 123456 Latin small letter E with acute
+lowercase \x00ea 126 Latin small letter E with CIRCUMFLEX
+lowercase \x00eb 1246 Latin small letter E with DIAERESIS
+lowercase \x00ec 1568 Latin small letter I with GRAVE
+lowercase \x00ed 1268 Latin small letter I with acute
+lowercase \x00ee 146 Latin small letter I with CIRCUMFLEX
+lowercase \x00ef 12456 Latin small letter I with DIAERESIS
+lowercase \x00f0 134568 Latin small letter ETH
+lowercase \x00f1 124568 Latin small letter N with TILDE
+lowercase \x00f2 12468 Latin small letter O with GRAVE
+lowercase \x00f3 3468 Latin small letter O with acute
+lowercase \x00f4 1456 Latin small letter O with CIRCUMFLEX
+lowercase \x00f5 14568 Latin small letter O with TILDE
+lowercase \x00f6 2468 Latin small letter O with DIAERESIS
 math \x00f7 2568 DIVISION SIGN
-lowercase \x00f8 246 LATIN SMALL LETTER O WITH STROKE
-lowercase \x00f9 23456 LATIN SMALL LETTER U WITH GRAVE
-lowercase \x00fa 12568 LATIN SMALL LETTER U WITH ACUTE
-lowercase \x00fb 156 LATIN SMALL LETTER U WITH CIRCUMFLEX
-lowercase \x00fc 1256 LATIN SMALL LETTER U WITH DIAERESIS
-lowercase \x00fd 1348 LATIN SMALL LETTER Y WITH ACUTE
-lowercase \x00fe 138 LATIN SMALL LETTER THORN
-lowercase \x00ff 234568 LATIN SMALL LETTER Y WITH DIAERESIS
+lowercase \x00f8 246 Latin small letter O with STROKE
+lowercase \x00f9 23456 Latin small letter U with GRAVE
+lowercase \x00fa 12568 Latin small letter U with acute
+lowercase \x00fb 156 Latin small letter U with CIRCUMFLEX
+lowercase \x00fc 1256 Latin small letter U with DIAERESIS
+lowercase \x00fd 1348 Latin small letter Y with acute
+lowercase \x00fe 138 Latin small letter THORN
+lowercase \x00ff 234568 Latin small letter Y with DIAERESIS
 
 # In CP-1252 the following chars are different from Unicode.
 # This placement ensures that Liblouis will always return the unicode when back-translating.
 sign \x0080 1578 #EURO SIGN (0x80)
 punctuation \x0082 457 #Low single quote (0x82)
 sign \x0083 58 #Flurihn (0x83)
-punctuation \x0084 2378 #Low quote (0x84)
-letter \x0086 2357 #Dagger (0x86
-letter \x0087 23578 #Double dagger (0x87
+punctuation \x0084 467 #Low quote (0x84)
+punctuation \x0085 6 #Elipsis (0x85)
+letter \x0086 45 #Dagger (0x86
+letter \x0087 456 #Double dagger (0x87
 letter \x0088 5678 #Modifier letter circumflex (0x88)
 math \x0089 245678 #permille sign (0x89)
-uppercase \x008a 23478 #LATIN LETTER S WITH CARON (0x8a)
+uppercase \x008a 23478 #Latin letter S with caron (0x8a)
 lowercase \x009a 2348
-punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
-uppercase \x008c 13578 #LATIN LIGATURE OE (0x8c)
+punctuation \x008b 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
 lowercase \x009c 1358
-uppercase \x008e 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
 lowercase \x009e 346
 punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
 punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
 punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 sign \x0095 37 #Bullit (0x95)
-sign \x0098 46 #SMALL TILDE (0x98)
+sign \x0096 368 #EN DASH (0x96)
+sign \x0097 367 #Em DASH (0x97)
+sign \x0098 23478 #small TILDE (0x98)
 sign \x0099 234578 #TRADE MARK SIGN (0x99)
 punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
-uppercase \x009f 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
+uppercase \x009f 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
 
 #Unicode Braille patterns
 include braille-patterns.cti
@@ -321,12 +256,8 @@
 # characters that have letsign as part of their definition
 # (to be removed when the alwaysletsign opcode has been implemented).
 
-punctuation \x2026 6-3-3-3 #Elipsis (0x85)
-noback punctuation \x0085 6-3-3-3 #Elipsis (0x85)
-letter \x2013 6-36 #EN DASH (0x96)
-noback sign \x0096 6-36 #EN DASH (0x96)
-letter \x2014 6-367 #Em DASH (0x97)
-noback sign \x0097 6-367 #Em DASH (0x97)
+punctuation \x2026 56-3-3-3 #Elipsis (0x85)
+noback punctuation \x0085 56-3-3-3 #Elipsis (0x85)
 
 # Misc unicode characters
 
@@ -429,12 +360,14 @@
 noback lowercase \x0157 5-1235   Latin letter r with cedilla
 noback uppercase \x0158 5-12357  Latin letter r with caron
 noback lowercase \x0159 5-1235   Latin letter r with caron
-uppercase \x015a 5-2347          Latin letter s with acute
-lowercase \x015b 5-234           Latin letter s with acute
+noback uppercase \x015a 5-2347          Latin letter s with acute
+noback lowercase \x015b 5-234           Latin letter s with acute
 noback uppercase \x015c 5-2347   Latin letter s with circumflex
 noback lowercase \x015d 5-234    Latin letter s with circumflex
 noback uppercase \x015e 5-2347   Latin letter s with cedilla
 noback lowercase \x015f 5-234    Latin letter s with cedilla
+uppercase \x0160 5-2347 #Latin  capital Letter S with caron (0x8a/0x9a)
+lowercase \x0161 5-234 #Latin  lowercase Letter S with caron (0x8a/0x9a)
 uppercase \x0162 5-23457         Latin letter t with cedilla
 lowercase \x0163 5-2345          Latin letter t with cedilla
 noback uppercase \x0164 5-23457  Latin letter t with caron
@@ -462,6 +395,63 @@
 noback uppercase \x017b 5-13567  Latin letter z with dot above
 noback lowercase \x017c 5-1356   Latin letter z with dot above
 noback lowercase \x017f 5-234    Latin small letter long s
+ 
+# Punctuation and bullits
+
+noback punctuation \x2010 36 # Hyphen
+noback punctuation \x2011 36 # Non-breaking hyphen
+noback punctuation \x2012 36 # Figure dash
+sign \x2016 45-4568 # Double Vertical Line
+sign \x2017 45-3678 # Double low line
+noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark
+noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark
+noback sign \x2023 37 #Triangular bullit
+noback punctuation \x203c 235-235 # Double Exclamation Mark
+noback punctuation \x203d 26-235 # Interrobang
+noback sign \x2043 37 # Hyphen bullet (0x95)
+noback punctuation \x2047 26-26 # Double question mark
+noback punctuation \x2048 26-235 # Question exclamation mark
+noback punctuation \x2049 235-26 # Exclamation question mark
+noback sign \x204c 37 # BLACK LEFTWARDS BULLET 
+noback sign \x204d 37 # BLACK RIGHTWARDS BULLET 
+
+# Arrows
+
+sign \x2190 45-1256-246 Left arrow
+sign \x2191 45-1256-346 Up arrow
+sign \x2192 45-1256-135 Right arrow
+sign \x2193 45-1256-146 Down arrow
+sign \x2194 45-1256-2456-1235-135 Left-right arrow
+sign \x2196 45-1256-156 Northwest arrow
+sign \x2197 45-1256-234 Northeast arrow
+sign \x2198 45-1256-126 Southeast arrow
+sign \x2199 45-1256-345 Southwest arrow
+sign \x21d4 45-1256-2456-2356-1235-135 Left-right double arrow
+
+# Math signs (experimental)
+
+math \x2200 45-1 # For all
+math \x2208 45-15 # Element of
+math \x2213 456-36 # Minus or plus
+math \x221d 456-5-23568 # Proportional to
+math \x2229 46-236 # Intersection
+math \x222a 46-235 # Union
+math \x2243 456-35 # approx. equal to
+math \x2245 5-45-35 # approx. equal to
+math \x2248 45-35 # approx. equal to
+math \x224f 45-5-23568 # Diff between or approx. equal to
+math \x2251 46-5-23568 # approx. equal to
+math \x2260 5-23568-4-156 # Not equal to
+math \x2261 456-123456 # Equivalent to
+math \x2264 456-358 # Less than or equal to
+math \x2265 456-267 # Greater than or equal to
+math \x226a 46-358 # Much less than
+math \x226b 46-267 # Much greater than
+math \x22c5 5-256 # Multiplication dot
+
+# Geometrical shapes
+
+noback sign \x25e6 37 #White bullet
 
 # Greek letters (with dots 458 as prefix)
 
@@ -528,8 +518,6 @@
 lowercase \x03CD 458-5-136   Greek letter upsilon with tonos
 lowercase \x03CE 458-5-2456  Greek letter omega with tonos
 
-include da-dk-8miscChars.cti
-
 # Rules for grade 1 and grade 2
 
 # Emphasis opcodes
@@ -537,14 +525,14 @@
 emphclass underline
 emphclass bold
 
-begemphphrase italic 56
-endemphphrase italic after 56
+begemphphrase italic 46
+endemphphrase italic after 46
 
-begemphphrase bold 56
-endemphphrase bold after 56
+begemphphrase bold 46
+endemphphrase bold after 46
 
-begemphphrase underline 56
-endemphphrase underline after 56
+begemphphrase underline 46
+endemphphrase underline after 46
 
 # Remove space between  and numbers.
 noback begnum § 578
@@ -552,10 +540,7 @@
 begnum §§\s 578-578
 always §§ 578-578
 
-# Remove space between ยง and numbers.
-# begnum ยง\s 578
-
 
 # Ensure there is only one emphasis sign
-noback pass2 @56-56 @56
-noback pass2 @56-56-56 @56
+noback pass2 @46-46 @46
+noback pass2 @46-46-46 @46
diff --git a/tables/da-dk-g18_1993.ctb b/tables/da-dk-g18_1993.ctb
new file mode 100644
index 0000000..7c46652
--- /dev/null
+++ b/tables/da-dk-g18_1993.ctb
@@ -0,0 +1,563 @@
+# Liblouis: Danish table for 8 dots grade 1 1993
+#
+#  Copyright (C) 2014, 2016-2021, 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  is the Danish table for 8 dots grade 1 (fuldskrift) 1993.
+# Use this table for translation and back-translation of Danish 8 dots grade 1.
+#
+# Version: Bue Vester-Andersen, December 2022
+
+### Table Metadata
+
+#-name: Dansk fuldskrift 8-punkt 1993
+#-index-name: Danish, uncontracted, 8-dot, 1993
+#-display-name: Danish 8-dot uncontracted braille (1993 standard)
+
+#+language: da
+#+type: literary
+#+contraction: no
+#+grade: 1
+#+dots: 8
+#+direction: both
+#+system: ddp
+#+version: 1993
+
+# Display upcodes
+include da-dk-octobraille_1993.dis
+
+### Character definitions ###
+
+sign \x0000 8 NULL
+sign \x0001 178 START OF HEADING
+sign \x0002 1278 START OF TEXT
+sign \x0003 1478 END OF TEXT
+sign \x0004 14578 END OF TRANSMISSION
+sign \x0005 24568 ENQUIRY
+sign \x0006 12478 ACKNOWLEDGE
+sign \x0007 124578 BELL
+sign \x0008 12578 BACKSPACE
+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)
+sign \x000e 134578 SHIFT OUT
+sign \x000f 12358 SHIFT IN
+sign \x0010 123478 DATA LINK ESCAPE
+sign \x0011 1234578 DEVICE CONTROL ONE
+sign \x0012 13568 DEVICE CONTROL TWO
+sign \x0013 4578 DEVICE CONTROL THREE
+sign \x0014 268 DEVICE CONTROL FOUR
+sign \x0015 13678 NEGATIVE ACKNOWLEDGE
+sign \x0016 278 SYNCHRONOUS IDLE
+sign \x0017 3578 END OF TRANSMISSION BLOCK
+sign \x0018 78 CANCEL
+sign \x0019 68 END OF MEDIUM
+sign \x001a 135678 SUBSTITUTE
+sign \x001b 2678 ESCAPE
+sign \x001c 45678 INFORMATION SEPARATOR FOUR
+sign \x001d 12368 INFORMATION SEPARATOR THREE
+sign \x001e 1234678 INFORMATION SEPARATOR TWO
+sign \x001f 235678 INFORMATION SEPARATOR ONE
+space \s 0 SPACE
+punctuation ! 235 EXCLAMATION MARK
+punctuation " 2356 QUOTATION MARK
+punctuation # 34568 NUMBER SIGN
+sign $ 25678 DOLLAR SIGN
+math % 24578 PERCENT SIGN
+sign & 123468 AMPERSAND
+punctuation ' 4 APOSTROPHE
+punctuation ( 2368 LEFT PARENTHESIS
+punctuation ) 3568 RIGHT PARENTHESIS
+punctuation * 35 ASTERISK
+math + 2358 PLUS SIGN
+punctuation , 2 COMMA
+punctuation - 368 HYPHEN-MINUS
+punctuation . 3 FULL STOP
+punctuation / 348 SLASH
+include digits8Dots.uti
+punctuation : 25 COLON
+punctuation ; 23 SEMICOLON
+math < 358 LESS-THAN SIGN
+math = 23568 EQUALS SIGN
+math > 267 GREATER-THAN SIGN
+punctuation ? 26 QUESTION MARK
+sign @ 478 COMMERCIAL AT
+uppercase A 17 LATIN CAPITAL LETTER A
+uppercase B 127 LATIN CAPITAL LETTER B
+uppercase C 147 LATIN CAPITAL LETTER C
+uppercase D 1457 LATIN CAPITAL LETTER D
+uppercase E 157 LATIN CAPITAL LETTER E
+uppercase F 1247 LATIN CAPITAL LETTER F
+uppercase G 12457 LATIN CAPITAL LETTER G
+uppercase H 1257 LATIN CAPITAL LETTER H
+uppercase I 247 LATIN CAPITAL LETTER I
+uppercase J 2457 LATIN CAPITAL LETTER J
+uppercase K 137 LATIN CAPITAL LETTER K
+uppercase L 1237 LATIN CAPITAL LETTER L
+uppercase M 1347 LATIN CAPITAL LETTER M
+uppercase N 13457 LATIN CAPITAL LETTER N
+uppercase O 1357 LATIN CAPITAL LETTER O
+uppercase P 12347 LATIN CAPITAL LETTER P
+uppercase Q 123457 LATIN CAPITAL LETTER Q
+uppercase R 12357 LATIN CAPITAL LETTER R
+uppercase S 2347 LATIN CAPITAL LETTER S
+uppercase T 23457 LATIN CAPITAL LETTER T
+uppercase U 1367 LATIN CAPITAL LETTER U
+uppercase V 12367 LATIN CAPITAL LETTER V
+uppercase W 24567 LATIN CAPITAL LETTER W
+uppercase X 13467 LATIN CAPITAL LETTER X
+uppercase Y 134567 LATIN CAPITAL LETTER Y
+uppercase Z 13567 LATIN CAPITAL LETTER Z
+punctuation [ 23678 LEFT SQUARE BRACKET
+punctuation \\ 347 REVERSE SLASH
+punctuation ] 35678 RIGHT SQUARE BRACKET
+punctuation ^ 12348 CIRCUMFLEX ACCENT
+punctuation _ 3678 LOW LINE
+punctuation ` 5 GRAVE ACCENT
+lowercase a 1 LATIN SMALL LETTER A
+lowercase b 12 LATIN SMALL LETTER B
+lowercase c 14 LATIN SMALL LETTER C
+lowercase d 145 LATIN SMALL LETTER D
+lowercase e 15 LATIN SMALL LETTER E
+lowercase f 124 LATIN SMALL LETTER F
+lowercase g 1245 LATIN SMALL LETTER G
+lowercase h 125 LATIN SMALL LETTER H
+lowercase i 24 LATIN SMALL LETTER I
+lowercase j 245 LATIN SMALL LETTER J
+lowercase k 13 LATIN SMALL LETTER K
+lowercase l 123 LATIN SMALL LETTER L
+lowercase m 134 LATIN SMALL LETTER M
+lowercase n 1345 LATIN SMALL LETTER N
+lowercase o 135 LATIN SMALL LETTER O
+lowercase p 1234 LATIN SMALL LETTER P
+lowercase q 12345 LATIN SMALL LETTER Q
+lowercase r 1235 LATIN SMALL LETTER R
+lowercase s 234 LATIN SMALL LETTER S
+lowercase t 2345 LATIN SMALL LETTER T
+lowercase u 136 LATIN SMALL LETTER U
+lowercase v 1236 LATIN SMALL LETTER V
+lowercase w 2456 LATIN SMALL LETTER W
+lowercase x 1346 LATIN SMALL LETTER X
+lowercase y 13456 LATIN SMALL LETTER Y
+lowercase z 1356 LATIN SMALL LETTER Z
+punctuation { 123678 LEFT CURLY BRACKET
+punctuation | 4568 VERTICAL LINE
+punctuation } 345678 RIGHT CURLY BRACKET
+punctuation ~ 467 TILDE
+sign \x007f 7 DELETE
+sign \x20AC 1578 #EURO SIGN (0x80)
+sign \x0081 45 <control-0081>
+punctuation \x201A 457 #Low single quote (0x82)
+sign \x0192 58 #Flurihn (0x83)
+punctuation \x201E 2378 #Low quote (0x84)
+letter \x2020 2357 #Dagger (0x86
+letter \x2021 23578 #Double dagger (0x87
+letter \x02c6 5678 #Modifier letter circumflex (0x88)
+math \x2030 245678 #permille sign (0x89)
+uppercase \x0160 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
+punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x0152 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
+sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
+uppercase \x017d 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+letter \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
+letter \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
+punctuation \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
+punctuation \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+sign \x2022 37 #Bullit (0x95)
+sign \x02DC 46 #SMALL TILDE (0x98)
+sign \x2122 234578 #TRADE MARK SIGN (0x99)
+lowercase \x0161 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
+punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+lowercase \x0153 1358 #LATIN SMALL LIGATURE OE (0x9c)
+letter \x009d 2567 OPERATING SYSTEM COMMAND
+lowercase \x017E 346 #LATIN SMALL LETTER Z WITH CARON (0x9e)
+uppercase \x0178 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
+punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
+punctuation \x00a2 2578 CENT SIGN (0xa2)
+punctuation \x00a3 1238 POUND SIGN (0xa3)
+punctuation \x00a4 2367 CURRENCY SIGN (0xa4)
+punctuation \x00a5 67 YEN SIGN (0xa5)
+punctuation \x00a6 3478 BROKEN BAR (0xa6)
+punctuation \x00a7 578 SECTION SIGN (0xa7)
+punctuation \x00a8 56 DIAERESIS (0xa8)
+punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
+letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
+punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
+punctuation \x00ac 34567 NOT SIGN (0xac)
+letter \x00ad 378 SOFT HYPHEN (0xad)
+punctuation \x00ae 123578 REGISTERED SIGN (0xae)
+punctuation \x00af 23567 MACRON (0xaf)
+sign \x00b0 356 DEGREE SIGN (0xb0)
+math \x00b1 123458 PLUS-MINUS SIGN
+punctuation \x00b2 238 SUPERSCRIPT TWO
+punctuation \x00b3 258 SUPERSCRIPT THREE
+punctuation \x00b4 468 ACUTE ACCENT
+sign \x00b5 236 MICRO SIGN
+punctuation \x00b6 1234568 PILCROW SIGN
+punctuation \x00b7 38 MIDDLE DOT
+punctuation \x00b8 4678 CEDILLA
+punctuation \x00b9 28 SUPERSCRIPT ONE
+letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
+punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
+punctuation \x00bd 458 VULGAR FRACTION ONE HALF
+punctuation \x00be 3456 VULGAR FRACTION THREE QUARTERS
+punctuation \x00bf 34 INVERTED QUESTION MARK
+uppercase \x00c0 123567 LATIN CAPITAL LETTER A WITH GRAVE
+uppercase \x00c1 1235678 LATIN CAPITAL LETTER A WITH ACUTE
+uppercase \x00c2 1678 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+uppercase \x00c3 14678 LATIN CAPITAL LETTER A WITH TILDE
+uppercase \x00c4 34578 LATIN CAPITAL LETTER A WITH DIAERESIS
+uppercase \x00c5 167 LATIN CAPITAL LETTER A WITH RING ABOVE
+uppercase \x00c6 3457 LATIN CAPITAL LETTER AE
+uppercase \x00c7 123467 LATIN CAPITAL LETTER C WITH CEDILLA
+uppercase \x00c8 23467 LATIN CAPITAL LETTER E WITH GRAVE
+uppercase \x00c9 1234567 LATIN CAPITAL LETTER E WITH ACUTE
+uppercase \x00ca 1267 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+uppercase \x00cb 12467 LATIN CAPITAL LETTER E WITH DIAERESIS
+uppercase \x00cc 15678 LATIN CAPITAL LETTER I WITH GRAVE
+uppercase \x00cd 12678 LATIN CAPITAL LETTER I WITH ACUTE
+uppercase \x00ce 1467 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+uppercase \x00cf 124567 LATIN CAPITAL LETTER I WITH DIAERESIS
+uppercase \x00d0 1345678 LATIN CAPITAL LETTER ETH
+uppercase \x00d1 1245678 LATIN CAPITAL LETTER N WITH TILDE
+uppercase \x00d2 124678 LATIN CAPITAL LETTER O WITH GRAVE
+uppercase \x00d3 34678 LATIN CAPITAL LETTER O WITH ACUTE
+uppercase \x00d4 14567 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+uppercase \x00d5 145678 LATIN CAPITAL LETTER O WITH TILDE
+uppercase \x00d6 24678 LATIN CAPITAL LETTER O WITH DIAERESIS
+math \x00d7 13468 MULTIPLICATION SIGN
+uppercase \x00d8 2467 LATIN CAPITAL LETTER O WITH STROKE
+uppercase \x00d9 234567 LATIN CAPITAL LETTER U WITH GRAVE
+uppercase \x00da 125678 LATIN CAPITAL LETTER U WITH ACUTE
+uppercase \x00db 1567 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+uppercase \x00dc 12567 LATIN CAPITAL LETTER U WITH DIAERESIS
+uppercase \x00dd 13478 LATIN CAPITAL LETTER Y WITH ACUTE (infinite?)
+uppercase \x00de 1378 LATIN CAPITAL LETTER THORN
+lowercase \x00df 23468 LATIN SMALL LETTER SHARP S
+lowercase \x00e0 12356 LATIN SMALL LETTER A WITH GRAVE
+lowercase \x00e1 123568 LATIN SMALL LETTER A WITH ACUTE
+lowercase \x00e2 168 LATIN SMALL LETTER A WITH CIRCUMFLEX
+lowercase \x00e3 1468 LATIN SMALL LETTER A WITH TILDE
+lowercase \x00e4 3458 LATIN SMALL LETTER A WITH DIAERESIS
+lowercase \x00e5 16 LATIN SMALL LETTER A WITH RING ABOVE
+lowercase \x00e6 345 LATIN SMALL LETTER AE
+lowercase \x00e7 12346 LATIN SMALL LETTER C WITH CEDILLA
+lowercase \x00e8 2346 LATIN SMALL LETTER E WITH GRAVE
+lowercase \x00e9 123456 LATIN SMALL LETTER E WITH ACUTE
+lowercase \x00ea 126 LATIN SMALL LETTER E WITH CIRCUMFLEX
+lowercase \x00eb 1246 LATIN SMALL LETTER E WITH DIAERESIS
+lowercase \x00ec 1568 LATIN SMALL LETTER I WITH GRAVE
+lowercase \x00ed 1268 LATIN SMALL LETTER I WITH ACUTE
+lowercase \x00ee 146 LATIN SMALL LETTER I WITH CIRCUMFLEX
+lowercase \x00ef 12456 LATIN SMALL LETTER I WITH DIAERESIS
+lowercase \x00f0 134568 LATIN SMALL LETTER ETH
+lowercase \x00f1 124568 LATIN SMALL LETTER N WITH TILDE
+lowercase \x00f2 12468 LATIN SMALL LETTER O WITH GRAVE
+lowercase \x00f3 3468 LATIN SMALL LETTER O WITH ACUTE
+lowercase \x00f4 1456 LATIN SMALL LETTER O WITH CIRCUMFLEX
+lowercase \x00f5 14568 LATIN SMALL LETTER O WITH TILDE
+lowercase \x00f6 2468 LATIN SMALL LETTER O WITH DIAERESIS
+math \x00f7 2568 DIVISION SIGN
+lowercase \x00f8 246 LATIN SMALL LETTER O WITH STROKE
+lowercase \x00f9 23456 LATIN SMALL LETTER U WITH GRAVE
+lowercase \x00fa 12568 LATIN SMALL LETTER U WITH ACUTE
+lowercase \x00fb 156 LATIN SMALL LETTER U WITH CIRCUMFLEX
+lowercase \x00fc 1256 LATIN SMALL LETTER U WITH DIAERESIS
+lowercase \x00fd 1348 LATIN SMALL LETTER Y WITH ACUTE
+lowercase \x00fe 138 LATIN SMALL LETTER THORN
+lowercase \x00ff 234568 LATIN SMALL LETTER Y WITH DIAERESIS
+
+# In CP-1252 the following chars are different from Unicode.
+# This placement ensures that Liblouis will always return the unicode when back-translating.
+sign \x0080 1578 #EURO SIGN (0x80)
+punctuation \x0082 457 #Low single quote (0x82)
+sign \x0083 58 #Flurihn (0x83)
+punctuation \x0084 2378 #Low quote (0x84)
+letter \x0086 2357 #Dagger (0x86
+letter \x0087 23578 #Double dagger (0x87
+letter \x0088 5678 #Modifier letter circumflex (0x88)
+math \x0089 245678 #permille sign (0x89)
+uppercase \x008a 23478 #LATIN LETTER S WITH CARON (0x8a)
+lowercase \x009a 2348
+punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x008c 13578 #LATIN LIGATURE OE (0x8c)
+lowercase \x009c 1358
+uppercase \x008e 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+lowercase \x009e 346
+punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
+punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+sign \x0095 37 #Bullit (0x95)
+sign \x0098 46 #SMALL TILDE (0x98)
+sign \x0099 234578 #TRADE MARK SIGN (0x99)
+punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+uppercase \x009f 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
+
+#Unicode Braille patterns
+include braille-patterns.cti
+
+# characters that have letsign as part of their definition
+# (to be removed when the alwaysletsign opcode has been implemented).
+
+punctuation \x2026 6-3-3-3 #Elipsis (0x85)
+noback punctuation \x0085 6-3-3-3 #Elipsis (0x85)
+letter \x2013 6-36 #EN DASH (0x96)
+noback sign \x0096 6-36 #EN DASH (0x96)
+letter \x2014 6-367 #Em DASH (0x97)
+noback sign \x0097 6-367 #Em DASH (0x97)
+
+# Misc unicode characters
+
+# Many of the characters below and in da-dk-8miscChars.cti have not
+# been defined in the Danish Braille standard.
+# The current implementation is purely experimental and subject to change.
+# Math chars and arrows etc. are inspired by UEB.
+
+# Latin Extended-A (\x0100-\x017f)
+
+# For each accented letter, the first occurring instance is chosen for back-translation.
+# There are no rules about this in the specs of Danish Braille,
+# So the choice is arbitrary and may change over time.
+
+uppercase \x0100 5-17            Latin letter a with macron
+lowercase \x0101 5-1             Latin letter a with macron
+noback uppercase \x0102 5-17     Latin letter a with breve
+noback lowercase \x0103 5-1      Latin letter a with breve
+noback uppercase \x0104 5-17     Latin letter a with ogonek
+noback lowercase \x0105 5-1      Latin letter a with ogonek
+uppercase \x0106 5-147           Latin letter c with acute
+lowercase \x0107 5-14            Latin letter c with acute
+noback uppercase \x0108 5-147    Latin letter c with circumflex
+noback lowercase \x0109 5-14     Latin letter c with circumflex
+noback uppercase \x010a 5-147    Latin letter c with dot above
+noback lowercase \x010b 5-14     Latin letter c with dot above
+noback uppercase \x010c 5-147    Latin letter c with caron
+noback lowercase \x010d 5-14     Latin letter c with caron
+uppercase \x010e 5-1457          Latin letter d with caron
+lowercase \x010f 5-145           Latin letter d with caron
+noback uppercase \x0110 5-1457   Latin letter d with stroke
+noback lowercase \x0111 5-145    Latin letter d with stroke
+uppercase \x0112 5-157           Latin letter e with macron
+lowercase \x0113 5-15            Latin letter e with macron
+noback uppercase \x0114 5-157    Latin letter e with breve
+noback lowercase \x0115 5-15     Latin letter e with breve
+noback uppercase \x0116 5-157    Latin letter e with dot above
+noback lowercase \x0117 5-15     Latin letter e with dot above
+noback uppercase \x0118 5-157    Latin letter e with ogonek
+noback lowercase \x0119 5-15     Latin letter e with ogonek
+noback uppercase \x011a 5-157    Latin letter e with caron
+noback lowercase \x011b 5-15     Latin letter e with caron
+uppercase \x011c 5-12457         Latin letter g with circumflex
+lowercase \x011d 5-1245          Latin letter g with circumflex
+noback uppercase \x011e 5-12457  Latin letter g with breve
+noback lowercase \x011f 5-1245   Latin letter g with breve
+noback uppercase \x0120 5-12457  Latin letter g with dot above
+noback lowercase \x0121 5-1245   Latin letter g with dot above
+noback uppercase \x0122 5-12457  Latin letter g with cedilla
+noback lowercase \x0123 5-1245   Latin letter g with cedilla
+uppercase \x0124 5-1257          Latin letter h with circumflex
+lowercase \x0125 5-125           Latin letter h with circumflex
+noback uppercase \x0126 5-1257   Latin letter h with stroke
+noback lowercase \x0127 5-125    Latin letter h with stroke
+uppercase \x0128 5-247           Latin letter i with tilde
+lowercase \x0129 5-24            Latin letter i with tilde
+noback uppercase \x012a 5-247    Latin letter i with macron
+noback lowercase \x012b 5-24     Latin letter i with macron
+noback uppercase \x012c 5-247    Latin letter i with breve
+noback lowercase \x012d 5-24     Latin letter i with breve
+noback uppercase \x012e 5-247    Latin letter i with ogonek
+noback lowercase \x012f 5-24     Latin letter i with ogonek
+noback uppercase \x0130 5-247    Latin capital letter i with dot above
+noback lowercase \x0131 5-24     Latin small dotless i
+noback uppercase \x0132 247-245  Latin ligature ij
+noback lowercase \x0133 24-245   Latin ligature ij
+uppercase \x0134 5-2457          Latin letter j with circumflex
+lowercase \x0135 5-245           Latin letter j with circumflex
+uppercase \x0136 5-137           Latin letter k with cedilla
+lowercase \x0137 5-13            Latin letter k with cedilla
+lowercase \x0138 5-12345         Small latin letter kra (Greenlandic q)
+uppercase \x0139 5-1237          Latin letter l with acute
+lowercase \x013a 5-123           Latin letter l with acute
+noback uppercase \x013b 5-1237   Latin letter l with cedilla
+noback lowercase \x013c 5-123    Latin letter l with cedilla
+noback uppercase \x013d 5-1237   Latin letter l with caron
+noback lowercase \x013e 5-123    Latin letter l with caron
+noback uppercase \x013f 5-1237   Latin letter l with middle dot
+noback lowercase \x0140 5-123    Latin letter l with middle dot
+noback uppercase \x0141 5-1237   Latin letter l with stroke
+noback lowercase \x0142 5-123    Latin letter l with stroke
+uppercase \x0143 5-13457         Latin letter n with acute
+lowercase \x0144 5-1345          Latin letter n with acute
+noback uppercase \x0145 5-13457  Latin letter n with cedilla
+noback lowercase \x0146 5-1345   Latin letter n with cedilla
+noback uppercase \x0147 5-13457  Latin letter n with caron
+noback lowercase \x0148 5-1345   Latin letter n with caron
+noback lowercase \x0149 4-1345   Latin small letter n preceeded by apostrophe
+noback uppercase \x014a 5-13457  Latin letter eng
+noback lowercase \x014b 5-1345   Latin letter eng
+uppercase \x014c 5-1357          Latin letter o with macron
+lowercase \x014d 5-135           Latin letter o with macron
+noback uppercase \x014e 5-1357   Latin letter o with breve
+noback lowercase \x014f 5-135    Latin letter o with breve
+noback uppercase \x0150 5-1357   Latin letter o with double acute
+noback lowercase \x0151 5-135    Latin letter o with double acute
+uppercase \x0154 5-12357         Latin letter r with acute
+lowercase \x0155 5-1235          Latin letter r with acute
+noback uppercase \x0156 5-12357  Latin letter r with cedilla
+noback lowercase \x0157 5-1235   Latin letter r with cedilla
+noback uppercase \x0158 5-12357  Latin letter r with caron
+noback lowercase \x0159 5-1235   Latin letter r with caron
+uppercase \x015a 5-2347          Latin letter s with acute
+lowercase \x015b 5-234           Latin letter s with acute
+noback uppercase \x015c 5-2347   Latin letter s with circumflex
+noback lowercase \x015d 5-234    Latin letter s with circumflex
+noback uppercase \x015e 5-2347   Latin letter s with cedilla
+noback lowercase \x015f 5-234    Latin letter s with cedilla
+uppercase \x0162 5-23457         Latin letter t with cedilla
+lowercase \x0163 5-2345          Latin letter t with cedilla
+noback uppercase \x0164 5-23457  Latin letter t with caron
+noback lowercase \x0165 5-2345   Latin letter t with caron
+noback uppercase \x0166 5-23457  Latin letter t with stroke
+noback lowercase \x0167 5-2345   Latin letter t with stroke
+uppercase \x0168 5-1367          Latin letter u with tilde
+lowercase \x0169 5-136           Latin letter u with tilde
+noback uppercase \x016a 5-1367   Latin letter u with macron
+noback lowercase \x016b 5-136    Latin letter u with macron
+noback uppercase \x016c 5-1367   Latin letter u with breve
+noback lowercase \x016d 5-136    Latin letter u with breve
+noback uppercase \x016e 5-1367   Latin letter u with ring above
+noback lowercase \x016f 5-136    Latin letter u with ring above
+noback uppercase \x0170 5-1367   Latin letter u with double acute
+noback lowercase \x0171 5-136    Latin letter u with double acute
+noback uppercase \x0172 5-1367   Latin letter u with ogonek
+noback lowercase \x0173 5-136    Latin letter u with ogonek
+uppercase \x0174 5-24567         Latin letter w with circumflex
+lowercase \x0175 5-2456          Latin letter w with circumflex
+uppercase \x0176 5-134567        Latin letter y with circumflex
+lowercase \x0177 5-13456         Latin letter y with circumflex
+uppercase \x0179 5-13567         Latin letter z with acute
+lowercase \x017a 5-1356          Latin letter z with acute
+noback uppercase \x017b 5-13567  Latin letter z with dot above
+noback lowercase \x017c 5-1356   Latin letter z with dot above
+noback lowercase \x017f 5-234    Latin small letter long s
+
+# Greek letters (with dots 458 as prefix)
+
+uppercase \x0386 458-5-17    Greek letter alpha with tonos
+uppercase \x0388 458-5-157   Greek letter epsilon with tonos
+uppercase \x0389 458-5-1567  Greek letter eta with tonos
+uppercase \x038A 458-5-247   Greek letter iota with sonos
+uppercase \x038C 458-5-1357  Greek letter omicron with tonos
+uppercase \x038E 458-5-1367  Greek letter upsilon with tonos
+uppercase \x038F 458-5-24567 Greek letter omega with tonos
+uppercase \x0391 458-17      Greek letter alpha
+uppercase \x0392 458-127     Greek letter beta
+uppercase \x0393 458-12457   Greek letter gamma
+uppercase \x0394 458-1457    Greek letter delta
+uppercase \x0395 458-157     Greek letter epsilon
+uppercase \x0396 458-13567   Greek letter zeta
+uppercase \x0397 458-1567    Greek letter eta
+uppercase \x0398 458-14567   Greek letter theta
+uppercase \x0399 458-247     Greek letter iota
+uppercase \x039A 458-137     Greek letter kappa
+uppercase \x039B 458-1237    Greek letter lamda
+uppercase \x039C 458-1347    Greek letter mu
+uppercase \x039D 458-13457   Greek letter nu
+uppercase \x039E 458-13467   Greek letter xi
+uppercase \x039F 458-1357    Greek letter omicron
+uppercase \x03A0 458-12347   Greek letter pi
+uppercase \x03A1 458-12357   Greek letter rho
+uppercase \x03A3 458-2347    Greek letter sigma
+uppercase \x03A4 458-23457   Greek letter tau
+uppercase \x03A5 458-1367    Greek letter upsilon
+uppercase \x03A6 458-1247    Greek letter phi
+uppercase \x03A7 458-123467  Greek letter chi
+uppercase \x03A8 458-134567  Greek letter psi
+uppercase \x03A9 458-24567   Greek letter omega
+lowercase \x03AC 458-5-1     Greek letter alpha with tonos
+lowercase \x03AD 458-5-15    Greek letter epsilon with tonos
+lowercase \x03AE 458-5-156   Greek letter eta with tonos
+lowercase \x03AF 458-5-24    Greek letter iota with sonos
+lowercase \x03B1 458-1       Greek letter alpha
+lowercase \x03B2 458-12      Greek letter beta
+lowercase \x03B3 458-1245    Greek letter gamma
+lowercase \x03B4 458-145     Greek letter delta
+lowercase \x03B5 458-15      Greek letter epsilon
+lowercase \x03B6 458-1356    Greek letter zeta
+lowercase \x03B7 458-156     Greek letter eta
+lowercase \x03B8 458-1456    Greek letter theta
+lowercase \x03B9 458-24      Greek letter iota
+lowercase \x03BA 458-13      Greek letter kappa
+lowercase \x03BB 458-123     Greek letter lamda
+lowercase \x03BC 458-134     Greek letter mu
+lowercase \x03BD 458-1345    Greek letter nu
+lowercase \x03BE 458-1346    Greek letter xi
+lowercase \x03BF 458-135     Greek letter omicron
+lowercase \x03C0 458-1234    Greek letter pi
+lowercase \x03C1 458-1235    Greek letter rho
+lowercase \x03C3 458-234     Greek letter sigma
+lowercase \x03C4 458-2345    Greek letter tau
+lowercase \x03C5 458-136     Greek letter upsilon
+lowercase \x03C6 458-124     Greek letter phi
+lowercase \x03C7 458-12346   Greek letter chi
+lowercase \x03C8 458-13456   Greek letter psi
+lowercase \x03C9 458-2456    Greek letter omega
+lowercase \x03CC 458-5-135   Greek letter omicron with tonos
+lowercase \x03CD 458-5-136   Greek letter upsilon with tonos
+lowercase \x03CE 458-5-2456  Greek letter omega with tonos
+
+include da-dk-8miscChars_1993.cti
+
+# Rules for grade 1 and grade 2
+
+# 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
+
+# Remove space between  and numbers.
+noback begnum § 578
+begnum §\s 578
+begnum §§\s 578-578
+always §§ 578-578
+
+# Remove space between ยง and numbers.
+# begnum ยง\s 578
+
+
+# Ensure there is only one emphasis sign
+noback pass2 @56-56 @56
+noback pass2 @56-56-56 @56
diff --git a/tables/hyph_brl_da_dk.dic b/tables/da-dk-g2.dic
similarity index 100%
rename from tables/hyph_brl_da_dk.dic
rename to tables/da-dk-g2.dic
diff --git a/tables/da-dk-g26-lit.ctb b/tables/da-dk-g26-lit_1993.ctb
similarity index 97%
rename from tables/da-dk-g26-lit.ctb
rename to tables/da-dk-g26-lit_1993.ctb
index b107b4b..d436bee 100644
--- a/tables/da-dk-g26-lit.ctb
+++ b/tables/da-dk-g26-lit_1993.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 2 forward translation (literary)
+# Liblouis: Danish table for 6 dots grade 2 forward translation (literary) 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -19,13 +19,13 @@
 #  <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, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk forkortet 6-punkt
-#-index-name: Danish, contracted, 6-dot
-#-display-name: Danish 6-dot contracted braille
+#-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
@@ -33,11 +33,13 @@
 #+grade: 2
 #+dots: 6
 #+direction: forward
+#+system: ddp
+#+version: 1993
 
 #-has-nocross: yes
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Spaces
 
@@ -164,7 +166,7 @@
 math \x00f7 45-256 DIVISION SIGN
 
 # Misc unicode characters
-include da-dk-6miscChars.cti
+include da-dk-6miscChars_1993.cti
 
 # Litdigits
 include litdigits6Dots.uti
@@ -915,4 +917,4 @@
 
 
 # Include hyphenation file as the last thing
-include hyph_brl_da_dk.dic
+include da-dk-g2_1993.dic
diff --git a/tables/da-dk-g26.ctb b/tables/da-dk-g26.ctb
index ec41867..fd8b974 100644
--- a/tables/da-dk-g26.ctb
+++ b/tables/da-dk-g26.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 2 forward and backward translation 
+# Liblouis: Danish table for 6 dots grade 2 forward and backward translation (2022)
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -18,13 +18,19 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 #
-# Version: Bue Vester-Andersen, 200302
+# This  is the Danish table for 6 dots grade 1 Braille (fuldskrift) DDP2022.
+# Use this table for translation and back-translation of Danish 6 dots grade 1 Braille.
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
+#
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk forkortet 6-punkt
-#-index-name: Danish, contracted, 6-dot
-#-display-name: Danish 6-dot contracted braille
+#-name: Dansk forkortet 6-punkt 2022
+#-index-name: Danish, contracted, 6-dot, 2022
+#-display-name: Danish 6-dot contracted braille (2022 standard)
 
 #+language: da
 #+type: literary
@@ -32,6 +38,8 @@
 #+grade: 2
 #+dots: 6
 #+direction: both
+#+system: ddp
+#+version: 2022
 
 #-has-nocross: yes
 
@@ -39,15 +47,6 @@
 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
@@ -95,6 +94,9 @@
 lowercase z 13567
 punctuation | 4568 VERTICAL LINE
 punctuation ~ 467 TILDE (changed by pass 2 to not conflict with indicators
+lowercase \x00e0 123567 LATIN LETTER A WITH GRAVE
+lowercase \x00e8 23467 LATIN LETTER E WITH GRAVE
+lowercase \x00e9 1234567 LATIN LETTER E WITH ACUTE
 lowercase \x00fc 12567
 
 include digits6Dots.uti
@@ -132,6 +134,9 @@
 base uppercase W w
 base uppercase X x
 base uppercase Z z
+base uppercase \x00c0 \x00e0 LATIN LETTER A WITH GRAVE
+base uppercase \x00c8 \x00e8 LATIN LETTER E WITH GRAVE
+base uppercase \x00c9 \x00e9 LATIN LETTER E WITH ACUTE
 base uppercase \x00dc \x00fc
 base uppercase \x00c5 \x00e5 LATIN LETTER A WITH RING ABOVE
 base uppercase \x00c6 \x00e6 LATIN LETTER AE
@@ -145,8 +150,8 @@
 punctuation # 45-3456 NUMBER SIGN
 sign $ 45-256 DOLLAR SIGN
 math % 245-356 PERCENT SIGN
-sign & 6-12346 AMPERSAND
-punctuation * 6-35 ASTERISK
+sign & 56-12346 AMPERSAND
+punctuation * 56-35 ASTERISK
 math + 45-235 PLUS SIGN
 math < 45-134 LESS-THAN SIGN
 math = 45-2356 EQUALS SIGN
@@ -159,7 +164,9 @@
 punctuation _ 45-36 LOW LINE
 punctuation ` 4 GRAVE ACCENT
 punctuation { 45-246 LEFT CURLY BRACKET
+punctuation | 45-1236 VERTICAL LINE
 punctuation } 45-135 RIGHT CURLY BRACKET
+punctuation ~ 45-23 TILDE
 math \x00f7 45-256 DIVISION SIGN
 
 # Misc unicode characters
@@ -177,9 +184,10 @@
 
 ### Braille indicators and special characters
 
-#hyphen - 36
+# the hyphen opcode apparently breaks double dash rules
+# hyphen - 36
 
-letsign 6
+letsign 56
 
 noletsign Ii\x00df\x0149\x0152\x0153
 
@@ -188,24 +196,24 @@
 emphclass underline
 emphclass bold
 
-begemphphrase italic 56
-endemphphrase italic after 56
+begemphphrase italic 46
+endemphphrase italic after 46
 
-begemphphrase bold 56
-endemphphrase bold after 56
+begemphphrase bold 46
+endemphphrase bold after 46
 
-begemphphrase underline 56
-endemphphrase underline after 56
+begemphphrase underline 46
+endemphphrase underline after 46
 
-capsletter 46
+capsletter 6
 begcapsword 456
-endcapsword 6
-multind 6-46 letsign capsletter
-multind 46-6 capsletter letsign
-multind 6-456 letsign begcapsword
+endcapsword 56
+multind 56-6 letsign capsletter
+multind 6-56 capsletter letsign
+multind 56-456 letsign begcapsword
 
 numsign 3456
-multind 6-3456 letsign numsign
+multind 56-3456 letsign numsign
 
 #class of none-space characters that demand double dashes
 # Used in context lines later.
@@ -246,13 +254,6 @@
 #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/" "|"
@@ -260,18 +261,12 @@
 #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
 
-# Remove space between § and numbers.
-noback begnum § 346
-begnum §\s 346
-begnum §§\s 346-346
-always §§ 346-346
+### Pass 1 - Forward and backward
 
 # Punctuations, math and numbers
 #midnum , 2
 #midnum . 3
-# the following rule is doubtful, but probably does not apply.
 #midnum - 36
 endnum - 36
 #midnum / 34
@@ -280,21 +275,20 @@
 nofor midnum ^ 45-346
 
 midnum ^ 45-346
-midnum \x00d7 45-3
+midnum \x00d7 45-35
 
 # 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
+nofor midnum \x00d7 45-35
 
 # Punctuation
 prepunc " 2356
 postpunc " 2356
-always /\s 6-34-0
-always \s/ 0-6-34
-nofor always / 6-34
+always /\s 56-34-0
+always \s/ 0-56-34
+nofor always / 56-34
 prepunc - 36
 postpunc - 36
 nofor always \s-\s 0-36-36-0
@@ -306,45 +300,45 @@
 # Star enclosed by parentheses
 always (*) 236-35-356
 
-before punctuation before sign always ( 6-236
+before punctuation before sign always ( 56-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
+after SepToRightpar always ) 56-356
+after punctuation after sign always ) 56-356
 
 prepunc ( 236
 postpunc ) 356
 always .) 3-356
-always ( 6-236
-always ) 6-356
+always ( 56-236
+always ) 56-356
 
 # extra back rules for ")"
 nofor after punctuation always ) 356
-nofor always \x00b0 4-356
-nofor always ') 4-6-356
+nofor always \x00b0 45-356
+nofor always ') 4-56-356
 nofor always ") 2356-356
 nofor endword j) 245-356
-nofor always ) 6-356
+nofor always ) 56-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 ?! 26-56-235
+always )! 356-56-235
+always (!) 236-56-235-356
 always "fra" 2356-124-1235-1-2356
-always "!" 2356-6-235-2356
+always "!" 2356-56-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
+always '! 4-56-235
+always \s! 0-56-235
+prepunc ! 56-235
+always \x00a1 56-256
 
 ### Contractions ###
 
@@ -355,26 +349,6 @@
 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
@@ -387,32 +361,54 @@
 word aldrig 1-35
 word aig =
 word alle 1-15
-begnum ae 6-1-15
+begnum ae 56-1-15
 contraction ae
 word allerede 1-123-1235
-begnum alr 6-1-123-1235
+begnum alr 56-1-123-1235
 contraction alr
 word alligevel 1-123-1236
-begnum alv 6-1-123-1236
+begnum alv 56-1-123-1236
 contraction alv
 word altid 1-2345-145
-begnum atd 6-1-2345-145
+begnum atd 56-1-2345-145
 contraction atd
 word altså 1-16
-begnum aå 6-1-16
+begnum aå 56-1-16
 contraction aå
+word arbejde 1-12-1456
+word abde =
+word arbejdede 1-12-1456-1456
+word abdede =
+word arbejder 1-12-23456
+word abder =
+word arbejdet 1-12-2346
+word abdet =
 word at 1
 
+word betyde 12-2345-1456
+word btde =
+word betyder 12-2345-23456
+word btder =
 word blevet 12-2345
-begnum bt 6-12-2345
+begnum bt 56-12-2345
 contraction bt
 word blev 12-1236
-begnum bv 6-12-1236
+begnum bv 56-12-1236
 contraction bv
 word blive 12-3456
-word bve 12-1236-15
+word bve =
 word bliver 12
 
+word danmark 145-1345-13
+begnum dnk 56-145-1345-13
+contraction dnk
+word danmarks 145-1345-13-234
+begnum dnks 56-145-1345-13-234
+contraction dnks
+word dansk 145-123456
+word dsk =
+word danske 145-123456-15
+word dske =
 word derefter 23456-1356
 word derst =
 word deres 256
@@ -437,27 +433,35 @@
 word derunder 23456-12345
 word derved 23456-1236
 word din 145-1345
-begnum dn 6-145-1345
+begnum dn 56-145-1345
 contraction dn
 word disse 145-234
-begnum ds 6-145-234
+begnum ds 56-145-234
 contraction ds
 word dit 145-2345
-begnum dt 6-145-2345
+begnum dt 56-145-2345
 contraction dt
 word du 145
 
 word efter 1356
+word eftersom 1356-234
+word sts =
 word eller 15
 word endnu 15-136
-begnum eu 6-15-136
+begnum eu 56-15-136
 contraction eu
 
+word faktisk 124-13-2345
+begnum fkt 56-124-13-2345
+contraction fkt
 word fik 124-13
-begnum fk 6-124-13
+begnum fk 56-124-13
 contraction fk
+word forbi 124-12
+begnum fb 56-124-12
+contraction fb
 word fordi 124-145
-begnum fd 6-124-145
+begnum fd 56-124-145
 contraction fd
 word forskellige 124-123456-15
 word fske =
@@ -466,22 +470,32 @@
 word forskellig 124-123456
 word fsk =
 word for 124
+word fortælle 124-1256
+word fte =
+word fortæller 124-2345-156
+word fter =
 word fra 235
 word første 124-1356-15
+word fste =
 word først 124-1356
+word fst =
 word før 246
 
+word gang 1245-1245
+begnum gg 56-1245-1245
+contraction gg
+word gange 1245-12456
+word gge =
 word ganske 1245-123456
 word gennem 12456
-word ge =
 word gik 1245-13
-begnum gk 6-1245-13
+begnum gk 56-1245-13
 contraction gk
 word gør 1245
 
 word ham 236
 word hans 13456-234
-begnum ys 6-13456-234
+begnum ys 56-13456-234
 contraction ys
 word han 13456
 word har 125
@@ -489,18 +503,35 @@
 word hde =
 word have 125-3456
 word hve =
-word helt 125-2345
-begnum ht 6-125-2345
-contraction ht
+word hele 125-123-15
+begnum hle 56-125-123-15
+contraction hle
+word heller 125-123-1235
+begnum hlr 56-125-123-1235
+contraction hlr
+#word helt 125-2345
+#begnum ht 6-125-2345
+#contraction ht
 word hendes 125-234
-begnum hs 6-125-234
+begnum hs 56-125-234
 contraction hs
 word hende 125-145
-begnum hd 6-125-145
+begnum hd 56-125-145
 contraction hd
+word hjælpe 125-1234-15
+begnum hpe 56-125-1234-15
+contraction hpe
+word hjælpende 125-1234-15-1345-1456 # *** temporary patch
+word hjælper 125-1234-156
+word hper =
 word hun 136
 word hvad 2456
-word hv =
+word hvilke 2456-13
+word hvk =
+word hvilken 2456-13-126
+word hvken =
+word hvilket 2456-13-346
+word hvket =
 word hvis 2456-234
 word hvs =
 word hvordan 34-1
@@ -532,12 +563,13 @@
 word ige =
 word igen 35
 word (igen) 236-24-1245-126-356
-word ig =
 word ikke 24-13
-begnum ik 6-24-13
+begnum ik 56-24-13
 contraction ik
-word imidlertid 24-24
-begnum ii 6-24-24
+word ingen 24-126
+word ien =
+word ingenting 24-24
+begnum ii 56-24-24
 contraction ii
 
 word jeg 245
@@ -551,17 +583,45 @@
 word komme 13-146
 word kme =
 word kom 13-134
-begnum km 6-13-134
+begnum km 56-13-134
 contraction km
 word kunne 13-1246
 word kne =
+word kvinde 13-1236-1456
+word kvde =
+word kvindes 13-1236-1456-234
+word kvdes =
+word kvinden 13-1236-12346
+word kvden =
+word kvindens 13-1236-12346-234
+word kvdens =
+word kvinder 13-1236-23456
+word kvder =
+word kvinders 13-1236-23456-234
+word kvders =
+word kvinderne 13-1236-23456-1246
+word kvderne =
+word kvindernes 13-1236-23456-1246-234
+word kvdernes =
 
+word lang 123-1245
+begnum lg 56-123-1245
+contraction lg
+word lange 123-12456
+begnum lge 56-123-12456
+contraction lge
+word langt 123-1245-2345
+begnum lgt 56-123-1245-2345
+contraction lgt
+word lidt 123-2345
+begnum lt 56-123-2345
+contraction lt
 word ligesom 123-234
-begnum ls 6-123-234
+begnum ls 56-123-234
 contraction ls
 word lige 123
 word lille 123-123
-begnum ll 6-123-123
+begnum ll 56-123-123
 contraction ll
 
 word mange 134-12456
@@ -574,122 +634,247 @@
 word mellem 146-134
 word mem =
 word men 146
-word me =
+word menneske 146-123456-15
+word meske =
+word menneskes 146-123456-15-234
+word meskes =
+word menneskene 146-123456-15-1246
+word meskene =
+word menneskenes 146-123456-15-1246-234
+word meskenes =
+word mennesker 146-123456-156
+word meskr =
+word menneskers 146-123456-156-234
+word meskrs =
+word mennesket 146-123456-346
+word meskt =
+word menneskets 146-123456-346-234
+word meskts =
 word min 134-1345
-begnum mn 6-134-1345
+begnum mn 56-134-1345
 contraction mn
 word mit 134-2345
-begnum mt 6-145-2345
+begnum mt 56-145-2345
 contraction mt
+word mulighed 134-123-125
+begnum mlh 56-134-123-125
+contraction mlh
+word muligheds 134-123-125-234
+begnum mlhs 56-134-123-125-234
+contraction mlhs
+word muligheden 134-123-125-126
+begnum mlhen 56-134-123-125-15-1345
+contraction mlhen
+word mulighedens 134-123-125-126-234
+begnum mlhens 56-134-123-125-15-1345-234
+contraction mlhens
+word muligheder 134-123-125-156
+word mlhder =
+word muligheders 134-123-125-156-234
+word mlhders =
+word mulighederne 134-123-125-156-1246
+word mlhderne =
+word mulighedernes 134-123-125-156-1246-234
+word mlhdernes =
 word måske 134-123456
 word msk =
 word måtte 134-1256
 word mte =
 
+word naturlig 1345-2345-123
+begnum ntl 56-1345-2345-123
+contraction ntl
+word naturligt 1345-2345-123-2345
+begnum ntlt 56-1345-2345-123-2345
+contraction ntlt
 word naturligvis 1345-2345-1236
-begnum ntv 6-1345-2345-1236
+begnum ntv 56-1345-2345-1236
 contraction ntv
-word nd =
 word ned 1246
-word ne =
 word nogen 1345-1345
-begnum nn 6-1345-1345
+begnum nn 56-1345-1345
 contraction nn
+word nogensinde 1345-234-1456
+word nsde =
 word noget 1345-2345
-begnum nt 6-1345-2345
+begnum nt 56-1345-2345
 contraction nt
 word nogle 1345-123-15
-begnum nle 6-1345-123-15
+begnum nle 56-1345-123-15
 contraction nle
+word næste 1345-1256
+word nte =
+word næsten 1345-126
+word nen =
 word når 1345
 
 word også 14-16
-begnum cå 6-14-16
+begnum cå 56-14-16
 contraction cå
 word og 14
 word omkring 135-134-13
-begnum omk 6-135-134-13
+begnum omk 56-135-134-13
 contraction omk
 word op 135
 word or =
+word organisation 1346-1245-234
+word orgs =
+word organisations 1346-1245-234-234
+word orgss =
+word organisationen 1346-1245-234-126
+word orgsen =
+word organisationens 1346-1245-234-126-234
+word orgsens =
+word organisationer 1346-1245-234-156
+word orgser =
+word organisationers 1346-1245-234-156-234
+word orgsers =
+word organisationerne 1346-1245-234-156-1246
+word orgserne =
+word organisationernes 1346-1245-234-156-1246-234
+word orgsernes =
 word over 1346
 
+word problem 1234-12
+begnum pb 56-1234-12
+contraction pb
+word problems 1234-12-234
+begnum pbs 56-1234-12-234
+contraction pb
+word problemet 1234-12-346
+word pbet =
+word problemets 1234-12-346-234
+word pbets =
+word problemer 1234-12-156
+word pber =
+word problemers 1234-12-156-234
+word pbers =
+word problemerne 1234-12-156-1246
+word pberne =
+word problemernes 1234-12-156-1246-234
+word pbernes =
+word punktskrift 1234-1345-123456
+word pnsk =
 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
+begnum rt 56-1235-2345
 contraction rt
 word rigtig 1235
 
 word sagde 234-1456
 word sammen 234-134
-begnum sm 6-234-134
+begnum sm 56-234-134
 contraction sm
 word samme 234-146
 word sme =
+word samtidig 234-134-2345
+begnum smt 56-234-134-2345
+contraction smt
 word selvfølgelig 234-1236-124
-begnum svf 6-234-1236-124
+begnum svf 56-234-1236-124
 contraction svf
 word selv 234-1236
-begnum sv 6-234-1236
+begnum sv 56-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
+begnum sn 56-234-1345
 contraction sn
 word sit 234-2345
-begnum st 6-234-2345
+begnum st 56-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
+begnum sr 56-234-1235
 contraction sr
 word som 234
+word spørgsmål 234-1234-134
+begnum spm 56-234-1234-134
+contraction spm
+word spørgsmåls 234-1234-134-234
+begnum spms 56-234-1234-134-234
+contraction spms
+word spørgsmålet 234-1234-134-346
+word spmet =
+word spørgsmålets 234-1234-134-346-234
+word spmets =
+word spørgsmålene 234-1234-134-1246
+word spmne =
+word spørgsmålenes 234-1234-134-1246-234
+word spmnes =
+word stadig 1356-1245
+word stg =
 word sådan 16-1
-begnum åa 6-16-1
+begnum åa 56-16-1
 contraction åa
 word således 16-15
-begnum åe 6-16-15
+begnum åe 56-16-15
 contraction åe
 word så 16
 
 word tid 2345-145
-begnum td 6-2345-145
+begnum td 56-2345-145
 contraction td
+word tidlig 2345-145-123
+begnum tdl 56-2345-145-123
+contraction tdl
+word tidlige 2345-145-123-12456
+word tdlge =
+word tidligere 2345-145-123-12356
+word tdlre =
+word tidligst 2345-145-123-1356
+word tdlst =
 word tilbage 2345-12
-begnum tb 6-2345-12
+begnum tb 56-2345-12
 contraction tb
+word tilfælde 2345-124
+begnum tf 56-2345-124
+contraction tf
 word til 2345
 
 word under 12345
 
-sufword var- =
-sufword var. =
-word var 36
-word ve 3456
+word vanskelig 1236-123456
+word vsk =
+word vanskelige 1236-123456-15
+word vske =
+word vanskeligt 1236-123456-2345
+word vskt =
+word var 3456
 word ved 1236
+word vidste 1236-1356-15
+word vste =
 word ville 1236-123-15
-begnum vle 6-1236-123-15
+begnum vle 56-1236-123-15
 contraction vle
 word vil 1236-123
-begnum vl 6-1236-123
+begnum vl 56-1236-123
 contraction vl
+word virkelig 1236-1235-13
+begnum vrk 56-1236-1235-13
+contraction vrk
 word været 1236-2345
-begnum vt 6-1236-2345
+begnum vt 56-1236-2345
 contraction vt
 word være 345
 
-#Part words
+
+word øjeblik 246-245-12
+begnum øjb 56-246-245-12
+contraction øjb
+
+#Part words and words
+begword dansk 145-123456
+begword dsk =
 nocross always den 12346
 nocross always der 23456
 nocross always det 2346
@@ -697,21 +882,33 @@
 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 begword gang 1245-1245
+begword gg 56-1245-1245
+nocross begword gange 1245-1-1345-12456 # *** temporary patch
+nocross partword ge 12456
+begword hjælpe 125-1234-15
+nocross partword hv 2456
+nocross partword ig 35
+begword kvinde 13-1236-1456
+begword kvde =
+nocross partword me 146
+begword menneske 146-123456-15
+begword meske =
+nocross partword nd 12345
+nocross partword ne 1246
+nocross partword or 1346
+begword organisation 1346-1245-234
+begword orgs =
+begword problem 1234-12
+nocross partword re 12356
+nocross partword sk 123456
+nocross partword st 1356
 nocross always te 1256
+begword virkelig 1236-1235-13
+always www 2456-2456-2456
 
 # Numsign/"ve", special case when back-translating
-noback nocross always ve 3456
+noback nocross partword ve 3456
 
 # Additional words containing "hvor"
 # these are made explicit in 6-dots to handle / better
@@ -898,26 +1095,14 @@
 # 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 antonín 1-1345-2345-135-1345-5-24-1345
 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 dvořák 145-1236-135-5-1235-5-1-13
 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
@@ -939,105 +1124,109 @@
 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
+prfword -af 36-1-124
+sufword af- 1-124-36
+prfword -altid 36-1-2345-145
+sufword altid- 1-2345-145-36
+prfword -at 36-1-2345
+prfword -a 36-56-1
+sufword at- 1-2345-36
+prfword -og 36-135-1245
+prfword -c 36-56-14
+sufword og- 135-1245-36
+prfword -du 36-145-136
+prfword -d 36-56-145
+sufword du- 145-136-36
+prfword -efter 36-15-124-2345-156
+prfword -z 36-56-1356
+sufword 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
+prfword -e 36-56-15
+prfword -for 36-124-1346
+prfword -f 36-56-124
+sufword for- 124-1346-36
+prfword -fra 36-124-1235-1
+sufword fra- 124-1235-1-36
+prfword -g 36-56-1245
+prfword -gennem 36-1245-126-1246-134
+sufword gennem- 1245-126-1246-134-36
+prfword -ham 36-125-1-134
+sufword ham- 125-1-134-36
+prfword -han 36-125-1-1345
+prfword -y 36-56-13456
+sufword han- 125-1-1345-36
+prfword -har 36-125-1-1235
+prfword -h 36-56-125
+sufword har- 125-1-1235-36
+prfword -hun 36-125-136-1345
+prfword -u 36-56-136
+sufword hun- 125-136-1345-36
+prfword -j 36-56-245
+prfword -kan 36-13-1-1345
+prfword -k 36-56-13
+sufword kan- 13-1-1345-36
+prfword -lige 36-123-24-12456
+prfword -l 36-56-123
+sufword lige- 123-24-12456-36
+prfword -med 36-146-145
+prfword -m 36-56-134
+sufword med- 146-145-36
+prfword -men 36-134-126
+sufword men- 134-126-36
+ prfword -ned 36-1246-145
+sufword ned- 1246-145-36
+prfword -når 36-1345-16-1235
+prfword -n 36-56-1345
+sufword når- 1345-16-1235-36
+prfword -op 36-135-1234
+prfword -o 36-56-135
+sufword op- 135-1234-36
+prfword -over 36-135-1236-156
+prfword -x 36-56-1346
+sufword over- 135-1236-156-36
+prfword -på 36-1234-16
+prfword -p 36-56-1234
+sufword på- 1234-16-36
 midword -på- 36-1234-36
-endword -ret 36-1235-346
-begword ret- 1235-346-36
+prfword -ret 36-1235-346
+sufword 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
+prfword -à 36-56-12356
+prfword -rigtig 36-1235-35-2345-35
+prfword -r 36-56-1235
+sufword rigtig- 1235-35-2345-35-36
 midword -rigtig- 36-1235-36
-endword -skal 36-123456-1-123
-begword skal- 123456-1-123-36
+prfword -skal 36-123456-1-123
+sufword 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
+prfword -é 36-56-123456
+prfword -som 36-234-135-134
+prfword -s 36-56-234
+sufword 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
+prfword -så 36-234-16
+prfword -å 36-56-16
+sufword så- 234-16-36
+prfword -til 36-2345-24-123
+prfword -t 36-56-2345
+sufword til- 2345-24-123-36
 midword -til- 36-2345-36
-endword -under 36-136-1345-23456
-begword under- 136-1345-23456-36
+prfword -under 36-136-1345-23456
+sufword 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
+prfword -var 36-1236-1-1235
+sufword var- 1236-1-1235-36
+midword -var- 36-3456-36
+prfword -ved 36-1236-15-145
+prfword -v 36-56-1236
+sufword ved- 1236-15-145-36
 midword -ved- 36-1236-36
 
 
 ### Context rules - forward translation
 
 # Exclamation at beginning of string
-noback context `["!"] @6-235
+noback context `["!"] @56-235
 
 # Ensure two dashes where appropriate.
 noback context $w["-"]$w @36
@@ -1049,7 +1238,7 @@
 noback context `["-"]~ @36-36
 
 # Ensure letsign between letter and numsign
-noback context $l[]$D @6
+noback context $l[]$D @56
 
 
 ### context - backward translation
@@ -1067,78 +1256,77 @@
 ### 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
+noback pass2 @234f-123f-2456 @56-125-1236
+noback pass2 @234f-123f-12345 @56-1345-145
+noback pass2 @234f-123f-1346 @56-135-1235
+noback pass2 @234f-123f-1356 @56-234-2345
+noback pass2 @234f-123f-1256 @56-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-135-3456-1235 @56-135-1236-156
+noback pass2 @234f-123f-3456 @56-1236-15
 
-noback pass2 @234f-123f @6
+noback pass2 @234f-123f @56
 
 # Correct chars defined as 8 dots because they include letsign
-noback pass2 @467 @45-6
+noback pass2 @467 @45-23
 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 @123457 @56-12345
+noback pass2 @24567 @56-2456
+noback pass2 @13467 @56-1346
+noback pass2 @13567 @56-1356
+noback pass2 @123567 @56-12356
+noback pass2 @23467 @56-2346
+noback pass2 @1234567 @56-123456
+noback pass2 @12567 @56-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
+#special case for www
+noback pass2 @24567-24567-24567 @2456-2456-2456
+
+noback pass2 @56-5 @5 # no letsign before letters with accent
+noback pass2 @56-6-5 @6-5 # no letsign before cap letters with accent
+noback pass2 @234f-123f-6-5 @6-5 # no letsign before cap letters with accent
+noback pass2 _$D[@56-6-56] *
+noback pass2 _$D[@56-6] *
 
  ### 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
+#special case for www
+nofor pass2 @2456-2456-2456 @24567-24567-24567
 
 ### Pass 3 - forward translation
+noback pass3 @56-6-56 @56-6 # Ensure correct order and no double letsign
+noback pass3 @6-56 @56-6 # Ensure correct order
 
 # Ensure there is only one letsign
- noback pass3 @6-6 @6
+ noback pass3 @56-56 @56
 
 # Ensure there is only one emphasis sign
-noback pass3 @56-56 @56
-noback pass3 @56-56-56 @56
-
+noback pass3 @46-46 @46
+noback pass3 @46-46-46 @46
 
 ### 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
+nofor pass3 @56-6-12345 @6-123457
+nofor pass3 @56-12345 @123457
+nofor pass3 @56-6-2456 @6-24567
+nofor pass3 @56-2456 @24567
+nofor pass3 @56-6-1346 @6-13467
+nofor pass3 @56-1346 @13467
+nofor pass3 @56-6-1356 @6-13567
+nofor pass3 @56-1356 @13567
+nofor pass3 @56-6-12356 @6-123567
+nofor pass3 @56-12356 @123567
+nofor pass3 @56-6-2346 @6-23467
+nofor pass3 @56-2346 @23467
+nofor pass3 @56-6-123456 @6-1234567
+nofor pass3 @56-123456 @1234567
+nofor pass3 @56-6-1256 @6-12567
+nofor pass3 @56-1256 @12567
 
 # save ~ and |  before inserting extra letsigns and endcapsword in pass 2.
-nofor pass3 @45-6 @467 # Create alternative representation of "~"
+nofor pass3 @45-23 @467 # Create alternative representation of "~"
 nofor pass3 @45-456 @4568
 
 # Include hyphenation file as the last thing
-include hyph_brl_da_dk.dic
+include da-dk-g2.dic
diff --git a/tables/da-dk-g26_1993.ctb b/tables/da-dk-g26_1993.ctb
new file mode 100644
index 0000000..c54135f
--- /dev/null
+++ b/tables/da-dk-g26_1993.ctb
@@ -0,0 +1,1146 @@
+# Liblouis: Danish table for 6 dots grade 2 forward and backward translation 1993
+#
+#  Copyright (C) 2014, 2016-2021, 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 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: both
+#+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
+
+# 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
+
+begemphphrase bold 56
+endemphphrase bold after 56
+
+begemphphrase underline 56
+endemphphrase underline after 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.
+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 "'"
+
+### 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
+
+# Remove space between § and numbers.
+noback begnum § 346
+begnum §\s 346
+begnum §§\s 346-346
+always §§ 346-346
+
+# 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
+
+# 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.
+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
+
+# 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.
+attribute 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
+
+# Ensure there is only one emphasis sign
+noback pass3 @56-56 @56
+noback pass3 @56-56-56 @56
+
+
+### 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 da-dk-g2_1993.dic
diff --git a/tables/da-dk-g26l-lit.ctb b/tables/da-dk-g26l-lit_1993.ctb
similarity index 96%
rename from tables/da-dk-g26l-lit.ctb
rename to tables/da-dk-g26l-lit_1993.ctb
index 941ffea..624b01c 100644
--- a/tables/da-dk-g26l-lit.ctb
+++ b/tables/da-dk-g26l-lit_1993.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 1.5 (grade 2l) literary, forward translation only
+# Liblouis: Danish table for 6 dots grade 1.5 (grade 2l) literary, forward translation only 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -18,12 +18,13 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-index-name: Danish, partially contracted, 6-dot
-#-display-name: Danish 6-dot partially contracted braille
+#-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
@@ -31,9 +32,11 @@
 #+grade: 1.5
 #+dots: 6
 #+direction: forward
+#+system: ddp
+#+version: 1993
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Spaces
 
@@ -160,7 +163,7 @@
 math \x00f7 45-256 DIVISION SIGN
 
 # Misc unicode characters
-include da-dk-6miscChars.cti
+include da-dk-6miscChars_1993.cti
 
 # Litdigits
 include litdigits6Dots.uti
diff --git a/tables/da-dk-g26l.ctb b/tables/da-dk-g26l_1993.ctb
similarity index 96%
rename from tables/da-dk-g26l.ctb
rename to tables/da-dk-g26l_1993.ctb
index e2e6138..9e9de9b 100644
--- a/tables/da-dk-g26l.ctb
+++ b/tables/da-dk-g26l_1993.ctb
@@ -1,6 +1,6 @@
-# Liblouis: Danish table for 6 dots grade 1.5 (grade 2l) forward and backward translation 
+# Liblouis: Danish table for 6 dots grade 1.5 (grade 2l) forward and backward translation 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -18,12 +18,13 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-index-name: Danish, partially contracted, 6-dot
-#-display-name: Danish 6-dot partially contracted braille
+#-name: Dansk lille forkortelse 1993
+#-index-name: Danish, partially contracted, 6-dot, 1993
+#-display-name: Danish 6-dot partially contracted braille (1993 standard)
 
 #+language: da
 #+type: literary
@@ -31,9 +32,11 @@
 #+grade: 1.5
 #+dots: 6
 #+direction: both
+#+system: ddp
+#+version: 1993
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Spaces
 
@@ -160,7 +163,7 @@
 math \x00f7 45-256 DIVISION SIGN
 
 # Misc unicode characters
-include da-dk-6miscChars.cti
+include da-dk-6miscChars_1993.cti
 
 # Litdigits
 include litdigits6Dots.uti
diff --git a/tables/da-dk-g28.ctb b/tables/da-dk-g28.ctb
index dca5545..9383f68 100644
--- a/tables/da-dk-g28.ctb
+++ b/tables/da-dk-g28.ctb
@@ -1,6 +1,6 @@
-# liblouis: Danish, table for 8 dots grade 2 (forward and backward translation)
+# liblouis: Danish, table for 8 dots grade 2 forward and backward translation (2022)
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -20,16 +20,19 @@
 #
 #------------
 #
-# This  is the Danish table for 8 dots grade 2 (stor forkortelse).
-# Use this table for translation and back-translation of Danish 8 dots grade 2.
+# This  is the Danish table for 8 dots grade 2 Braille (stor forkortelse) (2022).
+# Use this table for translation and back-translation of Danish 8 dots Braille grade 2.
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-name: Dansk forkortet 8-punkt
-#-index-name: Danish, contracted, 8-dot
-#-display-name: Danish 8-dot contracted braille
+#-name: Dansk forkortet 8-punkt 2022
+#-index-name: Danish, contracted, 8-dot, 2022
+#-display-name: Danish 8-dot contracted braille (2022 standard)
 
 #+language: da
 #+type: literary
@@ -37,6 +40,8 @@
 #+grade: 2
 #+dots: 8
 #+direction: both
+#+system: ddp
+#+version: 2022
 
 #-has-nocross: yes
 
@@ -44,62 +49,36 @@
 include da-dk-octobraille.dis
 
 ### Character definitions ###
+# Various spaces
+include spaces.uti
 
-sign \x0000 8 NULL
-sign \x0001 178 START OF HEADING
-sign \x0002 1278 START OF TEXT
-sign \x0003 1478 END OF TEXT
-sign \x0004 14578 END OF TRANSMISSION
-sign \x0005 24568 ENQUIRY
-sign \x0006 12478 ACKNOWLEDGE
-sign \x0007 124578 BELL
-sign \x0008 12578 BACKSPACE
-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)
-sign \x000e 134578 SHIFT OUT
-sign \x000f 12358 SHIFT IN
-sign \x0010 123478 DATA LINK ESCAPE
-sign \x0011 1234578 DEVICE CONTROL ONE
-sign \x0012 13568 DEVICE CONTROL TWO
-sign \x0013 4578 DEVICE CONTROL THREE
-sign \x0014 268 DEVICE CONTROL FOUR
-sign \x0015 13678 NEGATIVE ACKNOWLEDGE
-sign \x0016 278 SYNCHRONOUS IDLE
-sign \x0017 3578 END OF TRANSMISSION BLOCK
-sign \x0018 78 CANCEL
-sign \x0019 68 END OF MEDIUM
-sign \x001a 135678 SUBSTITUTE
-sign \x001b 2678 ESCAPE
-sign \x001c 45678 INFORMATION SEPARATOR FOUR
-sign \x001d 12368 INFORMATION SEPARATOR THREE
-sign \x001e 1234678 INFORMATION SEPARATOR TWO
-sign \x001f 235678 INFORMATION SEPARATOR ONE
-space \s 0 SPACE
 punctuation ! 235 EXCLAMATION MARK
 punctuation " 2356 QUOTATION MARK
 punctuation # 34568 NUMBER SIGN
-sign $ 25678 DOLLAR SIGN
-math % 24578 PERCENT SIGN
+sign $ 14578 DOLLAR SIGN
+math % 678 PERCENT SIGN
 sign & 123468 AMPERSAND
 punctuation ' 4 APOSTROPHE
 punctuation ( 2368 LEFT PARENTHESIS
 punctuation ) 3568 RIGHT PARENTHESIS
 math + 2358 PLUS SIGN
 punctuation , 2 COMMA
-punctuation - 368 HYPHEN-MINUS
+punctuation - 36 HYPHEN-MINUS
 punctuation . 3 FULL STOP
 punctuation / 348 SLASH
+
+# Digits
 include digits8Dots.uti
+
 punctuation : 25 COLON
 punctuation ; 23 SEMICOLON
 math < 358 LESS-THAN SIGN
 math = 23568 EQUALS SIGN
 math > 267 GREATER-THAN SIGN
 punctuation ? 26 QUESTION MARK
-sign @ 478 COMMERCIAL AT
+sign @ 178 COMMERCIAL AT
+
+# Latin letters
 lowercase a 1 LATIN LETTER A
 lowercase b 12 LATIN LETTER B
 lowercase c 14 LATIN LETTER C
@@ -122,6 +101,7 @@
 lowercase u 136 LATIN LETTER U
 lowercase v 1236 LATIN LETTER V
 lowercase y 13456 LATIN LETTER Y
+
 punctuation [ 23678 LEFT SQUARE BRACKET
 punctuation ] 35678 RIGHT SQUARE BRACKET
 punctuation ^ 12348 CIRCUMFLEX ACCENT
@@ -130,78 +110,62 @@
 punctuation { 123678 LEFT CURLY BRACKET
 punctuation | 4568 VERTICAL LINE
 punctuation } 345678 RIGHT CURLY BRACKET
-punctuation ~ 467 TILDE
+punctuation ~ 2378 TILDE
 sign \x007f 7 DELETE
 sign \x20AC 1578 #EURO SIGN (0x80)
-noback sign \x0080 1578 #EURO SIGN (0x80)
-sign \x0081 45 <control-0081>
+sign \x0081 2357 <control-0081>
 punctuation \x201A 457 #Low single quote (0x82)
-noback punctuation \x0082 457 #Low single quote (0x82)
 sign \x0192 58 #Flurihn (0x83)
-noback sign \x0083 58 #Flurihn (0x83)
-punctuation \x201E 2378 #Low quote (0x84)
-noback punctuation \x0084 2378 #Low quote (0x84)
-letter \x2020 2357 #Dagger (0x86
-noback letter \x0086 2357 #Dagger (0x86
-letter \x2021 23578 #Double dagger (0x87
-noback letter \x0087 23578 #Double dagger (0x87
-letter \x02c6 5678 #Modifier letter circumflex (0x88)
-noback letter \x0088 5678 #Modifier letter circumflex (0x88)
+punctuation \x201E 467 #Low quote (0x84)
+sign \x2020 45 #Dagger (0x86
+sign \x2021 456 #Double dagger (0x87
+sign \x02c6 5678 #Modifier letter circumflex (0x88)
 math \x2030 245678 #permille sign (0x89)
-noback math \x0089 245678 #permille sign (0x89)
-lowercase \x0161 2348 #LATIN LETTER S WITH CARON (0x8a)
-noback lowercase \x009a 2348 #LATIN LETTER S WITH CARON (0x8a)
-punctuation \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
-noback punctuation \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
-lowercase \x0153 1358 #LATIN LIGATURE OE (0x8c)
-noback lowercase \x009c 1358 #LATIN LIGATURE OE (0x8c)
+punctuation \x2039 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+uppercase \x0152 13578 #Latin capital LIGATURE OE (0x8c)
 sign \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
-letter \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
-letter \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
+sign \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
+sign \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
 punctuation \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
-noback punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
 punctuation \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
-noback punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
 punctuation \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
-noback punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 punctuation \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
-noback punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 sign \x2022 37 #Bullit (0x95)
-noback sign \x0095 37 #Bullit (0x95)
-sign \x02DC 46 #SMALL TILDE (0x98)
-noback sign \x0098 46 #SMALL TILDE (0x98)
+sign \x2013 368 #EN DASH (0x96)
+sign \x2014 367 #Em DASH (0x97)
+sign \x02DC 23478 #small TILDE (0x98)
 sign \x2122 234578 #TRADE MARK SIGN (0x99)
-noback sign \x0099 234578 #TRADE MARK SIGN (0x99)
 punctuation \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
-noback punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+lowercase \x0153 1358 #Latin small LIGATURE OE (0x9c)
 letter \x009d 2567 OPERATING SYSTEM COMMAND
-lowercase \x00ff 234568 #LATIN LETTER Y WITH DIAERESIS (0x9f)
-noback uppercase \x009f 2345678 #LATIN LETTER Y WITH DIAERESIS (0x9f)
-punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+uppercase \x0178 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
 punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 punctuation \x00a2 2578 CENT SIGN (0xa2)
-punctuation \x00a3 1238 POUND SIGN (0xa3)
-punctuation \x00a5 67 YEN SIGN (0xa5)
+punctuation \x00a3 12378 POUND SIGN (0xa3)
+punctuation \x00a5 1345678 YEN SIGN (0xa5)
 punctuation \x00a6 3478 BROKEN BAR (0xa6)
 punctuation \x00a7 578 SECTION SIGN (0xa7)
-punctuation \x00a9 134678 COPYRIGHT SIGN (0xa9)
+punctuation \x00a8 56 DIAERESIS (0xa8)
+punctuation \x00a9 1478 COPYRIGHT SIGN (0xa9)
 letter \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
 punctuation \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
 letter \x00ad 378 SOFT HYPHEN (0xad)
-punctuation \x00ae 123578 REGISTERED SIGN (0xae)
-punctuation \x00af 23567 MACRON (0xaf)
-math \x00b1 123458 PLUS-MINUS SIGN
+punctuation \x00ae 123578 Registered sign (0xae)
+punctuation \x00af 23567 macron (0xaf)
+math \x00b1 12478 PLUS-MINUS SIGN
 punctuation \x00b2 238 SUPERSCRIPT TWO
 punctuation \x00b3 258 SUPERSCRIPT THREE
-punctuation \x00b4 468 ACUTE ACCENT
+punctuation \x00b4 458 acute ACCENT
 punctuation \x00b6 1234568 PILCROW SIGN
 punctuation \x00b7 38 MIDDLE DOT
 punctuation \x00b8 4678 CEDILLA
 punctuation \x00b9 28 SUPERSCRIPT ONE
 letter \x00ba 12345678 MASCULINE ORDINAL INDICATOR
 punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
-punctuation \x00bd 458 VULGAR FRACTION ONE HALF
+punctuation \x00bc 1368 VULGAR FRACTION ONE QUARTER
+punctuation \x00bd 468 VULGAR FRACTION ONE HALF
+punctuation \x00be 13468 VULGAR FRACTION THREE QUARTERS
+punctuation \x00bf 34 INVERTED QUESTION MARK
 lowercase \x00e1 123568 LATIN LETTER A WITH ACUTE
 lowercase \x00e2 168 LATIN LETTER A WITH CIRCUMFLEX
 lowercase \x00e3 1468 LATIN LETTER A WITH TILDE
@@ -216,13 +180,13 @@
 lowercase \x00f3 3468 LATIN LETTER O WITH ACUTE
 lowercase \x00f5 14568 LATIN LETTER O WITH TILDE
 lowercase \x00f6 2468 LATIN LETTER O WITH DIAERESIS
-math \x00d7 13468 MULTIPLICATION SIGN
+math \x00f7 2568 DIVISION SIGN
 lowercase \x00f8 246 LATIN LETTER O WITH STROKE
 lowercase \x00fa 12568 LATIN LETTER U WITH ACUTE
 lowercase \x00fd 1348 LATIN LETTER Y WITH ACUTE (infinite?)
 lowercase \x00fe 138 LATIN LETTER THORN
 lowercase \x00df 23468 LATIN SMALL LETTER SHARP S
-math \x00f7 2568 DIVISION SIGN
+lowercase \x00ff 234568 LATIN SMALL LETTER Y WITH DIAERESIS
 
 # Character used for capslettersign
 # Resides in the "private use area", and shouldn't conflict with anything.
@@ -231,44 +195,69 @@
 # Used as dash where dash should act as space.
 space \xf8fe ef
 
+# In CP-1252 the following chars are different from Unicode.
+# This placement ensures that Liblouis will always return the unicode when back-translating.
+noback sign \x0080 1578 #EURO SIGN (0x80)
+noback punctuation \x0082 457 #Low single quote (0x82)
+noback sign \x0083 58 #Flurihn (0x83)
+noback punctuation \x0084 467 #Low quote (0x84)
+noback letter \x0086 45 #Dagger (0x86
+noback letter \x0087 456 #Double dagger (0x87
+noback letter \x0088 5678 #Modifier letter circumflex (0x88)
+noback math \x0089 245678 #permille sign (0x89)
+noback uppercase \x008a 5-2347 #Latin letter S with caron (0x8a)
+noback lowercase \x009a 5-234
+noback punctuation \x008b 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+noback uppercase \x008c 13578 #Latin LIGATURE OE (0x8c)
+noback lowercase \x009c 1358
+noback uppercase \x008e 3467 #Latin capital letter Z with caron (0x8e)
+noback lowercase \x009e 346
+noback punctuation \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
+noback punctuation \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+noback punctuation \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+noback punctuation \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+noback sign \x0095 37 #Bullit (0x95)
+noback sign \x0096 368 #EN DASH (0x96)
+noback sign \x0097 367 #Em DASH (0x97)
+noback sign \x0098 23478 #small TILDE (0x98)
+noback sign \x0099 234578 #TRADE MARK SIGN (0x99)
+noback punctuation \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+noback uppercase \x009f 2345678 #Latin capital letter Y with DIAERESIS (0x9f)
+
 #Unicode Braille patterns
 include braille-patterns.cti
 
 # characters that have letsign as part of their definition
 # (to be removed when the alwaysletsign opcode has been implemented).
-punctuation * 6-35 ASTERISK
-lowercase q 6-12345 LATIN LETTER Q
-lowercase w 6-2456 LATIN LETTER W
-lowercase x 6-1346 LATIN LETTER X
-lowercase z 6-1356 LATIN LETTER Z
-punctuation \\ 6-347 REVERSE SLASH
-punctuation \x2026 6-3-3-3 #Elipsis (0x85)
-noback punctuation \x0085 6-3-3-3 #Elipsis (0x85)
-lowercase \x017e 6-346 #LATIN  LETTER Z WITH CARON (0x8e)
-noback lowercase \x009e 6-346 #LATIN  LETTER Z WITH CARON (0x8e)
-letter \x2013 6-36 #EN DASH (0x96)
-noback sign \x0096 6-36 #EN DASH (0x96)
-letter \x2014 6-367 #Em DASH (0x97)
-noback sign \x0097 6-367 #Em DASH (0x97)
-punctuation \x00a4 6-2367 CURRENCY SIGN (0xa4)
-punctuation \x00a8 6-56 DIAERESIS (0xa8)
-punctuation \x00ac 6-34567 NOT SIGN (0xac)
-sign \x00b0 4-356 DEGREE SIGN (0xb0)
-sign \x00b5 6-236 MICRO SIGN
-punctuation \x00be 6-3456 VULGAR FRACTION THREE QUARTERS
-punctuation \x00bf 6-34 INVERTED QUESTION MARK
-lowercase \x00e0 6-12356 LATIN  LETTER A WITH GRAVE
-lowercase \x00e7 6-12346 LATIN  LETTER C WITH CEDILLA
-lowercase \x00e8 6-2346 LATIN  LETTER E WITH GRAVE
-lowercase \x00e9 6-123456 LATIN  LETTER E WITH ACUTE
-lowercase \x00ea 6-126 LATIN  LETTER E WITH CIRCUMFLEX
-lowercase \x00eb 6-1246 LATIN  LETTER E WITH DIAERESIS
-lowercase \x00ee 6-146 LATIN  LETTER I WITH CIRCUMFLEX
-lowercase \x00ef 6-12456 LATIN  LETTER I WITH DIAERESIS
-lowercase \x00f4 6-1456 LATIN  LETTER O WITH CIRCUMFLEX
-lowercase \x00f9 6-23456 LATIN  LETTER U WITH GRAVE
-lowercase \x00fb 6-156 LATIN  LETTER U WITH CIRCUMFLEX
-lowercase \x00fc 6-1256 LATIN  LETTER U WITH DIAERESIS
+punctuation * 56-35 ASTERISK
+lowercase q 56-12345 LATIN LETTER Q
+lowercase w 56-2456 LATIN LETTER W
+lowercase x 56-1346 LATIN LETTER X
+lowercase z 56-1356 LATIN LETTER Z
+punctuation \\ 56-347 REVERSE SLASH
+punctuation \x2026 56-3-3-3 #Elipsis (0x85)
+noback punctuation \x0085 56-3-3-3 #Elipsis (0x85)
+lowercase \x017e 56-346  #LATIN  LETTER Z WITH CARON (0x8e)
+noback lowercase \x009e 56-346 #LATIN  LETTER Z WITH CARON (0x8e)
+punctuation \x00a4 56-2367 CURRENCY SIGN (0xa4)
+punctuation \x00a8 56-56 DIAERESIS (0xa8)
+punctuation \x00ac 56-34567 NOT SIGN (0xac)
+sign \x00b0 56-356 Degree sign (0xb0)
+sign \x00b5 56-236 MICRO SIGN
+punctuation \x00bf 56-34 INVERTED QUESTION MARK
+math \x00d7 56-3456 MULTIPLICATION SIGN
+lowercase \x00e0 56-12356 LATIN  LETTER A WITH GRAVE
+lowercase \x00e7 56-12346 LATIN  LETTER C WITH CEDILLA
+lowercase \x00e8 56-2346 LATIN  LETTER E WITH GRAVE
+lowercase \x00e9 56-123456 LATIN  LETTER E WITH ACUTE
+lowercase \x00ea 56-126 LATIN  LETTER E WITH CIRCUMFLEX
+lowercase \x00eb 56-1246 LATIN  LETTER E WITH DIAERESIS
+lowercase \x00ee 56-146 LATIN  LETTER I WITH CIRCUMFLEX
+lowercase \x00ef 56-12456 LATIN  LETTER I WITH DIAERESIS
+lowercase \x00f4 56-1456 LATIN  LETTER O WITH CIRCUMFLEX
+lowercase \x00f9 56-23456 LATIN  LETTER U WITH GRAVE
+lowercase \x00fb 56-156 LATIN  LETTER U WITH CIRCUMFLEX
+lowercase \x00fc 56-1256 LATIN  LETTER U WITH DIAERESIS
 
 # Misc unicode characters
 
@@ -328,9 +317,10 @@
 lowercase \x0155 5-1235 Latin letter r with acute
 noback lowercase \x0157 5-1235 Latin letter r with cedilla
 noback lowercase \x0159 5-1235 Latin letter r with caron
-lowercase \x015b 5-234 Latin letter s with acute
+noback lowercase \x015b 5-234 Latin letter s with acute
 noback lowercase \x015d 5-234 Latin letter s with circumflex
 noback lowercase \x015f 5-234 Latin letter s with cedilla
+lowercase \x0161 5-234 #Latin  lowercase Letter S with caron (0x8a/0x9a)
 lowercase \x0163 5-2345 Latin letter t with cedilla
 noback lowercase \x0165 5-2345 Latin letter t with caron
 noback lowercase \x0167 5-2345 Latin letter t with stroke
@@ -346,8 +336,64 @@
 noback lowercase \x017c 5-1356 Latin letter z with dot above
 noback lowercase \x017f 5-234 Latin small letter long s
 
-# Greek letters (with dots 458 as prefix)
+# Greek letters (with do# Punctuation and bullits
 
+noback punctuation \x2010 36 # Hyphen
+noback punctuation \x2011 36 # Non-breaking hyphen
+noback punctuation \x2012 36 # Figure dash
+sign \x2016 45-4568 # Double Vertical Line
+sign \x2017 45-3678 # Double low line
+noback punctuation \x201b 4 # Single High-Reversed-9 Quotation Mark
+noback punctuation \x201f 2356 # Double High-Reversed-9 Quotation Mark
+noback sign \x2023 37 #Triangular bullit
+noback punctuation \x203c 235-235 # Double Exclamation Mark
+noback punctuation \x203d 26-235 # Interrobang
+noback sign \x2043 37 # Hyphen bullet (0x95)
+noback punctuation \x2047 26-26 # Double question mark
+noback punctuation \x2048 26-235 # Question exclamation mark
+noback punctuation \x2049 235-26 # Exclamation question mark
+noback sign \x204c 37 # BLACK LEFTWARDS BULLET 
+noback sign \x204d 37 # BLACK RIGHTWARDS BULLET 
+
+# Arrows
+
+sign \x2190 45-1256-246 Left arrow
+sign \x2191 45-1256-346 Up arrow
+sign \x2192 45-1256-135 Right arrow
+sign \x2193 45-1256-146 Down arrow
+sign \x2194 45-1256-2456-1235-135 Left-right arrow
+sign \x2196 45-1256-156 Northwest arrow
+sign \x2197 45-1256-234 Northeast arrow
+sign \x2198 45-1256-126 Southeast arrow
+sign \x2199 45-1256-345 Southwest arrow
+sign \x21d4 45-1256-2456-2356-1235-135 Left-right double arrow
+
+# Math signs (experimental)
+
+math \x2200 45-1 # For all
+math \x2208 45-15 # Element of
+math \x2213 456-36 # Minus or plus
+math \x221d 456-5-23568 # Proportional to
+math \x2229 46-236 # Intersection
+math \x222a 46-235 # Union
+math \x2243 456-35 # approx. equal to
+math \x2245 5-45-35 # approx. equal to
+math \x2248 45-35 # approx. equal to
+math \x224f 45-5-23568 # Diff between or approx. equal to
+math \x2251 46-5-23568 # approx. equal to
+math \x2260 5-23568-4-156 # Not equal to
+math \x2261 456-123456 # Equivalent to
+math \x2264 456-358 # Less than or equal to
+math \x2265 456-267 # Greater than or equal to
+math \x226a 46-358 # Much less than
+math \x226b 46-267 # Much greater than
+math \x22c5 5-256 # Multiplication dot
+
+# Geometrical shapes
+
+noback sign \x25e6 37 #White bullet
+
+# Greek letters with dots 458 as prefix)
 lowercase \x03AC 458-5-1 Greek letter alpha with tonos
 lowercase \x03AD 458-5-15 Greek letter epsilon with tonos
 lowercase \x03AE 458-5-156 Greek letter eta with tonos
@@ -381,8 +427,6 @@
 lowercase \x03C8 458-13456 Greek letter Psi
 lowercase \x03C9 458-2456 Greek letter Omega
 
-include da-dk-8miscChars.cti
-
 # Uppercase letters
 
 base uppercase A a LATIN LETTER A
@@ -566,11 +610,11 @@
 comp6 W 6-24567
 comp6 X 6-13467
 comp6 Y 134567
-comp6 Z 6-13567
+comp6 Z 56-13567
 comp6 \x008a 23478
 comp6 \x008c 13578
-comp6 \x008e 6-3467
-comp6 \x00c0 6-123567
+comp6 \x008e 56-3467
+comp6 \x00c0 56-123567
 comp6 \x00c1 1235678
 comp6 \x00c2 1678
 comp6 \x00c3 14678
@@ -586,7 +630,7 @@
 comp6 \x00cd 12678
 comp6 \x00ce 6-1467
 comp6 \x00cf 6-124567
-comp6 \x00d0 1345678
+comp6 \x00d0 67
 comp6 \x00d1 1245678
 comp6 \x00d2 124678
 comp6 \x00d3 34678
@@ -711,44 +755,44 @@
 nofor always N 13457
 nofor always O 1357
 nofor always P 12347
-nofor always Q 6-123457
+nofor always Q 56-123457
 nofor always R 12357
 nofor always S 2347
 nofor always T 23457
 nofor always U 1367
 nofor always V 12367
-nofor always W 6-24567
-nofor always X 6-13467
+nofor always W 56-24567
+nofor always X 56-13467
 nofor always Y 134567
-nofor always Z 6-13567
-nofor always \x00c0 6-123567
+nofor always Z 56-13567
+nofor always \x00c0 56-123567
 nofor always \x00c1 1235678
 nofor always \x00c2 1678
 nofor always \x00c3 14678
 nofor always \x00c4 34578
 nofor always \x00c5 167
 nofor always \x00c6 3457
-nofor always \x00c7 6-123467
-nofor always \x00c8 6-23467
-nofor always \x00c9 6-1234567
-nofor always \x00ca 6-1267
-nofor always \x00cb 6-12467
+nofor always \x00c7 56-123467
+nofor always \x00c8 56-23467
+nofor always \x00c9 56-1234567
+nofor always \x00ca 56-1267
+nofor always \x00cb 56-12467
 nofor always \x00cc 15678
 nofor always \x00cd 12678
-nofor always \x00ce 6-1467
-nofor always \x00cf 6-124567
-nofor always \x00d0 1345678
+nofor always \x00ce 56-1467
+nofor always \x00cf 56-124567
+nofor always \x00d0 67
 nofor always \x00d1 1245678
 nofor always \x00d2 124678
 nofor always \x00d3 34678
-nofor always \x00d4 6-14567
+nofor always \x00d4 56-14567
 nofor always \x00d5 145678
 nofor always \x00d6 24678
 nofor always \x00d8 2467
-nofor always \x00d9 6-234567
+nofor always \x00d9 56-234567
 nofor always \x00da 125678
-nofor always \x00db 6-1567
-nofor always \x00dc 6-12567
+nofor always \x00db 56-1567
+nofor always \x00dc 56-12567
 nofor always \x00dd 13478
 nofor always \x00de 1378
 nofor always \x0100 5-17
@@ -765,15 +809,14 @@
 nofor always \x014c 5-1357
 nofor always \x0152 13578
 nofor always \x0154 5-12357
-nofor always \x015a 5-2347
-nofor always \x0160 23478
+nofor always \x0160 5-2347
 nofor always \x0162 5-23457
 nofor always \x0168 5-1367
 nofor always \x0174 5-24567
 nofor always \x0176 5-134567
 nofor always \x0178 2345678
 nofor always \x0179 5-13567
-nofor always \x017d 6-3467
+nofor always \x017d 56-3467
 nofor always \x0386 458-5-17
 nofor always \x0388 458-5-157
 nofor always \x0389 458-5-1567
@@ -809,30 +852,28 @@
 ### misc opcodes ###
 
 # Emphasis opcodes
-# Emphasis opcodes
 emphclass italic
 emphclass underline
 emphclass bold
 
-begemphphrase italic 56
-endemphphrase italic after 56
+begemphphrase italic 46
+endemphphrase italic after 46
 
-begemphphrase bold 56
-endemphphrase bold after 56
+begemphphrase bold 46
+endemphphrase bold after 46
 
-begemphphrase underline 56
-endemphphrase underline after 56
+begemphphrase underline 46
+endemphphrase underline after 46
 
 # special symbols
-decpoint , 2
-hyphen - 368
-letsign 6
+hyphen - 36
+letsign 56
 noletsign IQWXZiqwxz\x0149
 noletsignbefore 1234567890
 
 capsletter f
-multind f-6 capsletter letsign
-multind 6-f letsign capsletter
+multind f-56 capsletter letsign
+multind 56-f letsign capsletter
 capsnocont
 
 # The Danish use of letsign differs somewhat from the LibLouis way.
@@ -840,13 +881,13 @@
 
 # Ensure that we have letsign between a digit and "st"
 # and nd after a digit is not contracted
-noback context _$d["st"]!$l @6-234-2345
-noback context _$d["st"]~ @6-234-2345
+noback context _$d["st"]!$l @56-234-2345
+noback context _$d["st"]~ @56-234-2345
 noback context _$d["nd"]!$l @1345-145
 noback context _$d["nd"]~ @1345-145
 # The following lines are to ensure that we get a letsign between a digit and a single letter.
-noback context $d[]$l!$l @6
-noback context $d[]$l~ @6
+noback context $d[]$l!$l @56
+noback context $d[]$l~ @56
 
 ### Correct - Forward translation
 
@@ -854,7 +895,7 @@
 noback correct $U["-"] "\xf8fe"
 
 # Special characters that always need letsigns because they represent contractions
-always \x00a1 6-256 # inverted exclamationmark
+always \x00a1 56-256 # inverted exclamationmark
 
 #Special sequences, urls emails and file names.
 nocont $
@@ -862,64 +903,61 @@
 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
-
-# Remove space between § and numbers.
-noback begnum § 578
-begnum §\s 578
-begnum §§\s 578-578
-always §§ 578-578
 
 #Words
 word af 356
+always 'af 4-1-124
 word aldrig 1-35
 word aig =
 word alle 1-15
-begnum ae 6-1-15
+begnum ae 56-1-15
 contraction ae
 word allerede 1-123-1235
-begnum alr 6-1-123-1235
+begnum alr 56-1-123-1235
 contraction alr
 word alligevel 1-123-1236
-begnum alv 6-1-123-1236
+begnum alv 56-1-123-1236
 contraction alv
 word altid 1-2345-145
-begnum atd 6-1-2345-145
+begnum atd 56-1-2345-145
 contraction atd
 word altså 1-16
-begnum aå 6-1-16
+begnum aå 56-1-16
 contraction aå
+word arbejde 1-12-1456
+word abde =
+word arbejdede 1-12-1456-1456
+word abdede =
+word arbejder 1-12-23456
+word abder =
+word arbejdet 1-12-2346
+word abdet =
 word at 1
 
+word betyde 12-2345-1456
+word btde =
+word betyder 12-2345-23456
+word btder =
 word blevet 12-2345
-begnum bt 6-12-2345
+begnum bt 56-12-2345
 contraction bt
 word blev 12-1236
-begnum bv 6-12-1236
+begnum bv 56-12-1236
 contraction bv
 word blive 12-3456
-word bve 12-1236-15
+word bve =
 word bliver 12
 
+word danmark 145-1345-13
+begnum dnk 56-145-1345-13
+contraction dnk
+word danmarks 145-1345-13-234
+begnum dnks 56-145-1345-13-234
+contraction dnks
+word dansk 145-123456
+word dsk =
+word danske 145-123456-15
+word dske =
 word derefter 23456-1356
 word derst =
 word deres 256
@@ -944,27 +982,35 @@
 word derunder 23456-12345
 word derved 23456-1236
 word din 145-1345
-begnum dn 6-145-1345
+begnum dn 56-145-1345
 contraction dn
 word disse 145-234
-begnum ds 6-145-234
+begnum ds 56-145-234
 contraction ds
 word dit 145-2345
-begnum dt 6-145-2345
+begnum dt 56-145-2345
 contraction dt
 word du 145
 
 word efter 1356
+word eftersom 1356-234
+word sts =
 word eller 15
 word endnu 15-136
-begnum eu 6-15-136
+begnum eu 56-15-136
 contraction eu
 
+word faktisk 124-13-2345
+begnum fkt 56-124-13-2345
+contraction fkt
 word fik 124-13
-begnum fk 6-124-13
+begnum fk 56-124-13
 contraction fk
+word forbi 124-12
+begnum fb 56-124-12
+contraction fb
 word fordi 124-145
-begnum fd 6-124-145
+begnum fd 56-124-145
 contraction fd
 word forskellige 124-123456-15
 word fske =
@@ -973,22 +1019,33 @@
 word forskellig 124-123456
 word fsk =
 word for 124
+word fortælle 124-1256
+word fte =
+word fortæller 124-2345-156
+word fter =
 word fra 235
 word første 124-1356-15
+word fste =
 word først 124-1356
+word fst =
 word før 246
 
+word gang 1245-1245
+begnum gg 56-1245-1245
+contraction gg
+word gange 1245-12456
+word gge =
+word gangene 1245-1245-15-1246
 word ganske 1245-123456
 word gennem 12456
-word ge =
 word gik 1245-13
-begnum gk 6-1245-13
+begnum gk 56-1245-13
 contraction gk
 word gør 1245
 
 word ham 236
 word hans 13456-234
-begnum ys 6-13456-234
+begnum ys 56-13456-234
 contraction ys
 word han 13456
 word har 125
@@ -996,18 +1053,35 @@
 word hde =
 word have 125-3456
 word hve =
-word helt 125-2345
-begnum ht 6-125-2345
-contraction ht
+word hele 125-123-15
+begnum hle 56-125-123-15
+contraction hle
+word heller 125-123-1235
+begnum hlr 56-125-123-1235
+contraction hlr
+#word helt 125-2345
+#begnum ht 6-125-2345
+#contraction ht
 word hendes 125-234
-begnum hs 6-125-234
+begnum hs 56-125-234
 contraction hs
 word hende 125-145
-begnum hd 6-125-145
+begnum hd 56-125-145
 contraction hd
+word hjælpe 125-1234-15
+begnum hpe 56-125-1234-15
+contraction hpe
+word hjælpende 125-1234-15-1345-1456 # *** temporary patch
+word hjælper 125-1234-156
+word hper =
 word hun 136
 word hvad 2456
-word hv =
+word hvilke 2456-13
+word hvk =
+word hvilken 2456-13-126
+word hvken =
+word hvilket 2456-13-346
+word hvket =
 word hvis 2456-234
 word hvs =
 word hvordan 34-1
@@ -1038,15 +1112,18 @@
 word igennem 24-12456
 word ige =
 word igen 35
-word ig =
+word (igen) 236-24-1245-126-356
 word ikke 24-13
-begnum ik 6-24-13
+begnum ik 56-24-13
 contraction ik
-word imidlertid 24-24
-begnum ii 6-24-24
+word ingen 24-126
+word ien =
+word ingenting 24-24
+begnum ii 56-24-24
 contraction ii
 
 word jeg 245
+word jeg) 245-6-356
 
 word kan 13
 word kommer 13-156
@@ -1056,17 +1133,45 @@
 word komme 13-146
 word kme =
 word kom 13-134
-begnum km 6-13-134
+begnum km 56-13-134
 contraction km
 word kunne 13-1246
 word kne =
+word kvinde 13-1236-1456
+word kvde =
+word kvindes 13-1236-1456-234
+word kvdes =
+word kvinden 13-1236-12346
+word kvden =
+word kvindens 13-1236-12346-234
+word kvdens =
+word kvinder 13-1236-23456
+word kvder =
+word kvinders 13-1236-23456-234
+word kvders =
+word kvinderne 13-1236-23456-1246
+word kvderne =
+word kvindernes 13-1236-23456-1246-234
+word kvdernes =
 
+word lang 123-1245
+begnum lg 56-123-1245
+contraction lg
+word lange 123-12456
+begnum lge 56-123-12456
+contraction lge
+word langt 123-1245-2345
+begnum lgt 56-123-1245-2345
+contraction lgt
+word lidt 123-2345
+begnum lt 56-123-2345
+contraction lt
 word ligesom 123-234
-begnum ls 6-123-234
+begnum ls 56-123-234
 contraction ls
 word lige 123
 word lille 123-123
-begnum ll 6-123-123
+begnum ll 56-123-123
 contraction ll
 
 word mange 134-12456
@@ -1079,123 +1184,247 @@
 word mellem 146-134
 word mem =
 word men 146
-word me =
+word menneske 146-123456-15
+word meske =
+word menneskes 146-123456-15-234
+word meskes =
+word menneskene 146-123456-15-1246
+word meskene =
+word menneskenes 146-123456-15-1246-234
+word meskenes =
+word mennesker 146-123456-156
+word meskr =
+word menneskers 146-123456-156-234
+word meskrs =
+word mennesket 146-123456-346
+word meskt =
+word menneskets 146-123456-346-234
+word meskts =
 word min 134-1345
-begnum mn 6-134-1345
+begnum mn 56-134-1345
 contraction mn
 word mit 134-2345
-begnum mt 6-145-2345
+begnum mt 56-145-2345
 contraction mt
+word mulighed 134-123-125
+begnum mlh 56-134-123-125
+contraction mlh
+word muligheds 134-123-125-234
+begnum mlhs 56-134-123-125-234
+contraction mlhs
+word muligheden 134-123-125-126
+begnum mlhen 56-134-123-125-15-1345
+contraction mlhen
+word mulighedens 134-123-125-126-234
+begnum mlhens 56-134-123-125-15-1345-234
+contraction mlhens
+word muligheder 134-123-125-156
+word mlhder =
+word muligheders 134-123-125-156-234
+word mlhders =
+word mulighederne 134-123-125-156-1246
+word mlhderne =
+word mulighedernes 134-123-125-156-1246-234
+word mlhdernes =
 word måske 134-123456
 word msk =
 word måtte 134-1256
 word mte =
 
+word naturlig 1345-2345-123
+begnum ntl 56-1345-2345-123
+contraction ntl
+word naturligt 1345-2345-123-2345
+begnum ntlt 56-1345-2345-123-2345
+contraction ntlt
 word naturligvis 1345-2345-1236
-begnum ntv 6-1345-2345-1236
+begnum ntv 56-1345-2345-1236
 contraction ntv
-word nd =
 word ned 1246
-word ne =
 word nogen 1345-1345
-begnum nn 6-1345-1345
+begnum nn 56-1345-1345
 contraction nn
+word nogensinde 1345-234-1456
+word nsde =
 word noget 1345-2345
-begnum nt 6-1345-2345
+begnum nt 56-1345-2345
 contraction nt
 word nogle 1345-123-15
-begnum nle 6-1345-123-15
+begnum nle 56-1345-123-15
 contraction nle
+word næste 1345-1256
+word nte =
+word næsten 1345-126
+word nen =
 word når 1345
 
 word også 14-16
-begnum cå 6-14-16
+begnum cå 56-14-16
 contraction cå
 word og 14
 word omkring 135-134-13
-begnum omk 6-135-134-13
+begnum omk 56-135-134-13
 contraction omk
 word op 135
 word or =
+word organisation 1346-1245-234
+word orgs =
+word organisations 1346-1245-234-234
+word orgss =
+word organisationen 1346-1245-234-126
+word orgsen =
+word organisationens 1346-1245-234-126-234
+word orgsens =
+word organisationer 1346-1245-234-156
+word orgser =
+word organisationers 1346-1245-234-156-234
+word orgsers =
+word organisationerne 1346-1245-234-156-1246
+word orgserne =
+word organisationernes 1346-1245-234-156-1246-234
+word orgsernes =
 word over 1346
 
+word problem 1234-12
+begnum pb 56-1234-12
+contraction pb
+word problems 1234-12-234
+begnum pbs 56-1234-12-234
+contraction pb
+word problemet 1234-12-346
+word pbet =
+word problemets 1234-12-346-234
+word pbets =
+word problemer 1234-12-156
+word pber =
+word problemers 1234-12-156-234
+word pbers =
+word problemerne 1234-12-156-1246
+word pberne =
+word problemernes 1234-12-156-1246-234
+word pbernes =
+word punktskrift 1234-1345-123456
+word pnsk =
 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
+begnum rt 56-1235-2345
 contraction rt
 word rigtig 1235
 
 word sagde 234-1456
 word sammen 234-134
-begnum sm 6-234-134
+begnum sm 56-234-134
 contraction sm
 word samme 234-146
 word sme =
+word samtidig 234-134-2345
+begnum smt 56-234-134-2345
+contraction smt
 word selvfølgelig 234-1236-124
-begnum svf 6-234-1236-124
+begnum svf 56-234-1236-124
 contraction svf
 word selv 234-1236
-begnum sv 6-234-1236
+begnum sv 56-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
+begnum sn 56-234-1345
 contraction sn
 word sit 234-2345
-begnum st 6-234-2345
+begnum st 56-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
+begnum sr 56-234-1235
 contraction sr
 word som 234
+word spørgsmål 234-1234-134
+begnum spm 56-234-1234-134
+contraction spm
+word spørgsmåls 234-1234-134-234
+begnum spms 56-234-1234-134-234
+contraction spms
+word spørgsmålet 234-1234-134-346
+word spmet =
+word spørgsmålets 234-1234-134-346-234
+word spmets =
+word spørgsmålene 234-1234-134-1246
+word spmne =
+word spørgsmålenes 234-1234-134-1246-234
+word spmnes =
+word stadig 1356-1245
+word stg =
 word sådan 16-1
-begnum åa 6-16-1
+begnum åa 56-16-1
 contraction åa
 word således 16-15
-begnum åe 6-16-15
+begnum åe 56-16-15
 contraction åe
 word så 16
 
-word te 1256
 word tid 2345-145
-begnum td 6-2345-145
+begnum td 56-2345-145
 contraction td
+word tidlig 2345-145-123
+begnum tdl 56-2345-145-123
+contraction tdl
+word tidlige 2345-145-123-12456
+word tdlge =
+word tidligere 2345-145-123-12356
+word tdlre =
+word tidligst 2345-145-123-1356
+word tdlst =
 word tilbage 2345-12
-begnum tb 6-2345-12
+begnum tb 56-2345-12
 contraction tb
+word tilfælde 2345-124
+begnum tf 56-2345-124
+contraction tf
 word til 2345
 
 word under 12345
 
-word var- =
-word var. =
-word var 36
-word ve 3456
+word vanskelig 1236-123456
+word vsk =
+word vanskelige 1236-123456-15
+word vske =
+word vanskeligt 1236-123456-2345
+word vskt =
+word var 3456
 word ved 1236
+word vidste 1236-1356-15
+word vste =
 word ville 1236-123-15
-begnum vle 6-1236-123-15
+begnum vle 56-1236-123-15
 contraction vle
 word vil 1236-123
-begnum vl 6-1236-123
+begnum vl 56-1236-123
 contraction vl
+word virkelig 1236-1235-13
+begnum vrk 56-1236-1235-13
+contraction vrk
 word været 1236-2345
-begnum vt 6-1236-2345
+begnum vt 56-1236-2345
 contraction vt
 word være 345
 
-#Part words
+
+word øjeblik 246-245-12
+begnum øjb 56-246-245-12
+contraction øjb
+
+#Part words and words
+begword dansk 145-123456
+begword dsk =
 nocross always den 12346
 nocross always der 23456
 nocross always det 2346
@@ -1203,19 +1432,34 @@
 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 begword gang 1245-1245
+begword gg 56-1245-1245
+nocross begword gange 1245-1-1345-12456 # *** temporary patch
+nocross partword ge 12456
+begword hjælpe 125-1234-15
+nocross partword hv 2456
+nocross partword hvor 34
+nocross partword ig 35
+begword kvinde 13-1236-1456
+begword kvde =
+nocross partword me 146
+begword menneske 146-123456-15
+begword meske =
+nocross partword nd 12345
+nocross partword ne 1246
+nocross partword or 1346
+begword organisation 1346-1245-234
+begword orgs =
+begword problem 1234-12
+begword pb 56-1234-12
+nocross partword re 12356
+nocross partword sk 123456
+nocross partword st 1356
 nocross always te 1256
-nocross always ve 3456
+begword virkelig 1236-1235-13
+nocross partword ve 3456
+
+nofor always www 2456-2456-2456 # does not work forward because of nocont
 
 #special cases with dropped signs
 # which can be both punctuations and contractions.
@@ -1225,160 +1469,167 @@
 always !! 235-235
 always !!! 235-235-235
 always "fra" 2356-124-1235-1-2356
-after punctuation always ! 6-235
+after punctuation always ! 56-235
 always 'af 4-1-124
 
-always \s! 0-6-235
-prepunc ! 6-235
-nofor always ! 6-235
-noback context `["!"] @6-235
+always \s! 0-56-235
+prepunc ! 56-235
+nofor always ! 56-235
+noback context `["!"] @56-235
 
 
 # Ensure no one-letter word contraction before or after a dash
-
-prfword -af 368-1-124
-sufword af- 1-124-368
-prfword -at 368-1-2345
-sufword at- 1-2345-368
-prfword -deres 368-1456-12356-234
-sufword deres- 1456-12356-234-368
-prfword -du 368-145-136
-sufword du- 145-136-368
-prfword -efter 368-15-124-2345-156
-sufword efter- 15-124-2345-156-368
-prfword -for 368-124-1346
-sufword for- 124-1346-368
-prfword -fra 368-124-1235-1
-sufword fra- 124-1235-1-368
-prfword -gennem 368-1245-126-1246-134
-sufword gennem- 1245-126-1246-134-368
-prfword -ham 368-125-1-134
-sufword ham- 125-1-134-368
-prfword -han 368-125-1-1345
-sufword han- 125-1-1345-368
-prfword -har 368-125-1-1235
-sufword har- 125-1-1235-368
-prfword -hun 368-125-136-1345
-sufword hun- 125-136-1345-368
-prfword -kan 368-13-1-1345
-sufword kan- 13-1-1345-368
-prfword -lige 368-123-24-12456
-sufword lige- 123-24-12456-368
-prfword -med 368-146-145
-sufword med- 146-145-368
-prfword -men 368-134-126
-sufword men- 134-126-368
-prfword -ned 368-1246-145
-sufword ned- 1246-145-368
-prfword -når 368-1345-16-1235
-sufword når- 1345-16-1235-368
-prfword -og 368-135-1245
-sufword og- 135-1245-368
-prfword -op 368-135-1234
-sufword op- 135-1234-368
-prfword -over 368-135-1236-156
-sufword over- 135-1236-156-368
-prfword -på 368-1234-16
-sufword på- 1234-16-368
-prfword -ret 368-1235-346
-sufword ret- 1235-346-368
-prfword -rigtig 368-1235-35-2345-35
-sufword rigtig- 1235-35-2345-35-368
-prfword -skal 368-123456-1-123
-sufword skal- 123456-1-123-368
-prfword -som 368-234-135-134
-sufword som- 234-135-134-368
-prfword -så 368-234-16
-sufword så- 234-16-368
-prfword -til 368-2345-24-123
-sufword til- 2345-24-123-368
-prfword -under 368-136-1345-23456
-sufword under- 136-1345-23456-368
-prfword -ved 368-1236-15-145
-sufword ved- 1236-15-145-368
-prfword -være 368-1236-345-12356
-sufword være- 1236-345-12356-368
+prfword -af 36-1-124
+sufword af- 1-124-36
+prfword -at 36-1-2345
+sufword at- 1-2345-36
+prfword -deres 36-1456-12356-234
+sufword deres- 1456-12356-234-36
+prfword -du 36-145-136
+sufword du- 145-136-36
+prfword -efter 36-15-124-2345-156
+sufword efter- 15-124-2345-156-36
+prfword -for 36-124-1346
+sufword for- 124-1346-36
+prfword -fra 36-124-1235-1
+sufword fra- 124-1235-1-36
+prfword -gennem 36-1245-126-1246-134
+sufword gennem- 1245-126-1246-134-36
+prfword -ham 36-125-1-134
+sufword ham- 125-1-134-36
+prfword -han 36-125-1-1345
+sufword han- 125-1-1345-36
+prfword -har 36-125-1-1235
+sufword har- 125-1-1235-36
+prfword -hun 36-125-136-1345
+sufword hun- 125-136-1345-36
+prfword -kan 36-13-1-1345
+sufword kan- 13-1-1345-36
+prfword -lige 36-123-24-12456
+sufword lige- 123-24-12456-36
+prfword -med 36-146-145
+sufword med- 146-145-36
+prfword -men 36-134-126
+sufword men- 134-126-36
+prfword -ned 36-1246-145
+sufword ned- 1246-145-36
+prfword -når 36-1345-16-1235
+sufword når- 1345-16-1235-36
+prfword -og 36-135-1245
+sufword og- 135-1245-36
+prfword -op 36-135-1234
+sufword op- 135-1234-36
+prfword -over 36-135-1236-156
+sufword over- 135-1236-156-36
+prfword -på 36-1234-16
+sufword på- 1234-16-36
+prfword -ret 36-1235-346
+sufword ret- 1235-346-36
+prfword -rigtig 36-1235-35-2345-35
+sufword rigtig- 1235-35-2345-35-36
+prfword -skal 36-123456-1-123
+sufword skal- 123456-1-123-36
+prfword -som 36-234-135-134
+sufword som- 234-135-134-36
+prfword -så 36-234-16
+sufword så- 234-16-36
+prfword -til 36-2345-24-123
+sufword til- 2345-24-123-36
+prfword -under 36-136-1345-23456
+sufword under- 136-1345-23456-36
+prfword -ved 36-1236-15-145
+sufword ved- 1236-15-145-36
+prfword -være 36-1236-345-12356
+sufword være- 1236-345-12356-36
 
 # *** patches for various Liblouis bugs
 # this file will be removed when the bugs are fixed
 
-nofor always a 6-1
-nofor always b 6-12
-nofor always c 6-14
-nofor always d 6-145
-nofor always e 6-15
-nofor always f 6-124
-nofor always g 6-1245
-nofor always h 6-125
-nofor always j 6-245
-nofor always k 6-13
-nofor always l 6-123
-nofor always m 6-134
-nofor always n 6-1345
-nofor always o 6-135
-nofor always p 6-1234
-nofor always q 6-12345
-nofor always r 6-1235
-nofor always s 6-234
-nofor always t 6-2345
-nofor always u 6-136
-nofor always v 6-1236
-nofor always w 6-2456
-nofor always x 6-1346
-nofor always y 6-13456
-nofor always z 6-1356
-nofor always æ 6-345
-nofor always ø 6-246
-nofor always å 6-16
+nofor always a 56-1
+nofor always b 56-12
+nofor always c 56-14
+nofor always d 56-145
+nofor always e 56-15
+nofor always f 56-124
+nofor always g 56-1245
+nofor always h 56-125
+nofor always j 56-245
+nofor always k 56-13
+nofor always l 56-123
+nofor always m 56-134
+nofor always n 56-1345
+nofor always o 56-135
+nofor always p 56-1234
+nofor always q 56-12345
+nofor always r 56-1235
+nofor always s 56-234
+nofor always t 56-2345
+nofor always u 56-136
+nofor always v 56-1236
+nofor always w 56-2456
+nofor always x 56-1346
+nofor always y 56-13456
+nofor always z 56-1356
+nofor always æ 56-345
+nofor always ø 56-246
+nofor always å 56-16
 
-nofor always A 6-17
-nofor always B 6-127
-nofor always C 6-147
-nofor always D 6-1457
-nofor always E 6-157
-nofor always F 6-1247
-nofor always G 6-12457
-nofor always H 6-1257
-nofor always J 6-2457
-nofor always K 6-137
-nofor always L 6-1237
-nofor always M 6-1347
-nofor always N 6-13457
-nofor always O 6-1357
-nofor always P 6-12347
-nofor always Q 6-123457
-nofor always R 6-12357
-nofor always S 6-2347
-nofor always T 6-23457
-nofor always U 6-1367
-nofor always V 6-12367
-nofor always W 6-24567
-nofor always X 6-13467
-nofor always Y 6-134567
-nofor always Z 6-13567
-nofor always Æ 6-3457
-nofor always Ø 6-2467
-nofor always Å 6-167
+nofor always A 56-17
+nofor always B 56-127
+nofor always C 56-147
+nofor always D 56-1457
+nofor always E 56-157
+nofor always F 56-1247
+nofor always G 56-12457
+nofor always H 56-1257
+nofor always J 56-2457
+nofor always K 56-137
+nofor always L 56-1237
+nofor always M 56-1347
+nofor always N 56-13457
+nofor always O 56-1357
+nofor always P 56-12347
+nofor always Q 56-123457
+nofor always R 56-12357
+nofor always S 56-2347
+nofor always T 56-23457
+nofor always U 56-1367
+nofor always V 56-12367
+nofor always W 56-24567
+nofor always X 56-13467
+nofor always Y 56-134567
+nofor always Z 56-13567
+nofor always Æ 56-3457
+nofor always Ø 56-2467
+nofor always Å 56-167
 
 # if a word contraction is followed by a punctuation and another word immediately after,
 # The contracted word before the punctuation will back-translate as its components
 attribute wordlimit /,!.:’()?"'\x00ab_\x201d\x0094\x2019\x0092\x00bb
 nofor before wordlimit begword af 356
 nofor before wordlimit begword aldrig 1-35
-nofor before wordlimit begword aig =
 nofor before wordlimit begword alle 1-15
 nofor before wordlimit begword allerede 1-123-1235
 nofor before wordlimit begword alligevel 1-123-1236
 nofor before wordlimit begword altid 1-2345-145
 nofor before wordlimit begword altså 1-16
+nofor before wordlimit begword arbejde 1-12-1456
+nofor before wordlimit begword arbejdede 1-12-1456-1456
+nofor before wordlimit begword arbejder 1-12-23456
+nofor before wordlimit begword arbejdet 1-12-2346
 nofor before wordlimit begword at 1
 
+nofor before wordlimit begword betyde 12-2345-1456
+nofor before wordlimit begword betyder 12-2345-23456
 nofor before wordlimit begword blevet 12-2345
 nofor before wordlimit begword blev 12-1236
 nofor before wordlimit begword blive 12-3456
 nofor before wordlimit begword bve 12-1236-15
 nofor before wordlimit begword bliver 12
 
+nofor before wordlimit begword danmark 145-1345-13
+nofor before wordlimit begword danmarks 145-1345-13-234
+nofor before wordlimit begword dansk 145-123456
 nofor before wordlimit begword derefter 23456-1356
 nofor before wordlimit begword derst =
 nofor before wordlimit begword deres 256
@@ -1408,10 +1659,13 @@
 nofor before wordlimit begword du 145
 
 nofor before wordlimit begword efter 1356
+nofor before wordlimit begword eftersom 1356-234
 nofor before wordlimit begword eller 15
 nofor before wordlimit begword endnu 15-136
 
+nofor before wordlimit begword faktisk 124-13-2345
 nofor before wordlimit begword fik 124-13
+nofor before wordlimit begword forbi 124-12
 nofor before wordlimit begword fordi 124-145
 nofor before wordlimit begword forskellige 124-123456-15
 nofor before wordlimit begword fske =
@@ -1420,11 +1674,15 @@
 nofor before wordlimit begword forskellig 124-123456
 nofor before wordlimit begword fsk =
 nofor before wordlimit begword for 124
+nofor before wordlimit begword fortælle 124-1256
+nofor before wordlimit begword fortæller 124-2345-156
 nofor before wordlimit begword fra 235
 nofor before wordlimit begword første 124-1356-15
 nofor before wordlimit begword først 124-1356
 nofor before wordlimit begword før 246
 
+nofor before wordlimit begword gang 1245-1245
+nofor before wordlimit begword gange 1245-12456
 nofor before wordlimit begword ganske 1245-123456
 nofor before wordlimit begword gennem 12456
 nofor before wordlimit begword ge =
@@ -1439,12 +1697,19 @@
 nofor before wordlimit begword hde =
 nofor before wordlimit begword have 125-3456
 nofor before wordlimit begword hve =
+nofor before wordlimit begword hele 125-123-15
+nofor before wordlimit begword heller 125-123-1235
 nofor before wordlimit begword helt 125-2345
 nofor before wordlimit begword hendes 125-234
 nofor before wordlimit begword hende 125-145
+nofor before wordlimit begword hjælpe 125-1234-15
+nofor before wordlimit begword hjælper 125-1234-156
 nofor before wordlimit begword hun 136
 nofor before wordlimit begword hvad 2456
 nofor before wordlimit begword hv =
+nofor before wordlimit begword hvilke 2456-13
+nofor before wordlimit begword hvilken 2456-13-126
+nofor before wordlimit begword hvilket 2456-13-346
 nofor before wordlimit begword hvis 2456-234
 nofor before wordlimit begword hvs =
 nofor before wordlimit begword hvordan 34-1
@@ -1466,7 +1731,8 @@
 nofor before wordlimit begword igen 35
 nofor before wordlimit begword ig =
 nofor before wordlimit begword ikke 24-13
-nofor before wordlimit begword imidlertid 24-24
+nofor before wordlimit begword ingen 24-126
+nofor before wordlimit begword ingenting 24-24
 
 nofor before wordlimit begword jeg 245
 
@@ -1480,7 +1746,19 @@
 nofor before wordlimit begword kom 13-134
 nofor before wordlimit begword kunne 13-1246
 nofor before wordlimit begword kne =
+nofor before wordlimit begword kvinde 13-1236-1456
+word kvindes 13-1236-1456-234
+nofor before wordlimit begword kvinden 13-1236-12346
+nofor before wordlimit begword kvindens 13-1236-12346-234
+nofor before wordlimit begword kvinder 13-1236-23456
+nofor before wordlimit begword kvinders 13-1236-23456-234
+nofor before wordlimit begword kvinderne 13-1236-23456-1246
+nofor before wordlimit begword kvindernes 13-1236-23456-1246-234
 
+nofor before wordlimit begword lang 123-1245
+nofor before wordlimit begword lange 123-12456
+nofor before wordlimit begword langt 123-1245-2345
+nofor before wordlimit begword lidt 123-2345
 nofor before wordlimit begword ligesom 123-234
 nofor before wordlimit begword lige 123
 nofor before wordlimit begword lille 123-123
@@ -1496,20 +1774,41 @@
 nofor before wordlimit begword mem =
 nofor before wordlimit begword men 146
 nofor before wordlimit begword me =
+nofor before wordlimit begword menneske 146-123456
+nofor before wordlimit begword menneskes 146-123456-234
+nofor before wordlimit begword menneskene 146-123456-15-1246
+nofor before wordlimit begword menneskenes 146-123456-15-1246-234
+nofor before wordlimit begword mennesker 146-123456-156
+nofor before wordlimit begword menneskers 146-123456-156-234
+nofor before wordlimit begword mennesket 146-123456-346
+nofor before wordlimit begword menneskets 146-123456-346-234
 nofor before wordlimit begword min 134-1345
 nofor before wordlimit begword mit 134-2345
+nofor before wordlimit begword mulighed 134-123-125
+nofor before wordlimit begword muligheds 134-123-125-234
+nofor before wordlimit begword muligheden 134-123-125-126
+nofor before wordlimit begword mulighedens 134-123-125-126-234
+nofor before wordlimit begword muligheder 134-123-125-156
+nofor before wordlimit begword muligheders 134-123-125-156-234
+nofor before wordlimit begword mulighederne 134-123-125-156-1246
+nofor before wordlimit begword mulighedernes 134-123-125-156-1246-234
 nofor before wordlimit begword måske 134-123456
 nofor before wordlimit begword msk =
 nofor before wordlimit begword måtte 134-1256
 nofor before wordlimit begword mte =
 
+nofor before wordlimit begword naturlig 1345-2345-123
+nofor before wordlimit begword naturligt 1345-2345-123-2345
 nofor before wordlimit begword naturligvis 1345-2345-1236
 nofor before wordlimit begword nd =
 nofor before wordlimit begword ned 1246
 nofor before wordlimit begword ne =
 nofor before wordlimit begword nogen 1345-1345
+nofor before wordlimit begword nogensinde 1345-234-1456
 nofor before wordlimit begword noget 1345-2345
 nofor before wordlimit begword nogle 1345-123-15
+nofor before wordlimit begword næste 1345-1256
+nofor before wordlimit begword næsten 1345-126
 nofor before wordlimit begword når 1345
 
 nofor before wordlimit begword også 14-16
@@ -1517,8 +1816,25 @@
 nofor before wordlimit begword omkring 135-134-13
 nofor before wordlimit begword op 135
 nofor before wordlimit begword or =
+nofor before wordlimit begword organisation 1346-1245-234
+nofor before wordlimit begword organisations 1346-1245-234-234
+nofor before wordlimit begword organisationen 1346-1245-234-126
+nofor before wordlimit begword organisationens 1346-1245-234-126-234
+nofor before wordlimit begword organisationer 1346-1245-234-156
+nofor before wordlimit begword organisationers 1346-1245-234-156-234
+nofor before wordlimit begword organisationerne 1346-1245-234-156-1246
+nofor before wordlimit begword organisationernes 1346-1245-234-156-1246-234
 nofor before wordlimit begword over 1346
 
+nofor before wordlimit begword problem 1234-12
+nofor before wordlimit begword problems 1234-12-234
+nofor before wordlimit begword problemet 1234-12-346
+nofor before wordlimit begword problemets 1234-12-346-234
+nofor before wordlimit begword problemer 1234-12-156
+nofor before wordlimit begword problemers 1234-12-156-234
+nofor before wordlimit begword problemerne 1234-12-156-1246
+nofor before wordlimit begword problemernes 1234-12-156-1246-234
+nofor before wordlimit begword punktskrift 1234-1345-123456
 nofor before wordlimit begword på 1234
 
 nofor before wordlimit begword ret 12356
@@ -1532,6 +1848,7 @@
 nofor before wordlimit begword sammen 234-134
 nofor before wordlimit begword samme 234-146
 nofor before wordlimit begword sme =
+nofor before wordlimit begword samtidig 234-134-2345
 nofor before wordlimit begword selvfølgelig 234-1236-124
 nofor before wordlimit begword selv 234-1236
 nofor before wordlimit begword sidste 234-1356-15
@@ -1546,28 +1863,46 @@
 nofor before wordlimit begword skle =
 nofor before wordlimit begword snart 234-1235
 nofor before wordlimit begword som 234
+nofor before wordlimit begword spørgsmål 234-1234-134
+nofor before wordlimit begword spørgsmåls 234-1234-134-234
+nofor before wordlimit begword spørgsmålet 234-1234-134-346
+nofor before wordlimit begword spørgsmålets 234-1234-134-346-234
+nofor before wordlimit begword spørgsmålene 234-1234-134-1246
+nofor before wordlimit begword spørgsmålenes 234-1234-134-1246-234
+nofor before wordlimit begword stadig 1356-1245
 nofor before wordlimit begword sådan 16-1
 nofor before wordlimit begword således 16-15
 nofor before wordlimit begword så 16
 
 nofor before wordlimit begword tid 2345-145
+nofor before wordlimit begword tidlig 2345-145-123
+nofor before wordlimit begword tidlige 2345-145-123-12456
+nofor before wordlimit begword tidligere 2345-145-123-12356
+nofor before wordlimit begword tidligst 2345-145-123-1356
 nofor before wordlimit begword tilbage 2345-12
+nofor before wordlimit begword tilfælde 2345-124
 nofor before wordlimit begword til 2345
 
 nofor before wordlimit begword under 12345
 
-nofor before wordlimit begword var- =
-nofor before wordlimit begword var 36
+nofor before wordlimit begword vanskelig 1236-123456
+nofor before wordlimit begword vanskelige 1236-123456-15
+nofor before wordlimit begword vanskeligt 1236-123456-2345
+nofor before wordlimit begword var 3456
 nofor before wordlimit begword ved 1236
+nofor before wordlimit begword vidste 1236-1356-15
 nofor before wordlimit begword ville 1236-123-15
 nofor before wordlimit begword vil 1236-123
+nofor before wordlimit begword virkelig 1236-1235-13
 nofor before wordlimit begword været 1236-2345
 nofor before wordlimit begword være 345
 
+nofor before wordlimit begword øjeblik 246-245-12
+
 # Problems solved with pass 2
 
 # Convert the fake "space hyphen" back to a normal hyphen.
-noback pass2 @ef @368
+noback pass2 @ef @36
 
 ### Multi-pass opcodes for converting the virtual capsletter sign @f into dot 7.
 
@@ -1578,7 +1913,7 @@
 # Generic forward convert of @f-... to @...7
 noback pass2 @f-235 @2357
 # Conversion with letsign.
-noback pass2 @f-6-235 @6-2357
+noback pass2 @f-56-235 @56-2357
 # Conversion with dot 5, which is used for accent marker in higher unicode pages.
 noback pass2 @f-5-235 @5-2357
 # Generic backward conversion.
@@ -1589,19 +1924,13 @@
 # Same for the following characters.
 
 noback pass2 @f-35 @357
-noback pass2 @f-6-35 @6-357
+noback pass2 @f-56-35 @56-357
 noback pass2 @f-5-35 @5-357
 nofor pass2 @357 @f-35
 nofor pass2 @5-357 @f-5-35
 
-noback pass2 @f-36 @367
-noback pass2 @f-6-36 @6-367
-noback pass2 @f-5-36 @5-367
-nofor pass2 @367 @f-36
-nofor pass2 @5-367 @f-5-36
-
 noback pass2 @f-1 @17
-noback pass2 @f-6-1 @6-17
+noback pass2 @f-56-1 @56-17
 noback pass2 @f-5-1 @5-17
 nofor pass2 @17 @f-1
 nofor pass2 @5-17 @f-5-1
@@ -1609,28 +1938,28 @@
 nofor pass2 @458-5-17 @f-458-5-1
 
 noback pass2 @f-12 @127
-noback pass2 @f-6-12 @6-127
+noback pass2 @f-56-12 @56-127
 noback pass2 @f-5-12 @5-127
 nofor pass2 @127 @f-12
 nofor pass2 @5-127 @f-5-12
 nofor pass2 @458-127 @f-458-12
 
 noback pass2 @f-14 @147
-noback pass2 @f-6-14 @6-147
+noback pass2 @f-56-14 @56-147
 noback pass2 @f-5-14 @5-147
 nofor pass2 @147 @f-14
 nofor pass2 @5-147 @f-5-14
 nofor pass2 @458-147 @f-458-14
 
 noback pass2 @f-145 @1457
-noback pass2 @f-6-145 @6-1457
+noback pass2 @f-56-145 @56-1457
 noback pass2 @f-5-145 @5-1457
 nofor pass2 @1457 @f-145
 nofor pass2 @5-1457 @f-5-145
 nofor pass2 @458-1457 @f-458-145
 
 noback pass2 @f-15 @157
-noback pass2 @f-6-15 @6-157
+noback pass2 @f-56-15 @56-157
 noback pass2 @f-5-15 @5-157
 nofor pass2 @157 @f-15
 nofor pass2 @5-157 @f-5-15
@@ -1638,27 +1967,27 @@
 nofor pass2 @458-5-157 @f-458-5-15
 
 noback pass2 @f-124 @1247
-noback pass2 @f-6-124 @6-1247
+noback pass2 @f-56-124 @56-1247
 noback pass2 @f-5-124 @5-1247
 nofor pass2 @1247 @f-124
 nofor pass2 @5-1247 @f-5-124
 nofor pass2 @458-1247 @f-458-124
 
 noback pass2 @f-1245 @12457
-noback pass2 @f-6-1245 @6-12457
+noback pass2 @f-56-1245 @56-12457
 noback pass2 @f-5-1245 @5-12457
 nofor pass2 @12457 @f-1245
 nofor pass2 @5-12457 @f-5-1245
 nofor pass2 @458-12457 @f-458-1245
 
 noback pass2 @f-125 @1257
-noback pass2 @f-6-125 @6-1257
+noback pass2 @f-56-125 @56-1257
 noback pass2 @f-5-125 @5-1257
 nofor pass2 @1257 @f-125
 nofor pass2 @5-1257 @f-5-125
 
 noback pass2 @f-24 @247
-noback pass2 @f-6-24 @6-247
+noback pass2 @f-56-24 @56-247
 noback pass2 @f-5-24 @5-247
 nofor pass2 @247 @f-24
 nofor pass2 @5-247 @f-5-24
@@ -1666,41 +1995,41 @@
 nofor pass2 @458-5-247 @f-458-5-24
 
 noback pass2 @f-245 @2457
-noback pass2 @f-6-245 @6-2457
+noback pass2 @f-56-245 @56-2457
 noback pass2 @f-5-245 @5-2457
 nofor pass2 @2457 @f-245
 nofor pass2 @5-2457 @f-5-245
 
 noback pass2 @f-13 @137
-noback pass2 @f-6-13 @6-137
+noback pass2 @f-56-13 @56-137
 noback pass2 @f-5-13 @5-137
 nofor pass2 @137 @f-13
 nofor pass2 @5-137 @f-5-13
 nofor pass2 @458-137 @f-458-13
 
 noback pass2 @f-123 @1237
-noback pass2 @f-6-123 @6-1237
+noback pass2 @f-56-123 @56-1237
 noback pass2 @f-5-123 @5-1237
 nofor pass2 @1237 @f-123
 nofor pass2 @5-1237 @f-5-123
 nofor pass2 @458-1237 @f-458-123
 
 noback pass2 @f-134 @1347
-noback pass2 @f-6-134 @6-1347
+noback pass2 @f-56-134 @56-1347
 noback pass2 @f-5-134 @5-1347
 nofor pass2 @1347 @f-134
 nofor pass2 @5-1347 @f-5-134
 nofor pass2 @458-1347 @f-458-134
 
 noback pass2 @f-1345 @13457
-noback pass2 @f-6-1345 @6-13457
+noback pass2 @f-56-1345 @56-13457
 noback pass2 @f-5-1345 @5-13457
 nofor pass2 @13457 @f-1345
 nofor pass2 @5-13457 @f-5-1345
 nofor pass2 @458-13457 @f-458-1345
 
 noback pass2 @f-135 @1357
-noback pass2 @f-6-135 @6-1357
+noback pass2 @f-56-135 @56-1357
 noback pass2 @f-5-135 @5-1357
 nofor pass2 @1357 @f-135
 nofor pass2 @5-1357 @f-5-135
@@ -1708,41 +2037,41 @@
 nofor pass2 @458-5-1357 @f-458-5-135
 
 noback pass2 @f-1234 @12347
-noback pass2 @f-6-1234 @6-12347
+noback pass2 @f-56-1234 @56-12347
 noback pass2 @f-5-1234 @5-12347
 nofor pass2 @12347 @f-1234
 nofor pass2 @5-12347 @f-5-1234
 nofor pass2 @458-12347 @f-458-1234
 
 noback pass2 @f-12345 @123457
-noback pass2 @f-6-12345 @6-123457
+noback pass2 @f-56-12345 @56-123457
 noback pass2 @f-5-12345 @5-123457
 nofor pass2 @123457 @f-12345
 nofor pass2 @5-123457 @f-5-12345
 
 noback pass2 @f-1235 @12357
-noback pass2 @f-6-1235 @6-12357
+noback pass2 @f-56-1235 @56-12357
 noback pass2 @f-5-1235 @5-12357
 nofor pass2 @12357 @f-1235
 nofor pass2 @5-12357 @f-5-1235
 nofor pass2 @458-12357 @f-458-1235
 
 noback pass2 @f-234 @2347
-noback pass2 @f-6-234 @6-2347
+noback pass2 @f-56-234 @56-2347
 noback pass2 @f-5-234 @5-2347
 nofor pass2 @2347 @f-234
 nofor pass2 @5-2347 @f-5-234
 nofor pass2 @458-2347 @f-458-234
 
 noback pass2 @f-2345 @23457
-noback pass2 @f-6-2345 @6-23457
+noback pass2 @f-56-2345 @56-23457
 noback pass2 @f-5-2345 @5-23457
 nofor pass2 @23457 @f-2345
 nofor pass2 @5-23457 @f-5-2345
 nofor pass2 @458-23457 @f-458-2345
 
 noback pass2 @f-136 @1367
-noback pass2 @f-6-136 @6-1367
+noback pass2 @f-56-136 @56-1367
 noback pass2 @f-5-136 @5-1367
 nofor pass2 @1367 @f-136
 nofor pass2 @5-1367 @f-5-136
@@ -1750,13 +2079,13 @@
 nofor pass2 @458-5-1367 @f-458-5-136
 
 noback pass2 @f-1236 @12367
-noback pass2 @f-6-1236 @6-12367
+noback pass2 @f-56-1236 @56-12367
 noback pass2 @f-5-1236 @5-12367
 nofor pass2 @12367 @f-1236
 nofor pass2 @5-12367 @f-5-1236
 
 noback pass2 @f-2456 @24567
-noback pass2 @f-6-2456 @6-24567
+noback pass2 @f-56-2456 @56-24567
 noback pass2 @f-5-2456 @5-24567
 nofor pass2 @24567 @f-2456
 nofor pass2 @5-24567 @f-5-2456
@@ -1764,240 +2093,239 @@
 nofor pass2 @458-5-24567 @f-458-5-2456
 
 noback pass2 @f-1346 @13467
-noback pass2 @f-6-1346 @6-13467
+noback pass2 @f-56-1346 @56-13467
 noback pass2 @f-5-1346 @5-13467
 nofor pass2 @13467 @f-1346
 nofor pass2 @5-13467 @f-5-1346
 nofor pass2 @458-13467 @f-458-1346
 
 noback pass2 @f-13456 @134567
-noback pass2 @f-6-13456 @6-134567
+noback pass2 @f-56-13456 @56-134567
 noback pass2 @f-5-13456 @5-134567
 nofor pass2 @134567 @f-13456
 nofor pass2 @5-134567 @f-5-13456
 nofor pass2 @458-134567 @f-458-13456
 
 noback pass2 @f-1356 @13567
-noback pass2 @f-6-1356 @6-13567
+noback pass2 @f-56-1356 @56-13567
 noback pass2 @f-5-1356 @5-13567
 nofor pass2 @13567 @f-1356
 nofor pass2 @5-13567 @f-5-1356
 nofor pass2 @458-13567 @f-458-1356
 
 noback pass2 @f-34 @347
-noback pass2 @f-6-34 @6-347
+noback pass2 @f-56-34 @56-347
 noback pass2 @f-5-34 @5-347
 nofor pass2 @347 @f-34
 nofor pass2 @5-347 @f-5-34
 
 noback pass2 @f-346 @3467
-noback pass2 @f-6-346 @6-3467
+noback pass2 @f-56-346 @56-3467
 noback pass2 @f-5-346 @5-3467
 nofor pass2 @3467 @f-346
 nofor pass2 @5-3467 @f-5-346
 
-noback pass2 @f-2348 @23478
-noback pass2 @f-6-2348 @6-23478
-noback pass2 @f-5-2348 @5-23478
-nofor pass2 @23478 @f-2348
-nofor pass2 @5-23478 @f-5-2348
+#noback pass2 @f-2348 @23478
+#noback pass2 @f-56-2348 @56-23478
+#noback pass2 @f-5-2348 @5-23478
+#nofor pass2 @23478 @f-2348
+#nofor pass2 @5-23478 @f-5-2348
 
 noback pass2 @f-1358 @13578
-noback pass2 @f-6-1358 @6-13578
+noback pass2 @f-56-1358 @56-13578
 noback pass2 @f-5-1358 @5-13578
 nofor pass2 @13578 @f-1358
 nofor pass2 @5-13578 @f-5-1358
 
 noback pass2 @f-234568 @2345678
-noback pass2 @f-6-234568 @6-2345678
+noback pass2 @f-56-234568 @56-2345678
 noback pass2 @f-5-234568 @5-2345678
 nofor pass2 @2345678 @f-234568
 nofor pass2 @5-2345678 @f-5-234568
 
 noback pass2 @f-236 @2367
-noback pass2 @f-6-236 @6-2367
+noback pass2 @f-56-236 @56-2367
 noback pass2 @f-5-236 @5-2367
 nofor pass2 @2367 @f-236
 nofor pass2 @5-2367 @f-5-236
 
 noback pass2 @f-256 @2567
-noback pass2 @f-6-256 @6-2567
+noback pass2 @f-56-256 @56-2567
 noback pass2 @f-5-256 @5-2567
 nofor pass2 @2567 @f-256
 nofor pass2 @5-2567 @f-5-256
 
 noback pass2 @f-356 @3567
-noback pass2 @f-6-356 @6-3567
+noback pass2 @f-56-356 @56-3567
 noback pass2 @f-5-356 @5-3567
 nofor pass2 @3567 @f-356
 nofor pass2 @5-3567 @f-5-356
 
 noback pass2 @f-3456 @34567
-noback pass2 @f-6-3456 @6-34567
+noback pass2 @f-56-3456 @56-34567
 noback pass2 @f-5-3456 @5-34567
 nofor pass2 @34567 @f-3456
 nofor pass2 @5-34567 @f-5-3456
 
 noback pass2 @f-12356 @123567
-noback pass2 @f-6-12356 @6-123567
+noback pass2 @f-56-12356 @56-123567
 noback pass2 @f-5-12356 @5-123567
 nofor pass2 @123567 @f-12356
 nofor pass2 @5-123567 @f-5-12356
 
 noback pass2 @f-123568 @1235678
-noback pass2 @f-6-123568 @6-1235678
+noback pass2 @f-56-123568 @56-1235678
 noback pass2 @f-5-123568 @5-1235678
 nofor pass2 @1235678 @f-123568
 nofor pass2 @5-1235678 @f-5-123568
 
 noback pass2 @f-168 @1678
-noback pass2 @f-6-168 @6-1678
+noback pass2 @f-56-168 @56-1678
 noback pass2 @f-5-168 @5-1678
 nofor pass2 @1678 @f-168
 nofor pass2 @5-1678 @f-5-168
 
 noback pass2 @f-1468 @14678
-noback pass2 @f-6-1468 @6-14678
+noback pass2 @f-56-1468 @56-14678
 noback pass2 @f-5-1468 @5-14678
 nofor pass2 @14678 @f-1468
 nofor pass2 @5-14678 @f-5-1468
 
 noback pass2 @f-3458 @34578
-noback pass2 @f-6-3458 @6-34578
+noback pass2 @f-56-3458 @56-34578
 noback pass2 @f-5-3458 @5-34578
 nofor pass2 @34578 @f-3458
 nofor pass2 @5-34578 @f-5-3458
 
 noback pass2 @f-16 @167
-noback pass2 @f-6-16 @6-167
+noback pass2 @f-56-16 @56-167
 noback pass2 @f-5-16 @5-167
 nofor pass2 @167 @f-16
 nofor pass2 @5-167 @f-5-16
 
 noback pass2 @f-345 @3457
-noback pass2 @f-6-345 @6-3457
+noback pass2 @f-56-345 @56-3457
 noback pass2 @f-5-345 @5-3457
 nofor pass2 @3457 @f-345
 nofor pass2 @5-3457 @f-5-345
 
 noback pass2 @f-12346 @123467
-noback pass2 @f-6-12346 @6-123467
+noback pass2 @f-56-12346 @56-123467
 noback pass2 @f-5-12346 @5-123467
 nofor pass2 @123467 @f-12346
 nofor pass2 @5-123467 @f-5-12346
 nofor pass2 @458-123467 @f-458-12346
 
 noback pass2 @f-2346 @23467
-noback pass2 @f-6-2346 @6-23467
+noback pass2 @f-56-2346 @56-23467
 noback pass2 @f-5-2346 @5-23467
 nofor pass2 @23467 @f-2346
 nofor pass2 @5-23467 @f-5-2346
 
 noback pass2 @f-123456 @1234567
-noback pass2 @f-6-123456 @6-1234567
+noback pass2 @f-56-123456 @56-1234567
 noback pass2 @f-5-123456 @5-1234567
 nofor pass2 @1234567 @f-123456
 nofor pass2 @5-1234567 @f-5-123456
 
 noback pass2 @f-126 @1267
-noback pass2 @f-6-126 @6-1267
+noback pass2 @f-56-126 @56-1267
 noback pass2 @f-5-126 @5-1267
 nofor pass2 @1267 @f-126
 nofor pass2 @5-1267 @f-5-126
 
 noback pass2 @f-1246 @12467
-noback pass2 @f-6-1246 @6-12467
+noback pass2 @f-56-1246 @56-12467
 noback pass2 @f-5-1246 @5-12467
 nofor pass2 @12467 @f-1246
 nofor pass2 @5-12467 @f-5-1246
 
 noback pass2 @f-1568 @15678
-noback pass2 @f-6-1568 @6-15678
+noback pass2 @f-56-1568 @56-15678
 noback pass2 @f-5-1568 @5-15678
 nofor pass2 @15678 @f-1568
 nofor pass2 @5-15678 @f-5-1568
 
 noback pass2 @f-1268 @12678
-noback pass2 @f-6-1268 @6-12678
+noback pass2 @f-56-1268 @56-12678
 noback pass2 @f-5-1268 @5-12678
 nofor pass2 @12678 @f-1268
 nofor pass2 @5-12678 @f-5-1268
 
 noback pass2 @f-146 @1467
-noback pass2 @f-6-146 @6-1467
+noback pass2 @f-56-146 @56-1467
 noback pass2 @f-5-146 @5-1467
 nofor pass2 @1467 @f-146
 nofor pass2 @5-1467 @f-5-146
 
 noback pass2 @f-12456 @124567
-noback pass2 @f-6-12456 @6-124567
+noback pass2 @f-56-12456 @56-124567
 noback pass2 @f-5-12456 @5-124567
 nofor pass2 @124567 @f-12456
 nofor pass2 @5-124567 @f-5-12456
 
-noback pass2 @f-134568 @1345678
-noback pass2 @f-6-134568 @6-1345678
-noback pass2 @f-5-134568 @5-1345678
-nofor pass2 @1345678 @f-134568
-nofor pass2 @5-1345678 @f-5-134568
+# Eth (does not follow the normal rules)
+noback pass2 @f-134568 @67
+noback pass2 @f-56-134568 @56-67
+nofor pass2 @67 @f-134568
 
 noback pass2 @f-124568 @1245678
-noback pass2 @f-6-124568 @6-1245678
+noback pass2 @f-56-124568 @56-1245678
 noback pass2 @f-5-124568 @5-1245678
 nofor pass2 @1245678 @f-124568
 nofor pass2 @5-1245678 @f-5-124568
 
 noback pass2 @f-12468 @124678
-noback pass2 @f-6-12468 @6-124678
+noback pass2 @f-56-12468 @56-124678
 noback pass2 @f-5-12468 @5-124678
 nofor pass2 @124678 @f-12468
 nofor pass2 @5-124678 @f-5-12468
 
 noback pass2 @f-3468 @34678
-noback pass2 @f-6-3468 @6-34678
+noback pass2 @f-56-3468 @56-34678
 noback pass2 @f-5-3468 @5-34678
 nofor pass2 @34678 @f-3468
 nofor pass2 @5-34678 @f-5-3468
 
 noback pass2 @f-1456 @14567
-noback pass2 @f-6-1456 @6-14567
+noback pass2 @f-56-1456 @56-14567
 noback pass2 @f-5-1456 @5-14567
 nofor pass2 @14567 @f-1456
 nofor pass2 @5-14567 @f-5-1456
 nofor pass2 @458-14567 @f-458-1456
 
 noback pass2 @f-14568 @145678
-noback pass2 @f-6-14568 @6-145678
+noback pass2 @f-56-14568 @56-145678
 noback pass2 @f-5-14568 @5-145678
 nofor pass2 @145678 @f-14568
 nofor pass2 @5-145678 @f-5-14568
 
 noback pass2 @f-2468 @24678
-noback pass2 @f-6-2468 @6-24678
+noback pass2 @f-56-2468 @56-24678
 noback pass2 @f-5-2468 @5-24678
 nofor pass2 @24678 @f-2468
 nofor pass2 @5-24678 @f-5-2468
 
 noback pass2 @f-246 @2467
-noback pass2 @f-6-246 @6-2467
+noback pass2 @f-56-246 @56-2467
 noback pass2 @f-5-246 @5-2467
 nofor pass2 @2467 @f-246
 nofor pass2 @5-2467 @f-5-246
 
 noback pass2 @f-23456 @234567
-noback pass2 @f-6-23456 @6-234567
+noback pass2 @f-56-23456 @56-234567
 noback pass2 @f-5-23456 @5-234567
 nofor pass2 @234567 @f-23456
 nofor pass2 @5-234567 @f-5-23456
 
 noback pass2 @f-12568 @125678
-noback pass2 @f-6-12568 @6-125678
+noback pass2 @f-56-12568 @56-125678
 noback pass2 @f-5-12568 @5-125678
 nofor pass2 @125678 @f-12568
 nofor pass2 @5-125678 @f-5-12568
 
 noback pass2 @f-156 @1567
-noback pass2 @f-6-156 @6-1567
+noback pass2 @f-56-156 @56-1567
 noback pass2 @f-5-156 @5-1567
 nofor pass2 @1567 @f-156
 nofor pass2 @5-1567 @f-5-156
@@ -2005,57 +2333,56 @@
 nofor pass2 @458-5-1567 @f-458-5-156
 
 noback pass2 @f-1256 @12567
-noback pass2 @f-6-1256 @6-12567
+noback pass2 @f-56-1256 @56-12567
 noback pass2 @f-5-1256 @5-12567
 nofor pass2 @12567 @f-1256
 nofor pass2 @5-12567 @f-5-1256
 
 noback pass2 @f-1348 @13478
-noback pass2 @f-6-1348 @6-13478
+noback pass2 @f-56-1348 @56-13478
 noback pass2 @f-5-1348 @5-13478
 nofor pass2 @13478 @f-1348
 nofor pass2 @5-13478 @f-5-1348
 
 noback pass2 @f-138 @1378
-noback pass2 @f-6-138 @6-1378
+noback pass2 @f-56-138 @56-1378
 noback pass2 @f-5-138 @5-1378
 nofor pass2 @1378 @f-138
 nofor pass2 @5-1378 @f-5-138
 
 noback pass2 @f-234568 @2345678
-noback pass2 @f-6-234568 @6-2345678
+noback pass2 @f-56-234568 @56-2345678
 noback pass2 @f-5-234568 @5-2345678
 nofor pass2 @2345678 @f-234568
 nofor pass2 @5-2345678 @f-5-234568
 
 # Tweak to keep letsign for letters that should always have letsign.
 # Letsign will be removed by the multind opcode. So we insert an extra one.
-nofor pass2 @6-123457 @f-6-6-12345
-nofor pass2 @6-24567 @f-6-6-2456
-nofor pass2 @6-13467 @f-6-6-1346
-nofor pass2 @6-134567 @f-6-6-13456
-nofor pass2 @6-13567 @f-6-6-1356
-nofor pass2 @6-123567 @f-6-6-12356
-nofor pass2 @6-123467 @f-6-6-12346
-nofor pass2 @6-23467 @f-6-6-2346
-nofor pass2 @6-1234567 @f-6-6-123456
-nofor pass2 @6-1267 @f-6-6-126
-nofor pass2 @6-12467 @f-6-6-1246
-nofor pass2 @6-1467 @f-6-6-146
-nofor pass2 @6-124567 @f-6-6-12456
-nofor pass2 @6-14567 @f-6-6-1456
-nofor pass2 @6-234567 @f-6-6-23456
-nofor pass2 @6-1567 @f-6-6-156
-nofor pass2 @6-12567 @f-6-6-1256
+nofor pass2 @56-123457 @f-56-56-12345
+nofor pass2 @56-24567 @f-56-56-2456
+nofor pass2 @56-13467 @f-56-56-1346
+nofor pass2 @56-13567 @f-56-56-1356
+nofor pass2 @56-123567 @f-56-56-12356
+nofor pass2 @56-123467 @f-56-56-12346
+nofor pass2 @56-23467 @f-56-56-2346
+nofor pass2 @56-1234567 @f-56-56-123456
+nofor pass2 @56-1267 @f-56-56-126
+nofor pass2 @56-12467 @f-56-56-1246
+nofor pass2 @56-1467 @f-56-56-146
+nofor pass2 @56-124567 @f-56-56-12456
+nofor pass2 @56-14567 @f-56-56-1456
+nofor pass2 @56-234567 @f-56-56-23456
+nofor pass2 @56-1567 @f-56-56-156
+nofor pass2 @56-12567 @f-56-56-1256
+nofor pass2 @56-3467 @f-56-56-346
 
 # Ensure that punctuation signs etc. are not "tolowered" when they have a letsign, but only when they act as a partword contraction.
-nofor pass2 @6-347 *
-nofor pass2 @6-2357 *
-nofor pass2 @6-3467 *
-nofor pass2 @6-2567 *
-nofor pass2 @6-2367 *
-nofor pass2 @6-34567 *
-nofor pass2 @6-367 *
+nofor pass2 @56-347 *
+nofor pass2 @56-2357 *
+nofor pass2 @56-2567 *
+nofor pass2 @56-2367 *
+nofor pass2 @56-34567 *
+nofor pass2 @56-367 *
 
 # remove any superfluous capsletter marks.
 noback pass2 @f ?
@@ -2063,15 +2390,23 @@
 # Pass 3
 
 # Remove any superfluous letsigns and only keep one.
-noback pass3 @6-6 @6
+noback pass3 @56-56 @56
+
+# Ensure there is only one emphasis sign
+# Danish Braille only has one emphasis sign,
+# so don't repeat if more than one emphasis type is present.
+noback pass3 @46-46 @46
+noback pass3 @46-46-46 @46
 
 # Remove letsigns before letters marked with indicator for accents or greek letters.
 
-noback pass3 @6-5 @5
-noback pass3 @6-458 @458
-# Ensure there is only one emphasis sign
-noback pass3 @56-56 @56
-noback pass3 @56-56-56 @56
+noback pass3 @56-5 @5
+noback pass3 @56-458 @458
+
+# Remove letsigns from www
+noback pass3 @56-2456-56-2456-56-2456 @2456-2456-2456
+noback pass3 @56-24567-56-2456-56-2456 @24567-2456-2456
+noback pass3 @56-24567-56-24567-56-24567 @24567-24567-24567
 
 # Include hyphenation file as the last thing
-include hyph_brl_da_dk.dic
+include da-dk-g2.dic
diff --git a/tables/da-dk-g28l.ctb b/tables/da-dk-g28_1993.ctb
similarity index 71%
copy from tables/da-dk-g28l.ctb
copy to tables/da-dk-g28_1993.ctb
index 7a34d58..b605c27 100644
--- a/tables/da-dk-g28l.ctb
+++ b/tables/da-dk-g28_1993.ctb
@@ -1,6 +1,6 @@
-# liblouis: Danish, table for 8 dots grade 1.5, partial contraction (forward and backward translation)
+# liblouis: Danish, table for 8 dots grade 2 (forward and backward translation) 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -20,27 +20,30 @@
 #
 #------------
 #
+# This  is the Danish table for 8 dots grade 2 (stor forkortelse) 1993.
+# Use this table for translation and back-translation of Danish 8 dots grade 2.
 #
-# This  is the Danish table for 8 dots grade 2l/1.5 limited contractions (lille forkortelse).
-# Use this table for translation and back-translation of Danish 8 dots grade 2 limited.
-#
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-index-name: Danish, partially contracted, 8-dot
-#-display-name: Danish 8-dot partially contracted braille
+#-name: Dansk forkortet 8-punkt 1993
+#-index-name: Danish, contracted, 8-dot, 1993
+#-display-name: Danish 8-dot contracted braille (1993 standard)
 
 #+language: da
 #+type: literary
-#+contraction: partial
-#+grade: 1.5
+#+contraction: full
+#+grade: 2
 #+dots: 8
 #+direction: both
+#+system: ddp
+#+version: 1993
 
+#-has-nocross: yes
 
-# Display opcodes
-include da-dk-octobraille.dis
+# Display upcodes
+include da-dk-octobraille_1993.dis
 
 ### Character definitions ###
 
@@ -177,6 +180,7 @@
 lowercase \x00ff 234568 #LATIN LETTER Y WITH DIAERESIS (0x9f)
 noback uppercase \x009f 2345678 #LATIN LETTER Y WITH DIAERESIS (0x9f)
 punctuation \x00a0 23458 NO-BREAK SPACE (0xa0)
+punctuation \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 punctuation \x00a2 2578 CENT SIGN (0xa2)
 punctuation \x00a3 1238 POUND SIGN (0xa3)
 punctuation \x00a5 67 YEN SIGN (0xa5)
@@ -200,25 +204,25 @@
 punctuation \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
 punctuation \x00bc 13458 VULGAR FRACTION ONE QUARTER
 punctuation \x00bd 458 VULGAR FRACTION ONE HALF
-lowercase \x00e1 123568 LATIN  LETTER A WITH ACUTE
-lowercase \x00e2 168 LATIN  LETTER A WITH CIRCUMFLEX
-lowercase \x00e3 1468 LATIN  LETTER A WITH TILDE
-lowercase \x00e4 3458 LATIN  LETTER A WITH DIAERESIS
+lowercase \x00e1 123568 LATIN LETTER A WITH ACUTE
+lowercase \x00e2 168 LATIN LETTER A WITH CIRCUMFLEX
+lowercase \x00e3 1468 LATIN LETTER A WITH TILDE
+lowercase \x00e4 3458 LATIN LETTER A WITH DIAERESIS
 lowercase \x00e5 16 LATIN LETTER A WITH RING ABOVE
 lowercase \x00e6 345 LATIN LETTER AE
-lowercase \x00ec 1568 LATIN  LETTER I WITH GRAVE
-lowercase \x00ed 1268 LATIN  LETTER I WITH ACUTE
-lowercase \x00f0 134568 LATIN  LETTER ETH
-lowercase \x00f1 124568 LATIN  LETTER N WITH TILDE
-lowercase \x00f2 12468 LATIN  LETTER O WITH GRAVE
-lowercase \x00f3 3468 LATIN  LETTER O WITH ACUTE
-lowercase \x00f5 14568 LATIN  LETTER O WITH TILDE
-lowercase \x00f6 2468 LATIN  LETTER O WITH DIAERESIS
+lowercase \x00ec 1568 LATIN LETTER I WITH GRAVE
+lowercase \x00ed 1268 LATIN LETTER I WITH ACUTE
+lowercase \x00f0 134568 LATIN LETTER ETH
+lowercase \x00f1 124568 LATIN LETTER N WITH TILDE
+lowercase \x00f2 12468 LATIN LETTER O WITH GRAVE
+lowercase \x00f3 3468 LATIN LETTER O WITH ACUTE
+lowercase \x00f5 14568 LATIN LETTER O WITH TILDE
+lowercase \x00f6 2468 LATIN LETTER O WITH DIAERESIS
 math \x00d7 13468 MULTIPLICATION SIGN
 lowercase \x00f8 246 LATIN LETTER O WITH STROKE
-lowercase \x00fa 12568 LATIN  LETTER U WITH ACUTE
-lowercase \x00fd 1348 LATIN  LETTER Y WITH ACUTE (infinite?)
-lowercase \x00fe 138 LATIN  LETTER THORN
+lowercase \x00fa 12568 LATIN LETTER U WITH ACUTE
+lowercase \x00fd 1348 LATIN LETTER Y WITH ACUTE (infinite?)
+lowercase \x00fe 138 LATIN LETTER THORN
 lowercase \x00df 23468 LATIN SMALL LETTER SHARP S
 math \x00f7 2568 DIVISION SIGN
 
@@ -226,6 +230,9 @@
 # Resides in the "private use area", and shouldn't conflict with anything.
 sign \xf8ff f
 
+# Used as dash where dash should act as space.
+space \xf8fe ef
+
 #Unicode Braille patterns
 include braille-patterns.cti
 
@@ -339,7 +346,7 @@
 lowercase \x0177 5-13456 Latin letter y with circumflex
 lowercase \x017a 5-1356 Latin letter z with acute
 noback lowercase \x017c 5-1356 Latin letter z with dot above
-noback lowercase \x017f 5-234 Latin small letter long s 
+noback lowercase \x017f 5-234 Latin small letter long s
 
 # Greek letters (with dots 458 as prefix)
 
@@ -376,7 +383,7 @@
 lowercase \x03C8 458-13456 Greek letter Psi
 lowercase \x03C9 458-2456 Greek letter Omega
 
-include da-dk-8miscChars.cti
+include da-dk-8miscChars_1993.cti
 
 # Uppercase letters
 
@@ -395,7 +402,7 @@
 base uppercase M m LATIN LETTER M
 base uppercase N n LATIN LETTER N
 base uppercase O o LATIN LETTER O
-base uppercase P p LATIN CAPITAL LETTER P
+base uppercase P p LATIN LETTER P
 base uppercase Q q LATIN LETTER Q
 base uppercase R r LATIN LETTER R
 base uppercase S s LATIN LETTER S
@@ -406,14 +413,14 @@
 base uppercase X x LATIN LETTER X
 base uppercase Y y LATIN LETTER Y
 base uppercase Z z LATIN LETTER Z
-base uppercase \x008a \x009a #LATIN LETTER S WITH CARON (0x8a)
-base uppercase \x008c \x009c #LATIN LIGATURE OE (0x8c)
-base uppercase \x008e \x009e #LATIN  LETTER Z WITH CARON (0x8e)
+base uppercase \x008a \x009a LATIN LETTER S WITH CARON (0x8a)
+base uppercase \x008c \x009c LATIN LIGATURE OE (0x8c)
+base uppercase \x008e \x009e LATIN  LETTER Z WITH CARON (0x8e)
 base uppercase \x00c0 \x00e0 LATIN  LETTER A WITH GRAVE
-base uppercase \x00c1 \x00e1 LATIN  LETTER A WITH ACUTE
-base uppercase \x00c2 \x00e2 LATIN  LETTER A WITH CIRCUMFLEX
-base uppercase \x00c3 \x00e3 LATIN  LETTER A WITH TILDE
-base uppercase \x00c4 \x00e4 LATIN  LETTER A WITH DIAERESIS
+base uppercase \x00c1 \x00e1 LATIN LETTER A WITH ACUTE
+base uppercase \x00c2 \x00e2 LATIN LETTER A WITH CIRCUMFLEX
+base uppercase \x00c3 \x00e3 LATIN LETTER A WITH TILDE
+base uppercase \x00c4 \x00e4 LATIN LETTER A WITH DIAERESIS
 base uppercase \x00c5 \x00e5 LATIN LETTER A WITH RING ABOVE
 base uppercase \x00c6 \x00e6 LATIN LETTER AE
 base uppercase \x00c7 \x00e7 LATIN  LETTER C WITH CEDILLA
@@ -421,24 +428,24 @@
 base uppercase \x00c9 \x00e9 LATIN  LETTER E WITH ACUTE
 base uppercase \x00ca \x00ea LATIN  LETTER E WITH CIRCUMFLEX
 base uppercase \x00cb \x00eb LATIN  LETTER E WITH DIAERESIS
-base uppercase \x00cc \x00ec LATIN  LETTER I WITH GRAVE
-base uppercase \x00cd \x00ed LATIN  LETTER I WITH ACUTE
+base uppercase \x00cc \x00ec LATIN LETTER I WITH GRAVE
+base uppercase \x00cd \x00ed LATIN LETTER I WITH ACUTE
 base uppercase \x00ce \x00ee LATIN  LETTER I WITH CIRCUMFLEX
 base uppercase \x00cf \x00ef LATIN  LETTER I WITH DIAERESIS
-base uppercase \x00d0 \x00f0 LATIN  LETTER ETH
-base uppercase \x00d1 \x00f1 LATIN  LETTER N WITH TILDE
-base uppercase \x00d2 \x00f2 LATIN  LETTER O WITH GRAVE
-base uppercase \x00d3 \x00f3 LATIN  LETTER O WITH ACUTE
+base uppercase \x00d0 \x00f0 LATIN LETTER ETH
+base uppercase \x00d1 \x00f1 LATIN LETTER N WITH TILDE
+base uppercase \x00d2 \x00f2 LATIN LETTER O WITH GRAVE
+base uppercase \x00d3 \x00f3 LATIN LETTER O WITH ACUTE
 base uppercase \x00d4 \x00f4 LATIN  LETTER O WITH CIRCUMFLEX
-base uppercase \x00d5 \x00f5 LATIN  LETTER O WITH TILDE
-base uppercase \x00d6 \x00f6 LATIN  LETTER O WITH DIAERESIS
+base uppercase \x00d5 \x00f5 LATIN LETTER O WITH TILDE
+base uppercase \x00d6 \x00f6 LATIN LETTER O WITH DIAERESIS
 base uppercase \x00d8 \x00f8 LATIN LETTER O WITH STROKE
 base uppercase \x00d9 \x00f9 LATIN  LETTER U WITH GRAVE
-base uppercase \x00da \x00fa LATIN  LETTER U WITH ACUTE
+base uppercase \x00da \x00fa LATIN LETTER U WITH ACUTE
 base uppercase \x00db \x00fb LATIN  LETTER U WITH CIRCUMFLEX
 base uppercase \x00dc \x00fc LATIN  LETTER U WITH DIAERESIS
-base uppercase \x00dd \x00fd LATIN  LETTER Y WITH ACUTE (infinite?)
-base uppercase \x00de \x00fe LATIN  LETTER THORN
+base uppercase \x00dd \x00fd LATIN LETTER Y WITH ACUTE (infinite?)
+base uppercase \x00de \x00fe LATIN LETTER THORN
 base uppercase \x0100 \x0101 Latin letter a with macron
 base uppercase \x0102 \x0103 Latin letter a with breve
 base uppercase \x0104 \x0105 Latin letter a with ogonek
@@ -479,14 +486,14 @@
 base uppercase \x014c \x014d Latin letter o with macron
 base uppercase \x014e \x014f Latin letter o with breve
 base uppercase \x0150 \x0151 Latin letter o with double acute
-base uppercase \x0152 \x0153 #LATIN CAPITAL LIGATURE OE (0x8c)
+base uppercase \x0152 \x0153 LATIN LIGATURE OE (0x8c)
 base uppercase \x0154 \x0155 Latin letter r with acute
 base uppercase \x0156 \x0157 Latin letter r with cedilla
 base uppercase \x0158 \x0159 Latin letter r with caron
 base uppercase \x015a \x015b Latin letter s with acute
 base uppercase \x015c \x015d Latin letter s with circumflex
 base uppercase \x015e \x015f Latin letter s with cedilla
-base uppercase \x0160 \x0161 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
+base uppercase \x0160 \x0161 LATIN LETTER S WITH CARON (0x8a)
 base uppercase \x0162 \x0163 Latin letter t with cedilla
 base uppercase \x0164 \x0165 Latin letter t with caron
 base uppercase \x0166 \x0167 Latin letter t with stroke
@@ -498,10 +505,10 @@
 base uppercase \x0172 \x0173 Latin letter u with ogonek
 base uppercase \x0174 \x0175 Latin letter w with circumflex
 base uppercase \x0176 \x0177 Latin letter y with circumflex
-base uppercase \x0178 \x00ff #LATIN LETTER Y WITH DIAERESIS (0x9f)
+base uppercase \x0178 \x00ff LATIN LETTER Y WITH DIAERESIS (0x9f)
 base uppercase \x0179 \x017a Latin letter z with acute
 base uppercase \x017b \x017c Latin letter z with dot above
-base uppercase \x017d \x017e #LATIN  LETTER Z WITH CARON (0x8e)
+base uppercase \x017d \x017e LATIN  LETTER Z WITH CARON (0x8e)
 base uppercase \x0386 \x03AC Greek letter alpha with tonos
 base uppercase \x0388 \x03AD Greek letter epsilon with tonos
 base uppercase \x0389 \x03AE Greek letter eta with tonos
@@ -801,10 +808,10 @@
 nofor always \x03A8 458-134567
 nofor always \x03A9 458-24567
 
-
 ### misc opcodes ###
 
 # Emphasis opcodes
+# Emphasis opcodes
 emphclass italic
 emphclass underline
 emphclass bold
@@ -822,7 +829,7 @@
 decpoint , 2
 hyphen - 368
 letsign 6
-noletsign Ii\x0138\x0149
+noletsign IQWXZiqwxz\x0149
 noletsignbefore 1234567890
 
 capsletter f
@@ -839,12 +846,19 @@
 noback context _$d["st"]~ @6-234-2345
 noback context _$d["nd"]!$l @1345-145
 noback context _$d["nd"]~ @1345-145
-# Ensure that we get a letsign between a digit and a single letter.
+# The following lines are to ensure that we get a letsign between a digit and a single letter.
 noback context $d[]$l!$l @6
 noback context $d[]$l~ @6
 
-#Special sequences, urls emails and file names.
+### Correct - Forward translation
 
+# Ensure that capsnocont does not stretch across dashes
+noback correct $U["-"] "\xf8fe"
+
+# Special characters that always need letsigns because they represent contractions
+always \x00a1 6-256 # inverted exclamationmark
+
+#Special sequences, urls emails and file names.
 nocont $
 nocont \\ # line cannot end with a backslash
 nocont @
@@ -871,143 +885,424 @@
 nocont .tar
 nocont .zip
 
-
 # Remove space between § and numbers.
 noback begnum § 578
 begnum §\s 578
 begnum §§\s 578-578
 always §§ 578-578
 
-# Word contractions with only 1 cell
+#Words
+word af 356
+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 den 12346
-word der 23456
-word det 2346
-word de 1456
+
+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 en 126
-word er 156
-word et 346
+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 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 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 te 1256
+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 ved 1236
+
+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
 
-### Exceptions ###
+#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
+nocross always ve 3456
 
-# Ensure no single cell word contraction before or after a dash
-word -at 368-1-2345
-word at- 1-2345-368
-word -bliver 368-12-123-24-1236-15-1235
-word bliver- 12-123-24-1236-15-1235-368
-word -den 368-145-15-1345
-word den- 145-15-1345-368
-word -der 368-145-15-1235
-word der- 145-15-1235-368
-word -det 368-145-15-2345
-word det- 145-15-2345-368
-word -de 368-145-15
-word de- 145-15-368
-word -du 368-145-136
-word du- 145-136-368
-word -efter 368-15-124-2345-15-1235
-word efter- 15-124-2345-15-1235-368
-word -er 368-15-1235
-word er- 15-1235-368
-word -et 368-15-2345
-word et- 15-2345-368
-word -for 368-124-135-1235
-word for- 124-135-1235-368
-word -før 368-124-246-1235
-word før- 124-246-1235-368
-word -gennem 368-1245-15-1345-1345-15-134
-word gennem- 1245-15-1345-1345-15-134-368
-word -gør 368-1245-246-1235
-word gør- 1245-246-1235-368
-word -han 368-125-1-1345
-word han- 125-1-1345-368
-word -har 368-125-1-1235
-word har- 125-1-1235-368
-word -hun 368-125-136-1345
-word hun- 125-136-1345-368
-word -kan 368-13-1-1345
-word kan- 13-1-1345-368
-word -lige 368-123-24-12456
-word lige- 123-24-12456-368
-word -med 368-146-145
-word med- 146-145-368
-word -men 368-134-126
-word men- 134-126-368
-word -ned 368-1345-15-145
-word ned- 1345-15-145-368
-word -når 368-1345-16-1235
-word når- 1345-16-1235-368
-word -og 368-135-1245
-word og- 135-1245-368
-word -op 368-135-1234
-word op- 135-1234-368
-word -over 368-135-1236-15-1235
-word over- 135-1236-15-1235-368
-word -på 368-1234-16
-word på- 1234-16-368
-word -ret 368-1235-15-2345
-word ret- 1235-15-2345-368
-word -rigtig 368-1235-24-1245-2345-24-1245
-word rigtig- 1235-24-1245-2345-24-1245-368
-word -skal 368-234-13-1-123
-word skal- 234-13-1-123-368
-word -som 368-234-135-134
-word som- 234-135-134-368
-word -så 368-234-16
-word så- 234-16-368
-word -te 368-2345-15
-word te- 2345-15-368
-word -til 368-2345-24-123
-word til- 2345-24-123-368
-word -under 368-136-1345-145-15-1235
-word under- 136-1345-145-15-1235-368
-word -ved 368-1236-15-145
-word ved- 1236-15-145-368
-word -ve 368-1236-15
-word ve- 1236-15-368
-word -være 368-1236-345-1235-15
-word Være- 1236-345-1235-15-368
+#special cases with dropped signs
+# which can be both punctuations and contractions.
 
-### Patches ###
-# the following sections are to compensate for various behaviours and problems in liblouis.
-# They will be removed, as the issues are resolved.
+always fra! 124-1235-1-235
+always !fra 235-124-1235-1
+always !! 235-235
+always !!! 235-235-235
+always "fra" 2356-124-1235-1-2356
+after punctuation always ! 6-235
+always 'af 4-1-124
 
-# Ensure correct back-translation of word contractions before various punctuation.
+always \s! 0-6-235
+prepunc ! 6-235
+nofor always ! 6-235
+noback context `["!"] @6-235
+
+
+# Ensure no one-letter word contraction before or after a dash
+
+prfword -af 368-1-124
+sufword af- 1-124-368
+prfword -at 368-1-2345
+sufword at- 1-2345-368
+prfword -deres 368-1456-12356-234
+sufword deres- 1456-12356-234-368
+prfword -du 368-145-136
+sufword du- 145-136-368
+prfword -efter 368-15-124-2345-156
+sufword efter- 15-124-2345-156-368
+prfword -for 368-124-1346
+sufword for- 124-1346-368
+prfword -fra 368-124-1235-1
+sufword fra- 124-1235-1-368
+prfword -gennem 368-1245-126-1246-134
+sufword gennem- 1245-126-1246-134-368
+prfword -ham 368-125-1-134
+sufword ham- 125-1-134-368
+prfword -han 368-125-1-1345
+sufword han- 125-1-1345-368
+prfword -har 368-125-1-1235
+sufword har- 125-1-1235-368
+prfword -hun 368-125-136-1345
+sufword hun- 125-136-1345-368
+prfword -kan 368-13-1-1345
+sufword kan- 13-1-1345-368
+prfword -lige 368-123-24-12456
+sufword lige- 123-24-12456-368
+prfword -med 368-146-145
+sufword med- 146-145-368
+prfword -men 368-134-126
+sufword men- 134-126-368
+prfword -ned 368-1246-145
+sufword ned- 1246-145-368
+prfword -når 368-1345-16-1235
+sufword når- 1345-16-1235-368
+prfword -og 368-135-1245
+sufword og- 135-1245-368
+prfword -op 368-135-1234
+sufword op- 135-1234-368
+prfword -over 368-135-1236-156
+sufword over- 135-1236-156-368
+prfword -på 368-1234-16
+sufword på- 1234-16-368
+prfword -ret 368-1235-346
+sufword ret- 1235-346-368
+prfword -rigtig 368-1235-35-2345-35
+sufword rigtig- 1235-35-2345-35-368
+prfword -skal 368-123456-1-123
+sufword skal- 123456-1-123-368
+prfword -som 368-234-135-134
+sufword som- 234-135-134-368
+prfword -så 368-234-16
+sufword så- 234-16-368
+prfword -til 368-2345-24-123
+sufword til- 2345-24-123-368
+prfword -under 368-136-1345-23456
+sufword under- 136-1345-23456-368
+prfword -ved 368-1236-15-145
+sufword ved- 1236-15-145-368
+prfword -være 368-1236-345-12356
+sufword være- 1236-345-12356-368
+
+# *** patches for various Liblouis bugs
+# this file will be removed when the bugs are fixed
 
 nofor always a 6-1
 nofor always b 6-12
@@ -1070,51 +1365,213 @@
 # if a word contraction is followed by a punctuation and another word immediately after,
 # The contracted word before the punctuation will back-translate as its components
 attribute wordlimit /,!.:’()?"'\x00ab_\x201d\x0094\x2019\x0092\x00bb
-
+nofor before wordlimit begword af 356
+nofor before wordlimit begword aldrig 1-35
+nofor before wordlimit begword aig =
+nofor before wordlimit begword alle 1-15
+nofor before wordlimit begword allerede 1-123-1235
+nofor before wordlimit begword alligevel 1-123-1236
+nofor before wordlimit begword altid 1-2345-145
+nofor before wordlimit begword altså 1-16
 nofor before wordlimit begword at 1
+
+nofor before wordlimit begword blevet 12-2345
+nofor before wordlimit begword blev 12-1236
+nofor before wordlimit begword blive 12-3456
+nofor before wordlimit begword bve 12-1236-15
 nofor before wordlimit begword bliver 12
-nofor before wordlimit begword den 12346
-nofor before wordlimit begword der 23456
-nofor before wordlimit begword det 2346
-nofor before wordlimit begword de 1456
+
+nofor before wordlimit begword derefter 23456-1356
+nofor before wordlimit begword derst =
+nofor before wordlimit begword deres 256
+nofor before wordlimit begword derfor 23456-124
+nofor before wordlimit begword derf =
+nofor before wordlimit begword derigennem 23456-24-12456
+nofor before wordlimit begword derige 1456-1235-24-12456
+nofor before wordlimit begword dermed 23456-134
+nofor before wordlimit begword derm =
+nofor before wordlimit begword derned 23456-1246
+nofor before wordlimit begword derne =
+nofor before wordlimit begword derop 23456-135
+nofor before wordlimit begword dero =
+nofor before wordlimit begword derover 23456-1346
+nofor before wordlimit begword deror =
+nofor before wordlimit begword derpå 23456-1234
+nofor before wordlimit begword derp =
+nofor before wordlimit begword dersom 23456-234
+nofor before wordlimit begword ders =
+nofor before wordlimit begword dertil 23456-2345
+nofor before wordlimit begword dert =
+nofor before wordlimit begword derunder 23456-12345
+nofor before wordlimit begword derved 23456-1236
+nofor before wordlimit begword din 145-1345
+nofor before wordlimit begword disse 145-234
+nofor before wordlimit begword dit 145-2345
 nofor before wordlimit begword du 145
+
 nofor before wordlimit begword efter 1356
 nofor before wordlimit begword eller 15
-nofor before wordlimit begword en 126
-nofor before wordlimit begword er 156
-nofor before wordlimit begword et 346
+nofor before wordlimit begword endnu 15-136
+
+nofor before wordlimit begword fik 124-13
+nofor before wordlimit begword fordi 124-145
+nofor before wordlimit begword forskellige 124-123456-15
+nofor before wordlimit begword fske =
+nofor before wordlimit begword forskelligt 124-123456-2345
+nofor before wordlimit begword fskt =
+nofor before wordlimit begword forskellig 124-123456
+nofor before wordlimit begword fsk =
 nofor before wordlimit begword for 124
+nofor before wordlimit begword fra 235
+nofor before wordlimit begword første 124-1356-15
+nofor before wordlimit begword først 124-1356
 nofor before wordlimit begword før 246
+
+nofor before wordlimit begword ganske 1245-123456
 nofor before wordlimit begword gennem 12456
+nofor before wordlimit begword ge =
+nofor before wordlimit begword gik 1245-13
 nofor before wordlimit begword gør 1245
+
+nofor before wordlimit begword ham 236
+nofor before wordlimit begword hans 13456-234
 nofor before wordlimit begword han 13456
 nofor before wordlimit begword har 125
+nofor before wordlimit begword havde 125-1456
+nofor before wordlimit begword hde =
+nofor before wordlimit begword have 125-3456
+nofor before wordlimit begword hve =
+nofor before wordlimit begword helt 125-2345
+nofor before wordlimit begword hendes 125-234
+nofor before wordlimit begword hende 125-145
 nofor before wordlimit begword hun 136
 nofor before wordlimit begword hvad 2456
+nofor before wordlimit begword hv =
+nofor before wordlimit begword hvis 2456-234
+nofor before wordlimit begword hvs =
+nofor before wordlimit begword hvordan 34-1
+nofor before wordlimit begword hvorefter 34-1356
+nofor before wordlimit begword hvorfor 34-124
+nofor before wordlimit begword hvorigennem 34-24-12456
+nofor before wordlimit begword hvorledes 34-15
+nofor before wordlimit begword hvormed 34-134
+nofor before wordlimit begword hvornår 34-1345
+nofor before wordlimit begword hvorover 34-1346
+nofor before wordlimit begword hvorpå 34-1234
+nofor before wordlimit begword hvortil 34-2345
+nofor before wordlimit begword hvorunder 34-12345
+nofor before wordlimit begword hvorved 34-1236
 nofor before wordlimit begword hvor 34
+
+nofor before wordlimit begword igennem 24-12456
+nofor before wordlimit begword ige =
+nofor before wordlimit begword igen 35
+nofor before wordlimit begword ig =
+nofor before wordlimit begword ikke 24-13
+nofor before wordlimit begword imidlertid 24-24
+
 nofor before wordlimit begword jeg 245
+
 nofor before wordlimit begword kan 13
+nofor before wordlimit begword kommer 13-156
+nofor before wordlimit begword ker =
+nofor before wordlimit begword kommet 13-346
+nofor before wordlimit begword ket =
+nofor before wordlimit begword komme 13-146
+nofor before wordlimit begword kme =
+nofor before wordlimit begword kom 13-134
+nofor before wordlimit begword kunne 13-1246
+nofor before wordlimit begword kne =
+
+nofor before wordlimit begword ligesom 123-234
 nofor before wordlimit begword lige 123
+nofor before wordlimit begword lille 123-123
+
+nofor before wordlimit begword mange 134-12456
+nofor before wordlimit begword mge =
 nofor before wordlimit begword med 134
+nofor before wordlimit begword megen 146-126
+nofor before wordlimit begword meen =
+nofor before wordlimit begword meget 146-346
+nofor before wordlimit begword meet =
+nofor before wordlimit begword mellem 146-134
+nofor before wordlimit begword mem =
 nofor before wordlimit begword men 146
+nofor before wordlimit begword me =
+nofor before wordlimit begword min 134-1345
+nofor before wordlimit begword mit 134-2345
+nofor before wordlimit begword måske 134-123456
+nofor before wordlimit begword msk =
+nofor before wordlimit begword måtte 134-1256
+nofor before wordlimit begword mte =
+
+nofor before wordlimit begword naturligvis 1345-2345-1236
+nofor before wordlimit begword nd =
 nofor before wordlimit begword ned 1246
+nofor before wordlimit begword ne =
+nofor before wordlimit begword nogen 1345-1345
+nofor before wordlimit begword noget 1345-2345
+nofor before wordlimit begword nogle 1345-123-15
 nofor before wordlimit begword når 1345
+
+nofor before wordlimit begword også 14-16
 nofor before wordlimit begword og 14
+nofor before wordlimit begword omkring 135-134-13
 nofor before wordlimit begword op 135
+nofor before wordlimit begword or =
 nofor before wordlimit begword over 1346
+
 nofor before wordlimit begword på 1234
+
 nofor before wordlimit begword ret 12356
+nofor before wordlimit begword re 1235-15
+nofor before wordlimit begword rigtige 1235-12456
+nofor before wordlimit begword rge =
+nofor before wordlimit begword rigtigt 1235-2345
 nofor before wordlimit begword rigtig 1235
+
+nofor before wordlimit begword sagde 234-1456
+nofor before wordlimit begword sammen 234-134
+nofor before wordlimit begword samme 234-146
+nofor before wordlimit begword sme =
+nofor before wordlimit begword selvfølgelig 234-1236-124
+nofor before wordlimit begword selv 234-1236
+nofor before wordlimit begword sidste 234-1356-15
+nofor before wordlimit begword sste =
+nofor before wordlimit begword sidst 234-1356
+nofor before wordlimit begword sst =
+nofor before wordlimit begword sin 234-1345
+nofor before wordlimit begword sit 234-2345
 nofor before wordlimit begword skal 123456
+nofor before wordlimit begword sk =
+nofor before wordlimit begword skulle 123456-123-15
+nofor before wordlimit begword skle =
+nofor before wordlimit begword snart 234-1235
 nofor before wordlimit begword som 234
+nofor before wordlimit begword sådan 16-1
+nofor before wordlimit begword således 16-15
 nofor before wordlimit begword så 16
-nofor before wordlimit begword te 1256
+
+nofor before wordlimit begword tid 2345-145
+nofor before wordlimit begword tilbage 2345-12
 nofor before wordlimit begword til 2345
+
 nofor before wordlimit begword under 12345
+
+nofor before wordlimit begword var- =
+nofor before wordlimit begword var 36
 nofor before wordlimit begword ved 1236
+nofor before wordlimit begword ville 1236-123-15
+nofor before wordlimit begword vil 1236-123
+nofor before wordlimit begword været 1236-2345
 nofor before wordlimit begword være 345
 
-### Problems solved with pass 2 ###
+# Problems solved with pass 2
+
+# Convert the fake "space hyphen" back to a normal hyphen.
+noback pass2 @ef @368
+
+### Multi-pass opcodes for converting the virtual capsletter sign @f into dot 7.
 
 # Most of these lines are temporary.
 # They will be written with a few swap sets when the swapdd opcode has been fixed.
@@ -1139,6 +1596,12 @@
 nofor pass2 @357 @f-35
 nofor pass2 @5-357 @f-5-35
 
+noback pass2 @f-36 @367
+noback pass2 @f-6-36 @6-367
+noback pass2 @f-5-36 @5-367
+nofor pass2 @367 @f-36
+nofor pass2 @5-367 @f-5-36
+
 noback pass2 @f-1 @17
 noback pass2 @f-6-1 @6-17
 noback pass2 @f-5-1 @5-17
@@ -1594,10 +2057,13 @@
 nofor pass2 @6-2567 *
 nofor pass2 @6-2367 *
 nofor pass2 @6-34567 *
+nofor pass2 @6-367 *
 
 # remove any superfluous capsletter marks.
 noback pass2 @f ?
 
+# Pass 3
+
 # Remove any superfluous letsigns and only keep one.
 noback pass3 @6-6 @6
 
@@ -1605,7 +2071,9 @@
 
 noback pass3 @6-5 @5
 noback pass3 @6-458 @458
-
 # 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_1993.dic
diff --git a/tables/da-dk-g28l.ctb b/tables/da-dk-g28l_1993.ctb
similarity index 98%
rename from tables/da-dk-g28l.ctb
rename to tables/da-dk-g28l_1993.ctb
index 7a34d58..cca1bd0 100644
--- a/tables/da-dk-g28l.ctb
+++ b/tables/da-dk-g28l_1993.ctb
@@ -1,6 +1,6 @@
-# liblouis: Danish, table for 8 dots grade 1.5, partial contraction (forward and backward translation)
+# liblouis: Danish, table for 8 dots grade 1.5, partial contraction (forward and backward translation) 1993
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2021, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -21,15 +21,16 @@
 #------------
 #
 #
-# This  is the Danish table for 8 dots grade 2l/1.5 limited contractions (lille forkortelse).
+# This  is the Danish table for 8 dots grade 2l/1.5 limited contractions (lille forkortelse) 1993.
 # Use this table for translation and back-translation of Danish 8 dots grade 2 limited.
 #
-# Version: Bue Vester-Andersen, 200302
+# Version: Bue Vester-Andersen, December 2022
 
 ### Table Metadata
 
-#-index-name: Danish, partially contracted, 8-dot
-#-display-name: Danish 8-dot partially contracted braille
+#-name: Dansk lille forkortelse 8-punkt 1993
+#-index-name: Danish, partially contracted, 8-dot, 1993
+#-display-name: Danish 8-dot partially contracted braille (1993 standard)
 
 #+language: da
 #+type: literary
@@ -37,10 +38,12 @@
 #+grade: 1.5
 #+dots: 8
 #+direction: both
+#+system: ddp
+#+version: 1993
 
 
 # Display opcodes
-include da-dk-octobraille.dis
+include da-dk-octobraille_1993.dis
 
 ### Character definitions ###
 
@@ -376,7 +379,7 @@
 lowercase \x03C8 458-13456 Greek letter Psi
 lowercase \x03C9 458-2456 Greek letter Omega
 
-include da-dk-8miscChars.cti
+include da-dk-8miscChars_1993.cti
 
 # Uppercase letters
 
diff --git a/tables/hyph_brl_da_dk.dic b/tables/da-dk-g2_1993.dic
similarity index 100%
copy from tables/hyph_brl_da_dk.dic
copy to tables/da-dk-g2_1993.dic
diff --git a/tables/da-dk-octobraille.dis b/tables/da-dk-octobraille.dis
index 213072c..8380c05 100644
--- a/tables/da-dk-octobraille.dis
+++ b/tables/da-dk-octobraille.dis
@@ -1,6 +1,6 @@
-# Liblouis: Display table for Danish CP1252 Octo Braille
+# Liblouis: Display table for Danish CP1252 Octo Braille (2022)
 #
-#  Copyright (C) 2014-2020, Bue Vester-Andersen <bue@vester-andersen.dk>
+#  Copyright (C) 2014, 2016-2022, Bue Vester-Andersen <bue@vester-andersen.dk>
 #
 #  This file is part of liblouis.
 #
@@ -22,22 +22,25 @@
 #
 # This file contains display definitions for Danish 8 dot Braille.
 # It should be included in high level tables to ensure correct mapping of characters to dot patterns.
+# See also: Den Danske Punktskrift 2022
+#           Det Danske Punktskriftsnævn
+#           https://www.blind.dk/punktskrift-2022
 #
-# Version: Bue Vester-Andersen 200302
+# Version: Bue Vester-Andersen December 2022
 
 display \x0000 8 NULL
-display \x0001 178 START OF HEADING
+display \x0001 478 START OF HEADING
 display \x0002 1278 START OF TEXT
-display \x0003 1478 END OF TEXT
-display \x0004 14578 END OF TRANSMISSION
+display \x0003 134678 END OF TEXT
+display \x0004 25678 END OF TRANSMISSION
 display \x0005 24568 ENQUIRY
-display \x0006 12478 ACKNOWLEDGE
+display \x0006 123458 ACKNOWLEDGE
 display \x0007 124578 BELL
 display \x0008 12578 BACKSPACE
 display \t 2478 CHARACTER TABULATION
-display \n 678 LINE FEED (LF)
-display \v 1368 LINE TABULATION
-display \f 12378 FORM FEED (FF)
+display \n 24578 LINE FEED (LF)
+display \v 13458 LINE TABULATION
+display \f 1238 FORM FEED (FF)
 display \r 257 CARRIAGE RETURN (CR)
 display \x000e 134578 SHIFT OUT
 display \x000f 12358 SHIFT IN
@@ -56,13 +59,13 @@
 display \x001c 45678 INFORMATION SEPARATOR FOUR
 display \x001d 12368 INFORMATION SEPARATOR THREE
 display \x001e 1234678 INFORMATION SEPARATOR TWO
-display \x001f 235678 INFORMATION SEPARATOR ONE
+display \x001f 13478 INFORMATION SEPARATOR ONE
 display \s 0 SPACE
 display ! 235 EXCLAMATION MARK
 display " 2356 QUOTATION MARK
 display # 34568 NUMBER SIGN
-display $ 25678 DOLLAR SIGN
-display % 24578 PERCENT SIGN
+display $ 14578 DOLLAR SIGN
+display % 678 PERCENT SIGN
 display & 123468 AMPERSAND
 display ' 4 APOSTROPHE
 display ( 2368 LEFT PARENTHESIS
@@ -70,7 +73,7 @@
 display * 35 ASTERISK
 display + 2358 PLUS SIGN
 display , 2 COMMA
-display - 368 HYPHEN-MINUS
+display - 36 HYPHEN-MINUS
 display . 3 FULL STOP
 display / 348 SLASH
 display 0 2458 #0
@@ -89,7 +92,7 @@
 display = 23568 EQUALS SIGN
 display > 267 GREATER-THAN SIGN
 display ? 26 QUESTION MARK
-display @ 478 COMMERCIAL AT
+display @ 178 COMMERCIAL AT
 display A 17 LATIN CAPITAL LETTER A
 display B 127 LATIN CAPITAL LETTER B
 display C 147 LATIN CAPITAL LETTER C
@@ -151,20 +154,20 @@
 display { 123678 LEFT CURLY BRACKET
 display | 4568 VERTICAL LINE
 display } 345678 RIGHT CURLY BRACKET
-display ~ 467 TILDE
+display ~ 2378 TILDE
 display \x007f 7 DELETE
 display \x0080 1578 #EURO SIGN (0x80)
-display \x0081 45 <control-0081> (not defined in cp1252)
+display \x0081 2357 <control-0081> (not defined in cp1252)
 display \x0082 457 #Low single quote (0x82)
 display \x0083 58 #Flurihn (0x83)
-display \x0084 2378 #Low quote (0x84)
+display \x0084 467 #Low quote (0x84)
 display \x0085 6 #Elipsis (0x85)
-display \x0086 2357 #Dagger (0x86
-display \x0087 23578 #Double dagger (0x87
+display \x0086 45 #Dagger (0x86
+display \x0087 456 #Double dagger (0x87
 display \x0088 5678 #Modifier letter circumflex (0x88)
 display \x0089 245678 #permille sign (0x89)
-display \x008a 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
-display \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+display \x008a 46 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
+display \x008b 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
 display \x008c 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
 display \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
 display \x008e 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
@@ -175,9 +178,9 @@
 display \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 display \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 display \x0095 37 #Bullit (0x95)
-display \x0096 36 #EN DASH (0x96)
+display \x0096 368 #EN DASH (0x96)
 display \x0097 367 #Em DASH (0x97)
-display \x0098 46 #SMALL TILDE (0x98)
+display \x0098 23478 #SMALL TILDE (0x98)
 display \x0099 234578 #TRADE MARK SIGN (0x99)
 display \x009a 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
 display \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
@@ -187,13 +190,13 @@
 display \x009f 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
 display \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
 display \x00a2 2578 CENT SIGN (0xa2)
-display \x00a3 1238 POUND SIGN (0xa3)
+display \x00a3 12378 POUND SIGN (0xa3)
 display \x00a4 2367 CURRENCY SIGN (0xa4)
-display \x00a5 67 YEN SIGN (0xa5)
+display \x00a5 1345678 YEN SIGN (0xa5)
 display \x00a6 3478 BROKEN BAR (0xa6)
 display \x00a7 578 SECTION SIGN (0xa7)
 display \x00a8 56 DIAERESIS (0xa8)
-display \x00a9 134678 COPYRIGHT SIGN (0xa9)
+display \x00a9 1478 COPYRIGHT SIGN (0xa9)
 display \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
 display \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
 display \x00ac 34567 NOT SIGN (0xac)
@@ -201,10 +204,10 @@
 display \x00ae 123578 REGISTERED SIGN (0xae)
 display \x00af 23567 MACRON (0xaf)
 display \x00b0 356 DEGREE SIGN (0xb0)
-display \x00b1 123458 PLUS-MINUS SIGN
+display \x00b1 12478 PLUS-MINUS SIGN
 display \x00b2 238 SUPERSCRIPT TWO
 display \x00b3 258 SUPERSCRIPT THREE
-display \x00b4 468 ACUTE ACCENT
+display \x00b4 458 ACUTE ACCENT
 display \x00b5 236 MICRO SIGN
 display \x00b6 1234568 PILCROW SIGN
 display \x00b7 38 MIDDLE DOT
@@ -212,9 +215,9 @@
 display \x00b9 28 SUPERSCRIPT ONE
 display \x00ba 12345678 MASCULINE ORDINAL INDICATOR
 display \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
-display \x00bc 13458 VULGAR FRACTION ONE QUARTER
-display \x00bd 458 VULGAR FRACTION ONE HALF
-display \x00be 3456 VULGAR FRACTION THREE QUARTERS
+display \x00bc 1368 VULGAR FRACTION ONE QUARTER
+display \x00bd 468 VULGAR FRACTION ONE HALF
+display \x00be 13468 VULGAR FRACTION THREE QUARTERS
 display \x00bf 34 INVERTED QUESTION MARK
 display \x00c0 123567 LATIN CAPITAL LETTER A WITH GRAVE
 display \x00c1 1235678 LATIN CAPITAL LETTER A WITH ACUTE
@@ -232,20 +235,20 @@
 display \x00cd 12678 LATIN CAPITAL LETTER I WITH ACUTE
 display \x00ce 1467 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
 display \x00cf 124567 LATIN CAPITAL LETTER I WITH DIAERESIS
-display \x00d0 1345678 LATIN CAPITAL LETTER ETH
+display \x00d0 67 LATIN CAPITAL LETTER ETH
 display \x00d1 1245678 LATIN CAPITAL LETTER N WITH TILDE
 display \x00d2 124678 LATIN CAPITAL LETTER O WITH GRAVE
 display \x00d3 34678 LATIN CAPITAL LETTER O WITH ACUTE
 display \x00d4 14567 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
 display \x00d5 145678 LATIN CAPITAL LETTER O WITH TILDE
 display \x00d6 24678 LATIN CAPITAL LETTER O WITH DIAERESIS
-display \x00d7 13468 MULTIPLICATION SIGN
+display \x00d7 3456 MULTIPLICATION SIGN
 display \x00d8 2467 LATIN CAPITAL LETTER O WITH STROKE
 display \x00d9 234567 LATIN CAPITAL LETTER U WITH GRAVE
 display \x00da 125678 LATIN CAPITAL LETTER U WITH ACUTE
 display \x00db 1567 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
 display \x00dc 12567 LATIN CAPITAL LETTER U WITH DIAERESIS
-display \x00dd 13478 LATIN CAPITAL LETTER Y WITH ACUTE (infinite?)
+display \x00dd 235678 LATIN CAPITAL LETTER Y WITH ACUTE (infinite?)
 display \x00de 1378 LATIN CAPITAL LETTER THORN
 display \x00df 23468 LATIN SMALL LETTER SHARP S
 display \x00e0 12356 LATIN SMALL LETTER A WITH GRAVE
@@ -284,17 +287,17 @@
 # Unicode characters corresponding to \x0080 - \x009f In Windows CP-1252.
 # Necessary for Braille display drivers delivering Unicode as Braille input to Liblouis
 
-nofor display \x20ac 1578 #EURO SIGN (0x80)
-nofor display \x201a 457 #Low single quote (0x82)
+nofor display \x20AC 1578 #EURO SIGN (0x80)
+nofor display \x201A 457 #Low single quote (0x82)
 nofor display \x0192 58 #Flurihn (0x83)
-nofor display \x201e 2378 #Low quote (0x84)
+nofor display \x201E 467 #Low quote (0x84)
 nofor display \x2026 6 #Elipsis (0x85)
-nofor display \x2020 2357 #Dagger (0x86
-nofor display \x2021 23578 #Double dagger (0x87
+nofor display \x2020 45 #Dagger (0x86
+nofor display \x2021 456 #Double dagger (0x87
 nofor display \x02c6 5678 #Modifier letter circumflex (0x88)
 nofor display \x2030 245678 #permille sign (0x89)
 nofor display \x0160 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
-nofor display \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+nofor display \x2039 23578 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
 nofor display \x0152 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
 nofor display \x017d 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
 nofor display \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
@@ -302,12 +305,12 @@
 nofor display \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
 nofor display \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
 nofor display \x2022 37 #Bullit (0x95)
-nofor display \x2013 36 #EN DASH (0x96)
+nofor display \x2013 368 #EN DASH (0x96)
 nofor display \x2014 367 #Em DASH (0x97)
-nofor display \x02dc 46 #SMALL TILDE (0x98)
+nofor display \x02DC 23478 #SMALL TILDE (0x98)
 nofor display \x2122 234578 #TRADE MARK SIGN (0x99)
 nofor display \x0161 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
-nofor display \x203a 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+nofor display \x203A 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
 nofor display \x0153 1358 #LATIN SMALL LIGATURE OE (0x9c)
 nofor display \x017e 346 #LATIN SMALL LETTER Z WITH CARON (0x9e)
 nofor display \x0178 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
diff --git a/tables/da-dk-octobraille_1993.dis b/tables/da-dk-octobraille_1993.dis
new file mode 100644
index 0000000..0634581
--- /dev/null
+++ b/tables/da-dk-octobraille_1993.dis
@@ -0,0 +1,313 @@
+# Liblouis: Display table for Danish CP1252 Octo Braille (1993)
+#
+#  Copyright (C) 2014, 2016-2021, 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 file contains display definitions for Danish 8 dot Braille.
+# It should be included in high level tables to ensure correct mapping of characters to dot patterns.
+#
+# Version: Bue Vester-Andersen December 2022
+
+display \x0000 8 NULL
+display \x0001 178 START OF HEADING
+display \x0002 1278 START OF TEXT
+display \x0003 1478 END OF TEXT
+display \x0004 14578 END OF TRANSMISSION
+display \x0005 24568 ENQUIRY
+display \x0006 12478 ACKNOWLEDGE
+display \x0007 124578 BELL
+display \x0008 12578 BACKSPACE
+display \t 2478 CHARACTER TABULATION
+display \n 678 LINE FEED (LF)
+display \v 1368 LINE TABULATION
+display \f 12378 FORM FEED (FF)
+display \r 257 CARRIAGE RETURN (CR)
+display \x000e 134578 SHIFT OUT
+display \x000f 12358 SHIFT IN
+display \x0010 123478 DATA LINK ESCAPE
+display \x0011 1234578 DEVICE CONTROL ONE
+display \x0012 13568 DEVICE CONTROL TWO
+display \x0013 4578 DEVICE CONTROL THREE
+display \x0014 268 DEVICE CONTROL FOUR
+display \x0015 13678 NEGATIVE ACKNOWLEDGE
+display \x0016 278 SYNCHRONOUS IDLE
+display \x0017 3578 END OF TRANSMISSION BLOCK
+display \x0018 78 CANCEL
+display \x0019 68 END OF MEDIUM
+display \x001a 135678 SUBSTITUTE
+display \x001b 2678 ESCAPE
+display \x001c 45678 INFORMATION SEPARATOR FOUR
+display \x001d 12368 INFORMATION SEPARATOR THREE
+display \x001e 1234678 INFORMATION SEPARATOR TWO
+display \x001f 235678 INFORMATION SEPARATOR ONE
+display \s 0 SPACE
+display ! 235 EXCLAMATION MARK
+display " 2356 QUOTATION MARK
+display # 34568 NUMBER SIGN
+display $ 25678 DOLLAR SIGN
+display % 24578 PERCENT SIGN
+display & 123468 AMPERSAND
+display ' 4 APOSTROPHE
+display ( 2368 LEFT PARENTHESIS
+display ) 3568 RIGHT PARENTHESIS
+display * 35 ASTERISK
+display + 2358 PLUS SIGN
+display , 2 COMMA
+display - 368 HYPHEN-MINUS
+display . 3 FULL STOP
+display / 348 SLASH
+display 0 2458 #0
+display 1 18 #1
+display 2 128 #2
+display 3 148 #3
+display 4 1458 #4
+display 5 158 #5
+display 6 1248 #6
+display 7 12458 #7
+display 8 1258 #8
+display 9 248 #9
+display : 25 COLON
+display ; 23 SEMICOLON
+display < 358 LESS-THAN SIGN
+display = 23568 EQUALS SIGN
+display > 267 GREATER-THAN SIGN
+display ? 26 QUESTION MARK
+display @ 478 COMMERCIAL AT
+display A 17 LATIN CAPITAL LETTER A
+display B 127 LATIN CAPITAL LETTER B
+display C 147 LATIN CAPITAL LETTER C
+display D 1457 LATIN CAPITAL LETTER D
+display E 157 LATIN CAPITAL LETTER E
+display F 1247 LATIN CAPITAL LETTER F
+display G 12457 LATIN CAPITAL LETTER G
+display H 1257 LATIN CAPITAL LETTER H
+display I 247 LATIN CAPITAL LETTER I
+display J 2457 LATIN CAPITAL LETTER J
+display K 137 LATIN CAPITAL LETTER K
+display L 1237 LATIN CAPITAL LETTER L
+display M 1347 LATIN CAPITAL LETTER M
+display N 13457 LATIN CAPITAL LETTER N
+display O 1357 LATIN CAPITAL LETTER O
+display P 12347 LATIN CAPITAL LETTER P
+display Q 123457 LATIN CAPITAL LETTER Q
+display R 12357 LATIN CAPITAL LETTER R
+display S 2347 LATIN CAPITAL LETTER S
+display T 23457 LATIN CAPITAL LETTER T
+display U 1367 LATIN CAPITAL LETTER U
+display V 12367 LATIN CAPITAL LETTER V
+display W 24567 LATIN CAPITAL LETTER W
+display X 13467 LATIN CAPITAL LETTER X
+display Y 134567 LATIN CAPITAL LETTER Y
+display Z 13567 LATIN CAPITAL LETTER Z
+display [ 23678 LEFT SQUARE BRACKET
+display \\ 347 REVERSE SLASH
+display ] 35678 RIGHT SQUARE BRACKET
+display ^ 12348 CIRCUMFLEX ACCENT
+display _ 3678 LOW LINE
+display ` 5 GRAVE ACCENT
+display a 1 LATIN SMALL LETTER A
+display b 12 LATIN SMALL LETTER B
+display c 14 LATIN SMALL LETTER C
+display d 145 LATIN SMALL LETTER D
+display e 15 LATIN SMALL LETTER E
+display f 124 LATIN SMALL LETTER F
+display g 1245 LATIN SMALL LETTER G
+display h 125 LATIN SMALL LETTER H
+display i 24 LATIN SMALL LETTER I
+display j 245 LATIN SMALL LETTER J
+display k 13 LATIN SMALL LETTER K
+display l 123 LATIN SMALL LETTER L
+display m 134 LATIN SMALL LETTER M
+display n 1345 LATIN SMALL LETTER N
+display o 135 LATIN SMALL LETTER O
+display p 1234 LATIN SMALL LETTER P
+display q 12345 LATIN SMALL LETTER Q
+display r 1235 LATIN SMALL LETTER R
+display s 234 LATIN SMALL LETTER S
+display t 2345 LATIN SMALL LETTER T
+display u 136 LATIN SMALL LETTER U
+display v 1236 LATIN SMALL LETTER V
+display w 2456 LATIN SMALL LETTER W
+display x 1346 LATIN SMALL LETTER X
+display y 13456 LATIN SMALL LETTER Y
+display z 1356 LATIN SMALL LETTER Z
+display { 123678 LEFT CURLY BRACKET
+display | 4568 VERTICAL LINE
+display } 345678 RIGHT CURLY BRACKET
+display ~ 467 TILDE
+display \x007f 7 DELETE
+display \x0080 1578 #EURO SIGN (0x80)
+display \x0081 45 <control-0081> (not defined in cp1252)
+display \x0082 457 #Low single quote (0x82)
+display \x0083 58 #Flurihn (0x83)
+display \x0084 2378 #Low quote (0x84)
+display \x0085 6 #Elipsis (0x85)
+display \x0086 2357 #Dagger (0x86
+display \x0087 23578 #Double dagger (0x87
+display \x0088 5678 #Modifier letter circumflex (0x88)
+display \x0089 245678 #permille sign (0x89)
+display \x008a 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
+display \x008b 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+display \x008c 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
+display \x008d 3567 REVERSE LINE FEED (not defined in cp1252)
+display \x008e 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+display \x008f 27 SINGLE SHIFT THREE (not defined in cp1252)
+display \x0090 357 DEVICE CONTROL STRING (not defined in cp1252)
+display \x0091 47 #LEFT SINGLE QUOTATION MARK (0x91)
+display \x0092 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+display \x0093 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+display \x0094 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+display \x0095 37 #Bullit (0x95)
+display \x0096 36 #EN DASH (0x96)
+display \x0097 367 #Em DASH (0x97)
+display \x0098 46 #SMALL TILDE (0x98)
+display \x0099 234578 #TRADE MARK SIGN (0x99)
+display \x009a 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
+display \x009b 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+display \x009c 1358 #LATIN SMALL LIGATURE OE (0x9c)
+display \x009d 2567 OPERATING SYSTEM COMMAND
+display \x009e 346 #LATIN SMALL LETTER Z WITH CARON (0x9e)
+display \x009f 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
+display \x00a1 256 INVERTED EXCLAMATION MARK )0xa1)
+display \x00a2 2578 CENT SIGN (0xa2)
+display \x00a3 1238 POUND SIGN (0xa3)
+display \x00a4 2367 CURRENCY SIGN (0xa4)
+display \x00a5 67 YEN SIGN (0xa5)
+display \x00a6 3478 BROKEN BAR (0xa6)
+display \x00a7 578 SECTION SIGN (0xa7)
+display \x00a8 56 DIAERESIS (0xa8)
+display \x00a9 134678 COPYRIGHT SIGN (0xa9)
+display \x00aa 234678 FEMININE ORDINAL INDICATOR (0xaa)
+display \x00ab 57 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK (0xab)
+display \x00ac 34567 NOT SIGN (0xac)
+display \x00ad 378 SOFT HYPHEN (0xad)
+display \x00ae 123578 REGISTERED SIGN (0xae)
+display \x00af 23567 MACRON (0xaf)
+display \x00b0 356 DEGREE SIGN (0xb0)
+display \x00b1 123458 PLUS-MINUS SIGN
+display \x00b2 238 SUPERSCRIPT TWO
+display \x00b3 258 SUPERSCRIPT THREE
+display \x00b4 468 ACUTE ACCENT
+display \x00b5 236 MICRO SIGN
+display \x00b6 1234568 PILCROW SIGN
+display \x00b7 38 MIDDLE DOT
+display \x00b8 4678 CEDILLA
+display \x00b9 28 SUPERSCRIPT ONE
+display \x00ba 12345678 MASCULINE ORDINAL INDICATOR
+display \x00bb 567 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+display \x00bc 13458 VULGAR FRACTION ONE QUARTER
+display \x00bd 458 VULGAR FRACTION ONE HALF
+display \x00be 3456 VULGAR FRACTION THREE QUARTERS
+display \x00bf 34 INVERTED QUESTION MARK
+display \x00c0 123567 LATIN CAPITAL LETTER A WITH GRAVE
+display \x00c1 1235678 LATIN CAPITAL LETTER A WITH ACUTE
+display \x00c2 1678 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+display \x00c3 14678 LATIN CAPITAL LETTER A WITH TILDE
+display \x00c4 34578 LATIN CAPITAL LETTER A WITH DIAERESIS
+display \x00c5 167 LATIN CAPITAL LETTER A WITH RING ABOVE
+display \x00c6 3457 LATIN CAPITAL LETTER AE
+display \x00c7 123467 LATIN CAPITAL LETTER C WITH CEDILLA
+display \x00c8 23467 LATIN CAPITAL LETTER E WITH GRAVE
+display \x00c9 1234567 LATIN CAPITAL LETTER E WITH ACUTE
+display \x00ca 1267 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+display \x00cb 12467 LATIN CAPITAL LETTER E WITH DIAERESIS
+display \x00cc 15678 LATIN CAPITAL LETTER I WITH GRAVE
+display \x00cd 12678 LATIN CAPITAL LETTER I WITH ACUTE
+display \x00ce 1467 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+display \x00cf 124567 LATIN CAPITAL LETTER I WITH DIAERESIS
+display \x00d0 1345678 LATIN CAPITAL LETTER ETH
+display \x00d1 1245678 LATIN CAPITAL LETTER N WITH TILDE
+display \x00d2 124678 LATIN CAPITAL LETTER O WITH GRAVE
+display \x00d3 34678 LATIN CAPITAL LETTER O WITH ACUTE
+display \x00d4 14567 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+display \x00d5 145678 LATIN CAPITAL LETTER O WITH TILDE
+display \x00d6 24678 LATIN CAPITAL LETTER O WITH DIAERESIS
+display \x00d7 13468 MULTIPLICATION SIGN
+display \x00d8 2467 LATIN CAPITAL LETTER O WITH STROKE
+display \x00d9 234567 LATIN CAPITAL LETTER U WITH GRAVE
+display \x00da 125678 LATIN CAPITAL LETTER U WITH ACUTE
+display \x00db 1567 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+display \x00dc 12567 LATIN CAPITAL LETTER U WITH DIAERESIS
+display \x00dd 13478 LATIN CAPITAL LETTER Y WITH ACUTE (infinite?)
+display \x00de 1378 LATIN CAPITAL LETTER THORN
+display \x00df 23468 LATIN SMALL LETTER SHARP S
+display \x00e0 12356 LATIN SMALL LETTER A WITH GRAVE
+display \x00e1 123568 LATIN SMALL LETTER A WITH ACUTE
+display \x00e2 168 LATIN SMALL LETTER A WITH CIRCUMFLEX
+display \x00e3 1468 LATIN SMALL LETTER A WITH TILDE
+display \x00e4 3458 LATIN SMALL LETTER A WITH DIAERESIS
+display \x00e5 16 LATIN SMALL LETTER A WITH RING ABOVE
+display \x00e6 345 LATIN SMALL LETTER AE
+display \x00e7 12346 LATIN SMALL LETTER C WITH CEDILLA
+display \x00e8 2346 LATIN SMALL LETTER E WITH GRAVE
+display \x00e9 123456 LATIN SMALL LETTER E WITH ACUTE
+display \x00ea 126 LATIN SMALL LETTER E WITH CIRCUMFLEX
+display \x00eb 1246 LATIN SMALL LETTER E WITH DIAERESIS
+display \x00ec 1568 LATIN SMALL LETTER I WITH GRAVE
+display \x00ed 1268 LATIN SMALL LETTER I WITH ACUTE
+display \x00ee 146 LATIN SMALL LETTER I WITH CIRCUMFLEX
+display \x00ef 12456 LATIN SMALL LETTER I WITH DIAERESIS
+display \x00f0 134568 LATIN SMALL LETTER ETH
+display \x00f1 124568 LATIN SMALL LETTER N WITH TILDE
+display \x00f2 12468 LATIN SMALL LETTER O WITH GRAVE
+display \x00f3 3468 LATIN SMALL LETTER O WITH ACUTE
+display \x00f4 1456 LATIN SMALL LETTER O WITH CIRCUMFLEX
+display \x00f5 14568 LATIN SMALL LETTER O WITH TILDE
+display \x00f6 2468 LATIN SMALL LETTER O WITH DIAERESIS
+display \x00f7 2568 DIVISION SIGN
+display \x00f8 246 LATIN SMALL LETTER O WITH STROKE
+display \x00f9 23456 LATIN SMALL LETTER U WITH GRAVE
+display \x00fa 12568 LATIN SMALL LETTER U WITH ACUTE
+display \x00fb 156 LATIN SMALL LETTER U WITH CIRCUMFLEX
+display \x00fc 1256 LATIN SMALL LETTER U WITH DIAERESIS
+display \x00fd 1348 LATIN SMALL LETTER Y WITH ACUTE
+display \x00fe 138 LATIN SMALL LETTER THORN
+display \x00ff 234568 LATIN SMALL LETTER Y WITH DIAERESIS
+
+# Unicode characters corresponding to \x0080 - \x009f In Windows CP-1252.
+# Necessary for Braille display drivers delivering Unicode as Braille input to Liblouis
+
+nofor display \x20ac 1578 #EURO SIGN (0x80)
+nofor display \x201a 457 #Low single quote (0x82)
+nofor display \x0192 58 #Flurihn (0x83)
+nofor display \x201e 2378 #Low quote (0x84)
+nofor display \x2026 6 #Elipsis (0x85)
+nofor display \x2020 2357 #Dagger (0x86
+nofor display \x2021 23578 #Double dagger (0x87
+nofor display \x02c6 5678 #Modifier letter circumflex (0x88)
+nofor display \x2030 245678 #permille sign (0x89)
+nofor display \x0160 23478 #LATIN CAPITAL LETTER S WITH CARON (0x8a)
+nofor display \x2039 456 #SINGLE LEFT-POINTING ANGLE QUOTATION MARK (0x8b)
+nofor display \x0152 13578 #LATIN CAPITAL LIGATURE OE (0x8c)
+nofor display \x017d 3467 #LATIN CAPITAL LETTER Z WITH CARON (0x8e)
+nofor display \x2018 47 #LEFT SINGLE QUOTATION MARK (0x91)
+nofor display \x2019 48 #RIGHT SINGLE QUOTATION MARK (0x92)
+nofor display \x201c 237 #LEFT DOUBLE QUOTATION MARK (0x93)
+nofor display \x201d 568 #RIGHT DOUBLE QUOTATION MARK (0x94)
+nofor display \x2022 37 #Bullit (0x95)
+nofor display \x2013 36 #EN DASH (0x96)
+nofor display \x2014 367 #Em DASH (0x97)
+nofor display \x02dc 46 #SMALL TILDE (0x98)
+nofor display \x2122 234578 #TRADE MARK SIGN (0x99)
+nofor display \x0161 2348 #LATIN SMALL LETTER S WITH CARON (0x9a)
+nofor display \x203a 4567 #SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (0x9b)
+nofor display \x0153 1358 #LATIN SMALL LIGATURE OE (0x9c)
+nofor display \x017e 346 #LATIN SMALL LETTER Z WITH CARON (0x9e)
+nofor display \x0178 2345678 #LATIN CAPITAL LETTER Y WITH DIAERESIS (0x9f)
diff --git a/tables/hu-backtranslate-word-corrections.cti b/tables/hu-backtranslate-word-corrections.cti
index 4399b42..4a191e4 100644
--- a/tables/hu-backtranslate-word-corrections.cti
+++ b/tables/hu-backtranslate-word-corrections.cti
@@ -90,6 +90,8 @@
 nofor correct "csúccsok" "csúcscsok"	For example csúcscsoki word
 nofor correct "Csúccsok" "Csúcscsok"	For example Csúcscsoki word
 nofor correct "CSÚCCSOK" "CSÚCSCSOK"	For example CSÚCSCSOKI word
+nofor correct "ümölccserj" "ümölcscserj"	For example gyümölcscserjéket word
+nofor correct "ÜMÖLCCSERJ" "ÜMÖLCSCSERJ"	For example GYÜMÖLCSCSERJÉKET word
 
 #ggy, gygy backtranslation rule corrections
 nofor correct "szalaggyak" *
@@ -160,6 +162,27 @@
 nofor correct "néggyűrű" "négygyűrű"	For example négygyűrűs word
 nofor correct "Néggyűrű" "Négygyűrű"	For example Négygyűrűs word
 nofor correct "NÉGGYŰRŰ" "NÉGYGYŰRŰ"	For example NÉGYGYŰRŰS word
+nofor correct "haraggyűj" *	For example haraggyűjtögetés word
+nofor correct "Haraggyűj" *	For example Haraggyűjtögetés word
+nofor correct "HARAGGYŰJ" *	For example HARAGGYŰJTÖGETÉS word
+nofor correct "aggyűjtögeté" "agygyűjtögeté"	For example agygyűjtögetés word
+nofor correct "Aggyűjtögeté" "Agygyűjtögeté"	For example Agygyűjtögetés word
+nofor correct "AGGYŰJTÖGETÉ" "AGYGYŰJTÖGETÉ"	For example AGYGYŰJTÖGETÉS word
+nofor correct "meggyönyör" *	For example meggyönyörködtetni word not need apply a special exception
+nofor correct "Meggyönyör" *	For example Meggyönyörködtetni word not need apply a special exception
+nofor correct "MEGGYÖNYÖR" *	For example MEGGYÖNYÖRKÖDTETNI word not need apply a special exception
+nofor correct "leggyönyör" *	For example leggyönyörűbb, legesleggyönyörűbb word not need apply a special correction
+nofor correct "Leggyönyör" *	For example Leggyönyörűbb word not need apply a special correction
+nofor correct "LEGGYÖNYÖR" *	For example LEGGYÖNYÖRŰBB word not need apply a special word correction
+nofor correct "eggyönyör" "egygyönyör"	For example egygyönyör word
+nofor correct "Eggyönyör" "Egygyönyör"	For example Egygyönyörű word
+nofor correct "EGGYÖNYÖR" "EGYGYÖNYÖR"	For example EGYGYÖNYÖR word
+nofor correct "hazugsággy" *    For example hazugsággyártó word
+nofor correct "Hazugsággy" *    For example Hazugsággyártó word
+nofor correct "HAZUGSÁGGY" *    For example HAZUGSÁGGYÁRTÓ word
+nofor correct "ággyártó" "ágygyártó"	For example ágygyártó word
+nofor correct "Ággyártó" "Ágygyártó"	For example Ágygyártó word
+nofor correct "ÁGGYÁRTÓ" "ÁGYGYÁRTÓ"	For example ÁGYGYÁRTÓ word
 
 #nyny, nyny letters related backtranslate corrections
 nofor correct "rannyak" "ranynyak"	For example aranynyakláncának word
@@ -239,6 +262,12 @@
 nofor correct "ERSENNYERTE" "ERSENYNYERTE"	For example VERSENYNYERTES word
 nofor correct "árkánnyo" "árkánynyo"	For example sárkánynyomozó word
 nofor correct "ÁRKÁNNYO" "ÁRKÁNYNYO"	For example SÁRKÁNYNYOMOZÓ word
+nofor correct "áránnyáj" "áránynyáj"	For example báránynyáj word
+nofor correct "ÁRÁNNYÁJ" "ÁRÁNYNYÁJ"	For example BÁRÁNYNYÁJ word
+nofor correct "ránnyila" "ránynyila"	For example iránynyilakkal word
+nofor correct "RÁNNYILA" "RÁNYNYILA"	For example IRÁNYNYILAKKAL word
+nofor correct "ásárosnaménny" *	For example Vásárosnaménnyal word
+nofor correct "ÁSÁROSNAMÉNNY" *	fOR example VÁSÁROSNAMÉNNYAL word
 
 #lyly letters related backtranslate corrections
 nofor correct "amelylyel" *
@@ -530,7 +559,8 @@
 nofor correct "vadásszínp" "vadászszínp"	for example vadászszínpad word
 nofor correct "Vadásszínp" "Vadászszínp"	For example Vadászszínpad word
 nofor correct "VADÁSSZÍNP" "VADÁSZSZÍNP"	For example VADÁSZSZÍNPAD word
-nofor correct "egyésszakért" "egyészszakért"	For example vegyészszakértő word
+nofor correct "egyéssza" "egyészsza"	For example vegyészszakértő, vegyészszakma words
+nofor correct "EGYÉSSZA" "EGYÉSZSZA"	For example VEGYÉSZSZAKMA word
 nofor correct "válaszszák" "válasszák"
 nofor correct "Válaszszák" "Válasszák"
 nofor correct "ónusszab" "ónuszszab"	For example bónuszszabályzat word
@@ -853,6 +883,85 @@
 nofor correct "ÜBRISSZINDR" "ÜBRISZSZINDR"	For example HÜBRISZSZINDRÓMA, HÜBRISZSZINDRÓMÁBAN words
 nofor correct "ukrásszto" "ukrászszto"	For example cukrászsztori word
 nofor correct "UKRÁSSZTO" "UKRÁSZSZTO"	For example CUKRÁSZSZTORI word
+nofor correct "örösszí" *   For example vörösszínű word
+nofor correct "ÖRÖSSZÍ" *   For example VÖRÖSSZÍNŰ word
+nofor correct "összín" "öszszín"	For example löszszín word
+nofor correct "ÖSSZÍN" "ÖSZSZÍN"	For example LÖSZSZÍN word
+nofor correct "tússzer" "túszszer"	For example túszszerű word
+nofor correct "Tússzer" "Túszszer"	For example Túszszerű word
+nofor correct "TÚSSZER" "TÚSZSZER"	For example TÚSZSZERŰ word
+nofor correct "itnesszek" "itneszszek"	For example fitneszszektor word
+nofor correct "ITNESSZEK" "ITNESZSZEK"	For example FITNESZSZEKTOR word
+nofor correct "idásszakm" "idászszakm"	For example hidászszakma word
+nofor correct "IDÁSSZAKM" "IDÁSZSZAKM"	For example HIDÁSZSZAKMA WORD
+nofor correct "oksszáll" "okszszáll"	For example kokszszállítás word
+nofor correct "OKSSZÁLL" "OKSZSZÁLL"	For example KOKSZSZÁLLÍTÁS word
+nofor correct "énisszer" "éniszszer"	For example péniszszerű word
+nofor correct "ÉNISSZER" "ÉNISZSZER"	For example PÉNISZSZERŰ word
+nofor correct "itnesszép" "itneszszép"	For example fitneszszépség word
+nofor correct "ITNESSZÉP" "ITNESZSZÉP"	For example FITNESZSZÉPSÉG word
+nofor correct "kalásszer" "kalászszer"	For example kalászszerű, búzakalászszerű words
+nofor correct "Kalásszer" "Kalászszer"	For example Kalászszerű word
+nofor correct "KALÁSSZER" "KALÁSZSZER"	For example KALÁSZSZERŰ word
+nofor correct "kertésszöv" "kertészszöv"	For example kertészszövetség word
+nofor correct "Kertésszöv" "Kertészszöv"	For example Kertészszövetség word
+nofor correct "KERTÉSSZÖV" "KERTÉSZSZÖV"	Foor example KERTÉSZSZÖVETSÉG word
+nofor correct "enisszülő" "eniszszülő"	For example teniszszülőként word
+nofor correct "ENISSZÜLŐ" "ENISZSZÜLŐ"	For example TENISZSZÜLŐ word
+nofor correct "ülköléssz" *	For example tülkölésszerű word
+nofor correct "ÜLKÖLÉSSZ" *	For example TÜLKÖLÉSSZERŰ word
+nofor correct "ülésszeg" *	For example ülésszegélyekre word
+nofor correct "Ülésszeg" *	For example Ülésszegélyekre word
+nofor correct "ÜLÉSSZEG" *	For example ÜLÉSSZEGÉLYEKRE word
+nofor correct "Régésszem" "Régészszem"	For example Régészszemmel word
+nofor correct "RÉGÉSSZEM" "RÉGÉSZSZEM"	For example RÉGÉSZSZEMMEL word
+nofor correct "átesszere" "áteszszere"	For example váteszszerep word
+nofor correct "ÁTESSZERE" "ÁTESZSZERE"	For example VÁTESZSZEREPBEN word
+nofor correct "odrásszell" "odrászszell"	For example fodrászszellem word
+nofor correct "ODRÁSSZELL" "ODRÁSZSZELL"	For example FODRÁSZSZELLEM word
+nofor correct "erasszer" "eraszszer"	For example teraszszerű word
+nofor correct "ERASSZER" "ERASZSZER"	For example TERASZSZERŰ word
+nofor correct "ősszimb" "őszszimb"	For example őszszimbólum word
+nofor correct "Ősszimb" "Őszszimb"	For example Őszszimbólum word
+nofor correct "ŐSSZIMB" "ŐSZSZIMB"	For example ŐSZSZIMBÓLUM word
+nofor correct "busszemé" "buszszemé"	For example omnibuszszemélynek word
+nofor correct "Busszemé" "Buszszemé"	For example Buszszemélyzet word
+nofor correct "BUSSZEMÉ" "BUSZSZEMÉ"	For example OMNIBUSZSZEMÉLYNEK word
+nofor correct "űvésszfé" "űvészszfé"	For example művészszférából word
+nofor correct "ŰVÉSSZFÉ" "ŰVÉSZSZFÉ"	For example MŰVÉSZSZFÉRÁBÓL word
+nofor correct "dománnyújt" "dománynyújt"	For example adománynyújtást word
+nofor correct "DOMÁNNYÚJT" "DOMÁNYNYÚJT"	For example ADOMÁNYNYÚJTÁST word
+nofor correct "fűrésszá" "fűrészszá"	For example fűrészszámot word
+nofor correct "Fűrésszá" "Fűrészszá"	For example Fűrészszámot word
+nofor correct "FŰRÉSSZÁ" "FŰRÉSZSZÁ"	For example FŰRÉSZSZÁMOT word
+nofor correct "gyásszí" "gyászszí"	For example gyászszínű word
+nofor correct "Gyásszí" "Gyászszí"	For example Gyászszínű word
+nofor correct "GYÁSSZÍ" "GYÁSZSZÍ"	For example GYÁSZSZÍNŰ word
+nofor correct "arázzsí" "arázszsí"	For example varázszsírral word
+nofor correct "ARÁZZSÍ" "ARÁZSZSÍ"	For example VARÁZSZSÍRRAL word
+nofor correct "övésszem" "övészszem"	For example lövészszemüveget word
+nofor correct "ÖVÉSSZEM" "ÖVÉSZSZEM"	For example LÖVÉSZSZEMÜVEGET word
+nofor correct "egyésszöv" "egyészszöv"	For example Vegyészszövetség word
+nofor correct "EGYÉSSZÖV" "EGYÉSZSZÖV"	For example VEGYÉSZSZÖVETSÉG word
+nofor correct "ermésszór" *	For example termésszórás word
+nofor correct "ERMÉSSZÓR" *	For example TERMÉSSZÓRÁS word
+nofor correct "árcisszed" "árciszszed"  For example nárciszszedés word
+nofor correct "ÁRCISSZED" "ÁRCISZSZED"  For example nÁRCISZSZEDÉS word
+nofor correct "erkesszelle" "erkeszszelle"	For example cserkeszszellemiséget word
+nofor correct "ERKESSZELLE" "ERKESZSZELLE"	For example CSERKESZSZELLEMISÉGET word
+nofor correct "odrássztá" "odrászsztá"	For example fodrászsztár word
+nofor correct "ODRÁSSZTÁ" "ODRÁSZSZTÁ"	For example FODRÁSZSZTÁR word
+nofor correct "eksszezo" "ekszszezo"	For example kekszszezon word
+nofor correct "EKSSZEZO" "EKSZSZEZO"	For example KEKSZSZEZON words
+nofor correct "násszoba" "nászszoba"	For example nászszoba word
+nofor correct "Násszoba" "Nászszoba"	For example Nászszoba word
+nofor correct "NÁSSZOBA" "NÁSZSZOBA"	For example NÁSZSZOBA word
+nofor correct "eánsszer" "eánszszer"	For example szeánszszerű word
+nofor correct "EÁNSSZER" "EÁNSZSZER"	For example SZEÁNSZSZERŰEN word
+nofor correct "ésszívat" "észszívat"	For example részszívatásátadás word
+nofor correct "ÉSZSZÍVAT" "ÉSZSZÍVAT"	For example RÉSZSZÍVATÁSÁTADÁS word
+nofor correct "ambusszem" "ambuszszem"	For example bambuszszemcse word
+nofor correct "AMBUSSZEM" "AMBUSZSZEM"	For example bambuszszemcse word
 
 #zszs backtranslated word corrections
 nofor correct "törzszsel" "törzzsel"
diff --git a/tables/hu-exceptionwords.cti b/tables/hu-exceptionwords.cti
index e21748b..b7cfaf8 100644
--- a/tables/hu-exceptionwords.cti
+++ b/tables/hu-exceptionwords.cti
@@ -135,7 +135,7 @@
 partword párduc =	For example párduccsík word
 partword ribanc =	For example ribanccsizma word
 partword homotópia =	For example homotópiacsoport word
-#partword olimpia =	For example olimpiacsapat word
+partword olimpia =	For example olimpiacsapat word
 always piacsek 1234-24-1-146-15-13
 partword szendvicszab 156-15-1345-145-1236-24-146-126-1-12	For example szendvicszabáló word
 begword hecc =	For example heccsajtójának word
@@ -152,6 +152,8 @@
 always harcstíl 125-1-1235-14-234-2345-34-123	For example harcstílus word
 always metáncs 134-15-2345-4-1345-146	For example metáncsökkentéssel word
 always arcsej 1-1235-14-234-15-245	For example arcsebész, arcsejtekkel word
+always lánccsopo 123-4-1345-14-146-135-1234-135	For example lánccsoport word
+always bíbiccs 12-34-12-24-14-146	For example bíbiccsapat word
 
 #gy, ggy related exceptions
 #This exception section containing word parts and full words with need marking ggy letter pairs with single g and gy braille dot combination
@@ -351,6 +353,9 @@
 always maggyűlöl 134-1-1245-1456-23456-123-12345-123	For example maggyűlölő word
 always veszteséggy 1236-15-156-2345-15-234-16-1245-1456	For example veszteséggyártás word
 always szalaggyen 156-1-123-1-1245-1456-15-1345	For example szalaggyengeség word
+always tréninggy 2345-1235-16-1345-24-1345-1245-1456	For example tréninggyakorlatokon word
+always sárgasággy 234-4-1235-1245-1-234-4-1245-1456	For example sárgasággyanús word
+always pitypanggy 1234-24-1256-1234-1-1345-1245-1456	For example pitypanggyökér word
 
 #ny, nny related exceptions
 #Following exception parts need marking nny letter pairs with single n and nny braille dot combinations
@@ -477,6 +482,7 @@
 always bödönny 12-12345-145-12345-1345-1246	For example bödönnyi word
 always uránnyo 136-1235-4-1345-1246-135	For example uránnyom word
 always betonny 12-15-2345-135-1345-1246	For example betonnyaralóba, betonnyílás word
+begword szénnyel 156-16-1345-1246-15-123	For example szénnyelő word
 
 #ly related exceptions
 #This exception parts need marking ly letters with two single l and y letter combination
@@ -1555,6 +1561,19 @@
 always pácienssz 1234-4-14-24-15-1345-234-156	For example páciensszám word
 always protézissz 1234-1235-135-2345-16-126-24-234-156	For example protézisszám, protézisszár, protézisszár-hossztól words
 always kenderessz 13-15-1345-145-15-1235-15-234-156	For example Kenderesszigeti-tavak word
+always berendezéssz 12-15-1235-15-1345-145-15-126-16-234-156	For example berendezésszállító word
+always fasizmussz 124-1-234-24-126-134-16-234-156	For example fasizmusszakértő word
+begword gázsapk 1245-4-126-234-1-1234-13	For example gázsapka word
+always bocsátássz 12-135-146-4-2345-4-234-156	For example kibocsátásszabályozás word
+always golyóssz 1245-135-456-246-234-156	For example golyósszelep word
+always isszín 24-234-156-34-1345	For example kisszínpad, kocsisszín words
+always hasszúr 125-1-234-156-346-1235	For example hasszúrás word
+always ülköléssz 12356-123-13-12345-123-16-234-156	For example tülkölésszerű word
+always ösztönzéssz 12345-156-2345-12345-1345-126-16-234-156	For example ösztönzésszakmai word
+begword birssz 12-24-1235-234-156	For example birsszeleteket, birsszezon word
+always hamiszá 125-1-134-24-234-126-4	For example hamiszászlós word
+always kezdeményezéssz 13-15-126-145-15-134-16-234-156	For example kezdeményezésszervezés word
+always ébredéssz 16-12-1235-15-145-16-234-156	For example ébredésszerű word
 
 #ty, tty related exceptions
 #This exception part containing english words with need presenting original english braille rules
@@ -1681,11 +1700,13 @@
 always szívásza 156-34-1236-4-234-126-1	For example szívászajcsökkentés word
 begword gázsok 1245-4-126-234-135-13	For example gázsokk word
 begword gázsor 1245-4-126-234-135-1235	For example gázsor word
-begword gázspórol 1245-4-126-234-1234-246-1235-135-123	For example gázspórolás word
+partword gázspórol 1245-4-126-234-1234-246-1235-135-123	For example gázspórolás word
 begword gázzsaro 1245-4-126-345-1-1235-135	For example gázzsarolás word
 begword jazz 245-1-126-126	For example jazzsláger, jazzsztár, jazzszaxofon words
 begword ülészs 12356-123-16-234-345	For example ülészsebben word
 begword gázsikkasz 1245-4-126-234-24-13-13-1-156	For example gázsikkasztás word
+always lovaszs 123-135-1236-1-234-345	For example lovaszsonglőr word
+always birszs 12-24-1235-234-345	For example birszselé word
 
 #Historical person names related exceptions
 always táncsics 2345-4-1345-146-24-146	Táncsics Mihály is a historical person for 1848. march 15 hungarian revolution
diff --git a/tables/hu-hu-g1_braille_input.cti b/tables/hu-hu-g1_braille_input.cti
index 24c0047..8e146af 100644
--- a/tables/hu-hu-g1_braille_input.cti
+++ b/tables/hu-hu-g1_braille_input.cti
@@ -258,6 +258,7 @@
 prepunc ly 456
 postpunc ly 456
 always ly 456
+noback pass2 $D.[@36-456-6]%notaccentedletters. @36-456
 
 endnum lly 456-456	General need replacing ly letters with a combined dot combination
 endnum -lly 36-456-456	General need replacing ly letters with a combined dot
@@ -283,6 +284,7 @@
 prepunc ty 1256	General need replacing ty letter pairs with a combined dot combination
 postpunc ty 1256	General need replacing ty letter pairs with a combined dot combination
 always ty 1256
+noback pass2 $D.[@36-1256-6]%notaccentedletters. @36-1256
 
 endnum tty 1256-1256		General need replacing ty letter pairs with a combined dot combination
 endnum -tty 36-1256-1256		General need replacing ty letter pairs with a combined dot combination
@@ -327,6 +329,7 @@
 prepunc zs 345
 postpunc zs 345
 always zs 345
+noback pass2 $D.[@36-345-6]%notaccentedletters. @36-345
 
 endnum zzs 345-345	General need replacing zs letters with a combined dot combination
 endnum -zzs 36-345-345	General need replacing zs letters with a combined dot combination
diff --git a/tables/ka.utb b/tables/ka.utb
new file mode 100644
index 0000000..e04fcfa
--- /dev/null
+++ b/tables/ka.utb
@@ -0,0 +1,128 @@
+#-index-name: Georgian
+#-display-name: Georgian braille
+
+#+language:ka
+#+type:literary
+#+dots:6
+#+direction:both
+
+#-author: Harris Mowbray
+#-maintainer: Harris Mowbray <harrismowbray@yahoo.com>
+#-copyright: 2022, Harris Mowbray
+#-license: LGPLv2.1
+
+# INFORMATION REGARDING BRAILLE AUTHORITY IN GEORGIA
+#
+# Braille teacher Mariam Mikiashvili is the de facto authority of
+# braille in Georgia in the absence of a formal authority. She is the
+# Georgian braille expert and responsible for teaching young people
+# braille. Any change to Georgian braille should go through her first.
+#
+# See http://liblouis.org/braille-specs/georgian/ for some more
+# background information about Georgian braille.
+
+#  Written by Harris Mowbray in 2022
+#
+#  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/>.
+
+space	\s	0
+punctuation	\x00a0	0	# NO-BREAK SPACE
+space	\x2002	0	# EN SPACE
+space	\x2003	0	# EM SPACE
+space	\x2004	0	# THREE-PER-EM SPACE
+space	\x2005	0	# FOUR-PER-EM SPACE
+space	\x2006	0	# SIX-PER-EM SPACE
+punctuation	\x2007	0	# FIGURE SPACE
+space	\x2008	0	# PUNCTUATION SPACE
+space	\x2009	0	# THIN SPACE
+space	\x200a	0	# HAIR SPACE
+punctuation	\x202f	0	# NARROW NO-BREAK SPACE
+space	\x205f	0	# MEDIUM MATHEMATICAL SPACE
+
+letter	\x10d0	1	# GEORGIAN LETTER AN
+letter	\x10d1	12	# GEORGIAN LETTER BAN
+letter	\x10d2	1245	# GEORGIAN LETTER GAN
+letter	\x10d3	145	# GEORGIAN LETTER DON
+letter	\x10d4	15	# GEORGIAN LETTER EN
+letter	\x10d5	2456	# GEORGIAN LETTER VIN
+letter	\x10d6	1356	# GEORGIAN LETTER ZEN
+letter	\x10d7	124	# GEORGIAN LETTER TAN
+letter	\x10d8	24	# GEORGIAN LETTER IN
+letter	\x10d9	13	# GEORGIAN LETTER KAN
+letter	\x10da	123	# GEORGIAN LETTER LAS
+letter	\x10db	134	# GEORGIAN LETTER MAN
+letter	\x10dc	1345	# GEORGIAN LETTER NAR
+letter	\x10dd	135	# GEORGIAN LETTER ON
+letter	\x10de	1234	# GEORGIAN LETTER PAR
+letter	\x10df	245	# GEORGIAN LETTER ZHAR
+letter	\x10e0	1235	# GEORGIAN LETTER RAE
+letter	\x10e1	234	# GEORGIAN LETTER SAN
+letter	\x10e2	2345	# GEORGIAN LETTER TAR
+letter	\x10e3	136	# GEORGIAN LETTER UN
+letter	\x10e4	1236	# GEORGIAN LETTER PHAR
+letter	\x10e5	12456	# GEORGIAN LETTER KHAR
+letter	\x10e6	1246	# GEORGIAN LETTER GHAN
+letter	\x10e7	2346	# GEORGIAN LETTER QAR
+letter	\x10e8	156	# GEORGIAN LETTER SHIN
+letter	\x10e9	12345	# GEORGIAN LETTER CHIN
+letter	\x10ea	14	# GEORGIAN LETTER CAN
+letter	\x10eb	13456	# GEORGIAN LETTER JIL
+letter	\x10ec	1456	# GEORGIAN LETTER CIL
+letter	\x10ed	1346	# GEORGIAN LETTER CHAR
+letter	\x10ee	125	# GEORGIAN LETTER XAN
+letter	\x10ef	246	# GEORGIAN LETTER JHAN
+letter	\x10f0	12346	# GEORGIAN LETTER HAE
+
+include digits6Dots.uti
+include litdigits6Dots.uti
+numsign 3456
+
+punctuation	!	235
+punctuation	„	236
+punctuation	“	356
+punctuation	.	256
+punctuation	$	256
+punctuation	\x20be	346	# LARI SIGN
+punctuation	%	1256
+punctuation	(	2356
+punctuation	)	2356
+punctuation	*	35
+punctuation	#	345
+punctuation	&	123456
+punctuation	+	235
+punctuation	-	36
+punctuation	º	36
+punctuation	,	2
+punctuation	/	34
+punctuation	\\	16
+punctuation	:	25
+punctuation	;	23
+punctuation	<	246
+punctuation	=	2356
+punctuation	>	135
+punctuation	?	26
+punctuation	@	4
+punctuation	[	126
+punctuation	]	345
+punctuation	_	36
+punctuation	{	12356
+punctuation	}	23456
+
+# Contexts
+prepunc ( 2356
+postpunc ) 2356
+postpunc ! 235
diff --git a/tables/lg-ug-g1.utb b/tables/lg-ug-g1.utb
index 57e3e5b..3cc1397 100644
--- a/tables/lg-ug-g1.utb
+++ b/tables/lg-ug-g1.utb
@@ -3,9 +3,8 @@
 #-display-name: Luganda braille
 #-index-name: Luganda
 #
-#-author-name: Jake Kyle
-#-maintainer-name: Jake Kyle
-#-maintainer-email: jake@compassbraille.org
+#-author: Jake Kyle
+#-maintainer: Jake Kyle <jake@compassbraille.org>
 #
 #+language: lg
 #+type: literary
diff --git a/tables/ny-mw.utb b/tables/ny-mw.utb
new file mode 100644
index 0000000..616a443
--- /dev/null
+++ b/tables/ny-mw.utb
@@ -0,0 +1,70 @@
+# liblouis: Chichewa (Malawi)
+#
+#  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/>.
+#
+#-index-name: Chichewa
+#-display-name: Chichewa braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language: ny
+#+type: literary
+#+contraction: no
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table is based on information provided by Ezekiel Kumwenda, Executive
+# Director of Malawi Union of the Blind, and Martin Kieti of The DAISY
+# Consortium in contact with Chichewa Braille readers. According to this
+# information:
+#  - Chichewa (also known as Chinyanja) uses Latin script.
+#  - Grade 2 braille is not used for Chichewa language.
+#  - Unified English Braille has not been adopted in Malawi.
+#
+# The Braille code is thus most similar to Standard English Braille Grade 1
+# rather than Unified English Braille Grade 1. This is a similar situation to
+# Swahili (Kenya) Grade 1 code and therefore this table is based on Swahili
+# (Kenya) Grade 1 table with minor differences due to different letters being
+# legitimate standalone words.
+
+
+# Unlike in Swahili, the letter 'u' is not a standalone word in Chichewa. These
+# rules override Swahili table rules to ensure the letter 'u' is preceded by the
+# letter sign when it appears on its own.
+lowercase u 136
+base uppercase U u
+contraction u
+contraction U
+
+# Swahili (Kenya) Grade 1 table
+include sw-ke-g1.utb
+
+# Unlike in Swahili, the letter 'a' is a standalone word in Chichewa and so
+# must not be preceded by the letter sign.
+word a 1
+word A 1
diff --git a/tables/rw-rw-g1.utb b/tables/rw-rw-g1.utb
index be1f0c7..7e0027a 100644
--- a/tables/rw-rw-g1.utb
+++ b/tables/rw-rw-g1.utb
@@ -3,9 +3,8 @@
 #-index-name: Kinyarwanda
 #-display-name: Kinyarwanda braille
 #
-#-author-name: Jake Kyle
-#-maintainer-name: Jake Kyle
-#-maintainer-email: jake@compassbraille.org
+#-author: Jake Kyle
+#-maintainer: Jake Kyle <jake@compassbraille.org>
 #
 #+language:rw
 #+type:literary
diff --git a/tables/sv-g0.utb b/tables/sv-g0.utb
index 41e001d..81db89a 100644
--- a/tables/sv-g0.utb
+++ b/tables/sv-g0.utb
@@ -24,9 +24,8 @@
 #  Punktskriftsnämnden (the Swedish Braille Authority) and
 #  Insyn Scandinavia AB.
 #
-#-author-name: Insyn Scandinavia AB
-#-maintainer-name: Insyn Scandinavia AB
-#-maintainer-email: david@insyn.se
+#-author: Insyn Scandinavia AB
+#-maintainer: Insyn Scandinavia AB <david@insyn.se>
 #
 #  This braille table is based on the following documentation:
 #  Svenska skrivregler för punktskrift:
diff --git a/tables/sv-g1.ctb b/tables/sv-g1.ctb
index 712e9c8..b8af284 100644
--- a/tables/sv-g1.ctb
+++ b/tables/sv-g1.ctb
@@ -18,9 +18,8 @@
 #  Punktskriftsnämnden (the Swedish Braille Authority) and
 #  Insyn Scandinavia AB.
 #
-#-author-name: Insyn Scandinavia AB
-#-maintainer-name: Insyn Scandinavia AB
-#-maintainer-email: david@insyn.se
+#-author: Insyn Scandinavia AB
+#-maintainer: Insyn Scandinavia AB <david@insyn.se>
 #
 #  This braille table is based on the following documentation:
 #  Svenska skrivregler för punktskrift:
diff --git a/tables/sv-g2.ctb b/tables/sv-g2.ctb
index eb013f4..24d9629 100644
--- a/tables/sv-g2.ctb
+++ b/tables/sv-g2.ctb
@@ -18,9 +18,8 @@
 #  Punktskriftsnämnden (the Swedish Braille Authority) and
 #  Insyn Scandinavia AB.
 #
-#-author-name: Insyn Scandinavia AB
-#-maintainer-name: Insyn Scandinavia AB
-#-maintainer-email: david@insyn.se
+#-author: Insyn Scandinavia AB
+#-maintainer: Insyn Scandinavia AB <david@insyn.se>
 #
 #  This braille table is based on the following documentation:
 #  Svenska skrivregler för punktskrift:
diff --git a/tables/sw-ke-g1-2.ctb b/tables/sw-ke-g1-2.ctb
new file mode 100644
index 0000000..e0cc180
--- /dev/null
+++ b/tables/sw-ke-g1-2.ctb
@@ -0,0 +1,90 @@
+# liblouis: Swahili (Kenya) (Grade 1.2)
+#
+#  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/>.
+#
+#-index-name: Swahili, contracted, grade 1.2
+#-display-name: Swahili grade 1.2 contracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:1.2
+#+contraction: partial
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+include sw-ke-g1.utb
+
+
+# Single Character Word Signs Part 1
+# The following characters represent words commonly used in Swahili language.
+# They represent these words when they stand alone, that is, when they are
+# preceeded and followed by a space. 
+
+word bora 12 b
+word chai 14 c
+word dawa 145 d
+word elfu 15 e
+word fora 124 f
+word gogo 1245 g
+word homa 125 h
+word imani 24 i
+word jambo 245 j
+word kilimo 13 k
+word ladha 123 l
+word maji 134 m
+word neno 1345 n
+word orodha 135 o
+word pilipili 1234 p
+word kwamba 12345 kw
+word roho 1235 r
+word somo 234 s
+word taarifa 2345 t
+# word ushirika 136 u may be confused with word 'u'
+word vyema 1236 v
+word wizara 2456 w
+word mbegu 1346 mb
+word yai 13456 y
+word ziwa 1356 z
+
+# -- end of table --
diff --git a/tables/sw-ke-g1-3.ctb b/tables/sw-ke-g1-3.ctb
new file mode 100644
index 0000000..0b92ffd
--- /dev/null
+++ b/tables/sw-ke-g1-3.ctb
@@ -0,0 +1,109 @@
+# liblouis: Swahili (Kenya) Grade 1.3
+#
+#  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/>.
+#
+#-index-name: Swahili, contracted, grade 1.3
+#-display-name: Swahili grade 1.3 contracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:1.3
+#+contraction: partial
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+include sw-ke-g1-2.ctb
+
+# Single Cell Contractions
+
+partword nd 1246
+partword tw 156
+partword kw 12345
+partword ng 346
+partword ny 12456
+partword ch 16
+partword gh 126
+partword sw 12356
+partword sh 146
+partword th 1456
+partword dh 2346
+partword st 34
+partword end 12346
+partword mb 1346
+partword mw 123456
+partword nz 23456
+
+# Apostrophe
+always ng' 346-3
+always ng'o 346-3-135
+
+# Double Letter Contractions
+# These double-letter contractions are used at all places, that is, at the
+# beiginning, middle and end of a word.
+
+partword aa 345
+partword ee 26
+partword ii 35
+partword oo 246
+partword uu 1256
+
+# Contractions That Represent Whole Words 
+# These contractions are used to represent whole words. When used, they should
+# not be followed by another letter or word. However, they can be preceeded or
+# followed by punctuations. 
+
+word mwanafunzi 123456 mw
+word swali 12356 sw
+word chama 16 ch
+word ghali 126 gh
+word shule 146 sh
+word thabiti 1456 th
+word ndani 1246 nd
+word starehe 34 st
+word ngoma 346 ng
+word nyama 12456 ny
+word dhahabu 2346 dh
+word twende 156 tw
+
+# -- end of table --
diff --git a/tables/sw-ke-g1-4.ctb b/tables/sw-ke-g1-4.ctb
new file mode 100644
index 0000000..1fc04d5
--- /dev/null
+++ b/tables/sw-ke-g1-4.ctb
@@ -0,0 +1,107 @@
+# liblouis: Swahili (Kenya) Grade 1.4
+#
+#  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/>.
+#
+#-index-name: Swahili, contracted, grade 1.4
+#-display-name: Swahili grade 1.4 contracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:1.4
+#+contraction: partial
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+include sw-ke-g1-3.ctb
+
+
+# Contractions Using Dot 5 Followed by a Single Letter or Single Cell Contraction 
+# When dot 5 is followed by a single letter, the two create a contraction as follows:
+
+always bibi 5-12 5b
+always changa 5-14 5c
+always dini 5-145 5d
+always embe 5-15 5e
+always fungu 5-124 5f
+always ganda 5-1245 5g
+always hapa 5-125 5h
+always jiji 5-245 5j
+always kata 5-13 5k
+always lala 5-123 5l
+always mimi 5-134 5m
+always nyinyi 5-1345 5n
+always ona 5-135 5o
+always pamba 5-1234 5p
+always rudi 5-1235 5r
+always sisi 5-234 5s
+always taka 5-2345 5t
+always unda 5-136 5u
+always vita 5-1236 5v
+always wazi 5-2456 5w
+always yawe 5-13456 5y
+always zuri 5-1356 5z
+always changamoto 5-16 5ch
+always sheria 5-146 5sh
+always theluji 5-1456 5th
+always mwalimu 5-123456 5mw
+always dhati 5-2346 5dh
+always swahili 5-12356 5sw
+
+
+# Contractions Using Dots 456 Followed by a Single Letter or Single Cell Contraction
+# The contractions are created using dots 456 imediately preceeding the first letter
+# of the word. They can be used anywhere in the word. 
+
+always baba 456-12 456b
+always dada 456-145 456d
+always jibu 456-245 456j
+always kaka 456-13 456k
+always mama 456-134 456m
+always nyanya 456-1345 456n
+always sema 456-234 456s
+always wewe 456-2456 456w - not supplied in document but in Duxbury
+always yeye 456-13456 456y
+always shangazi 456-146 456sh
+
+# -- end of table --
diff --git a/tables/sw-ke-g1-5.ctb b/tables/sw-ke-g1-5.ctb
new file mode 100644
index 0000000..7714088
--- /dev/null
+++ b/tables/sw-ke-g1-5.ctb
@@ -0,0 +1,73 @@
+# liblouis: Swahili (Kenya) Grade 1.5
+#
+#  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/>.
+#
+#-index-name: Swahili, contracted, grade 1.5
+#-display-name: Swahili grade 1.5 contracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:1.5
+#+contraction: partial
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+include sw-ke-g1-4.ctb
+
+# Contractions Using Dots 46 and Dots 56
+# Notes:
+# 1.	The contractions for ‘ote‘ ‘enye‘  ‘ond‘ and ‘ong‘ cannot be used
+# at the beginning of a word, that is, there cannot be a space before the
+# contractions. 
+# 2.	The contractions for ‘lea‘ and ‘lia‘ cannot be used as complete words,
+# that is, there cannot be a space before and after the contractions. 
+ 
+midendword ote 46-15 46e
+midendword enye 56-15 56e
+midendword ond 46-145 46d
+midendword ong 56-1245 56g
+midendword lia 46-123 46l
+midendword lea 56-123 56l
+
+# -- end of table --
diff --git a/tables/sw-ke-g1.utb b/tables/sw-ke-g1.utb
new file mode 100644
index 0000000..29abafe
--- /dev/null
+++ b/tables/sw-ke-g1.utb
@@ -0,0 +1,278 @@
+# liblouis: Swahili (Kenya) Grade 1
+#
+#  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/>.
+#
+#-index-name: Swahili, uncontracted
+#-display-name: Swahili uncontracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:1
+#+contraction: no
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+# Default display table
+include text_nabcc.dis
+
+# Character definitions
+
+# Spaces
+space \t 9 tab
+space \x001b 1b escape character for html back-translation
+space \x00A0 a NO-BREAK SPACE <noBreak> 0020 NON-BREAKING SPACE
+noback correct "\x200b" "\s"
+include spaces.uti
+
+# Other characters
+include latinLetterDef6Dots.uti
+include litdigits6Dots.uti
+include digits6Dots.uti
+
+
+# Signs
+noback sign † 145-236 dagger \x2020
+noback sign ♀ 124-236 female sign \x2640
+sign £ 4-123
+noback sign ♂ 134-236
+noback sign ‡ 135-246 double dagger
+noback sign ¶ 1234-345
+noback sign § 234-3
+sign % 25-1234
+sign $ 4-256
+sign * 35-35
+noback sign ° 356 degrees
+sign ¢ 4-14 cent
+sign € 4-15 euro
+sign ¥ 4-13456
+sign & 12346
+sign @ 4-2346
+sign ʹ 4-35 minute or foot sign (a single prime)
+sign ʺ 4-35-35 second or inch sign (a double prime)
+noback sign # 4-3456
+sign © 45-14
+sign ® 45-1235 registered trade mark
+sign ™ 45-2345 trade mark
+noback sign • 456-256 bullet
+sign 〃 5-2 ditto
+sign ~ 5-36 tilde
+sign \x005C 5-34 back oblique stroke
+sign ^ 456-126
+
+
+# Maths symbols
+math + 56-235 plus
+math × 56-236 multiply
+math ÷ 56-256 divide
+math = 56-2356 equals
+math < 246 less than
+math > 135 greater than
+math ¼ 3456-1-256 quarter
+math ½ 3456-1-23 half
+math ¾ 3456-14-256 three quarters
+math √ 146 square root
+math ² 346-23 superscript two
+math ³ 346-25 superscript three
+math \x2080 16-356 subscript zero
+math \x2081 16-2 subscript one
+math \x2082 16-23 subscript two
+math \x2083 16-25 subscript three
+math \x2084 16-256 subscript four
+math \x2085 16-26 subscript five
+math \x2086 16-235 subscript six
+math \x2087 16-2356 subscript seven
+math \x2088 16-236 subscript eight
+math \x2089 16-35 subscript nine
+
+
+# Punctuation
+punctuation . 256 fullstop
+punctuation , 2 comma
+punctuation ; 23 semi-colon
+punctuation : 25 full colon
+punctuation ! 235 exclamation mark
+punctuation ? 236 question mark
+punctuation ' 3 apostrophe
+punctuation " 236 quotation mark
+punctuation ‘ 6-236 open quotation mark
+punctuation ’ 356-3 close quotation mark
+punctuation “ 236 double open quotation mark
+punctuation ” 356 double close quotation mark
+punctuation < 456-2356 open angled brackets
+punctuation > 456-2356 close angled brackets
+punctuation ( 2356 open parenthesis
+punctuation ) 2356 close parenthesis
+punctuation / 456-34 oblique stroke
+punctuation [ 6-2356 open square bracket
+punctuation ] 2356-3 close square bracket
+punctuation { 46-2356 open curly braces
+punctuation } 46-2356 close curly braces
+punctuation - 36 hyphen
+punctuation – 36-36 en dash
+punctuation — 36-36-36 em dash
+punctuation … 36-36 ellipsis \x2026
+punctuation _ 456 underscore
+
+# Braille indicators
+numsign 3456
+letsign 56
+noletsignafter '
+noletsignbefore '
+capsletter 6
+begcapsword 6-6
+endcapsword 6-3
+lencapsphrase 3
+begcapsphrase 6-6-6
+endcapsphrase after 6-3
+emphclass italic
+emphletter italic 46
+begemphword italic 46
+endemphword italic 46-3
+lenemphphrase italic 3
+begemphphrase italic 46-46
+endemphphrase italic after 46-3
+
+# Characters within numbers which will not terminate numeric mode
+numericmodechars .,-:
+
+# Characters other than space indicating word boundary
+seqdelimiter - hyphen
+seqdelimiter – en dash
+seqdelimiter — em dash
+seqdelimiter \x005C back oblique stroke
+seqdelimiter ([{"“'‘)]}”’,;:.!?…/
+
+# Signs in context
+noback begnum £ 123
+begnum $ 256
+begnum # 4
+endnum % 0-25-1234
+
+
+# Maths in context
+noback midnum + 0-56-235
+nofor always +\s 56-235
+joinnum + 56-235
+joinword + 56-235
+noback midnum \s-\s 0-56-36
+nofor always -\s 56-36
+joinnum - 56-36
+joinword - 56-36
+noback midnum × 0-56-236
+nofor always ×\s 56-236
+joinnum × 56-236
+joinword × 56-236
+noback midnum ÷ 0-56-256
+nofor always ÷\s 56-256
+joinnum ÷ 56-256
+joinword ÷ 56-256
+noback midnum = 0-56-2356
+nofor always =\s 56-2356
+joinnum = 56-2356
+joinword = 56-2356
+midnum \s<\s 0-246-0
+midnum \s>\s 0-135-0
+midnum < 0-246-0
+midnum > 0-135-0
+midword \s<\s 0-246-0
+midword \s>\s 0-135-0
+midword < 0-246-0
+midword > 0-135-0
+midnum ^ 346-3456
+
+
+# Punctuation in context
+midnum . 2 decimal point
+midnum : 3456
+postpunc ” 356
+noback postpunc " 356
+prepunc “ 236
+noback prepunc " 236
+prepunc < 456-2356 open angled brackets
+postpunc > 456-2356 close angled brackets
+noback always ( 2356
+prepunc ( 2356
+postpunc ) 2356
+prepunc { 46-2356
+postpunc } 46-2356
+noback always \s-\s 36-36
+noback always ... 36-36 ellipsis with fullstops
+
+# single letter words
+word u 136
+word U 136
+
+# apostrophe single letter words
+always 'o 3-135
+
+# Roman Numerals
+nofor word ii 56-24-24
+nofor word iii 56-24-24-24
+nofor word iv 56-24-1236
+nofor word vi 56-1236-24
+nofor word vii 56-1236-24-24
+nofor word viii 56-1236-24-24-24
+nofor word ix 56-24-1346
+nofor word x 56-1346
+nofor word xi 56-1346-24
+nofor word xii 56-1346-24-24
+nofor word xiii 56-1346-24-24-24
+
+contraction ii
+contraction iii
+contraction iv
+contraction vi
+contraction vii
+contraction viii
+contraction ix
+contraction xi
+contraction xii
+contraction xiii
+
+include braille-patterns.cti
+
+# Possible corrections needed
+noback correct $l["’"]$l "'" where close single quote used instead of apostrophe
+
+# -- end of table --
diff --git a/tables/sw-ke-g2.ctb b/tables/sw-ke-g2.ctb
new file mode 100644
index 0000000..3ebe6cd
--- /dev/null
+++ b/tables/sw-ke-g2.ctb
@@ -0,0 +1,276 @@
+# liblouis: Swahili (Kenya) Grade 2
+#
+#  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/>.
+#
+#-index-name: Swahili, contracted, grade 2
+#-display-name: Swahili grade 2 contracted braille
+#
+#-author: Jake Kyle
+#-author: Dipendra Manocha
+#-author: Martin Kieti
+#-maintainer: Jake Kyle <jake@compassbraille.org>
+#-updated: 2022
+#
+#+language:sw
+#+region:sw-KE
+#+type:literary
+#+grade:2
+#+contraction: full
+#
+#-copyright: 2022, Compass Braille <http://www.compassbraille.org>
+#-copyright: 2022, the DAISY Consortium <https://daisy.org/>
+#-license: LGPLv2.1
+#
+# Copyright (C) 2022 by Compass Braille <http://www.compassbraille.org>
+# Copyright (C) 2022 by the DAISY Consortium <https://daisy.org/>
+#
+# With contributions from DAISY Consortium under project supported by Microsoft.
+#
+# This table was created using information contained in a document entitled
+# "Kenya Swahili Braille Code" (see <http://liblouis.org/braille-specs/swahili/>)
+# which was derived from the Kenya Institute of Curriculum Development's Swahili
+# Braille Manual: “Mwongozo wa Breli Ya Kiswahili”.
+#
+# The Braille code is graded into 6 grades: 1, 1.2, 1.3, 1.4, 1.5 and 2. This is
+# in line with the Kenya Institute of Curriculum Development’s Curriculum
+# Designs for Kiswahili Braille. 
+#
+# The Braille code in the document was adopted at a Stakeholders Workshop held
+# at the Swiss Lenana Mount Hotel on 25th August 2022.
+#
+
+include sw-ke-g1-5.ctb
+
+
+# Word Contractions
+# These contractions are created when the word is standing alone. The word can be
+# preceeded or followed by a punctuation. If the word contraction consists of
+# characters that can be contracted, the character contraction also applies. 
+
+word afadhali 1-124-2346 afdh
+word ahadi 1-125-145 ahd
+word alama 1-123-134 alm
+word amani 1-134 am
+word anwani 1-1345-2456 anw
+word asante 1-234 as
+word asubuhi 1-234-12 asb
+word baadaye 12-145-13456 bdy
+word badala 12-145-123 bdl
+word bahati 12-125-2345 bht
+word barabara 12-1235-12 brb
+word barua 12-1235 br
+word barua-pepe 12-1235-1234 brp
+word basi 12-234 bs
+word bila 12-123 bl
+word bonyeza 12-12456-1356 bnyz
+word bwana 12-2456 bw
+word chakula 16-13-123 chkl
+word cheti 16-2345 cht
+word chini 16-1345 chn
+word chora 16-1235 chr
+word chumba 16-1346 chmb
+word daftari 145-124-2345 dft
+word daima 145-134 dm
+word dakika 145-13 dk
+word daktari 145-13-2345 dkt
+word darasa 145-1235-234 drs
+word dawati 145-2456-2345 dwt
+word desturi 145-234-2345 dst
+word dijitali 145-245-2345 djt
+word dirisha 145-1235-146 drsh
+word dogo 145-1245 dg
+word dondoo 145-1246 dnd
+word ekari 15-13-1235 ekr
+word elektroniki 15-123-13-2345 elkt
+word elimu 15-123 el
+word eneo 15-1345 en
+word eropleni 15-1235-1234 erp
+word fafanua 124-124-1345 ffn
+word fahamu 124-125-134 fhm
+word faida 124-145 fd
+word fedha 124-2346 fdh
+word fimbo 124-1346 fmb
+word fulani 124-123-1345 fln
+word furaha 124-1235-125 frh
+word gani 1245-1345 gn
+word gari 1245-1235 gr
+word gazeti 1245-1356-2345 gzt
+word ghasia 126-234 ghs
+word ghafla 126-124-123 ghfl
+word gharama 126-1235-134 ghrm
+word hasa 125-234 hs
+word habari 125-12-1235 hbr
+word hadithi 125-145-1456 hdth
+word haja 125-245 hj
+word hakuna 125-13-1345 hkn
+word halafu 125-123-124 hlf
+word haraka 125-1235-13 hrk
+word harakati 125-1235-13-2345 hrkt
+word haramu 125-1235-134 hrm
+word hasara 125-234-1235 hsr
+word hatari 125-2345-1235 htr
+word hekima 125-13-134 hkm
+word hesabu 125-234-12 hsb
+word heshima 125-146-134 hshm
+word himiza 125-134-1356 hmz
+word hisabati 125-234-12-2345 hsbt
+word hospitali 125-234-1234-2345 hspt
+word hoteli 125-2345-123 htl
+word huru 125-1235 hr
+word ibuka 24-12-13 ibk
+word imara 24-134-1235 imr
+word ishara 24-146-1235 ishr
+word ingawa 24-346-2456 ingw
+word isipokuwa 24-234-1234-13 ispk
+word itifaki 24-2345-124-13 itfk
+word itikadi 24-2345-13-145 itkd
+word jumla 245-134-123 jml
+word jamhuri 245-134-125-1235 jmhr
+word jawabu 245-2456-12 jwb
+word jemedari 245-134-145-1235 jmdr
+word jeshi 245-146 jsh
+word jimbo 245-1346 jmb
+word jinsia 245-1345-234 jns
+word juhudi 245-125-145 jhd
+word jukumu 245-13-134 jkm
+word jumlisha 245-134-123-146 jmlsh
+word jumuia 245-134 jm
+word kazi 13-1356 kz
+word kabati 13-12-2345 kbt
+word kabisa 13-12-234 kbs
+word kama 13-134 km
+word kamati 13-134-2345 kmt
+word kanisa 13-1345-234 kns
+word karatasi 13-1235-2345-234 krts
+word karibu 13-1235-12 krb
+word kaskazini 13-234-13-1356 kskz
+word kati 13-2345 kt
+word katika 13-2345-13 ktk
+word kidato 13-145-2345 kdt
+word kijana 13-245-1345 kjn
+word kila 13-123 kl
+word kipakatalishi 13-1234-13-2345-146 kpktsh
+word kitabu 13-2345-12 ktb
+word kuliko 13-123-13 klk
+word kusini 13-234-1345 ksn
+word kwa\smfano 12345-134-124 qmf
+word kwamfano 12345-134-124 qmf - in case without space
+word labda 123-12-145 lbd
+word lahaja 123-125-245 lhj
+word lakini 123-13-1345 lkn
+word lawama 123-2456-134 lwm
+word lazima 123-1356-134 lzm
+word lingana 123-346-1345 lngn
+word linganisha 123-346-1345-146 lngnsh
+word lugha 123-126 lgh
+word mbali 1346-123 mbl
+word madhumuni 134-2346-134-1345 mdhmn
+word magharibi 134-126-12 mghb
+word mahali 134-125-123 mhl
+word maisha 134-146 msh
+word mara 134-1235 mr
+word mashariki 134-146-13 mshk
+word mbalimbali 1346-123-1346 mblmb
+word mfano 134-124 mf
+word mjadala 134-245-145-123 mjdl
+word moja 134-245 mj
+word mpira 134-1234-1235 mpr
+word msichana 134-234-16 msch
+word msikiti 134-234-13-2345 mskt
+word mtandao 134-2345-1246 mtnd
+word muhimu 134-125-134 mhm
+word nafasi 1345-124-234 nfs
+word namna 1345-134-1345 nmn
+word nini 1345-1345 nn
+word nukta 1345-13-2345 nkt
+word omba 135-1346 omb
+word okoa 135-13 ok
+word ogopa 135-1245-1234 ogp
+word ofisi 135-124-234 ofs
+word omboleza 135-1346-123-1356 omblz
+word pamoja 1234-134-245 pmj
+word pasipo 1234-234-1234 psp
+word peleleza 1234-123-1356 plz
+word pole 1234-123 pl
+word polepole 1234-123-1234 plp
+word refu 1235-124 rf
+word rafiki 1235-124-13 rfk
+word raha 1235-125 rh
+word ramani 1235-134-1345 rmn
+word raslimali 1235-234-123 rsl
+word ratiba 1235-2345-12 rtb
+word runinga 1235-1345-346 rnng
+word rununu 1235-1345-1345 rnn
+word sana 234-1345 sn
+word sababu 234-12-12 sbb
+word salamu 234-123-134 slm
+word samahani 234-134-125-1345 smhn
+word sambaza 234-134-12-1356 smbz
+word sasa 234-234 ss
+word sawa 234-2456 sw
+word sawasawa 234-2456-234 sws
+word sehemu 146-134 shm
+word serikali 234-1235-13-123 srkl
+word shabaha 146-12-125 shbh
+word shughuli 146-126-123 shghl
+word shukkrani 146-13-1235-1345 shkrn
+word siku 234-13 sk
+word simu 234-134 sm
+word taratibu 2345-1235-2345 trt
+word tafadhali 2345-124-2346 tfdh
+word tarakilishi 2345-1235-13-146 trksh
+word tarehe 2345-1235-125 trh
+word tayari 2345-13456-1235 tyr
+word teknolojia 2345-13-1345-245 tknj
+word tena 2345-1345 tn
+word thamani 1456-134-1345 thmn
+word tofauti 2345-124-2345 tft
+word tovuti 2345-1236-2345 tvt
+word ukurasa 136-13-1235 ukr
+word ujamaa 136-245-134 ujm
+word umoja 136-134-245 umj
+word upesi 136-1234-234 ups
+word utandawazi 136-2345-1345-145-1356 utndz
+word uhuru 136-125-1235 uhr
+word vijana 1236-245-1345 vjn
+word vema 1236-134 vm
+word vile 1236-123 vl
+word vilevile 1236-123-1236 vlv
+word virusi 1236-1235-234 vrs
+word vitabu 1236-2345-12 vtb
+word vizuri 1236-1356-1235 vzr
+word vuguvugu 1236-1245-1236 vgv
+word wasiwasi 2456-234-2456 wsw
+word wakati 2456-13-2345 wkt
+word wakili 2456-13-123 wkl
+word wala 2456-123 wl
+word walakini 2456-123-13-1345 wlkn
+word wimbo 2456-1346 wmb
+word yaliyomo 13456-123-134 ylm
+word yaani 13456-1345 yn
+word yamkini 13456-134-13 ymk
+word yule 13456-123 yl
+word yuleyule 13456-123-13456 yly
+word zima 1356-134 zm
+word zaidi 1356-145 zd
+word zamani 1356-134-1345 zmn
+word zawadi 1356-2456-145 zwd
+
+# Abbreviations that could be confused with word contractions.
+contraction yn # for name 'Yohani'
+
+# -- end of table --
diff --git a/tables/zh-tw.ctb b/tables/zh-tw.ctb
index bdaac48..b9ef806 100644
--- a/tables/zh-tw.ctb
+++ b/tables/zh-tw.ctb
@@ -1,4 +1,4 @@
-# Bopomofo-based Chinese Braille Table
+# Taiwanese bopomofo braille
 #
 #  Copyright (C) 2008-2017 Coscell Kao <coscell@gmail.com>
 #  Copyright (C) 2017-2022 nvda-tw <https://groups.io/g/nvda-tw>
@@ -19,12 +19,24 @@
 #  License along with liblouis. If not, see
 #  <http://www.gnu.org/licenses/>.
 
+#-name: Taiwan zhuyin
+#-index-name: Mandarin, Taiwan, bopomofo
+#-display-name: Taiwanese bopomofo braille
+
+#+language: cmn
+#+region: cmn-TW
+#+type: literary
+#+system: cmn-bopomofo
+#+direction: forward
+
 # Currently maintained by Sponge Jhan <school510587@yahoo.com.tw>
-# Version: 2022-08
+# Version: 2022-12
 #
-# This table mainly conforms to the rules listed in the
-# following Wikipedia page to braille Han characters:
-# <https://en.wikipedia.org/wiki/Taiwanese_Braille>
+# This table mainly conforms to the rules presented in the
+# following references:
+# The Wikipedia page <https://en.wikipedia.org/wiki/Taiwanese_Braille>
+# The official textbook <https://special.moe.gov.tw/bookInfo.php?guid=2FD8F4A0-DFBA-C84B-9E94-C1FAB30DA33D&paid=39&token=e5292f3f32c84020653eafb7b82c9bc8>
+#
 # However, characters from other languages and various
 # symbols may be supported to reach better readability
 # of modern documents.
@@ -3270,7 +3282,7 @@
 letter \x377F 135-126-4
 letter \x3780 1235-1246-3
 letter \x3781 246-5
-letter \x3782 124-1246-5
+letter \x3782 124-1246-4
 letter \x3783 13-16-2
 letter \x3784 1236-3
 letter \x3785 14-25-5
@@ -22604,7 +22616,7 @@
 letter \x8342 1235-35-3
 letter \x8343 245-45-2
 letter \x8344 13-2456-3
-letter \x8345 145-345-3
+letter \x8345 145-345-2
 letter \x8346 13-13456-3
 letter \x8347 15-13456-5
 letter \x8348 12-12456-4
@@ -31037,6 +31049,7 @@
 word \x5527 13-16-2
 begword \x5B50 125-156-4
 word \x5B50 125-156-4
+word \x5FAC 1234-1346-2
 word \x636E 13-1256-3
 word \x7947 245-16-2
 word \x830D 13-16-2
@@ -31048,6 +31061,7 @@
 #begin Han character rules
 noback correct ["\x6597"]"\x522B\x6C14" "\x9B25"
 noback correct _1"\x6597"["\x522B"]"\x6C14" "\x5F46"
+noback correct _2"\x7275\x4E00"["\x53D1"] "\x9AEE"
 noback correct _1"\x95F9"["\x522B"]"\x626D" "\x5F46"
 noback correct ["\x5EB5"]"\x853C" "\x83F4"
 noback correct _1"\x809D"["\x810F"] "\x81DF"
@@ -32774,9 +32788,9 @@
 noback correct "\x4EEA" "\x5100"
 noback correct "\x4EEC" "\x5011"
 noback correct "\x4EED" "\x4EDE"
-noback correct _1"\x7121"["\x4EF7"]"\x4E8B" "\x4EF7"
-noback correct _1"\x8D70"["\x4EF7"]"\x99B3\x66F8" "\x4EF7"
 noback correct _1"\x662D"["\x4EF7"] "\x4EF7"
+noback correct _1"\x8D70"["\x4EF7"]"\x99B3\x66F8" "\x4EF7"
+noback correct _1"\x7121"["\x4EF7"]"\x4E8B" "\x4EF7"
 noback correct "\x4EF7" "\x50F9"
 noback correct "\x4EFA" "\x5009"
 noback correct "\x4EFE" "\x4F4E"
@@ -32934,9 +32948,9 @@
 noback correct "\x51D6" "\x6E96"
 noback correct "\x51DB" "\x51DC"
 noback correct "\x51DF" "\x7006"
+noback correct _2"\x7A97\x660E"["\x51E0"]"\x6DE8" "\x51E0"
 noback correct _3"\x660E\x7A97\x6DE8"["\x51E0"] "\x51E0"
 noback correct _1"\x8336"["\x51E0"] "\x51E0"
-noback correct _2"\x7A97\x660E"["\x51E0"]"\x6DE8" "\x51E0"
 noback correct "\x51E0" "\x5E7E"
 noback correct "\x51E2" "\x51E1"
 noback correct "\x51E3" "\x51E1"
@@ -33057,7 +33071,7 @@
 noback correct "\x538B" "\x58D3"
 noback correct "\x538C" "\x53AD"
 noback correct "\x538D" "\x5399"
-noback correct "\x5390" "\x9F8E"
+noback correct "\x5390" "\x9F90"
 noback correct "\x5395" "\x5EC1"
 noback correct "\x539B" "\x5EF3"
 noback correct "\x53A0" "\x5EC1"
@@ -33083,6 +33097,7 @@
 noback correct "\x53CE" "\x6536"
 noback correct "\x53CF" "\x592C"
 noback correct "\x53D0" "\x72AE"
+noback correct "\x53D1" "\x767C"
 noback correct "\x53D8" "\x8B8A"
 noback correct "\x53D9" "\x6558"
 noback correct "\x53DC" "\x53DF"
@@ -33485,8 +33500,8 @@
 noback correct "\x5C32" "\x5C37"
 noback correct "\x5C34" "\x5C37"
 noback correct "\x5C36" "\x5C37"
-noback correct _1"\x96DE"["\x5C38"]"\x725B\x5F9E" "\x5C38"
 noback correct ["\x5C38"]"\x5B50" "\x5C38"
+noback correct _1"\x96DE"["\x5C38"]"\x725B\x5F9E" "\x5C38"
 noback correct "\x5C38" "\x5C4D"
 noback correct "\x5C3D" "\x76E1"
 noback correct "\x5C42" "\x5C64"
@@ -33515,6 +33530,7 @@
 noback correct ["\x5CAD"]"\x5DC6" "\x5CAD"
 noback correct "\x5CAD" "\x5DBA"
 noback correct "\x5CB4" "\x5D87"
+noback correct ["\x5CB9"]"\x5D7D" "\x5CB9"
 noback correct "\x5CB9" "\x5CA7"
 noback correct "\x5CBD" "\x5D2C"
 noback correct "\x5CBF" "\x5DCB"
@@ -33609,8 +33625,8 @@
 noback correct "\x5E77" "\x5E76"
 noback correct "\x5E7A" "\x4E48"
 noback correct _1"\x8349"["\x5E7F"]"\x7A81\x5982\x5CD9" "\x5E7F"
-noback correct _2"\x8606\x96EA"["\x5E7F"] "\x5E7F"
 noback correct _2"\x67B6\x5D16"["\x5E7F"] "\x5E7F"
+noback correct _2"\x8606\x96EA"["\x5E7F"] "\x5E7F"
 noback correct "\x5E7F" "\x5EE3"
 noback correct "\x5E81" "\x5EF3"
 noback correct "\x5E83" "\x5EE3"
@@ -34103,9 +34119,9 @@
 noback correct "\x680F" "\x6B04"
 noback correct "\x6810" "\x67E1"
 noback correct "\x6811" "\x6A39"
+noback correct _1"\x7F8A"["\x6816"]"\x83DC" "\x6816"
 noback correct ["\x6816"]"\x6816" "\x6816"
 noback correct _1"\x6816"["\x6816"] "\x6816"
-noback correct _1"\x7F8A"["\x6816"]"\x83DC" "\x6816"
 noback correct "\x6816" "\x68F2"
 noback correct "\x681E" "\x520A"
 noback correct "\x6822" "\x67CF"
@@ -34882,8 +34898,8 @@
 noback correct "\x79C6" "\x7A08"
 noback correct "\x79CA" "\x5E74"
 noback correct "\x79CC" "\x79CB"
-noback correct ["\x79CD"]"\x5E2B\x4E2D" "\x79CD"
 noback correct ["\x79CD"]"\x5E2B\x9053" "\x79CD"
+noback correct ["\x79CD"]"\x5E2B\x4E2D" "\x79CD"
 noback correct "\x79CD" "\x7A2E"
 noback correct "\x79D0" "\x8018"
 noback correct "\x79D4" "\x7CB3"
@@ -35661,11 +35677,11 @@
 noback correct "\x8885" "\x88CA"
 noback correct "\x8886" "\x8918"
 noback correct "\x8887" "\x88A1"
-noback correct ["\x889C"]"\x809A" "\x889C"
-noback correct ["\x889C"]"\x80F8" "\x889C"
-noback correct _1"\x5BF6"["\x889C"]"\x695A\x5BAE\x8170" "\x889C"
 noback correct ["\x889C"]"\x8179" "\x889C"
+noback correct ["\x889C"]"\x80F8" "\x889C"
 noback correct ["\x889C"]"\x984D" "\x889C"
+noback correct _1"\x5BF6"["\x889C"]"\x695A\x5BAE\x8170" "\x889C"
+noback correct ["\x889C"]"\x809A" "\x889C"
 noback correct "\x889C" "\x896A"
 noback correct "\x88A0" "\x889F"
 noback correct "\x88AD" "\x8972"
@@ -36567,7 +36583,6 @@
 noback correct "\x955F" "\x93C7"
 noback correct "\x9560" "\x93D0"
 noback correct "\x9561" "\x9414"
-noback correct "\x9562" "\x941D"
 noback correct "\x9563" "\x9410"
 noback correct "\x9564" "\x93F7"
 noback correct "\x9565" "\x9465"
@@ -37366,6 +37381,7 @@
 noback correct "\x9F8A" "\x9F6A"
 noback correct "\x9F8B" "\x9F72"
 noback correct "\x9F8C" "\x9F77"
+noback correct "\x9F8E" "\x9F90"
 noback correct "\x9F99" "\x9F8D"
 noback correct "\x9F9A" "\x9F94"
 noback correct "\x9F9B" "\x9F95"
@@ -37843,7 +37859,7 @@
 noback correct "\xFAD3" "\x4018"
 noback correct "\xFAD4" "\x4039"
 noback correct "\xFAD8" "\x9F43"
-noback correct "\xFAD9" "\x9F8E"
+noback correct "\xFAD9" "\x9F90"
 
 # \x4E00\x671D\x5929\x5B50\x4E00\x671D\x81E3 16-3-12-146-2-124-2345-3-125-156-4-16-3-12-146-2-12-136-2
 noback context _1"\x4E00"["\x671D"]"\x5929\x5B50\x4E00\x671D\x81E3" @12-146-2
@@ -38746,6 +38762,10 @@
 noback context ["\x5BB6"]"\x7D2F\x5343\x91D1" @13-23456-3
 noback context _1"\x5BB6"["\x7D2F"]"\x5343\x91D1" @14-356-4
 
+# \x5BB6\x9577\x88E1\x77ED 13-23456-3-12-1346-2-14-16-4-145-12456-4
+noback context ["\x5BB6"]"\x9577\x88E1\x77ED" @13-23456-3
+noback context _1"\x5BB6"["\x9577"]"\x88E1\x77ED" @12-1346-2
+
 # \x5BF8\x6709\x6240\x9577 245-123456-5-234-4-15-25-4-12-1346-2
 noback context _3"\x5BF8\x6709\x6240"["\x9577"] @12-1346-2
 
@@ -39586,6 +39606,9 @@
 noback context _1"\x767E"["\x4E86"]"\x5343\x7576" @14-246-4
 noback context _3"\x767E\x4E86\x5343"["\x7576"] @145-1346-5
 
+# \x767E\x767C\x767E\x4E2D 135-2456-4-12345-345-3-135-2456-4-1-12346-5
+noback context _3"\x767E\x767C\x767E"["\x4E2D"] @1-12346-5
+
 # \x7684\x7684\x78BA\x78BA 145-16-2-145-16-2-245-236-5-245-236-5
 noback context ["\x7684"]"\x7684\x78BA\x78BA" @145-16-2
 noback context _1"\x7684"["\x7684"]"\x78BA\x78BA" @145-16-2
@@ -40481,6 +40504,11 @@
 noback context ["\x4E0D"]"\x8457\x624B" @135-34-5
 noback context _1"\x4E0D"["\x8457"]"\x624B" @1-25-2
 
+# \x4E0D\x8457\x97CE 135-34-5-1-25-2-35-5
+noback context ["\x4E0D"]"\x8457\x97CE" @135-34-5
+noback context _1"\x4E0D"["\x8457"]"\x97CE" @1-25-2
+noback context _2"\x4E0D\x8457"["\x97CE"] @35-5
+
 # \x4E0D\x9577\x773C 135-34-5-1-1346-4-2345-4
 noback context ["\x4E0D"]"\x9577\x773C" @135-34-5
 noback context _1"\x4E0D"["\x9577"]"\x773C" @1-1346-4
@@ -40762,6 +40790,9 @@
 # \x516C\x7F8A\x50B3 13-12346-3-46-2-1-12456-5
 noback context _2"\x516C\x7F8A"["\x50B3"] @1-12456-5
 
+# \x516D\x90FD\x5BE8 14-234-5-145-34-3-1-2456-5
+noback context _1"\x516D"["\x90FD"]"\x5BE8" @145-34-3
+
 # \x5176\x5F9E\x5982 245-16-2-125-12346-5-1245-34-2
 noback context ["\x5176"]"\x5F9E\x5982" @245-16-2
 noback context _1"\x5176"["\x5F9E"]"\x5982" @125-12346-5
@@ -41875,6 +41906,12 @@
 noback context ["\x70AE"]"\x7F8A\x809A" @135-146-3
 noback context _2"\x70AE\x7F8A"["\x809A"] @145-34-4
 
+# \x70BA\x5229\x4F86 1246-5-14-16-5-14-2456-2
+noback context ["\x70BA"]"\x5229\x4F86" @1246-5
+
+# \x70BA\x5229\x5F80 1246-5-14-16-5-456-4
+noback context ["\x70BA"]"\x5229\x5F80" @1246-5
+
 # \x70BA\x541B\x958B 1246-5-13-256-3-123-2456-3
 noback context ["\x70BA"]"\x541B\x958B" @1246-5
 
@@ -42528,6 +42565,9 @@
 noback context ["\x90A3"]"\x6B21\x6F32" @1345-345-5
 noback context _2"\x90A3\x6B21"["\x6F32"] @12-1346-2
 
+# \x90FD\x638C\x883B 145-34-3-1-1346-4-134-1236-2
+noback context ["\x90FD"]"\x638C\x883B" @145-34-3
+
 # \x90FD\x6703\x5340 145-34-3-1235-1246-5-245-1256-3
 noback context ["\x90FD"]"\x6703\x5340" @145-34-3
 
@@ -42804,9 +42844,6 @@
 # \x371D\x5A40 2345-4-2346-3
 noback context ["\x371D"]"\x5A40" @2345-4
 
-# \x3787\x3782 1246-4-124-1246-4
-noback context _1"\x3787"["\x3782"] @124-1246-4
-
 # \x37CE\x3811 124-1246-4-125-1246-5
 noback context ["\x37CE"]"\x3811" @124-1246-4
 
@@ -44290,6 +44327,12 @@
 # \x5357\x5B50 1345-1236-2-125-156-4
 noback context _1"\x5357"["\x5B50"] @125-156-4
 
+# \x535F\x5429 135-34-4-12345-136-3
+noback context ["\x535F"]"\x5429" @135-34-4
+
+# \x535F\x55F5 1234-34-3-124-12346-3
+noback context ["\x535F"]"\x55F5" @1234-34-3
+
 # \x5360\x535C 1-1236-3-135-34-4
 noback context ["\x5360"]"\x535C" @1-1236-3
 
@@ -45110,6 +45153,9 @@
 # \x56B4\x5B50 2345-2-125-156-4
 noback context _1"\x56B4"["\x5B50"] @125-156-4
 
+# \x56C1\x543A 1345-346-5-1245-34-2
+noback context _1"\x56C1"["\x543A"] @1245-34-2
+
 # \x56C8\x6399 16-5-1-1356-3
 noback context _1"\x56C8"["\x6399"] @1-1356-3
 
@@ -45326,6 +45372,9 @@
 # \x58D3\x5377 23456-3-13-45-5
 noback context _1"\x58D3"["\x5377"] @13-45-5
 
+# \x58EB\x5B50 24-156-5-125-156-4
+noback context _1"\x58EB"["\x5B50"] @125-156-4
+
 # \x58EB\x87C6 24-156-5-134-345-2
 noback context _1"\x58EB"["\x87C6"] @134-345-2
 
@@ -45989,6 +46038,9 @@
 # \x5CAD\x5D64 14-13456-2-13456-2
 noback context _1"\x5CAD"["\x5D64"] @13456-2
 
+# \x5CB9\x5D7D 124-246-2-145-16-5
+noback context _1"\x5CB9"["\x5D7D"] @145-16-5
+
 # \x5CFD\x5D25 15-23456-2-135-16-4
 noback context _1"\x5CFD"["\x5D25"] @135-16-4
 
@@ -47542,6 +47594,9 @@
 noback context ["\x65FD"]"\x65FD" @1-123456-5
 noback context _1"\x65FD"["\x65FD"] @1-123456-5
 
+# \x660E\x5B50 134-13456-2-125-156-4
+noback context _1"\x660E"["\x5B50"] @125-156-4
+
 # \x660E\x9419 134-13456-2-145-1356-3
 noback context _1"\x660E"["\x9419"] @145-1356-3
 
@@ -48881,6 +48936,9 @@
 # \x70CF\x79C5 34-3-1345-345-2
 noback context _1"\x70CF"["\x79C5"] @1345-345-2
 
+# \x70CF\x84F2 34-3-245-234-3
+noback context _1"\x70CF"["\x84F2"] @245-234-3
+
 # \x70CF\x9EAE 34-3-245-1256-4
 noback context _1"\x70CF"["\x9EAE"] @245-1256-4
 
@@ -48958,6 +49016,9 @@
 # \x71C9\x714C 145-123456-3-1235-456-2
 noback context ["\x71C9"]"\x714C" @145-123456-3
 
+# \x71CE\x796D 14-246-5-13-16-5
+noback context ["\x71CE"]"\x796D" @14-246-5
+
 # \x71D5\x4E39 2345-3-145-1236-3
 noback context ["\x71D5"]"\x4E39" @2345-3
 
@@ -49009,6 +49070,9 @@
 # \x725B\x979E 1345-234-2-135-356-3
 noback context _1"\x725B"["\x979E"] @135-356-3
 
+# \x7262\x5B50 14-146-2-125-156-4
+noback context _1"\x7262"["\x5B50"] @125-156-4
+
 # \x7279\x8ABF 124-2346-5-124-246-2
 noback context _1"\x7279"["\x8ABF"] @124-246-2
 
@@ -49092,6 +49156,9 @@
 # \x7368\x8655 145-34-2-12-34-4
 noback context _1"\x7368"["\x8655"] @12-34-4
 
+# \x7384\x5B50 15-45-2-125-156-4
+noback context _1"\x7384"["\x5B50"] @125-156-4
+
 # \x7387\x5148 24-2356-5-15-2345-3
 noback context ["\x7387"]"\x5148" @24-2356-5
 
@@ -51019,6 +51086,9 @@
 # \x84EE\x5B50 14-2345-2-125-156-4
 noback context _1"\x84EE"["\x5B50"] @125-156-4
 
+# \x84F2\x842E 12345-34-3-1256-2
+noback context ["\x84F2"]"\x842E" @12345-34-3
+
 # \x84FC\x83AA 14-34-5-2346-2
 noback context ["\x84FC"]"\x83AA" @14-34-5
 
@@ -53157,6 +53227,9 @@
 # \x967D\x5B50 46-2-125-156-4
 noback context _1"\x967D"["\x5B50"] @125-156-4
 
+# \x967D\x84F2 46-2-15-1256-3
+noback context _1"\x967D"["\x84F2"] @15-1256-3
+
 # \x9683\x9E8B 1256-2-134-16-2
 noback context ["\x9683"]"\x9E8B" @1256-2
 
@@ -53680,6 +53753,10 @@
 # \x9F8D\x5B50 14-12346-2-125-156-4
 noback context _1"\x9F8D"["\x5B50"] @125-156-4
 
+# \x9F9C\x7386 245-234-3-245-156-2
+noback context ["\x9F9C"]"\x7386" @245-234-3
+noback context _1"\x9F9C"["\x7386"] @245-156-2
+
 # \x9F9C\x7B74 13-1246-3-245-2346-5
 noback context _1"\x9F9C"["\x7B74"] @245-2346-5
 
diff --git a/tables/zh_TW.tbl b/tables/zh_TW.tbl
deleted file mode 100644
index 86ed4eb..0000000
--- a/tables/zh_TW.tbl
+++ /dev/null
@@ -1,16 +0,0 @@
-#-index-name: Mandarin, Taiwan
-#-display-name: Taiwanese braille
-
-#+language:cmn
-#+region:cmn-TW
-#+type:literary
-# Marked as "direction:forward" by Bue Vester-Andersen
-# as there are only very few backward tests.
-#+direction:forward
-
-# TODO: Please add a reference to official documentation about
-# the implemented braille code. Preferably submit the documents
-# to https://github.com/liblouis/braille-specs.
-
-include zh-tw.ctb
-include braille-patterns.cti
diff --git a/tests/Makefile.am b/tests/Makefile.am
index e1f237e..2b0329f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -7,6 +7,10 @@
 	-I$(top_builddir)/gnulib		\
 	-I$(top_builddir)/tools
 
+if USE_COVERAGE
+AM_CPPFLAGS += -fprofile-instr-generate -fcoverage-mapping
+endif
+
 LDADD =							\
 	$(top_builddir)/liblouis/liblouis.la		\
 	$(top_builddir)/gnulib/libgnu.la		\
@@ -78,20 +82,25 @@
 	braille-specs/cop-eg.yaml			  \
 	braille-specs/cs_harness.yaml			  \
 	braille-specs/cs-comp8_harness.yaml		  \
+	braille-specs/da-dk-g08_1993.yaml			  \
 	braille-specs/da-dk-g08.yaml			  \
+	braille-specs/da-dk-g16_1993.yaml			  \
 	braille-specs/da-dk-g16.yaml			  \
-	braille-specs/da-dk-g16-dictionary_harness.yaml	  \
-	braille-specs/da-dk-g16-lit.yaml		  \
-	braille-specs/da-dk-g18-dictionary_harness.yaml	  \
+	braille-specs/da-dk-g16-lit_1993.yaml		  \
+	braille-specs/da-dk-g18_1993.yaml			  \
 	braille-specs/da-dk-g18.yaml			  \
+	braille-specs/da-dk-g26_1993.yaml			  \
 	braille-specs/da-dk-g26.yaml			  \
+	braille-specs/da-dk-g26-dictionary_harness_1993.yaml	  \
 	braille-specs/da-dk-g26-dictionary_harness.yaml	  \
-	braille-specs/da-dk-g26-lit.yaml		  \
-	braille-specs/da-dk-g26l.yaml			  \
-	braille-specs/da-dk-g26l-lit.yaml		  \
+	braille-specs/da-dk-g26-lit_1993.yaml		  \
+	braille-specs/da-dk-g26l_1993.yaml			  \
+	braille-specs/da-dk-g26l-lit_1993.yaml		  \
+	braille-specs/da-dk-g28-dictionary_harness_1993.yaml	  \
 	braille-specs/da-dk-g28-dictionary_harness.yaml	  \
+	braille-specs/da-dk-g28_1993.yaml			  \
 	braille-specs/da-dk-g28.yaml			  \
-	braille-specs/da-dk-g28l.yaml			  \
+	braille-specs/da-dk-g28l_1993.yaml			  \
 	braille-specs/de-comp6.yaml			  \
 	braille-specs/de-de-comp8.yaml 			  \
 	braille-specs/de-eurobrl6.yaml			  \
@@ -106,6 +115,7 @@
 	braille-specs/de-g2-sbs.yaml			  \
 	braille-specs/de-g2-detailed-specs.yaml		  \
 	braille-specs/de-g2-dictionary.yaml		  \
+	braille-specs/de-g2-blista-dictionary.yaml	  \
 	braille-specs/el-backward.yaml			  \
 	braille-specs/el-forward.yaml			  \
 	braille-specs/en-GB-g2.yaml			  \
@@ -166,6 +176,7 @@
 	braille-specs/hu-hu-g2-numbers.yaml		  \
 	braille-specs/iu-ca-g1_harness.yaml		  \
 	braille-specs/ja-kantenji.yaml			  \
+	braille-specs/ka.yaml				  \
 	braille-specs/kk.yaml				  \
 	braille-specs/kmr.yaml				  \
 	braille-specs/ko-2006-g2_harness.yaml		  \
@@ -186,6 +197,7 @@
 	braille-specs/no_g2_harness.yaml		  \
 	braille-specs/no_harness.yaml			  \
 	braille-specs/no_typeform_harness.yaml		  \
+	braille-specs/ny-mw.yaml			  \
 	braille-specs/pa.yaml				  \
 	braille-specs/pl-g1.yaml			  \
 	braille-specs/pl-pl-comp8_harness.yaml		  \
@@ -199,6 +211,8 @@
 	braille-specs/sr-g1_harness.yaml		  \
 	braille-specs/st-g2.yaml			  \
 	braille-specs/sv.yaml				  \
+	braille-specs/sw-ke-dictionary.yaml		  \
+	braille-specs/sw-ke.yaml			  \
 	braille-specs/ta-ta-g1_harness.yaml		  \
 	braille-specs/tt.yaml				  \
 	braille-specs/uk.yaml				  \
@@ -299,3 +313,14 @@
 	WINEPATH=$(top_builddir)/tools						\
 	WINE=$(WINE)								\
 	EXEEXT=$(EXEEXT)
+
+if USE_FUZZER
+fuzzing_fuzz_translate_SOURCES = fuzzing/fuzz_translate.c
+fuzzing_fuzz_translate_LDADD = $(top_builddir)/liblouis/liblouis.la
+fuzzing_fuzz_translate_CFLAGS = \
+	-fsanitize=address,fuzzer,undefined \
+	-fno-omit-frame-pointer \
+	$(AM_CPPFLAGS) 
+	-g -O2
+noinst_PROGRAMS = fuzzing/fuzz_translate
+endif
diff --git a/tests/braille-specs/Makefile.am b/tests/braille-specs/Makefile.am
index 79357e1..f603b1b 100644
--- a/tests/braille-specs/Makefile.am
+++ b/tests/braille-specs/Makefile.am
@@ -11,20 +11,25 @@
 	cop-eg.yaml				\
 	cs_harness.yaml				\
 	cs-comp8_harness.yaml			\
+	da-dk-g08_1993.yaml				\
 	da-dk-g08.yaml				\
+	da-dk-g16_1993.yaml				\
 	da-dk-g16.yaml				\
-	da-dk-g16-dictionary_harness.yaml	\
-	da-dk-g16-lit.yaml			\
-	da-dk-g18-dictionary_harness.yaml	\
+	da-dk-g16-lit_1993.yaml			\
+	da-dk-g18_1993.yaml				\
 	da-dk-g18.yaml				\
+	da-dk-g26_1993.yaml				\
 	da-dk-g26.yaml				\
+	da-dk-g26-dictionary_harness_1993.yaml	\
 	da-dk-g26-dictionary_harness.yaml	\
-	da-dk-g26-lit.yaml			\
-	da-dk-g26l.yaml				\
-	da-dk-g26l-lit.yaml			\
+	da-dk-g26-lit_1993.yaml			\
+	da-dk-g26l_1993.yaml				\
+	da-dk-g26l-lit_1993.yaml			\
+	da-dk-g28-dictionary_harness_1993.yaml	\
 	da-dk-g28-dictionary_harness.yaml	\
+	da-dk-g28_1993.yaml				\
 	da-dk-g28.yaml				\
-	da-dk-g28l.yaml				\
+	da-dk-g28l_1993.yaml				\
 	de-comp6.yaml				\
 	de-de-comp8.yaml			\
 	de-eurobrl6.yaml			\
@@ -38,6 +43,7 @@
 	de-g2.yaml				\
 	de-g2-detailed-specs.yaml		\
 	de-g2-dictionary.yaml			\
+	de-g2-blista-dictionary.yaml 		\
 	de-g2-sbs.yaml				\
 	el-backward.yaml			\
 	el-forward.yaml				\
@@ -100,6 +106,7 @@
 	hu-hu-g2-numbers.yaml			\
 	iu-ca-g1_harness.yaml			\
 	ja-kantenji.yaml			\
+	ka.yaml					\
 	kk.yaml					\
 	kmr.yaml				\
 	ko-2006-g2_harness.yaml			\
@@ -120,6 +127,7 @@
 	no_g2_harness.yaml			\
 	no_harness.yaml				\
 	no_typeform_harness.yaml		\
+	ny-mw.yaml				\
 	pa.yaml					\
 	pl-g1.yaml				\
 	pl-pl-comp8_harness.yaml		\
@@ -133,6 +141,8 @@
 	sr-g1_harness.yaml			\
 	st-g2.yaml				\
 	sv.yaml					\
+	sw-ke-dictionary.yaml			\
+	sw-ke.yaml				\
 	ta-ta-g1_harness.yaml			\
 	tt.yaml					\
 	uk.yaml					\
@@ -143,6 +153,7 @@
 	xh-g2.yaml				\
 	zh-chn.yaml				\
 	zh-tw.yaml				\
+	zh-tw-dictionary.yaml				\
 	zhcn-cbs.yaml				\
 	zhcn-g1.yaml				\
 	zhcn-g2.yaml
diff --git a/tests/braille-specs/da-dk-g08.yaml b/tests/braille-specs/da-dk-g08.yaml
index 9f501f5..a241dc2 100644
--- a/tests/braille-specs/da-dk-g08.yaml
+++ b/tests/braille-specs/da-dk-g08.yaml
@@ -3,6 +3,8 @@
   language: da
   grade: 0
   dots: 8
+  system: ddp
+  version: 2022
   __assert-match: da-dk-g08.ctb
 flags: {testmode: bothDirections}
 tests:
@@ -10,8 +12,8 @@
   - [' ', ' ']
   - ['"', '⠶']
 #
-  - ['$', '⣲']
-  - ['%', '⣚']
+  - ['$', '⣙']
+  - ['%', '⣠']
   - ['&', '⢯']
   - ['''', '⠈']
   - ['(', '⢦']
@@ -19,7 +21,7 @@
   - ['*', '⠔']
   - ['+', '⢖']
   - [',', '⠂']
-  - ['-', '⢤']
+  - ['-', '⠤']
   - ['.', '⠄']
   - ['/', '⢌']
   - ['0', '⢚']
@@ -38,7 +40,7 @@
   - ['=', '⢶']
   - ['>', '⡢']
   - ['?', '⠢']
-  - ['@', '⣈']
+  - ['@', '⣁']
   - ['A', '⡁']
   - ['B', '⡃']
   - ['C', '⡉']
@@ -100,18 +102,18 @@
   - ['{', '⣧']
   - ['|', '⢸']
   - ['}', '⣼']
-  - ['~', '⡨']
+  - ['~', '⣆']
   - ['€', '⣑']
   - ['‚', '⡘']
   - ['ƒ', '⢐']
-  - ['„', '⣆']
+  - ['„', '⡨']
   - ['…', '⠠']
-  - ['†', '⡖']
-  - ['‡', '⣖']
+  - ['†', '⠘']
+  - ['‡', '⠸']
   - ['ˆ', '⣰']
   - ['‰', '⣺']
-  - ['Š', '⣎']
-  - ['‹', '⠸']
+  - ['Š', '⠨']
+  - ['‹', '⣖']
   - ['Œ', '⣕']
   - ['Ž', '⡬']
   - ['‘', '⡈']
@@ -119,9 +121,9 @@
   - ['“', '⡆']
   - ['”', '⢰']
   - ['•', '⡄']
-  - ['–', '⠤']
+  - ['–', '⢤']
   - ['—', '⡤']
-  - ['˜', '⠨']
+  - ['˜', '⣎']
   - ['™', '⣞']
   - ['š', '⢎']
   - ['›', '⡸']
@@ -131,13 +133,13 @@
   - [' ', '⢞']
   - ['¡', '⠲']
   - ['¢', '⣒']
-  - ['£', '⢇']
+  - ['£', '⣇']
   - ['¤', '⡦']
-  - ['¥', '⡠']
+  - ['¥', '⣽']
   - ['¦', '⣌']
   - ['§', '⣐']
   - ['¨', '⠰']
-  - ['©', '⣭']
+  - ['©', '⣉']
   - ['ª', '⣮']
   - ['«', '⡐']
   - ['¬', '⡼']
@@ -145,10 +147,10 @@
   - ['®', '⣗']
   - ['¯', '⡶']
   - ['°', '⠴']
-  - ['±', '⢟']
+  - ['±', '⣋']
   - ['²', '⢆']
   - ['³', '⢒']
-  - ['´', '⢨']
+  - ['´', '⢘']
   - ['µ', '⠦']
   - ['¶', '⢿']
   - ['·', '⢄']
@@ -156,9 +158,9 @@
   - ['¹', '⢂']
   - ['º', '⣿']
   - ['»', '⡰']
-  - ['¼', '⢝']
-  - ['½', '⢘']
-  - ['¾', '⠼']
+  - ['¼', '⢥']
+  - ['½', '⢨']
+  - ['¾', '⢭']
   - ['À', '⡷']
   - ['Á', '⣷']
   - ['Â', '⣡']
@@ -175,20 +177,20 @@
   - ['Í', '⣣']
   - ['Î', '⡩']
   - ['Ï', '⡻']
-  - ['Ð', '⣽']
+  - ['Ð', '⡠']
   - ['Ñ', '⣻']
   - ['Ò', '⣫']
   - ['Ó', '⣬']
   - ['Ô', '⡹']
   - ['Õ', '⣹']
   - ['Ö', '⣪']
-  - ['×', '⢭']
+  - ['×', '⠼']
   - ['Ø', '⡪']
   - ['Ù', '⡾']
   - ['Ú', '⣳']
   - ['Û', '⡱']
   - ['Ü', '⡳']
-  - ['Ý', '⣍']
+  - ['Ý', '⣶']
   - ['Þ', '⣅']
   - ['ß', '⢮']
   - ['à', '⠷']
diff --git a/tests/braille-specs/da-dk-g08_1993.yaml b/tests/braille-specs/da-dk-g08_1993.yaml
new file mode 100644
index 0000000..e5d38cf
--- /dev/null
+++ b/tests/braille-specs/da-dk-g08_1993.yaml
@@ -0,0 +1,230 @@
+display: unicode-without-blank.dis
+table:
+  language: da
+  grade: 0
+  dots: 8
+  system: ddp
+  version: 1993
+  __assert-match: da-dk-g08_1993.ctb
+flags: {testmode: bothDirections}
+tests:
+# Test all characters from 0x21 to 0xff
+  - [' ', ' ']
+  - ['"', '⠶']
+#
+  - ['$', '⣲']
+  - ['%', '⣚']
+  - ['&', '⢯']
+  - ['''', '⠈']
+  - ['(', '⢦']
+  - [')', '⢴']
+  - ['*', '⠔']
+  - ['+', '⢖']
+  - [',', '⠂']
+  - ['-', '⢤']
+  - ['.', '⠄']
+  - ['/', '⢌']
+  - ['0', '⢚']
+  - ['1', '⢁']
+  - ['2', '⢃']
+  - ['3', '⢉']
+  - ['4', '⢙']
+  - ['5', '⢑']
+  - ['6', '⢋']
+  - ['7', '⢛']
+  - ['8', '⢓']
+  - ['9', '⢊']
+  - [':', '⠒']
+  - [';', '⠆']
+  - ['<', '⢔']
+  - ['=', '⢶']
+  - ['>', '⡢']
+  - ['?', '⠢']
+  - ['@', '⣈']
+  - ['A', '⡁']
+  - ['B', '⡃']
+  - ['C', '⡉']
+  - ['D', '⡙']
+  - ['E', '⡑']
+  - ['F', '⡋']
+  - ['G', '⡛']
+  - ['H', '⡓']
+  - ['I', '⡊']
+  - ['J', '⡚']
+  - ['K', '⡅']
+  - ['L', '⡇']
+  - ['M', '⡍']
+  - ['N', '⡝']
+  - ['O', '⡕']
+  - ['P', '⡏']
+  - ['Q', '⡟']
+  - ['R', '⡗']
+  - ['S', '⡎']
+  - ['T', '⡞']
+  - ['U', '⡥']
+  - ['V', '⡧']
+  - ['W', '⡺']
+  - ['X', '⡭']
+  - ['Y', '⡽']
+  - ['Z', '⡵']
+  - ['[', '⣦']
+  - ['\\', '⡌']
+  - [']', '⣴']
+  - ['^', '⢏']
+  - ['_', '⣤']
+  - ['`', '⠐']
+  - ['a', '⠁']
+  - ['b', '⠃']
+  - ['c', '⠉']
+  - ['d', '⠙']
+  - ['e', '⠑']
+  - ['f', '⠋']
+  - ['g', '⠛']
+  - ['h', '⠓']
+  - ['i', '⠊']
+  - ['j', '⠚']
+  - ['k', '⠅']
+  - ['l', '⠇']
+  - ['m', '⠍']
+  - ['n', '⠝']
+  - ['o', '⠕']
+  - ['p', '⠏']
+  - ['q', '⠟']
+  - ['r', '⠗']
+  - ['s', '⠎']
+  - ['t', '⠞']
+  - ['u', '⠥']
+  - ['v', '⠧']
+  - ['w', '⠺']
+  - ['x', '⠭']
+  - ['y', '⠽']
+  - ['z', '⠵']
+  - ['{', '⣧']
+  - ['|', '⢸']
+  - ['}', '⣼']
+  - ['~', '⡨']
+  - ['€', '⣑']
+  - ['‚', '⡘']
+  - ['ƒ', '⢐']
+  - ['„', '⣆']
+  - ['…', '⠠']
+  - ['†', '⡖']
+  - ['‡', '⣖']
+  - ['ˆ', '⣰']
+  - ['‰', '⣺']
+  - ['Š', '⣎']
+  - ['‹', '⠸']
+  - ['Œ', '⣕']
+  - ['Ž', '⡬']
+  - ['‘', '⡈']
+  - ['’', '⢈']
+  - ['“', '⡆']
+  - ['”', '⢰']
+  - ['•', '⡄']
+  - ['–', '⠤']
+  - ['—', '⡤']
+  - ['˜', '⠨']
+  - ['™', '⣞']
+  - ['š', '⢎']
+  - ['›', '⡸']
+  - ['œ', '⢕']
+  - ['ž', '⠬']
+  - ['Ÿ', '⣾']
+  - [' ', '⢞']
+  - ['¡', '⠲']
+  - ['¢', '⣒']
+  - ['£', '⢇']
+  - ['¤', '⡦']
+  - ['¥', '⡠']
+  - ['¦', '⣌']
+  - ['§', '⣐']
+  - ['¨', '⠰']
+  - ['©', '⣭']
+  - ['ª', '⣮']
+  - ['«', '⡐']
+  - ['¬', '⡼']
+  - ['­', '⣄']
+  - ['®', '⣗']
+  - ['¯', '⡶']
+  - ['°', '⠴']
+  - ['±', '⢟']
+  - ['²', '⢆']
+  - ['³', '⢒']
+  - ['´', '⢨']
+  - ['µ', '⠦']
+  - ['¶', '⢿']
+  - ['·', '⢄']
+  - ['¸', '⣨']
+  - ['¹', '⢂']
+  - ['º', '⣿']
+  - ['»', '⡰']
+  - ['¼', '⢝']
+  - ['½', '⢘']
+  - ['¾', '⠼']
+  - ['À', '⡷']
+  - ['Á', '⣷']
+  - ['Â', '⣡']
+  - ['Ã', '⣩']
+  - ['Ä', '⣜']
+  - ['Å', '⡡']
+  - ['Æ', '⡜']
+  - ['Ç', '⡯']
+  - ['È', '⡮']
+  - ['É', '⡿']
+  - ['Ê', '⡣']
+  - ['Ë', '⡫']
+  - ['Ì', '⣱']
+  - ['Í', '⣣']
+  - ['Î', '⡩']
+  - ['Ï', '⡻']
+  - ['Ð', '⣽']
+  - ['Ñ', '⣻']
+  - ['Ò', '⣫']
+  - ['Ó', '⣬']
+  - ['Ô', '⡹']
+  - ['Õ', '⣹']
+  - ['Ö', '⣪']
+  - ['×', '⢭']
+  - ['Ø', '⡪']
+  - ['Ù', '⡾']
+  - ['Ú', '⣳']
+  - ['Û', '⡱']
+  - ['Ü', '⡳']
+  - ['Ý', '⣍']
+  - ['Þ', '⣅']
+  - ['ß', '⢮']
+  - ['à', '⠷']
+  - ['á', '⢷']
+  - ['â', '⢡']
+  - ['ã', '⢩']
+  - ['ä', '⢜']
+  - ['å', '⠡']
+  - ['æ', '⠜']
+  - ['ç', '⠯']
+  - ['è', '⠮']
+  - ['é', '⠿']
+  - ['ê', '⠣']
+  - ['ë', '⠫']
+  - ['ì', '⢱']
+  - ['í', '⢣']
+  - ['î', '⠩']
+  - ['ï', '⠻']
+  - ['ð', '⢽']
+  - ['ñ', '⢻']
+  - ['ò', '⢫']
+  - ['ó', '⢬']
+  - ['ô', '⠹']
+  - ['õ', '⢹']
+  - ['ö', '⢪']
+  - ['÷', '⢲']
+  - ['ø', '⠪']
+  - ['ù', '⠾']
+  - ['ú', '⢳']
+  - ['û', '⠱']
+  - ['ü', '⠳']
+  - ['ý', '⢍']
+  - ['þ', '⢅']
+  - ['ÿ', '⢾']
+
+# Pangram
+  - ['Quizdeltagerne spiste jordbær med fløde, mens cirkusklovnen Walther spillede på xylofon.', '⡟⠥⠊⠵⠙⠑⠇⠞⠁⠛⠑⠗⠝⠑ ⠎⠏⠊⠎⠞⠑ ⠚⠕⠗⠙⠃⠜⠗ ⠍⠑⠙ ⠋⠇⠪⠙⠑⠂ ⠍⠑⠝⠎ ⠉⠊⠗⠅⠥⠎⠅⠇⠕⠧⠝⠑⠝ ⡺⠁⠇⠞⠓⠑⠗ ⠎⠏⠊⠇⠇⠑⠙⠑ ⠏⠡ ⠭⠽⠇⠕⠋⠕⠝⠄']
diff --git a/tests/braille-specs/da-dk-g16-dictionary_harness.yaml b/tests/braille-specs/da-dk-g16-dictionary_harness.yaml
deleted file mode 100644
index 6385d2d..0000000
--- a/tests/braille-specs/da-dk-g16-dictionary_harness.yaml
+++ /dev/null
@@ -1,237383 +0,0 @@
-display: unicode-without-blank.dis
-table:
-  language: da
-  grade: 1
-  dots: 6
-  direction: both
-  __assert-match: da-dk-g16.ctb
-tests:
-  - ['%', ⠚⠴]
-  - ['%-grænsen', ⠚⠴⠤⠛⠗⠜⠝⠎⠑⠝]
-  - ['%-maling', ⠚⠴⠤⠍⠁⠇⠊⠝⠛]
-  - ['%-satsen', ⠚⠴⠤⠎⠁⠞⠎⠑⠝]
-  - ['%-tallene', ⠚⠴⠤⠞⠁⠇⠇⠑⠝⠑]
-  - ['*+', ⠔⠘⠖]
-  - ['*-', ⠔⠤]
-  - ['*-område', ⠔⠤⠕⠍⠗⠡⠙⠑]
-  - [+, ⠘⠖]
-  - [++, ⠘⠖⠘⠖]
-  - [+++, ⠘⠖⠘⠖⠘⠖]
-  - ['-0', ⠤⠼⠚]
-  - ['-1', ⠤⠼⠁]
-  - ['-10', ⠤⠼⠁⠚]
-  - ['-11', ⠤⠼⠁⠁]
-  - ['-110', ⠤⠼⠁⠁⠚]
-  - ['-111', ⠤⠼⠁⠁⠁]
-  - ['-12', ⠤⠼⠁⠃]
-  - ['-13', ⠤⠼⠁⠉]
-  - ['-14', ⠤⠼⠁⠙]
-  - ['-15', ⠤⠼⠁⠑]
-  - [-157s, ⠤⠼⠁⠑⠛⠠⠎]
-  - ['-16', ⠤⠼⠁⠋]
-  - ['-17', ⠤⠼⠁⠛]
-  - ['-18', ⠤⠼⠁⠓]
-  - ['-180', ⠤⠼⠁⠓⠚]
-  - ['-19', ⠤⠼⠁⠊]
-  - ['-2', ⠤⠼⠃]
-  - ['-20', ⠤⠼⠃⠚]
-  - ['-200', ⠤⠼⠃⠚⠚]
-  - ['-21', ⠤⠼⠃⠁]
-  - ['-22', ⠤⠼⠃⠃]
-  - ['-220', ⠤⠼⠃⠃⠚]
-  - ['-23', ⠤⠼⠃⠉]
-  - ['-24', ⠤⠼⠃⠙]
-  - ['-25', ⠤⠼⠃⠑]
-  - ['-26', ⠤⠼⠃⠋]
-  - ['-27', ⠤⠼⠃⠛]
-  - ['-28', ⠤⠼⠃⠓]
-  - ['-29', ⠤⠼⠃⠊]
-  - ['-3', ⠤⠼⠉]
-  - ['-30', ⠤⠼⠉⠚]
-  - ['-31', ⠤⠼⠉⠁]
-  - ['-38', ⠤⠼⠉⠓]
-  - ['-4', ⠤⠼⠙]
-  - ['-40', ⠤⠼⠙⠚]
-  - ['-400', ⠤⠼⠙⠚⠚]
-  - ['-44', ⠤⠼⠙⠙]
-  - [-445s, ⠤⠼⠙⠙⠑⠠⠎]
-  - ['-45', ⠤⠼⠙⠑]
-  - ['-5', ⠤⠼⠑]
-  - ['-50', ⠤⠼⠑⠚]
-  - ['-55', ⠤⠼⠑⠑]
-  - ['-56', ⠤⠼⠑⠋]
-  - ['-6', ⠤⠼⠋]
-  - ['-63', ⠤⠼⠋⠉]
-  - ['-64', ⠤⠼⠋⠙]
-  - ['-65', ⠤⠼⠋⠑]
-  - ['-68', ⠤⠼⠋⠓]
-  - ['-7', ⠤⠼⠛]
-  - ['-70', ⠤⠼⠛⠚]
-  - [-70erne, ⠤⠼⠛⠚⠠⠑⠗⠝⠑]
-  - ['-78', ⠤⠼⠛⠓]
-  - ['-8', ⠤⠼⠓]
-  - ['-80', ⠤⠼⠓⠚]
-  - [-80erne, ⠤⠼⠓⠚⠠⠑⠗⠝⠑]
-  - ['-85', ⠤⠼⠓⠑]
-  - ['-86', ⠤⠼⠓⠋]
-  - ['-87', ⠤⠼⠓⠛]
-  - ['-88', ⠤⠼⠓⠓]
-  - ['-89', ⠤⠼⠓⠊]
-  - ['-9', ⠤⠼⠊]
-  - ['-90', ⠤⠼⠊⠚]
-  - ['-91', ⠤⠼⠊⠁]
-  - ['-92', ⠤⠼⠊⠃]
-  - [-adresse, ⠤⠁⠙⠗⠑⠎⠎⠑]
-  - [-aften, ⠤⠁⠋⠞⠑⠝]
-  - [-agtige, ⠤⠁⠛⠞⠊⠛⠑]
-  - [-aktionen, ⠤⠁⠅⠞⠊⠕⠝⠑⠝]
-  - [-aktioner, ⠤⠁⠅⠞⠊⠕⠝⠑⠗]
-  - [-album, ⠤⠁⠇⠃⠥⠍]
-  - [-albums, ⠤⠁⠇⠃⠥⠍⠎]
-  - [-all, ⠤⠁⠇⠇]
-  - [-alt, ⠤⠁⠇⠞]
-  - [-am, ⠤⠁⠍]
-  - [-analyse, ⠤⠁⠝⠁⠇⠽⠎⠑]
-  - [-antologi, ⠤⠁⠝⠞⠕⠇⠕⠛⠊]
-  - [-antologier, ⠤⠁⠝⠞⠕⠇⠕⠛⠊⠑⠗]
-  - [-arrangement, ⠤⠁⠗⠗⠁⠝⠛⠑⠍⠑⠝⠞]
-  - [-arrangementer, ⠤⠁⠗⠗⠁⠝⠛⠑⠍⠑⠝⠞⠑⠗]
-  - [-as, ⠤⠁⠎]
-  - [-aspektet, ⠤⠁⠎⠏⠑⠅⠞⠑⠞]
-  - [-attitude, ⠤⠁⠞⠞⠊⠞⠥⠙⠑]
-  - [-bam, ⠤⠃⠁⠍]
-  - [-baser, ⠤⠃⠁⠎⠑⠗]
-  - [-begrebet, ⠤⠃⠑⠛⠗⠑⠃⠑⠞]
-  - [-bents, ⠤⠃⠑⠝⠞⠎]
-  - [-bestilling, ⠤⠃⠑⠎⠞⠊⠇⠇⠊⠝⠛]
-  - [-besætningen, ⠤⠃⠑⠎⠜⠞⠝⠊⠝⠛⠑⠝]
-  - [-bh, ⠤⠃⠓]
-  - [-bil, ⠤⠃⠊⠇]
-  - [-biler, ⠤⠃⠊⠇⠑⠗]
-  - [-billeder, ⠤⠃⠊⠇⠇⠑⠙⠑⠗]
-  - [-billedet, ⠤⠃⠊⠇⠇⠑⠙⠑⠞]
-  - [-blade, ⠤⠃⠇⠁⠙⠑]
-  - [-bokserne, ⠤⠃⠕⠅⠎⠑⠗⠝⠑]
-  - [-bold, ⠤⠃⠕⠇⠙]
-  - [-breve, ⠤⠃⠗⠑⠧⠑]
-  - [-brit, ⠤⠃⠗⠊⠞]
-  - [-bukser, ⠤⠃⠥⠅⠎⠑⠗]
-  - [-busser, ⠤⠃⠥⠎⠎⠑⠗]
-  - [-butik, ⠤⠃⠥⠞⠊⠅]
-  - [-by, ⠤⠃⠽]
-  - [-bånd, ⠤⠃⠡⠝⠙]
-  - [-båndet, ⠤⠃⠡⠝⠙⠑⠞]
-  - [-bøger, ⠤⠃⠪⠛⠑⠗]
-  - [-bøgerne, ⠤⠃⠪⠛⠑⠗⠝⠑]
-  - [-bølge, ⠤⠃⠪⠇⠛⠑]
-  - [-computere, ⠤⠉⠕⠍⠏⠥⠞⠑⠗⠑]
-  - [-coo, ⠤⠉⠕⠕]
-  - [-cypriotisk, ⠤⠉⠽⠏⠗⠊⠕⠞⠊⠎⠅]
-  - [-cypriotiske, ⠤⠉⠽⠏⠗⠊⠕⠞⠊⠎⠅⠑]
-  - [-da, ⠤⠙⠁]
-  - [-dagen, ⠤⠙⠁⠛⠑⠝]
-  - [-damm, ⠤⠙⠁⠍⠍]
-  - [-de, ⠤⠙⠑]
-  - [-dec, ⠤⠙⠑⠉]
-  - [-del, ⠤⠙⠑⠇]
-  - [-den, ⠤⠙⠑⠝]
-  - [-der, ⠤⠙⠑⠗]
-  - [-designere, ⠤⠙⠑⠎⠊⠛⠝⠑⠗⠑]
-  - [-det, ⠤⠙⠑⠞]
-  - [-diktatur, ⠤⠙⠊⠅⠞⠁⠞⠥⠗]
-  - [-diktaturet, ⠤⠙⠊⠅⠞⠁⠞⠥⠗⠑⠞]
-  - [-dirigent, ⠤⠙⠊⠗⠊⠛⠑⠝⠞]
-  - [-drenge, ⠤⠙⠗⠑⠝⠛⠑]
-  - [-drift, ⠤⠙⠗⠊⠋⠞]
-  - [-du, ⠤⠙⠥]
-  - [-dynamo, ⠤⠙⠽⠝⠁⠍⠕]
-  - [-edward, ⠤⠑⠙⠺⠁⠗⠙]
-  - [-efter, ⠤⠑⠋⠞⠑⠗]
-  - [-ejere, ⠤⠑⠚⠑⠗⠑]
-  - [-eksperten, ⠤⠑⠅⠎⠏⠑⠗⠞⠑⠝]
-  - [-en, ⠤⠑⠝]
-  - [-ende, ⠤⠑⠝⠙⠑]
-  - [-er, ⠤⠑⠗]
-  - [-ere, ⠤⠑⠗⠑]
-  - [-esprit, ⠤⠑⠎⠏⠗⠊⠞]
-  - [-essens, ⠤⠑⠎⠎⠑⠝⠎]
-  - [-et, ⠤⠑⠞]
-  - [-europa, ⠤⠑⠥⠗⠕⠏⠁]
-  - [-feltet, ⠤⠋⠑⠇⠞⠑⠞]
-  - [-festival, ⠤⠋⠑⠎⠞⠊⠧⠁⠇]
-  - [-film, ⠤⠋⠊⠇⠍]
-  - [-filmen, ⠤⠋⠊⠇⠍⠑⠝]
-  - [-filmene, ⠤⠋⠊⠇⠍⠑⠝⠑]
-  - [-fly, ⠤⠋⠇⠽]
-  - [-folk, ⠤⠋⠕⠇⠅]
-  - [-fonde, ⠤⠋⠕⠝⠙⠑]
-  - [-fordi, ⠤⠋⠕⠗⠙⠊]
-  - [-forebyggelse, ⠤⠋⠕⠗⠑⠃⠽⠛⠛⠑⠇⠎⠑]
-  - [-foreninger, ⠤⠋⠕⠗⠑⠝⠊⠝⠛⠑⠗]
-  - [-forestilling, ⠤⠋⠕⠗⠑⠎⠞⠊⠇⠇⠊⠝⠛]
-  - [-forfattere, ⠤⠋⠕⠗⠋⠁⠞⠞⠑⠗⠑]
-  - [-forhandlere, ⠤⠋⠕⠗⠓⠁⠝⠙⠇⠑⠗⠑]
-  - [-form, ⠤⠋⠕⠗⠍]
-  - [-formede, ⠤⠋⠕⠗⠍⠑⠙⠑]
-  - [-forpligtelser, ⠤⠋⠕⠗⠏⠇⠊⠛⠞⠑⠇⠎⠑⠗]
-  - [-forslag, ⠤⠋⠕⠗⠎⠇⠁⠛]
-  - [-fortolker, ⠤⠋⠕⠗⠞⠕⠇⠅⠑⠗]
-  - [-fr, ⠤⠋⠗]
-  - [-fra, ⠤⠋⠗⠁]
-  - [-fradrag, ⠤⠋⠗⠁⠙⠗⠁⠛]
-  - [-fradraget, ⠤⠋⠗⠁⠙⠗⠁⠛⠑⠞]
-  - [-frakker, ⠤⠋⠗⠁⠅⠅⠑⠗]
-  - [-fre, ⠤⠋⠗⠑]
-  - [-fred, ⠤⠋⠗⠑⠙]
-  - [-frihed, ⠤⠋⠗⠊⠓⠑⠙]
-  - [-funktioner, ⠤⠋⠥⠝⠅⠞⠊⠕⠝⠑⠗]
-  - [-fædre, ⠤⠋⠜⠙⠗⠑]
-  - [-fødder, ⠤⠋⠪⠙⠙⠑⠗]
-  - [-født, ⠤⠋⠪⠙⠞]
-  - [-fødte, ⠤⠋⠪⠙⠞⠑]
-  - [-gruppen, ⠤⠛⠗⠥⠏⠏⠑⠝]
-  - [-guldvinder, ⠤⠛⠥⠇⠙⠧⠊⠝⠙⠑⠗]
-  - [-gæld, ⠤⠛⠜⠇⠙]
-  - [-hallen, ⠤⠓⠁⠇⠇⠑⠝]
-  - [-handel, ⠤⠓⠁⠝⠙⠑⠇]
-  - [-helt, ⠤⠓⠑⠇⠞]
-  - [-historie, ⠤⠓⠊⠎⠞⠕⠗⠊⠑]
-  - [-historier, ⠤⠓⠊⠎⠞⠕⠗⠊⠑⠗]
-  - [-hjælp, ⠤⠓⠚⠜⠇⠏]
-  - [-hold, ⠤⠓⠕⠇⠙]
-  - [-holdet, ⠤⠓⠕⠇⠙⠑⠞]
-  - [-holdets, ⠤⠓⠕⠇⠙⠑⠞⠎]
-  - [-holdning, ⠤⠓⠕⠇⠙⠝⠊⠝⠛]
-  - [-hun, ⠤⠓⠥⠝]
-  - [-hvad, ⠤⠓⠧⠁⠙]
-  - [-hvilket, ⠤⠓⠧⠊⠇⠅⠑⠞]
-  - [-hvis, ⠤⠓⠧⠊⠎]
-  - [-hvor, ⠤⠓⠧⠕⠗]
-  - [-hvordan, ⠤⠓⠧⠕⠗⠙⠁⠝]
-  - [-hvorfor, ⠤⠓⠧⠕⠗⠋⠕⠗]
-  - [-i, ⠤⠊]
-  - [-idrætten, ⠤⠊⠙⠗⠜⠞⠞⠑⠝]
-  - [-ikke, ⠤⠊⠅⠅⠑]
-  - [-importører, ⠤⠊⠍⠏⠕⠗⠞⠪⠗⠑⠗]
-  - [-inden, ⠤⠊⠝⠙⠑⠝]
-  - [-indkøb, ⠤⠊⠝⠙⠅⠪⠃]
-  - [-indtægter, ⠤⠊⠝⠙⠞⠜⠛⠞⠑⠗]
-  - [-institution, ⠤⠊⠝⠎⠞⠊⠞⠥⠞⠊⠕⠝]
-  - [-interesserede, ⠤⠊⠝⠞⠑⠗⠑⠎⠎⠑⠗⠑⠙⠑]
-  - [-isme, ⠤⠊⠎⠍⠑]
-  - [-ismer, ⠤⠊⠎⠍⠑⠗]
-  - [-ja, ⠤⠚⠁]
-  - [-jakke, ⠤⠚⠁⠅⠅⠑]
-  - [-jamen, ⠤⠚⠁⠍⠑⠝]
-  - [-jap, ⠤⠚⠁⠏]
-  - [-jeg, ⠤⠚⠑⠛]
-  - [-jo, ⠤⠚⠕]
-  - [-journalist, ⠤⠚⠕⠥⠗⠝⠁⠇⠊⠎⠞]
-  - [-juni, ⠤⠚⠥⠝⠊]
-  - [-junta, ⠤⠚⠥⠝⠞⠁]
-  - [-kalundborg, ⠤⠅⠁⠇⠥⠝⠙⠃⠕⠗⠛]
-  - [-kamera, ⠤⠅⠁⠍⠑⠗⠁]
-  - [-kamp, ⠤⠅⠁⠍⠏]
-  - [-kampen, ⠤⠅⠁⠍⠏⠑⠝]
-  - [-kaptajnen, ⠤⠅⠁⠏⠞⠁⠚⠝⠑⠝]
-  - [-kat, ⠤⠅⠁⠞]
-  - [-katastrofen, ⠤⠅⠁⠞⠁⠎⠞⠗⠕⠋⠑⠝]
-  - [-kem, ⠤⠅⠑⠍]
-  - [-kild, ⠤⠅⠊⠇⠙]
-  - [-kin, ⠤⠅⠊⠝]
-  - [-klasse, ⠤⠅⠇⠁⠎⠎⠑]
-  - [-klassen, ⠤⠅⠇⠁⠎⠎⠑⠝]
-  - [-klasser, ⠤⠅⠇⠁⠎⠎⠑⠗]
-  - [-klausulen, ⠤⠅⠇⠁⠥⠎⠥⠇⠑⠝]
-  - [-kommer, ⠤⠅⠕⠍⠍⠑⠗]
-  - [-koncernen, ⠤⠅⠕⠝⠉⠑⠗⠝⠑⠝]
-  - [-koncert, ⠤⠅⠕⠝⠉⠑⠗⠞]
-  - [-koncerter, ⠤⠅⠕⠝⠉⠑⠗⠞⠑⠗]
-  - [-koner, ⠤⠅⠕⠝⠑⠗]
-  - [-kontoen, ⠤⠅⠕⠝⠞⠕⠑⠝]
-  - [-kort, ⠤⠅⠕⠗⠞]
-  - [-kr, ⠤⠅⠗]
-  - [-kranse, ⠤⠅⠗⠁⠝⠎⠑]
-  - [-kultur, ⠤⠅⠥⠇⠞⠥⠗]
-  - [-kunne, ⠤⠅⠥⠝⠝⠑]
-  - [-kup, ⠤⠅⠥⠏]
-  - [-kuppet, ⠤⠅⠥⠏⠏⠑⠞]
-  - [-kursus, ⠤⠅⠥⠗⠎⠥⠎]
-  - [-kvinde, ⠤⠅⠧⠊⠝⠙⠑]
-  - [-kvinden, ⠤⠅⠧⠊⠝⠙⠑⠝]
-  - [-kvinder, ⠤⠅⠧⠊⠝⠙⠑⠗]
-  - [-kvinders, ⠤⠅⠧⠊⠝⠙⠑⠗⠎]
-  - [-laboratorier, ⠤⠇⠁⠃⠕⠗⠁⠞⠕⠗⠊⠑⠗]
-  - [-land, ⠤⠇⠁⠝⠙]
-  - [-langt, ⠤⠇⠁⠝⠛⠞]
-  - [-leder, ⠤⠇⠑⠙⠑⠗]
-  - [-ledere, ⠤⠇⠑⠙⠑⠗⠑]
-  - [-lederen, ⠤⠇⠑⠙⠑⠗⠑⠝]
-  - [-legatet, ⠤⠇⠑⠛⠁⠞⠑⠞]
-  - [-lig, ⠤⠇⠊⠛]
-  - [-ligesom, ⠤⠇⠊⠛⠑⠎⠕⠍]
-  - [-lignende, ⠤⠇⠊⠛⠝⠑⠝⠙⠑]
-  - [-liste, ⠤⠇⠊⠎⠞⠑]
-  - [-lossepladser, ⠤⠇⠕⠎⠎⠑⠏⠇⠁⠙⠎⠑⠗]
-  - [-læser, ⠤⠇⠜⠎⠑⠗]
-  - [-læsere, ⠤⠇⠜⠎⠑⠗⠑]
-  - [-lørdag, ⠤⠇⠪⠗⠙⠁⠛]
-  - [-manchester, ⠤⠍⠁⠝⠉⠓⠑⠎⠞⠑⠗]
-  - [-mand, ⠤⠍⠁⠝⠙]
-  - [-marts, ⠤⠍⠁⠗⠞⠎]
-  - [-maskiner, ⠤⠍⠁⠎⠅⠊⠝⠑⠗]
-  - [-materiale, ⠤⠍⠁⠞⠑⠗⠊⠁⠇⠑]
-  - [-med, ⠤⠍⠑⠙]
-  - [-medlemmer, ⠤⠍⠑⠙⠇⠑⠍⠍⠑⠗]
-  - [-men, ⠤⠍⠑⠝]
-  - [-menneske, ⠤⠍⠑⠝⠝⠑⠎⠅⠑]
-  - [-metoden, ⠤⠍⠑⠞⠕⠙⠑⠝]
-  - [-metoder, ⠤⠍⠑⠞⠕⠙⠑⠗]
-  - [-mode, ⠤⠍⠕⠙⠑]
-  - [-mor, ⠤⠍⠕⠗]
-  - [-museet, ⠤⠍⠥⠎⠑⠑⠞]
-  - [-måling, ⠤⠍⠡⠇⠊⠝⠛]
-  - [-mændene, ⠤⠍⠜⠝⠙⠑⠝⠑]
-  - [-mærke, ⠤⠍⠜⠗⠅⠑]
-  - [-mærker, ⠤⠍⠜⠗⠅⠑⠗]
-  - [-mærkerne, ⠤⠍⠜⠗⠅⠑⠗⠝⠑]
-  - [-mærket, ⠤⠍⠜⠗⠅⠑⠞]
-  - [-møde, ⠤⠍⠪⠙⠑]
-  - [-mødre, ⠤⠍⠪⠙⠗⠑]
-  - [-mønster, ⠤⠍⠪⠝⠎⠞⠑⠗]
-  - [-mønter, ⠤⠍⠪⠝⠞⠑⠗]
-  - [-neb, ⠤⠝⠑⠃]
-  - [-nej, ⠤⠝⠑⠚]
-  - [-nh2, ⠤⠝⠓⠼⠃]
-  - [-niveau, ⠤⠝⠊⠧⠑⠁⠥]
-  - [-no, ⠤⠝⠕]
-  - [-nogle, ⠤⠝⠕⠛⠇⠑]
-  - [-nov, ⠤⠝⠕⠧]
-  - [-nu, ⠤⠝⠥]
-  - [-nummer, ⠤⠝⠥⠍⠍⠑⠗]
-  - [-nummeret, ⠤⠝⠥⠍⠍⠑⠗⠑⠞]
-  - [-ny, ⠤⠝⠽]
-  - [-nyrer, ⠤⠝⠽⠗⠑⠗]
-  - [-når, ⠤⠝⠡⠗]
-  - [-også, ⠤⠕⠛⠎⠡]
-  - [-oh, ⠤⠕⠓]
-  - [-okt, ⠤⠕⠅⠞]
-  - [-om, ⠤⠕⠍]
-  - [-område, ⠤⠕⠍⠗⠡⠙⠑]
-  - [-oorr-, ⠤⠕⠕⠗⠗⠤]
-  - [-operationer, ⠤⠕⠏⠑⠗⠁⠞⠊⠕⠝⠑⠗]
-  - [-opfattelse, ⠤⠕⠏⠋⠁⠞⠞⠑⠇⠎⠑]
-  - [-opfattelsen, ⠤⠕⠏⠋⠁⠞⠞⠑⠇⠎⠑⠝]
-  - [-opførelse, ⠤⠕⠏⠋⠪⠗⠑⠇⠎⠑]
-  - [-ordning, ⠤⠕⠗⠙⠝⠊⠝⠛]
-  - [-overleveringen, ⠤⠕⠧⠑⠗⠇⠑⠧⠑⠗⠊⠝⠛⠑⠝]
-  - [-oxid, ⠤⠕⠭⠊⠙]
-  - [-pakker, ⠤⠏⠁⠅⠅⠑⠗]
-  - [-pe, ⠤⠏⠑]
-  - [-piller, ⠤⠏⠊⠇⠇⠑⠗]
-  - [-plade, ⠤⠏⠇⠁⠙⠑]
-  - [-pladen, ⠤⠏⠇⠁⠙⠑⠝]
-  - [-plads, ⠤⠏⠇⠁⠙⠎]
-  - [-pladsen, ⠤⠏⠇⠁⠙⠎⠑⠝]
-  - [-pladserne, ⠤⠏⠇⠁⠙⠎⠑⠗⠝⠑]
-  - [-plakat, ⠤⠏⠇⠁⠅⠁⠞]
-  - [-pol, ⠤⠏⠕⠇]
-  - [-politik, ⠤⠏⠕⠇⠊⠞⠊⠅]
-  - [-princip, ⠤⠏⠗⠊⠝⠉⠊⠏]
-  - [-princippet, ⠤⠏⠗⠊⠝⠉⠊⠏⠏⠑⠞]
-  - [-prisen, ⠤⠏⠗⠊⠎⠑⠝]
-  - [-priser, ⠤⠏⠗⠊⠎⠑⠗]
-  - [-proces, ⠤⠏⠗⠕⠉⠑⠎]
-  - [-processen, ⠤⠏⠗⠕⠉⠑⠎⠎⠑⠝]
-  - [-producenten, ⠤⠏⠗⠕⠙⠥⠉⠑⠝⠞⠑⠝]
-  - [-produkt, ⠤⠏⠗⠕⠙⠥⠅⠞]
-  - [-produkter, ⠤⠏⠗⠕⠙⠥⠅⠞⠑⠗]
-  - [-program, ⠤⠏⠗⠕⠛⠗⠁⠍]
-  - [-programmerne, ⠤⠏⠗⠕⠛⠗⠁⠍⠍⠑⠗⠝⠑]
-  - [-projekt, ⠤⠏⠗⠕⠚⠑⠅⠞]
-  - [-projektet, ⠤⠏⠗⠕⠚⠑⠅⠞⠑⠞]
-  - [-punkterne, ⠤⠏⠥⠝⠅⠞⠑⠗⠝⠑]
-  - [-pædagog, ⠤⠏⠜⠙⠁⠛⠕⠛]
-  - [-re, ⠤⠗⠑]
-  - [-redaktør, ⠤⠗⠑⠙⠁⠅⠞⠪⠗]
-  - [-regimer, ⠤⠗⠑⠛⠊⠍⠑⠗]
-  - [-reglen, ⠤⠗⠑⠛⠇⠑⠝]
-  - [-reklamerne, ⠤⠗⠑⠅⠇⠁⠍⠑⠗⠝⠑]
-  - [-ret, ⠤⠗⠑⠞]
-  - [-revyen, ⠤⠗⠑⠧⠽⠑⠝]
-  - [-risiko, ⠤⠗⠊⠎⠊⠅⠕]
-  - [-roer, ⠤⠗⠕⠑⠗]
-  - [-rom, ⠤⠗⠕⠍]
-  - [-rubrikken, ⠤⠗⠥⠃⠗⠊⠅⠅⠑⠝]
-  - [-saft, ⠤⠎⠁⠋⠞]
-  - [-sag, ⠤⠎⠁⠛]
-  - [-sagen, ⠤⠎⠁⠛⠑⠝]
-  - [-salat, ⠤⠎⠁⠇⠁⠞]
-  - [-samarbejde, ⠤⠎⠁⠍⠁⠗⠃⠑⠚⠙⠑]
-  - [-san, ⠤⠎⠁⠝]
-  - [-sangen, ⠤⠎⠁⠝⠛⠑⠝]
-  - [-scener, ⠤⠎⠉⠑⠝⠑⠗]
-  - [-science, ⠤⠎⠉⠊⠑⠝⠉⠑]
-  - [-seddel, ⠤⠎⠑⠙⠙⠑⠇]
-  - [-sedler, ⠤⠎⠑⠙⠇⠑⠗]
-  - [-selskabets, ⠤⠎⠑⠇⠎⠅⠁⠃⠑⠞⠎]
-  - [-selv-bord, ⠤⠎⠑⠇⠧⠤⠃⠕⠗⠙]
-  - [-serie, ⠤⠎⠑⠗⠊⠑]
-  - [-serien, ⠤⠎⠑⠗⠊⠑⠝]
-  - [-singlen, ⠤⠎⠊⠝⠛⠇⠑⠝]
-  - [-situation, ⠤⠎⠊⠞⠥⠁⠞⠊⠕⠝]
-  - [-skal, ⠤⠎⠅⠁⠇]
-  - [-skat, ⠤⠎⠅⠁⠞]
-  - [-skatten, ⠤⠎⠅⠁⠞⠞⠑⠝]
-  - [-skilt, ⠤⠎⠅⠊⠇⠞]
-  - [-skilte, ⠤⠎⠅⠊⠇⠞⠑]
-  - [-skiltene, ⠤⠎⠅⠊⠇⠞⠑⠝⠑]
-  - [-skiltet, ⠤⠎⠅⠊⠇⠞⠑⠞]
-  - [-skolen, ⠤⠎⠅⠕⠇⠑⠝]
-  - [-skoler, ⠤⠎⠅⠕⠇⠑⠗]
-  - [-sludder, ⠤⠎⠇⠥⠙⠙⠑⠗]
-  - [-sovj, ⠤⠎⠕⠧⠚]
-  - [-spejle, ⠤⠎⠏⠑⠚⠇⠑]
-  - [-spil, ⠤⠎⠏⠊⠇]
-  - [-sprogede, ⠤⠎⠏⠗⠕⠛⠑⠙⠑]
-  - [-sproget, ⠤⠎⠏⠗⠕⠛⠑⠞]
-  - [-standard, ⠤⠎⠞⠁⠝⠙⠁⠗⠙]
-  - [-sted, ⠤⠎⠞⠑⠙]
-  - [-stemme, ⠤⠎⠞⠑⠍⠍⠑]
-  - [-stemning, ⠤⠎⠞⠑⠍⠝⠊⠝⠛]
-  - [-stil, ⠤⠎⠞⠊⠇]
-  - [-stilen, ⠤⠎⠞⠊⠇⠑⠝]
-  - [-stjerner, ⠤⠎⠞⠚⠑⠗⠝⠑⠗]
-  - [-struktur, ⠤⠎⠞⠗⠥⠅⠞⠥⠗]
-  - [-strukturer, ⠤⠎⠞⠗⠥⠅⠞⠥⠗⠑⠗]
-  - [-studerende, ⠤⠎⠞⠥⠙⠑⠗⠑⠝⠙⠑]
-  - [-studierne, ⠤⠎⠞⠥⠙⠊⠑⠗⠝⠑]
-  - [-studiet, ⠤⠎⠞⠥⠙⠊⠑⠞]
-  - [-studium, ⠤⠎⠞⠥⠙⠊⠥⠍]
-  - [-styre, ⠤⠎⠞⠽⠗⠑]
-  - [-styrede, ⠤⠎⠞⠽⠗⠑⠙⠑]
-  - [-styret, ⠤⠎⠞⠽⠗⠑⠞]
-  - [-styrke, ⠤⠎⠞⠽⠗⠅⠑]
-  - [-stævner, ⠤⠎⠞⠜⠧⠝⠑⠗]
-  - [-stævnerne, ⠤⠎⠞⠜⠧⠝⠑⠗⠝⠑]
-  - [-sv, ⠤⠎⠧]
-  - [-svar, ⠤⠎⠧⠁⠗]
-  - [-symfonien, ⠤⠎⠽⠍⠋⠕⠝⠊⠑⠝]
-  - [-syndromet, ⠤⠎⠽⠝⠙⠗⠕⠍⠑⠞]
-  - [-systemet, ⠤⠎⠽⠎⠞⠑⠍⠑⠞]
-  - [-så, ⠤⠎⠡]
-  - [-sølv, ⠤⠎⠪⠇⠧]
-  - [-søndag, ⠤⠎⠪⠝⠙⠁⠛]
-  - [-sør, ⠤⠎⠪⠗]
-  - [-ta, ⠤⠞⠁]
-  - [-tal, ⠤⠞⠁⠇]
-  - [-talende, ⠤⠞⠁⠇⠑⠝⠙⠑]
-  - [-tekn, ⠤⠞⠑⠅⠝]
-  - [-tel, ⠤⠞⠑⠇]
-  - [-teoretiske, ⠤⠞⠑⠕⠗⠑⠞⠊⠎⠅⠑]
-  - [-tid, ⠤⠞⠊⠙]
-  - [-tiden, ⠤⠞⠊⠙⠑⠝]
-  - [-tilbehør, ⠤⠞⠊⠇⠃⠑⠓⠪⠗]
-  - [-tilbud, ⠤⠞⠊⠇⠃⠥⠙]
-  - [-tingene, ⠤⠞⠊⠝⠛⠑⠝⠑]
-  - [-titlen, ⠤⠞⠊⠞⠇⠑⠝]
-  - [-tjeneste, ⠤⠞⠚⠑⠝⠑⠎⠞⠑]
-  - [-tl, ⠤⠞⠇]
-  - [-tog, ⠤⠞⠕⠛]
-  - [-ton, ⠤⠞⠕⠝]
-  - [-tral-la-la, ⠤⠞⠗⠁⠇⠤⠇⠁⠤⠇⠁]
-  - [-tv, ⠤⠞⠧]
-  - [-ty, ⠤⠞⠽]
-  - [-type, ⠤⠞⠽⠏⠑]
-  - [-tyrk, ⠤⠞⠽⠗⠅]
-  - [-uc-, ⠤⠥⠉⠤]
-  - [-ud, ⠤⠥⠙]
-  - [-uddannelse, ⠤⠥⠙⠙⠁⠝⠝⠑⠇⠎⠑]
-  - [-uddannelsen, ⠤⠥⠙⠙⠁⠝⠝⠑⠇⠎⠑⠝]
-  - [-uddannelser, ⠤⠥⠙⠙⠁⠝⠝⠑⠇⠎⠑⠗]
-  - [-uddannet, ⠤⠥⠙⠙⠁⠝⠝⠑⠞]
-  - [-udgaver, ⠤⠥⠙⠛⠁⠧⠑⠗]
-  - [-udgifter, ⠤⠥⠙⠛⠊⠋⠞⠑⠗]
-  - [-udgivelsesår, ⠤⠥⠙⠛⠊⠧⠑⠇⠎⠑⠎⠡⠗]
-  - [-udover, ⠤⠥⠙⠕⠧⠑⠗]
-  - [-udsendelser, ⠤⠥⠙⠎⠑⠝⠙⠑⠇⠎⠑⠗]
-  - [-udsendelserne, ⠤⠥⠙⠎⠑⠝⠙⠑⠇⠎⠑⠗⠝⠑]
-  - [-udstilling, ⠤⠥⠙⠎⠞⠊⠇⠇⠊⠝⠛]
-  - [-udstillingen, ⠤⠥⠙⠎⠞⠊⠇⠇⠊⠝⠛⠑⠝]
-  - [-udstyr, ⠤⠥⠙⠎⠞⠽⠗]
-  - [-uheld, ⠤⠥⠓⠑⠇⠙]
-  - [-ung, ⠤⠥⠝⠛]
-  - [-uniformer, ⠤⠥⠝⠊⠋⠕⠗⠍⠑⠗]
-  - [-us, ⠤⠥⠎]
-  - [-vi, ⠤⠧⠊]
-  - [-vid, ⠤⠧⠊⠙]
-  - [-viden, ⠤⠧⠊⠙⠑⠝]
-  - [-video, ⠤⠧⠊⠙⠑⠕]
-  - [-vil, ⠤⠧⠊⠇]
-  - [-vindere, ⠤⠧⠊⠝⠙⠑⠗⠑]
-  - [-vores, ⠤⠧⠕⠗⠑⠎]
-  - [-vurdering, ⠤⠧⠥⠗⠙⠑⠗⠊⠝⠛]
-  - [-vægge, ⠤⠧⠜⠛⠛⠑]
-  - [-vægt, ⠤⠧⠜⠛⠞]
-  - [-værker, ⠤⠧⠜⠗⠅⠑⠗]
-  - [-år, ⠤⠡⠗]
-  - [-økon, ⠤⠪⠅⠕⠝]
-  - ['0', ⠼⠚]
-  - [0-, ⠼⠚⠤]
-  - [0-0, ⠼⠚⠤⠼⠚]
-  - [0-0-0, ⠼⠚⠤⠼⠚⠤⠼⠚]
-  - [0-1, ⠼⠚⠤⠼⠁]
-  - [0-10, ⠼⠚⠤⠼⠁⠚]
-  - [0-100, ⠼⠚⠤⠼⠁⠚⠚]
-  - [0-11, ⠼⠚⠤⠼⠁⠁]
-  - [0-14, ⠼⠚⠤⠼⠁⠙]
-  - [0-14-87, ⠼⠚⠤⠼⠁⠙⠤⠼⠓⠛]
-  - [0-14-årige, ⠼⠚⠤⠼⠁⠙⠤⠠⠡⠗⠊⠛⠑]
-  - [0-2, ⠼⠚⠤⠼⠃]
-  - [0-2-årige, ⠼⠚⠤⠼⠃⠤⠠⠡⠗⠊⠛⠑]
-  - [0-2-åriges, ⠼⠚⠤⠼⠃⠤⠠⠡⠗⠊⠛⠑⠎]
-  - [0-3, ⠼⠚⠤⠼⠉]
-  - [0-30, ⠼⠚⠤⠼⠉⠚]
-  - [0-4, ⠼⠚⠤⠼⠙]
-  - [0-40, ⠼⠚⠤⠼⠙⠚]
-  - [0-6, ⠼⠚⠤⠼⠋]
-  - [0-7, ⠼⠚⠤⠼⠛]
-  - [0-75-85, ⠼⠚⠤⠼⠛⠑⠤⠼⠓⠑]
-  - [0-liter, ⠼⠚⠤⠠⠇⠊⠞⠑⠗]
-  - [0-liters, ⠼⠚⠤⠠⠇⠊⠞⠑⠗⠎]
-  - [0-løsning, ⠼⠚⠤⠠⠇⠪⠎⠝⠊⠝⠛]
-  - [0-serie, ⠼⠚⠤⠠⠎⠑⠗⠊⠑]
-  - [0-årige, ⠼⠚⠤⠠⠡⠗⠊⠛⠑]
-  - ['00', ⠼⠚⠚]
-  - [00-, ⠼⠚⠚⠤]
-  - [00-00, ⠼⠚⠚⠤⠼⠚⠚]
-  - [00-01, ⠼⠚⠚⠤⠼⠚⠁]
-  - [00-02, ⠼⠚⠚⠤⠼⠚⠃]
-  - [00-04, ⠼⠚⠚⠤⠼⠚⠙]
-  - [00-05, ⠼⠚⠚⠤⠼⠚⠑]
-  - [00-06, ⠼⠚⠚⠤⠼⠚⠋]
-  - [00-08, ⠼⠚⠚⠤⠼⠚⠓]
-  - [00-09, ⠼⠚⠚⠤⠼⠚⠊]
-  - [00-1, ⠼⠚⠚⠤⠼⠁]
-  - [00-10, ⠼⠚⠚⠤⠼⠁⠚]
-  - [00-11, ⠼⠚⠚⠤⠼⠁⠁]
-  - [00-12, ⠼⠚⠚⠤⠼⠁⠃]
-  - [00-13, ⠼⠚⠚⠤⠼⠁⠉]
-  - [00-14, ⠼⠚⠚⠤⠼⠁⠙]
-  - [00-15, ⠼⠚⠚⠤⠼⠁⠑]
-  - [00-16, ⠼⠚⠚⠤⠼⠁⠋]
-  - [00-17, ⠼⠚⠚⠤⠼⠁⠛]
-  - [00-18, ⠼⠚⠚⠤⠼⠁⠓]
-  - [00-19, ⠼⠚⠚⠤⠼⠁⠊]
-  - [00-20, ⠼⠚⠚⠤⠼⠃⠚]
-  - [00-21, ⠼⠚⠚⠤⠼⠃⠁]
-  - [00-22, ⠼⠚⠚⠤⠼⠃⠃]
-  - [00-23, ⠼⠚⠚⠤⠼⠃⠉]
-  - [00-5, ⠼⠚⠚⠤⠼⠑]
-  - [00-8, ⠼⠚⠚⠤⠼⠓]
-  - [00-9, ⠼⠚⠚⠤⠼⠊]
-  - [00-ca, ⠼⠚⠚⠤⠠⠉⠁]
-  - [00-tiden, ⠼⠚⠚⠤⠠⠞⠊⠙⠑⠝]
-  - ['000', ⠼⠚⠚⠚]
-  - [000-, ⠼⠚⠚⠚⠤]
-  - [000-1, ⠼⠚⠚⠚⠤⠼⠁]
-  - [000-10, ⠼⠚⠚⠚⠤⠼⠁⠚]
-  - [000-100, ⠼⠚⠚⠚⠤⠼⠁⠚⠚]
-  - [000-11, ⠼⠚⠚⠚⠤⠼⠁⠁]
-  - [000-110, ⠼⠚⠚⠚⠤⠼⠁⠁⠚]
-  - [000-12, ⠼⠚⠚⠚⠤⠼⠁⠃]
-  - [000-120, ⠼⠚⠚⠚⠤⠼⠁⠃⠚]
-  - [000-125, ⠼⠚⠚⠚⠤⠼⠁⠃⠑]
-  - [000-13, ⠼⠚⠚⠚⠤⠼⠁⠉]
-  - [000-14, ⠼⠚⠚⠚⠤⠼⠁⠙]
-  - [000-140, ⠼⠚⠚⠚⠤⠼⠁⠙⠚]
-  - [000-15, ⠼⠚⠚⠚⠤⠼⠁⠑]
-  - [000-150, ⠼⠚⠚⠚⠤⠼⠁⠑⠚]
-  - [000-20, ⠼⠚⠚⠚⠤⠼⠃⠚]
-  - [000-200, ⠼⠚⠚⠚⠤⠼⠃⠚⠚]
-  - [000-220, ⠼⠚⠚⠚⠤⠼⠃⠃⠚]
-  - [000-25, ⠼⠚⠚⠚⠤⠼⠃⠑]
-  - [000-3, ⠼⠚⠚⠚⠤⠼⠉]
-  - [000-30, ⠼⠚⠚⠚⠤⠼⠉⠚]
-  - [000-300, ⠼⠚⠚⠚⠤⠼⠉⠚⠚]
-  - [000-33, ⠼⠚⠚⠚⠤⠼⠉⠉]
-  - [000-4, ⠼⠚⠚⠚⠤⠼⠙]
-  - [000-40, ⠼⠚⠚⠚⠤⠼⠙⠚]
-  - [000-400, ⠼⠚⠚⠚⠤⠼⠙⠚⠚]
-  - [000-5, ⠼⠚⠚⠚⠤⠼⠑]
-  - [000-50, ⠼⠚⠚⠚⠤⠼⠑⠚]
-  - [000-500, ⠼⠚⠚⠚⠤⠼⠑⠚⠚]
-  - [000-6, ⠼⠚⠚⠚⠤⠼⠋]
-  - [000-60, ⠼⠚⠚⠚⠤⠼⠋⠚]
-  - [000-600, ⠼⠚⠚⠚⠤⠼⠋⠚⠚]
-  - [000-7, ⠼⠚⠚⠚⠤⠼⠛]
-  - [000-70, ⠼⠚⠚⠚⠤⠼⠛⠚]
-  - [000-75, ⠼⠚⠚⠚⠤⠼⠛⠑]
-  - [000-8, ⠼⠚⠚⠚⠤⠼⠓]
-  - [000-80, ⠼⠚⠚⠚⠤⠼⠓⠚]
-  - [000-800, ⠼⠚⠚⠚⠤⠼⠓⠚⠚]
-  - [000-90, ⠼⠚⠚⠚⠤⠼⠊⠚]
-  - [000-kroners, ⠼⠚⠚⠚⠤⠠⠅⠗⠕⠝⠑⠗⠎]
-  - [000-vis, ⠼⠚⠚⠚⠤⠠⠧⠊⠎]
-  - ['0000', ⠼⠚⠚⠚⠚]
-  - ['0001', ⠼⠚⠚⠚⠁]
-  - ['0005', ⠼⠚⠚⠚⠑]
-  - [000er, ⠼⠚⠚⠚⠠⠑⠗]
-  - ['001', ⠼⠚⠚⠁]
-  - [0019, ⠼⠚⠚⠁⠊]
-  - ['002', ⠼⠚⠚⠃]
-  - ['003', ⠼⠚⠚⠉]
-  - ['0031', ⠼⠚⠚⠉⠁]
-  - ['0033', ⠼⠚⠚⠉⠉]
-  - ['004', ⠼⠚⠚⠙]
-  - ['0047', ⠼⠚⠚⠙⠛]
-  - ['005', ⠼⠚⠚⠑]
-  - [0059, ⠼⠚⠚⠑⠊]
-  - ['006', ⠼⠚⠚⠋]
-  - ['007', ⠼⠚⠚⠛]
-  - [009, ⠼⠚⠚⠊]
-  - [0090, ⠼⠚⠚⠊⠚]
-  - ['01', ⠼⠚⠁]
-  - [01-, ⠼⠚⠁⠤]
-  - [01-13, ⠼⠚⠁⠤⠼⠁⠉]
-  - [01-22, ⠼⠚⠁⠤⠼⠃⠃]
-  - [01-23, ⠼⠚⠁⠤⠼⠃⠉]
-  - [01-området, ⠼⠚⠁⠤⠠⠕⠍⠗⠡⠙⠑⠞]
-  - [01-tiden, ⠼⠚⠁⠤⠠⠞⠊⠙⠑⠝]
-  - ['010', ⠼⠚⠁⠚]
-  - ['0100', ⠼⠚⠁⠚⠚]
-  - [0100ra, ⠼⠚⠁⠚⠚⠠⠗⠁]
-  - [010992, ⠼⠚⠁⠚⠊⠊⠃]
-  - ['011', ⠼⠚⠁⠁]
-  - [011292, ⠼⠚⠁⠁⠃⠊⠃]
-  - ['012', ⠼⠚⠁⠃]
-  - ['013', ⠼⠚⠁⠉]
-  - ['015', ⠼⠚⠁⠑]
-  - ['016', ⠼⠚⠁⠋]
-  - ['0170', ⠼⠚⠁⠛⠚]
-  - [018, ⠼⠚⠁⠓]
-  - ['02', ⠼⠚⠃]
-  - [02-06, ⠼⠚⠃⠤⠼⠚⠋]
-  - [02-område, ⠼⠚⠃⠤⠠⠕⠍⠗⠡⠙⠑]
-  - [02-området, ⠼⠚⠃⠤⠠⠕⠍⠗⠡⠙⠑⠞]
-  - [02-tiden, ⠼⠚⠃⠤⠠⠞⠊⠙⠑⠝]
-  - ['020', ⠼⠚⠃⠚]
-  - ['0200', ⠼⠚⠃⠚⠚]
-  - [0200ra, ⠼⠚⠃⠚⠚⠠⠗⠁]
-  - [020492, ⠼⠚⠃⠚⠙⠊⠃]
-  - [020692, ⠼⠚⠃⠚⠋⠊⠃]
-  - [020792, ⠼⠚⠃⠚⠛⠊⠃]
-  - [021192, ⠼⠚⠃⠁⠁⠊⠃]
-  - ['023', ⠼⠚⠃⠉]
-  - ['024', ⠼⠚⠃⠙]
-  - ['025', ⠼⠚⠃⠑]
-  - ['026', ⠼⠚⠃⠋]
-  - ['027', ⠼⠚⠃⠛]
-  - [028, ⠼⠚⠃⠓]
-  - [0288, ⠼⠚⠃⠓⠓]
-  - ['03', ⠼⠚⠉]
-  - [03-, ⠼⠚⠉⠤]
-  - [03-02, ⠼⠚⠉⠤⠼⠚⠃]
-  - [03-12, ⠼⠚⠉⠤⠼⠁⠃]
-  - [03-område, ⠼⠚⠉⠤⠠⠕⠍⠗⠡⠙⠑]
-  - [03-vejr, ⠼⠚⠉⠤⠠⠧⠑⠚⠗]
-  - ['030', ⠼⠚⠉⠚]
-  - ['0300', ⠼⠚⠉⠚⠚]
-  - [0300ra, ⠼⠚⠉⠚⠚⠠⠗⠁]
-  - [030392, ⠼⠚⠉⠚⠉⠊⠃]
-  - [030492, ⠼⠚⠉⠚⠙⠊⠃]
-  - [030892, ⠼⠚⠉⠚⠓⠊⠃]
-  - [031292, ⠼⠚⠉⠁⠃⠊⠃]
-  - ['031754', ⠼⠚⠉⠁⠛⠑⠙]
-  - ['032', ⠼⠚⠉⠃]
-  - ['033', ⠼⠚⠉⠉]
-  - ['034', ⠼⠚⠉⠙]
-  - ['035', ⠼⠚⠉⠑]
-  - ['036', ⠼⠚⠉⠋]
-  - ['037', ⠼⠚⠉⠛]
-  - [038, ⠼⠚⠉⠓]
-  - [039, ⠼⠚⠉⠊]
-  - [03erne, ⠼⠚⠉⠠⠑⠗⠝⠑]
-  - ['04', ⠼⠚⠙]
-  - [04-tiden, ⠼⠚⠙⠤⠠⠞⠊⠙⠑⠝]
-  - ['040', ⠼⠚⠙⠚]
-  - [0400ra, ⠼⠚⠙⠚⠚⠠⠗⠁]
-  - [040592, ⠼⠚⠙⠚⠑⠊⠃]
-  - [040692, ⠼⠚⠙⠚⠋⠊⠃]
-  - [040992, ⠼⠚⠙⠚⠊⠊⠃]
-  - ['041', ⠼⠚⠙⠁]
-  - [041192, ⠼⠚⠙⠁⠁⠊⠃]
-  - ['043', ⠼⠚⠙⠉]
-  - ['044', ⠼⠚⠙⠙]
-  - ['045', ⠼⠚⠙⠑]
-  - ['046', ⠼⠚⠙⠋]
-  - [048, ⠼⠚⠙⠓]
-  - [04s, ⠼⠚⠙⠠⠎]
-  - ['05', ⠼⠚⠑]
-  - [05-00, ⠼⠚⠑⠤⠼⠚⠚]
-  - [05-01, ⠼⠚⠑⠤⠼⠚⠁]
-  - [05-06, ⠼⠚⠑⠤⠼⠚⠋]
-  - [05-09, ⠼⠚⠑⠤⠼⠚⠊]
-  - [05-11, ⠼⠚⠑⠤⠼⠁⠁]
-  - [05-16, ⠼⠚⠑⠤⠼⠁⠋]
-  - [05-17, ⠼⠚⠑⠤⠼⠁⠛]
-  - ['050', ⠼⠚⠑⠚]
-  - [0500ra, ⠼⠚⠑⠚⠚⠠⠗⠁]
-  - [050392, ⠼⠚⠑⠚⠉⠊⠃]
-  - ['052', ⠼⠚⠑⠃]
-  - ['053', ⠼⠚⠑⠉]
-  - ['054', ⠼⠚⠑⠙]
-  - ['055', ⠼⠚⠑⠑]
-  - [058, ⠼⠚⠑⠓]
-  - ['06', ⠼⠚⠋]
-  - [06-02, ⠼⠚⠋⠤⠼⠚⠃]
-  - [06-2, ⠼⠚⠋⠤⠼⠃]
-  - [06-området, ⠼⠚⠋⠤⠠⠕⠍⠗⠡⠙⠑⠞]
-  - ['060', ⠼⠚⠋⠚]
-  - ['0600', ⠼⠚⠋⠚⠚]
-  - [060492, ⠼⠚⠋⠚⠙⠊⠃]
-  - [060892, ⠼⠚⠋⠚⠓⠊⠃]
-  - ['061', ⠼⠚⠋⠁]
-  - ['063', ⠼⠚⠋⠉]
-  - ['064', ⠼⠚⠋⠙]
-  - ['065', ⠼⠚⠋⠑]
-  - ['067', ⠼⠚⠋⠛]
-  - [069, ⠼⠚⠋⠊]
-  - ['07', ⠼⠚⠛]
-  - ['070', ⠼⠚⠛⠚]
-  - [070192, ⠼⠚⠛⠚⠁⠊⠃]
-  - [070792, ⠼⠚⠛⠚⠛⠊⠃]
-  - [071292, ⠼⠚⠛⠁⠃⠊⠃]
-  - ['073', ⠼⠚⠛⠉]
-  - ['074', ⠼⠚⠛⠙]
-  - ['075', ⠼⠚⠛⠑]
-  - ['076', ⠼⠚⠛⠋]
-  - ['077', ⠼⠚⠛⠛]
-  - [08, ⠼⠚⠓]
-  - [08-12, ⠼⠚⠓⠤⠼⠁⠃]
-  - [080, ⠼⠚⠓⠚]
-  - [0800, ⠼⠚⠓⠚⠚]
-  - [080492, ⠼⠚⠓⠚⠙⠊⠃]
-  - [082, ⠼⠚⠓⠃]
-  - [084, ⠼⠚⠓⠙]
-  - [085, ⠼⠚⠓⠑]
-  - [086, ⠼⠚⠓⠋]
-  - [087, ⠼⠚⠓⠛]
-  - [088, ⠼⠚⠓⠓]
-  - [09, ⠼⠚⠊]
-  - [09-11, ⠼⠚⠊⠤⠼⠁⠁]
-  - [09-tiden, ⠼⠚⠊⠤⠠⠞⠊⠙⠑⠝]
-  - [09-vejr, ⠼⠚⠊⠤⠠⠧⠑⠚⠗]
-  - [090, ⠼⠚⠊⠚]
-  - [0904-0277, ⠼⠚⠊⠚⠙⠤⠼⠚⠃⠛⠛]
-  - [0904-1273, ⠼⠚⠊⠚⠙⠤⠼⠁⠃⠛⠉]
-  - [0907-4732, ⠼⠚⠊⠚⠛⠤⠼⠙⠛⠉⠃]
-  - [090792, ⠼⠚⠊⠚⠛⠊⠃]
-  - [091092, ⠼⠚⠊⠁⠚⠊⠃]
-  - [092, ⠼⠚⠊⠃]
-  - [095, ⠼⠚⠊⠑]
-  - [096, ⠼⠚⠊⠋]
-  - [098, ⠼⠚⠊⠓]
-  - [099, ⠼⠚⠊⠊]
-  - [0d, ⠼⠚⠠⠙]
-  - [0e, ⠼⠚⠠⠑]
-  - [0g, ⠼⠚⠠⠛]
-  - ['1', ⠼⠁]
-  - [1-, ⠼⠁⠤]
-  - [1-0, ⠼⠁⠤⠼⠚]
-  - [1-1, ⠼⠁⠤⠼⠁]
-  - [1-10, ⠼⠁⠤⠼⠁⠚]
-  - [1-11, ⠼⠁⠤⠼⠁⠁]
-  - [1-12, ⠼⠁⠤⠼⠁⠃]
-  - [1-13, ⠼⠁⠤⠼⠁⠉]
-  - [1-16, ⠼⠁⠤⠼⠁⠋]
-  - [1-18, ⠼⠁⠤⠼⠁⠓]
-  - [1-19, ⠼⠁⠤⠼⠁⠊]
-  - [1-1990, ⠼⠁⠤⠼⠁⠊⠊⠚]
-  - [1-2, ⠼⠁⠤⠼⠃]
-  - [1-2-3, ⠼⠁⠤⠼⠃⠤⠼⠉]
-  - [1-2-3-4, ⠼⠁⠤⠼⠃⠤⠼⠉⠤⠼⠙]
-  - [1-3, ⠼⠁⠤⠼⠉]
-  - [1-4, ⠼⠁⠤⠼⠙]
-  - [1-5, ⠼⠁⠤⠼⠑]
-  - [1-6, ⠼⠁⠤⠼⠋]
-  - [1-7, ⠼⠁⠤⠼⠛]
-  - [1-8, ⠼⠁⠤⠼⠓]
-  - [1-88, ⠼⠁⠤⠼⠓⠓]
-  - [1-9, ⠼⠁⠤⠼⠊]
-  - [1-91, ⠼⠁⠤⠼⠊⠁]
-  - [1-93, ⠼⠁⠤⠼⠊⠉]
-  - [1-bil, ⠼⠁⠤⠠⠃⠊⠇]
-  - [1-biler, ⠼⠁⠤⠠⠃⠊⠇⠑⠗]
-  - [1-bit, ⠼⠁⠤⠠⠃⠊⠞]
-  - [1-cyl, ⠼⠁⠤⠠⠉⠽⠇]
-  - [1-cylindrede, ⠼⠁⠤⠠⠉⠽⠇⠊⠝⠙⠗⠑⠙⠑]
-  - [1-karriere, ⠼⠁⠤⠠⠅⠁⠗⠗⠊⠑⠗⠑]
-  - [1-kører, ⠼⠁⠤⠠⠅⠪⠗⠑⠗]
-  - [1-liter, ⠼⠁⠤⠠⠇⠊⠞⠑⠗]
-  - [1-liters, ⠼⠁⠤⠠⠇⠊⠞⠑⠗⠎]
-  - [1-løb, ⠼⠁⠤⠠⠇⠪⠃]
-  - [1-model, ⠼⠁⠤⠠⠍⠕⠙⠑⠇]
-  - [1-pilot, ⠼⠁⠤⠠⠏⠊⠇⠕⠞]
-  - [1-piloter, ⠼⠁⠤⠠⠏⠊⠇⠕⠞⠑⠗]
-  - [1-plans, ⠼⠁⠤⠠⠏⠇⠁⠝⠎]
-  - [1-race, ⠼⠁⠤⠠⠗⠁⠉⠑]
-  - [1-racer, ⠼⠁⠤⠠⠗⠁⠉⠑⠗]
-  - [1-racere, ⠼⠁⠤⠠⠗⠁⠉⠑⠗⠑]
-  - [1-rums, ⠼⠁⠤⠠⠗⠥⠍⠎]
-  - [1-rums-boliger, ⠼⠁⠤⠠⠗⠥⠍⠎⠤⠃⠕⠇⠊⠛⠑⠗]
-  - [1-sikrede, ⠼⠁⠤⠠⠎⠊⠅⠗⠑⠙⠑]
-  - [1-sikret, ⠼⠁⠤⠠⠎⠊⠅⠗⠑⠞]
-  - [1-sporten, ⠼⠁⠤⠠⠎⠏⠕⠗⠞⠑⠝]
-  - [1-stjerne, ⠼⠁⠤⠠⠎⠞⠚⠑⠗⠝⠑]
-  - [1-tal, ⠼⠁⠤⠠⠞⠁⠇]
-  - [1-taller, ⠼⠁⠤⠠⠞⠁⠇⠇⠑⠗]
-  - [1-tallet, ⠼⠁⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1-team, ⠼⠁⠤⠠⠞⠑⠁⠍]
-  - [1-teamene, ⠼⠁⠤⠠⠞⠑⠁⠍⠑⠝⠑]
-  - [1-times, ⠼⠁⠤⠠⠞⠊⠍⠑⠎]
-  - [1-toppen, ⠼⠁⠤⠠⠞⠕⠏⠏⠑⠝]
-  - [1-tri-chlor-ethan, ⠼⠁⠤⠠⠞⠗⠊⠤⠉⠓⠇⠕⠗⠤⠑⠞⠓⠁⠝]
-  - [1-verdenen, ⠼⠁⠤⠠⠧⠑⠗⠙⠑⠝⠑⠝]
-  - [1-verdensmester, ⠼⠁⠤⠠⠧⠑⠗⠙⠑⠝⠎⠍⠑⠎⠞⠑⠗]
-  - [1-året, ⠼⠁⠤⠠⠡⠗⠑⠞]
-  - [1-årig, ⠼⠁⠤⠠⠡⠗⠊⠛]
-  - [1-årige, ⠼⠁⠤⠠⠡⠗⠊⠛⠑]
-  - [1-årigt, ⠼⠁⠤⠠⠡⠗⠊⠛⠞]
-  - [1-års, ⠼⠁⠤⠠⠡⠗⠎]
-  - ['10', ⠼⠁⠚]
-  - [10-, ⠼⠁⠚⠤]
-  - [10-0, ⠼⠁⠚⠤⠼⠚]
-  - [10-00, ⠼⠁⠚⠤⠼⠚⠚]
-  - [10-02, ⠼⠁⠚⠤⠼⠚⠃]
-  - [10-1, ⠼⠁⠚⠤⠼⠁]
-  - [10-10, ⠼⠁⠚⠤⠼⠁⠚]
-  - [10-11, ⠼⠁⠚⠤⠼⠁⠁]
-  - [10-11-årige, ⠼⠁⠚⠤⠼⠁⠁⠤⠠⠡⠗⠊⠛⠑]
-  - [10-12, ⠼⠁⠚⠤⠼⠁⠃]
-  - [10-12-14, ⠼⠁⠚⠤⠼⠁⠃⠤⠼⠁⠙]
-  - [10-13, ⠼⠁⠚⠤⠼⠁⠉]
-  - [10-14, ⠼⠁⠚⠤⠼⠁⠙]
-  - [10-15, ⠼⠁⠚⠤⠼⠁⠑]
-  - [10-16, ⠼⠁⠚⠤⠼⠁⠋]
-  - [10-17, ⠼⠁⠚⠤⠼⠁⠛]
-  - [10-18, ⠼⠁⠚⠤⠼⠁⠓]
-  - [10-19, ⠼⠁⠚⠤⠼⠁⠊]
-  - [10-2, ⠼⠁⠚⠤⠼⠃]
-  - [10-20, ⠼⠁⠚⠤⠼⠃⠚]
-  - [10-20-30, ⠼⠁⠚⠤⠼⠃⠚⠤⠼⠉⠚]
-  - [10-21, ⠼⠁⠚⠤⠼⠃⠁]
-  - [10-22, ⠼⠁⠚⠤⠼⠃⠃]
-  - [10-23, ⠼⠁⠚⠤⠼⠃⠉]
-  - [10-25, ⠼⠁⠚⠤⠼⠃⠑]
-  - [10-30, ⠼⠁⠚⠤⠼⠉⠚]
-  - [10-4, ⠼⠁⠚⠤⠼⠙]
-  - [10-5, ⠼⠁⠚⠤⠼⠑]
-  - [10-6, ⠼⠁⠚⠤⠼⠋]
-  - [10-7, ⠼⠁⠚⠤⠼⠛]
-  - [10-8, ⠼⠁⠚⠤⠼⠓]
-  - [10-9, ⠼⠁⠚⠤⠼⠊]
-  - [10-90, ⠼⠁⠚⠤⠼⠊⠚]
-  - [10-91, ⠼⠁⠚⠤⠼⠊⠁]
-  - [10-92, ⠼⠁⠚⠤⠼⠊⠃]
-  - [10-dages, ⠼⠁⠚⠤⠠⠙⠁⠛⠑⠎]
-  - [10-dages-udvalg, ⠼⠁⠚⠤⠠⠙⠁⠛⠑⠎⠤⠥⠙⠧⠁⠇⠛]
-  - [10-doblet, ⠼⠁⠚⠤⠠⠙⠕⠃⠇⠑⠞]
-  - [10-fly, ⠼⠁⠚⠤⠠⠋⠇⠽]
-  - [10-krone, ⠼⠁⠚⠤⠠⠅⠗⠕⠝⠑]
-  - [10-liste, ⠼⠁⠚⠤⠠⠇⠊⠎⠞⠑]
-  - [10-listen, ⠼⠁⠚⠤⠠⠇⠊⠎⠞⠑⠝]
-  - [10-maskinpistol, ⠼⠁⠚⠤⠠⠍⠁⠎⠅⠊⠝⠏⠊⠎⠞⠕⠇]
-  - [10-punkts, ⠼⠁⠚⠤⠠⠏⠥⠝⠅⠞⠎]
-  - [10-punkts-programmet, ⠼⠁⠚⠤⠠⠏⠥⠝⠅⠞⠎⠤⠏⠗⠕⠛⠗⠁⠍⠍⠑⠞]
-  - [10-tal, ⠼⠁⠚⠤⠠⠞⠁⠇]
-  - [10-tiden, ⠼⠁⠚⠤⠠⠞⠊⠙⠑⠝]
-  - [10-turs, ⠼⠁⠚⠤⠠⠞⠥⠗⠎]
-  - [10-år, ⠼⠁⠚⠤⠠⠡⠗]
-  - [10-året, ⠼⠁⠚⠤⠠⠡⠗⠑⠞]
-  - [10-årig, ⠼⠁⠚⠤⠠⠡⠗⠊⠛]
-  - [10-årige, ⠼⠁⠚⠤⠠⠡⠗⠊⠛⠑]
-  - [10-årigt, ⠼⠁⠚⠤⠠⠡⠗⠊⠛⠞]
-  - [10-års, ⠼⠁⠚⠤⠠⠡⠗⠎]
-  - [10-års-jubilæum, ⠼⠁⠚⠤⠠⠡⠗⠎⠤⠚⠥⠃⠊⠇⠜⠥⠍]
-  - [10-ører, ⠼⠁⠚⠤⠠⠪⠗⠑⠗]
-  - [10-øres, ⠼⠁⠚⠤⠠⠪⠗⠑⠎]
-  - ['100', ⠼⠁⠚⠚]
-  - [100-, ⠼⠁⠚⠚⠤]
-  - [100-110, ⠼⠁⠚⠚⠤⠼⠁⠁⠚]
-  - [100-120, ⠼⠁⠚⠚⠤⠼⠁⠃⠚]
-  - [100-125, ⠼⠁⠚⠚⠤⠼⠁⠃⠑]
-  - [100-1250, ⠼⠁⠚⠚⠤⠼⠁⠃⠑⠚]
-  - [100-150, ⠼⠁⠚⠚⠤⠼⠁⠑⠚]
-  - [100-200, ⠼⠁⠚⠚⠤⠼⠃⠚⠚]
-  - [100-300, ⠼⠁⠚⠚⠤⠼⠉⠚⠚]
-  - [100-400, ⠼⠁⠚⠚⠤⠼⠙⠚⠚]
-  - [100-kroneseddel, ⠼⠁⠚⠚⠤⠠⠅⠗⠕⠝⠑⠎⠑⠙⠙⠑⠇]
-  - [100-meterløb, ⠼⠁⠚⠚⠤⠠⠍⠑⠞⠑⠗⠇⠪⠃]
-  - [100-rubelsedler, ⠼⠁⠚⠚⠤⠠⠗⠥⠃⠑⠇⠎⠑⠙⠇⠑⠗]
-  - [100-turneringen, ⠼⠁⠚⠚⠤⠠⠞⠥⠗⠝⠑⠗⠊⠝⠛⠑⠝]
-  - [100-året, ⠼⠁⠚⠚⠤⠠⠡⠗⠑⠞]
-  - [100-årig, ⠼⠁⠚⠚⠤⠠⠡⠗⠊⠛]
-  - [100-årige, ⠼⠁⠚⠚⠤⠠⠡⠗⠊⠛⠑]
-  - [100-års, ⠼⠁⠚⠚⠤⠠⠡⠗⠎]
-  - ['1000', ⠼⠁⠚⠚⠚]
-  - [1000-, ⠼⠁⠚⠚⠚⠤]
-  - [1000-1200, ⠼⠁⠚⠚⠚⠤⠼⠁⠃⠚⠚]
-  - [1000-1500, ⠼⠁⠚⠚⠚⠤⠼⠁⠑⠚⠚]
-  - [1000-2000, ⠼⠁⠚⠚⠚⠤⠼⠃⠚⠚⠚]
-  - [1000-500, ⠼⠁⠚⠚⠚⠤⠼⠑⠚⠚]
-  - [1000-700, ⠼⠁⠚⠚⠚⠤⠼⠛⠚⠚]
-  - [1000-kubikkeren, ⠼⠁⠚⠚⠚⠤⠠⠅⠥⠃⠊⠅⠅⠑⠗⠑⠝]
-  - [1000-pladsersaftalen, ⠼⠁⠚⠚⠚⠤⠠⠏⠇⠁⠙⠎⠑⠗⠎⠁⠋⠞⠁⠇⠑⠝]
-  - [1000-tallet, ⠼⠁⠚⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1000-årige, ⠼⠁⠚⠚⠚⠤⠠⠡⠗⠊⠛⠑]
-  - [1000-års, ⠼⠁⠚⠚⠚⠤⠠⠡⠗⠎]
-  - ['10000', ⠼⠁⠚⠚⠚⠚]
-  - ['100000', ⠼⠁⠚⠚⠚⠚⠚]
-  - ['1000000', ⠼⠁⠚⠚⠚⠚⠚⠚]
-  - [1000ra, ⠼⠁⠚⠚⠚⠠⠗⠁]
-  - ['1001', ⠼⠁⠚⠚⠁]
-  - [1001-nats, ⠼⠁⠚⠚⠁⠤⠠⠝⠁⠞⠎]
-  - [1001-nats-broderier, ⠼⠁⠚⠚⠁⠤⠠⠝⠁⠞⠎⠤⠃⠗⠕⠙⠑⠗⠊⠑⠗]
-  - ['1002', ⠼⠁⠚⠚⠃]
-  - ['1003', ⠼⠁⠚⠚⠉]
-  - ['1004', ⠼⠁⠚⠚⠙]
-  - ['1005', ⠼⠁⠚⠚⠑]
-  - ['1006', ⠼⠁⠚⠚⠋]
-  - ['1007', ⠼⠁⠚⠚⠛]
-  - ['1008', ⠼⠁⠚⠚⠓]
-  - ['1009', ⠼⠁⠚⠚⠊]
-  - [100a, ⠼⠁⠚⠚⠠⠁]
-  - ['101', ⠼⠁⠚⠁]
-  - ['1010', ⠼⠁⠚⠁⠚]
-  - ['1011', ⠼⠁⠚⠁⠁]
-  - ['101192', ⠼⠁⠚⠁⠁⠊⠃]
-  - ['1012', ⠼⠁⠚⠁⠃]
-  - ['1013', ⠼⠁⠚⠁⠉]
-  - ['1014', ⠼⠁⠚⠁⠙]
-  - ['1015', ⠼⠁⠚⠁⠑]
-  - ['1016', ⠼⠁⠚⠁⠋]
-  - ['1017', ⠼⠁⠚⠁⠛]
-  - ['1018', ⠼⠁⠚⠁⠓]
-  - ['1019', ⠼⠁⠚⠁⠊]
-  - ['102', ⠼⠁⠚⠃]
-  - [102-103, ⠼⠁⠚⠃⠤⠼⠁⠚⠉]
-  - [102-190, ⠼⠁⠚⠃⠤⠼⠁⠊⠚]
-  - [102-års, ⠼⠁⠚⠃⠤⠠⠡⠗⠎]
-  - ['1020', ⠼⠁⠚⠃⠚]
-  - ['10200', ⠼⠁⠚⠃⠚⠚]
-  - ['1023', ⠼⠁⠚⠃⠉]
-  - ['10230', ⠼⠁⠚⠃⠉⠚]
-  - ['10231', ⠼⠁⠚⠃⠉⠁]
-  - ['1024', ⠼⠁⠚⠃⠙]
-  - ['1025', ⠼⠁⠚⠃⠑]
-  - ['103', ⠼⠁⠚⠉]
-  - ['1030', ⠼⠁⠚⠉⠚]
-  - ['1031', ⠼⠁⠚⠉⠁]
-  - ['1032', ⠼⠁⠚⠉⠃]
-  - ['1035', ⠼⠁⠚⠉⠑]
-  - ['1036', ⠼⠁⠚⠉⠋]
-  - ['1039', ⠼⠁⠚⠉⠊]
-  - ['104', ⠼⠁⠚⠙]
-  - ['1040', ⠼⠁⠚⠙⠚]
-  - ['1043', ⠼⠁⠚⠙⠉]
-  - ['1045', ⠼⠁⠚⠙⠑]
-  - ['1046', ⠼⠁⠚⠙⠋]
-  - ['1048', ⠼⠁⠚⠙⠓]
-  - ['105', ⠼⠁⠚⠑]
-  - [105-145, ⠼⠁⠚⠑⠤⠼⠁⠙⠑]
-  - [105-institutioner, ⠼⠁⠚⠑⠤⠠⠊⠝⠎⠞⠊⠞⠥⠞⠊⠕⠝⠑⠗]
-  - [105-institutionerne, ⠼⠁⠚⠑⠤⠠⠊⠝⠎⠞⠊⠞⠥⠞⠊⠕⠝⠑⠗⠝⠑]
-  - [105-serie, ⠼⠁⠚⠑⠤⠠⠎⠑⠗⠊⠑]
-  - ['1050', ⠼⠁⠚⠑⠚]
-  - [1050-800, ⠼⠁⠚⠑⠚⠤⠼⠓⠚⠚]
-  - ['1051', ⠼⠁⠚⠑⠁]
-  - ['1052', ⠼⠁⠚⠑⠃]
-  - ['1054', ⠼⠁⠚⠑⠙]
-  - ['1055', ⠼⠁⠚⠑⠑]
-  - ['1056', ⠼⠁⠚⠑⠋]
-  - ['1057', ⠼⠁⠚⠑⠛]
-  - ['10577', ⠼⠁⠚⠑⠛⠛]
-  - ['1058', ⠼⠁⠚⠑⠓]
-  - ['106', ⠼⠁⠚⠋]
-  - [106-serien, ⠼⠁⠚⠋⠤⠠⠎⠑⠗⠊⠑⠝]
-  - ['1060', ⠼⠁⠚⠋⠚]
-  - ['1062', ⠼⠁⠚⠋⠃]
-  - ['1063', ⠼⠁⠚⠋⠉]
-  - ['1064', ⠼⠁⠚⠋⠙]
-  - ['1066', ⠼⠁⠚⠋⠋]
-  - ['1067', ⠼⠁⠚⠋⠛]
-  - ['1068', ⠼⠁⠚⠋⠓]
-  - ['1069', ⠼⠁⠚⠋⠊]
-  - ['107', ⠼⠁⠚⠛]
-  - ['1070', ⠼⠁⠚⠛⠚]
-  - ['1071', ⠼⠁⠚⠛⠁]
-  - ['1072', ⠼⠁⠚⠛⠃]
-  - ['1074', ⠼⠁⠚⠛⠙]
-  - ['1075', ⠼⠁⠚⠛⠑]
-  - ['1077', ⠼⠁⠚⠛⠛]
-  - ['108', ⠼⠁⠚⠓]
-  - ['1080', ⠼⠁⠚⠓⠚]
-  - [1080-86, ⠼⠁⠚⠓⠚⠤⠼⠓⠋]
-  - ['1083', ⠼⠁⠚⠓⠉]
-  - ['1084', ⠼⠁⠚⠓⠙]
-  - ['1085', ⠼⠁⠚⠓⠑]
-  - ['1086', ⠼⠁⠚⠓⠋]
-  - ['1088', ⠼⠁⠚⠓⠓]
-  - ['109', ⠼⠁⠚⠊]
-  - ['1091', ⠼⠁⠚⠊⠁]
-  - ['1093', ⠼⠁⠚⠊⠉]
-  - ['1095', ⠼⠁⠚⠊⠑]
-  - ['1098', ⠼⠁⠚⠊⠓]
-  - ['1099', ⠼⠁⠚⠊⠊]
-  - [10dec91, ⠼⠁⠚⠠⠙⠑⠉⠼⠊⠁]
-  - [10erne, ⠼⠁⠚⠠⠑⠗⠝⠑]
-  - [10w, ⠼⠁⠚⠠⠺]
-  - [10x10, ⠼⠁⠚⠠⠭⠼⠁⠚]
-  - [10x15, ⠼⠁⠚⠠⠭⠼⠁⠑]
-  - ['11', ⠼⠁⠁]
-  - [11-, ⠼⠁⠁⠤]
-  - [11-0, ⠼⠁⠁⠤⠼⠚]
-  - [11-02, ⠼⠁⠁⠤⠼⠚⠃]
-  - [11-07, ⠼⠁⠁⠤⠼⠚⠛]
-  - [11-1, ⠼⠁⠁⠤⠼⠁]
-  - [11-11, ⠼⠁⠁⠤⠼⠁⠁]
-  - [11-12, ⠼⠁⠁⠤⠼⠁⠃]
-  - [11-13, ⠼⠁⠁⠤⠼⠁⠉]
-  - [11-14, ⠼⠁⠁⠤⠼⠁⠙]
-  - [11-15, ⠼⠁⠁⠤⠼⠁⠑]
-  - [11-16, ⠼⠁⠁⠤⠼⠁⠋]
-  - [11-17, ⠼⠁⠁⠤⠼⠁⠛]
-  - [11-18, ⠼⠁⠁⠤⠼⠁⠓]
-  - [11-2, ⠼⠁⠁⠤⠼⠃]
-  - [11-20, ⠼⠁⠁⠤⠼⠃⠚]
-  - [11-21, ⠼⠁⠁⠤⠼⠃⠁]
-  - [11-23, ⠼⠁⠁⠤⠼⠃⠉]
-  - [11-3, ⠼⠁⠁⠤⠼⠉]
-  - [11-32, ⠼⠁⠁⠤⠼⠉⠃]
-  - [11-4, ⠼⠁⠁⠤⠼⠙]
-  - [11-6, ⠼⠁⠁⠤⠼⠋]
-  - [11-7, ⠼⠁⠁⠤⠼⠛]
-  - [11-8, ⠼⠁⠁⠤⠼⠓]
-  - [11-89, ⠼⠁⠁⠤⠼⠓⠊]
-  - [11-9, ⠼⠁⠁⠤⠼⠊]
-  - [11-91, ⠼⠁⠁⠤⠼⠊⠁]
-  - [11-92, ⠼⠁⠁⠤⠼⠊⠃]
-  - [11-mands, ⠼⠁⠁⠤⠠⠍⠁⠝⠙⠎]
-  - [11-meter, ⠼⠁⠁⠤⠠⠍⠑⠞⠑⠗]
-  - [11-tal, ⠼⠁⠁⠤⠠⠞⠁⠇]
-  - [11-taller, ⠼⠁⠁⠤⠠⠞⠁⠇⠇⠑⠗]
-  - [11-tiden, ⠼⠁⠁⠤⠠⠞⠊⠙⠑⠝]
-  - [11-timers-reglen, ⠼⠁⠁⠤⠠⠞⠊⠍⠑⠗⠎⠤⠗⠑⠛⠇⠑⠝]
-  - [11-årig, ⠼⠁⠁⠤⠠⠡⠗⠊⠛]
-  - [11-årige, ⠼⠁⠁⠤⠠⠡⠗⠊⠛⠑]
-  - [11-års, ⠼⠁⠁⠤⠠⠡⠗⠎]
-  - ['110', ⠼⠁⠁⠚]
-  - [110-115, ⠼⠁⠁⠚⠤⠼⠁⠁⠑]
-  - [110-120, ⠼⠁⠁⠚⠤⠼⠁⠃⠚]
-  - [110-851005, ⠼⠁⠁⠚⠤⠼⠓⠑⠁⠚⠚⠑]
-  - ['1100', ⠼⠁⠁⠚⠚]
-  - [1100-, ⠼⠁⠁⠚⠚⠤]
-  - [1100-1500, ⠼⠁⠁⠚⠚⠤⠼⠁⠑⠚⠚]
-  - [1100-800, ⠼⠁⠁⠚⠚⠤⠼⠓⠚⠚]
-  - [1100-850, ⠼⠁⠁⠚⠚⠤⠼⠓⠑⠚]
-  - [1100-tallet, ⠼⠁⠁⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - ['11000', ⠼⠁⠁⠚⠚⠚]
-  - [1100ra, ⠼⠁⠁⠚⠚⠠⠗⠁]
-  - ['1101', ⠼⠁⠁⠚⠁]
-  - ['11010', ⠼⠁⠁⠚⠁⠚]
-  - ['1103', ⠼⠁⠁⠚⠉]
-  - ['1105', ⠼⠁⠁⠚⠑]
-  - ['1107', ⠼⠁⠁⠚⠛]
-  - ['1108', ⠼⠁⠁⠚⠓]
-  - ['111', ⠼⠁⠁⠁]
-  - ['1110', ⠼⠁⠁⠁⠚]
-  - ['1111', ⠼⠁⠁⠁⠁]
-  - ['1112', ⠼⠁⠁⠁⠃]
-  - ['1113', ⠼⠁⠁⠁⠉]
-  - ['1114', ⠼⠁⠁⠁⠙]
-  - ['1116', ⠼⠁⠁⠁⠋]
-  - ['1118', ⠼⠁⠁⠁⠓]
-  - ['1119', ⠼⠁⠁⠁⠊]
-  - ['112', ⠼⠁⠁⠃]
-  - ['1120', ⠼⠁⠁⠃⠚]
-  - ['1122', ⠼⠁⠁⠃⠃]
-  - ['1123', ⠼⠁⠁⠃⠉]
-  - ['1124', ⠼⠁⠁⠃⠙]
-  - ['1125', ⠼⠁⠁⠃⠑]
-  - [1125-900, ⠼⠁⠁⠃⠑⠤⠼⠊⠚⠚]
-  - [1125-975, ⠼⠁⠁⠃⠑⠤⠼⠊⠛⠑]
-  - ['1126', ⠼⠁⠁⠃⠋]
-  - ['1127', ⠼⠁⠁⠃⠛]
-  - ['1129', ⠼⠁⠁⠃⠊]
-  - ['113', ⠼⠁⠁⠉]
-  - ['1130', ⠼⠁⠁⠉⠚]
-  - ['1131', ⠼⠁⠁⠉⠁]
-  - ['1132', ⠼⠁⠁⠉⠃]
-  - ['1134', ⠼⠁⠁⠉⠙]
-  - ['1136', ⠼⠁⠁⠉⠋]
-  - ['1138', ⠼⠁⠁⠉⠓]
-  - ['113865', ⠼⠁⠁⠉⠓⠋⠑]
-  - ['1139', ⠼⠁⠁⠉⠊]
-  - ['114', ⠼⠁⠁⠙]
-  - ['1140', ⠼⠁⠁⠙⠚]
-  - ['1143', ⠼⠁⠁⠙⠉]
-  - ['1145', ⠼⠁⠁⠙⠑]
-  - ['1146', ⠼⠁⠁⠙⠋]
-  - [1146-57, ⠼⠁⠁⠙⠋⠤⠼⠑⠛]
-  - ['1147', ⠼⠁⠁⠙⠛]
-  - ['1148', ⠼⠁⠁⠙⠓]
-  - ['11490', ⠼⠁⠁⠙⠊⠚]
-  - ['115', ⠼⠁⠁⠑]
-  - ['1150', ⠼⠁⠁⠑⠚]
-  - [1150-800, ⠼⠁⠁⠑⠚⠤⠼⠓⠚⠚]
-  - ['1151', ⠼⠁⠁⠑⠁]
-  - ['1152', ⠼⠁⠁⠑⠃]
-  - ['1154', ⠼⠁⠁⠑⠙]
-  - ['1155', ⠼⠁⠁⠑⠑]
-  - ['1156', ⠼⠁⠁⠑⠋]
-  - ['1157', ⠼⠁⠁⠑⠛]
-  - ['1158', ⠼⠁⠁⠑⠓]
-  - ['1159', ⠼⠁⠁⠑⠊]
-  - ['116', ⠼⠁⠁⠋]
-  - ['1160', ⠼⠁⠁⠋⠚]
-  - ['11600', ⠼⠁⠁⠋⠚⠚]
-  - ['1162', ⠼⠁⠁⠋⠃]
-  - ['1163', ⠼⠁⠁⠋⠉]
-  - ['1164', ⠼⠁⠁⠋⠙]
-  - ['1165', ⠼⠁⠁⠋⠑]
-  - ['1167', ⠼⠁⠁⠋⠛]
-  - ['1169', ⠼⠁⠁⠋⠊]
-  - ['117', ⠼⠁⠁⠛]
-  - ['1170', ⠼⠁⠁⠛⠚]
-  - ['1171', ⠼⠁⠁⠛⠁]
-  - ['1172', ⠼⠁⠁⠛⠃]
-  - ['1173', ⠼⠁⠁⠛⠉]
-  - ['1174', ⠼⠁⠁⠛⠙]
-  - ['1176', ⠼⠁⠁⠛⠋]
-  - ['1179', ⠼⠁⠁⠛⠊]
-  - ['118', ⠼⠁⠁⠓]
-  - ['1180', ⠼⠁⠁⠓⠚]
-  - ['1181', ⠼⠁⠁⠓⠁]
-  - ['1183', ⠼⠁⠁⠓⠉]
-  - ['1185', ⠼⠁⠁⠓⠑]
-  - ['1187', ⠼⠁⠁⠓⠛]
-  - ['1189', ⠼⠁⠁⠓⠊]
-  - [118a, ⠼⠁⠁⠓⠠⠁]
-  - ['119', ⠼⠁⠁⠊]
-  - ['1190', ⠼⠁⠁⠊⠚]
-  - ['1192', ⠼⠁⠁⠊⠃]
-  - ['1194', ⠼⠁⠁⠊⠙]
-  - ['1195', ⠼⠁⠁⠊⠑]
-  - ['1197', ⠼⠁⠁⠊⠛]
-  - ['1198', ⠼⠁⠁⠊⠓]
-  - ['1199', ⠼⠁⠁⠊⠊]
-  - [11a, ⠼⠁⠁⠠⠁]
-  - [11feb92, ⠼⠁⠁⠠⠋⠑⠃⠼⠊⠃]
-  - [11fri, ⠼⠁⠁⠠⠋⠗⠊]
-  - ['12', ⠼⠁⠃]
-  - [12-, ⠼⠁⠃⠤]
-  - [12-01, ⠼⠁⠃⠤⠼⠚⠁]
-  - [12-10, ⠼⠁⠃⠤⠼⠁⠚]
-  - [12-11, ⠼⠁⠃⠤⠼⠁⠁]
-  - [12-12, ⠼⠁⠃⠤⠼⠁⠃]
-  - [12-13, ⠼⠁⠃⠤⠼⠁⠉]
-  - [12-13-, ⠼⠁⠃⠤⠼⠁⠉⠤]
-  - [12-13-årige, ⠼⠁⠃⠤⠼⠁⠉⠤⠠⠡⠗⠊⠛⠑]
-  - [12-14, ⠼⠁⠃⠤⠼⠁⠙]
-  - [12-1400, ⠼⠁⠃⠤⠼⠁⠙⠚⠚]
-  - [12-15, ⠼⠁⠃⠤⠼⠁⠑]
-  - [12-16, ⠼⠁⠃⠤⠼⠁⠋]
-  - [12-17, ⠼⠁⠃⠤⠼⠁⠛]
-  - [12-18, ⠼⠁⠃⠤⠼⠁⠓]
-  - [12-19, ⠼⠁⠃⠤⠼⠁⠊]
-  - [12-20, ⠼⠁⠃⠤⠼⠃⠚]
-  - [12-21, ⠼⠁⠃⠤⠼⠃⠁]
-  - [12-22, ⠼⠁⠃⠤⠼⠃⠃]
-  - [12-23, ⠼⠁⠃⠤⠼⠃⠉]
-  - [12-24, ⠼⠁⠃⠤⠼⠃⠙]
-  - [12-7, ⠼⠁⠃⠤⠼⠛]
-  - [12-8, ⠼⠁⠃⠤⠼⠓]
-  - [12-88, ⠼⠁⠃⠤⠼⠓⠓]
-  - [12-9, ⠼⠁⠃⠤⠼⠊]
-  - [12-cyl, ⠼⠁⠃⠤⠠⠉⠽⠇]
-  - [12-cylindrede, ⠼⠁⠃⠤⠠⠉⠽⠇⠊⠝⠙⠗⠑⠙⠑]
-  - [12-cylindret, ⠼⠁⠃⠤⠠⠉⠽⠇⠊⠝⠙⠗⠑⠞]
-  - [12-gears, ⠼⠁⠃⠤⠠⠛⠑⠁⠗⠎]
-  - [12-måneders, ⠼⠁⠃⠤⠠⠍⠡⠝⠑⠙⠑⠗⠎]
-  - [12-strenget, ⠼⠁⠃⠤⠠⠎⠞⠗⠑⠝⠛⠑⠞]
-  - [12-tiden, ⠼⠁⠃⠤⠠⠞⠊⠙⠑⠝]
-  - [12-timers, ⠼⠁⠃⠤⠠⠞⠊⠍⠑⠗⠎]
-  - [12-ugers, ⠼⠁⠃⠤⠠⠥⠛⠑⠗⠎]
-  - [12-ventilet, ⠼⠁⠃⠤⠠⠧⠑⠝⠞⠊⠇⠑⠞]
-  - [12-årig, ⠼⠁⠃⠤⠠⠡⠗⠊⠛]
-  - [12-årige, ⠼⠁⠃⠤⠠⠡⠗⠊⠛⠑]
-  - [12-årigt, ⠼⠁⠃⠤⠠⠡⠗⠊⠛⠞]
-  - [12-års, ⠼⠁⠃⠤⠠⠡⠗⠎]
-  - [12-årsalderen, ⠼⠁⠃⠤⠠⠡⠗⠎⠁⠇⠙⠑⠗⠑⠝]
-  - ['120', ⠼⠁⠃⠚]
-  - [120-, ⠼⠁⠃⠚⠤]
-  - [120-130, ⠼⠁⠃⠚⠤⠼⠁⠉⠚]
-  - [120-150, ⠼⠁⠃⠚⠤⠼⠁⠑⠚]
-  - ['1200', ⠼⠁⠃⠚⠚]
-  - [1200-1000, ⠼⠁⠃⠚⠚⠤⠼⠁⠚⠚⠚]
-  - [1200-1300, ⠼⠁⠃⠚⠚⠤⠼⠁⠉⠚⠚]
-  - [1200-700, ⠼⠁⠃⠚⠚⠤⠼⠛⠚⠚]
-  - [1200-800, ⠼⠁⠃⠚⠚⠤⠼⠓⠚⠚]
-  - [1200-tallet, ⠼⠁⠃⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - ['12000', ⠼⠁⠃⠚⠚⠚]
-  - ['120000', ⠼⠁⠃⠚⠚⠚⠚]
-  - ['1202', ⠼⠁⠃⠚⠃]
-  - ['120392', ⠼⠁⠃⠚⠉⠊⠃]
-  - ['1204', ⠼⠁⠃⠚⠙]
-  - ['1205', ⠼⠁⠃⠚⠑]
-  - ['1206', ⠼⠁⠃⠚⠋]
-  - ['1207', ⠼⠁⠃⠚⠛]
-  - ['1208', ⠼⠁⠃⠚⠓]
-  - [1208-1285, ⠼⠁⠃⠚⠓⠤⠼⠁⠃⠓⠑]
-  - ['120892', ⠼⠁⠃⠚⠓⠊⠃]
-  - ['121', ⠼⠁⠃⠁]
-  - ['1210', ⠼⠁⠃⠁⠚]
-  - ['121092', ⠼⠁⠃⠁⠚⠊⠃]
-  - ['1211', ⠼⠁⠃⠁⠁]
-  - ['121192', ⠼⠁⠃⠁⠁⠊⠃]
-  - ['1212', ⠼⠁⠃⠁⠃]
-  - ['1214', ⠼⠁⠃⠁⠙]
-  - ['1215', ⠼⠁⠃⠁⠑]
-  - ['1216', ⠼⠁⠃⠁⠋]
-  - [1216-1272, ⠼⠁⠃⠁⠋⠤⠼⠁⠃⠛⠃]
-  - [1216-50, ⠼⠁⠃⠁⠋⠤⠼⠑⠚]
-  - ['1217', ⠼⠁⠃⠁⠛]
-  - ['1218', ⠼⠁⠃⠁⠓]
-  - ['1219', ⠼⠁⠃⠁⠊]
-  - [121eren, ⠼⠁⠃⠁⠠⠑⠗⠑⠝]
-  - ['122', ⠼⠁⠃⠃]
-  - [122-123, ⠼⠁⠃⠃⠤⠼⠁⠃⠉]
-  - [122-43, ⠼⠁⠃⠃⠤⠼⠙⠉]
-  - ['1220', ⠼⠁⠃⠃⠚]
-  - ['1225', ⠼⠁⠃⠃⠑]
-  - ['1226', ⠼⠁⠃⠃⠋]
-  - ['1227', ⠼⠁⠃⠃⠛]
-  - ['123', ⠼⠁⠃⠉]
-  - [123-05-92, ⠼⠁⠃⠉⠤⠼⠚⠑⠤⠼⠊⠃]
-  - [123-145, ⠼⠁⠃⠉⠤⠼⠁⠙⠑]
-  - [123-2, ⠼⠁⠃⠉⠤⠼⠃]
-  - [123-3, ⠼⠁⠃⠉⠤⠼⠉]
-  - [123-43, ⠼⠁⠃⠉⠤⠼⠙⠉]
-  - [123-44, ⠼⠁⠃⠉⠤⠼⠙⠙]
-  - [123-45, ⠼⠁⠃⠉⠤⠼⠙⠑]
-  - [123-46, ⠼⠁⠃⠉⠤⠼⠙⠋]
-  - [123-47, ⠼⠁⠃⠉⠤⠼⠙⠛]
-  - [123-48, ⠼⠁⠃⠉⠤⠼⠙⠓]
-  - [123-49, ⠼⠁⠃⠉⠤⠼⠙⠊]
-  - [123-50, ⠼⠁⠃⠉⠤⠼⠑⠚]
-  - [123-51, ⠼⠁⠃⠉⠤⠼⠑⠁]
-  - ['1230', ⠼⠁⠃⠉⠚]
-  - ['1231', ⠼⠁⠃⠉⠁]
-  - ['1232', ⠼⠁⠃⠉⠃]
-  - ['1234', ⠼⠁⠃⠉⠙]
-  - ['1234567', ⠼⠁⠃⠉⠙⠑⠋⠛]
-  - ['1235', ⠼⠁⠃⠉⠑]
-  - ['1239', ⠼⠁⠃⠉⠊]
-  - ['124', ⠼⠁⠃⠙]
-  - ['1240', ⠼⠁⠃⠙⠚]
-  - ['1241', ⠼⠁⠃⠙⠁]
-  - ['1244', ⠼⠁⠃⠙⠙]
-  - ['1248', ⠼⠁⠃⠙⠓]
-  - [1248-54, ⠼⠁⠃⠙⠓⠤⠼⠑⠙]
-  - ['125', ⠼⠁⠃⠑]
-  - [125-126, ⠼⠁⠃⠑⠤⠼⠁⠃⠋]
-  - [125-135, ⠼⠁⠃⠑⠤⠼⠁⠉⠑]
-  - [125-150, ⠼⠁⠃⠑⠤⠼⠁⠑⠚]
-  - [125-175, ⠼⠁⠃⠑⠤⠼⠁⠛⠑]
-  - [125-året, ⠼⠁⠃⠑⠤⠠⠡⠗⠑⠞]
-  - [125-årige, ⠼⠁⠃⠑⠤⠠⠡⠗⠊⠛⠑]
-  - ['1250', ⠼⠁⠃⠑⠚]
-  - [1250-1350, ⠼⠁⠃⠑⠚⠤⠼⠁⠉⠑⠚]
-  - [1250-700, ⠼⠁⠃⠑⠚⠤⠼⠛⠚⠚]
-  - [1250-800, ⠼⠁⠃⠑⠚⠤⠼⠓⠚⠚]
-  - [1250-900, ⠼⠁⠃⠑⠚⠤⠼⠊⠚⠚]
-  - ['125000', ⠼⠁⠃⠑⠚⠚⠚]
-  - ['1252', ⠼⠁⠃⠑⠃]
-  - ['1253', ⠼⠁⠃⠑⠉]
-  - ['1254', ⠼⠁⠃⠑⠙]
-  - ['1255', ⠼⠁⠃⠑⠑]
-  - ['1256', ⠼⠁⠃⠑⠋]
-  - ['1257', ⠼⠁⠃⠑⠛]
-  - ['1258', ⠼⠁⠃⠑⠓]
-  - ['126', ⠼⠁⠃⠋]
-  - ['1260', ⠼⠁⠃⠋⠚]
-  - ['1261', ⠼⠁⠃⠋⠁]
-  - ['1262', ⠼⠁⠃⠋⠃]
-  - ['1263', ⠼⠁⠃⠋⠉]
-  - ['1264', ⠼⠁⠃⠋⠙]
-  - ['1265', ⠼⠁⠃⠋⠑]
-  - ['1266', ⠼⠁⠃⠋⠋]
-  - ['1268', ⠼⠁⠃⠋⠓]
-  - ['127', ⠼⠁⠃⠛]
-  - ['1270', ⠼⠁⠃⠛⠚]
-  - ['1272', ⠼⠁⠃⠛⠃]
-  - ['1273', ⠼⠁⠃⠛⠉]
-  - ['1274', ⠼⠁⠃⠛⠙]
-  - ['1275', ⠼⠁⠃⠛⠑]
-  - ['1277', ⠼⠁⠃⠛⠛]
-  - ['1278', ⠼⠁⠃⠛⠓]
-  - ['128', ⠼⠁⠃⠓]
-  - ['1280', ⠼⠁⠃⠓⠚]
-  - [1280-1200, ⠼⠁⠃⠓⠚⠤⠼⠁⠃⠚⠚]
-  - ['1281521', ⠼⠁⠃⠓⠁⠑⠃⠁]
-  - ['1282', ⠼⠁⠃⠓⠃]
-  - [1282-84, ⠼⠁⠃⠓⠃⠤⠼⠓⠙]
-  - ['1284', ⠼⠁⠃⠓⠙]
-  - ['1285', ⠼⠁⠃⠓⠑]
-  - ['1286', ⠼⠁⠃⠓⠋]
-  - ['1287', ⠼⠁⠃⠓⠛]
-  - ['1289', ⠼⠁⠃⠓⠊]
-  - ['129', ⠼⠁⠃⠊]
-  - ['1290', ⠼⠁⠃⠊⠚]
-  - [1290-1000, ⠼⠁⠃⠊⠚⠤⠼⠁⠚⠚⠚]
-  - ['1291', ⠼⠁⠃⠊⠁]
-  - ['1292', ⠼⠁⠃⠊⠃]
-  - ['1293', ⠼⠁⠃⠊⠉]
-  - ['1294', ⠼⠁⠃⠊⠙]
-  - ['1295', ⠼⠁⠃⠊⠑]
-  - ['12950', ⠼⠁⠃⠊⠑⠚]
-  - ['1297', ⠼⠁⠃⠊⠛]
-  - ['1298', ⠼⠁⠃⠊⠓]
-  - ['1299', ⠼⠁⠃⠊⠊]
-  - [12dec91, ⠼⠁⠃⠠⠙⠑⠉⠼⠊⠁]
-  - [12s, ⠼⠁⠃⠠⠎]
-  - [12vejr1, ⠼⠁⠃⠠⠧⠑⠚⠗⠼⠁]
-  - [12vejr2, ⠼⠁⠃⠠⠧⠑⠚⠗⠼⠃]
-  - [12x12, ⠼⠁⠃⠠⠭⠼⠁⠃]
-  - ['13', ⠼⠁⠉]
-  - [13-, ⠼⠁⠉⠤]
-  - [13-01, ⠼⠁⠉⠤⠼⠚⠁]
-  - [13-10, ⠼⠁⠉⠤⠼⠁⠚]
-  - [13-11, ⠼⠁⠉⠤⠼⠁⠁]
-  - [13-13, ⠼⠁⠉⠤⠼⠁⠉]
-  - [13-14, ⠼⠁⠉⠤⠼⠁⠙]
-  - [13-14-årige, ⠼⠁⠉⠤⠼⠁⠙⠤⠠⠡⠗⠊⠛⠑]
-  - [13-15, ⠼⠁⠉⠤⠼⠁⠑]
-  - [13-16, ⠼⠁⠉⠤⠼⠁⠋]
-  - [13-17, ⠼⠁⠉⠤⠼⠁⠛]
-  - [13-18, ⠼⠁⠉⠤⠼⠁⠓]
-  - [13-20, ⠼⠁⠉⠤⠼⠃⠚]
-  - [13-23, ⠼⠁⠉⠤⠼⠃⠉]
-  - [13-24, ⠼⠁⠉⠤⠼⠃⠙]
-  - [13-3, ⠼⠁⠉⠤⠼⠉]
-  - [13-30, ⠼⠁⠉⠤⠼⠉⠚]
-  - [13-5, ⠼⠁⠉⠤⠼⠑]
-  - [13-6, ⠼⠁⠉⠤⠼⠋]
-  - [13-9, ⠼⠁⠉⠤⠼⠊]
-  - [13-skalaen, ⠼⠁⠉⠤⠠⠎⠅⠁⠇⠁⠑⠝]
-  - [13-tal, ⠼⠁⠉⠤⠠⠞⠁⠇]
-  - [13-taller, ⠼⠁⠉⠤⠠⠞⠁⠇⠇⠑⠗]
-  - [13-tiden, ⠼⠁⠉⠤⠠⠞⠊⠙⠑⠝]
-  - [13-tommer, ⠼⠁⠉⠤⠠⠞⠕⠍⠍⠑⠗]
-  - [13-ugers, ⠼⠁⠉⠤⠠⠥⠛⠑⠗⠎]
-  - [13-årig, ⠼⠁⠉⠤⠠⠡⠗⠊⠛]
-  - [13-årige, ⠼⠁⠉⠤⠠⠡⠗⠊⠛⠑]
-  - [13-åriges, ⠼⠁⠉⠤⠠⠡⠗⠊⠛⠑⠎]
-  - [13-års, ⠼⠁⠉⠤⠠⠡⠗⠎]
-  - ['130', ⠼⠁⠉⠚]
-  - [130-140, ⠼⠁⠉⠚⠤⠼⠁⠙⠚]
-  - [130-kilo-klassen, ⠼⠁⠉⠚⠤⠠⠅⠊⠇⠕⠤⠅⠇⠁⠎⠎⠑⠝]
-  - [130-årige, ⠼⠁⠉⠚⠤⠠⠡⠗⠊⠛⠑]
-  - ['1300', ⠼⠁⠉⠚⠚]
-  - [1300-, ⠼⠁⠉⠚⠚⠤]
-  - [1300-1000, ⠼⠁⠉⠚⠚⠤⠼⠁⠚⠚⠚]
-  - [1300-800, ⠼⠁⠉⠚⠚⠤⠼⠓⠚⠚]
-  - [1300-tallet, ⠼⠁⠉⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - ['13000', ⠼⠁⠉⠚⠚⠚]
-  - ['130000', ⠼⠁⠉⠚⠚⠚⠚]
-  - [1300ra, ⠼⠁⠉⠚⠚⠠⠗⠁]
-  - ['1301', ⠼⠁⠉⠚⠁]
-  - ['1302', ⠼⠁⠉⠚⠃]
-  - ['1303', ⠼⠁⠉⠚⠉]
-  - ['1304', ⠼⠁⠉⠚⠙]
-  - ['130492', ⠼⠁⠉⠚⠙⠊⠃]
-  - ['1305', ⠼⠁⠉⠚⠑]
-  - ['1306', ⠼⠁⠉⠚⠋]
-  - ['1307', ⠼⠁⠉⠚⠛]
-  - ['1308', ⠼⠁⠉⠚⠓]
-  - [130r, ⠼⠁⠉⠚⠠⠗]
-  - [130x200, ⠼⠁⠉⠚⠠⠭⠼⠃⠚⠚]
-  - ['131', ⠼⠁⠉⠁]
-  - ['1310', ⠼⠁⠉⠁⠚]
-  - [1310-1000, ⠼⠁⠉⠁⠚⠤⠼⠁⠚⠚⠚]
-  - ['1311', ⠼⠁⠉⠁⠁]
-  - ['13120', ⠼⠁⠉⠁⠃⠚]
-  - ['1313', ⠼⠁⠉⠁⠉]
-  - ['1314', ⠼⠁⠉⠁⠙]
-  - ['1315', ⠼⠁⠉⠁⠑]
-  - ['1316', ⠼⠁⠉⠁⠋]
-  - ['132', ⠼⠁⠉⠃]
-  - ['1320', ⠼⠁⠉⠃⠚]
-  - ['1321', ⠼⠁⠉⠃⠁]
-  - ['1323', ⠼⠁⠉⠃⠉]
-  - ['1325', ⠼⠁⠉⠃⠑]
-  - ['1326', ⠼⠁⠉⠃⠋]
-  - ['1327', ⠼⠁⠉⠃⠛]
-  - ['1328', ⠼⠁⠉⠃⠓]
-  - ['133', ⠼⠁⠉⠉]
-  - ['1330', ⠼⠁⠉⠉⠚]
-  - ['1332', ⠼⠁⠉⠉⠃]
-  - ['1335', ⠼⠁⠉⠉⠑]
-  - ['1337', ⠼⠁⠉⠉⠛]
-  - ['1338', ⠼⠁⠉⠉⠓]
-  - ['134', ⠼⠁⠉⠙]
-  - ['1340', ⠼⠁⠉⠙⠚]
-  - ['1341', ⠼⠁⠉⠙⠁]
-  - ['1346', ⠼⠁⠉⠙⠋]
-  - ['1347', ⠼⠁⠉⠙⠛]
-  - ['1348', ⠼⠁⠉⠙⠓]
-  - ['1349', ⠼⠁⠉⠙⠊]
-  - ['135', ⠼⠁⠉⠑]
-  - ['1350', ⠼⠁⠉⠑⠚]
-  - ['135000', ⠼⠁⠉⠑⠚⠚⠚]
-  - ['1352', ⠼⠁⠉⠑⠃]
-  - ['1355', ⠼⠁⠉⠑⠑]
-  - ['1356', ⠼⠁⠉⠑⠋]
-  - ['1357', ⠼⠁⠉⠑⠛]
-  - ['1358', ⠼⠁⠉⠑⠓]
-  - ['136', ⠼⠁⠉⠋]
-  - ['1360', ⠼⠁⠉⠋⠚]
-  - ['1361', ⠼⠁⠉⠋⠁]
-  - ['1362', ⠼⠁⠉⠋⠃]
-  - ['1363', ⠼⠁⠉⠋⠉]
-  - ['1364', ⠼⠁⠉⠋⠙]
-  - ['1366', ⠼⠁⠉⠋⠋]
-  - ['1368', ⠼⠁⠉⠋⠓]
-  - ['1369', ⠼⠁⠉⠋⠊]
-  - ['137', ⠼⠁⠉⠛]
-  - ['1370', ⠼⠁⠉⠛⠚]
-  - ['1371', ⠼⠁⠉⠛⠁]
-  - ['1372', ⠼⠁⠉⠛⠃]
-  - ['1375', ⠼⠁⠉⠛⠑]
-  - ['1377', ⠼⠁⠉⠛⠛]
-  - ['138', ⠼⠁⠉⠓]
-  - ['1380', ⠼⠁⠉⠓⠚]
-  - ['1381', ⠼⠁⠉⠓⠁]
-  - ['1385', ⠼⠁⠉⠓⠑]
-  - ['1386', ⠼⠁⠉⠓⠋]
-  - ['1387', ⠼⠁⠉⠓⠛]
-  - ['1389', ⠼⠁⠉⠓⠊]
-  - [1389-1442, ⠼⠁⠉⠓⠊⠤⠼⠁⠙⠙⠃]
-  - [138s, ⠼⠁⠉⠓⠠⠎]
-  - ['139', ⠼⠁⠉⠊]
-  - ['1390', ⠼⠁⠉⠊⠚]
-  - ['1393', ⠼⠁⠉⠊⠉]
-  - ['1395', ⠼⠁⠉⠊⠑]
-  - [1396-1439, ⠼⠁⠉⠊⠋⠤⠼⠁⠙⠉⠊]
-  - ['1397', ⠼⠁⠉⠊⠛]
-  - ['1398', ⠼⠁⠉⠊⠓]
-  - ['1399', ⠼⠁⠉⠊⠊]
-  - [13a, ⠼⠁⠉⠠⠁]
-  - [13b, ⠼⠁⠉⠠⠃]
-  - ['14', ⠼⠁⠙]
-  - [14-, ⠼⠁⠙⠤]
-  - [14-10, ⠼⠁⠙⠤⠼⠁⠚]
-  - [14-11, ⠼⠁⠙⠤⠼⠁⠁]
-  - [14-12, ⠼⠁⠙⠤⠼⠁⠃]
-  - [14-13, ⠼⠁⠙⠤⠼⠁⠉]
-  - [14-14, ⠼⠁⠙⠤⠼⠁⠙]
-  - [14-15, ⠼⠁⠙⠤⠼⠁⠑]
-  - [14-15-års-alderen, ⠼⠁⠙⠤⠼⠁⠑⠤⠠⠡⠗⠎⠤⠁⠇⠙⠑⠗⠑⠝]
-  - [14-16, ⠼⠁⠙⠤⠼⠁⠋]
-  - [14-17, ⠼⠁⠙⠤⠼⠁⠛]
-  - [14-18, ⠼⠁⠙⠤⠼⠁⠓]
-  - [14-18-årige, ⠼⠁⠙⠤⠼⠁⠓⠤⠠⠡⠗⠊⠛⠑]
-  - [14-19, ⠼⠁⠙⠤⠼⠁⠊]
-  - [14-20, ⠼⠁⠙⠤⠼⠃⠚]
-  - [14-21, ⠼⠁⠙⠤⠼⠃⠁]
-  - [14-22, ⠼⠁⠙⠤⠼⠃⠃]
-  - [14-23, ⠼⠁⠙⠤⠼⠃⠉]
-  - [14-24, ⠼⠁⠙⠤⠼⠃⠙]
-  - [14-25, ⠼⠁⠙⠤⠼⠃⠑]
-  - [14-26, ⠼⠁⠙⠤⠼⠃⠋]
-  - [14-28, ⠼⠁⠙⠤⠼⠃⠓]
-  - [14-29, ⠼⠁⠙⠤⠼⠃⠊]
-  - [14-30, ⠼⠁⠙⠤⠼⠉⠚]
-  - [14-8, ⠼⠁⠙⠤⠼⠓]
-  - [14-9, ⠼⠁⠙⠤⠼⠊]
-  - [14-dages, ⠼⠁⠙⠤⠠⠙⠁⠛⠑⠎]
-  - [14-tiden, ⠼⠁⠙⠤⠠⠞⠊⠙⠑⠝]
-  - [14-tommer, ⠼⠁⠙⠤⠠⠞⠕⠍⠍⠑⠗]
-  - [14-årig, ⠼⠁⠙⠤⠠⠡⠗⠊⠛]
-  - [14-årige, ⠼⠁⠙⠤⠠⠡⠗⠊⠛⠑]
-  - [14-åriges, ⠼⠁⠙⠤⠠⠡⠗⠊⠛⠑⠎]
-  - [14-årigt, ⠼⠁⠙⠤⠠⠡⠗⠊⠛⠞]
-  - [14-års, ⠼⠁⠙⠤⠠⠡⠗⠎]
-  - ['140', ⠼⠁⠙⠚]
-  - [140-150, ⠼⠁⠙⠚⠤⠼⠁⠑⠚]
-  - ['1400', ⠼⠁⠙⠚⠚]
-  - [1400-, ⠼⠁⠙⠚⠚⠤]
-  - [1400-1000, ⠼⠁⠙⠚⠚⠤⠼⠁⠚⠚⠚]
-  - [1400-1200, ⠼⠁⠙⠚⠚⠤⠼⠁⠃⠚⠚]
-  - [1400-1500, ⠼⠁⠙⠚⠚⠤⠼⠁⠑⠚⠚]
-  - [1400-1500-tallet, ⠼⠁⠙⠚⠚⠤⠼⠁⠑⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1400-950, ⠼⠁⠙⠚⠚⠤⠼⠊⠑⠚]
-  - [1400-tallet, ⠼⠁⠙⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1400-tals, ⠼⠁⠙⠚⠚⠤⠠⠞⠁⠇⠎]
-  - ['14000', ⠼⠁⠙⠚⠚⠚]
-  - [1400ra, ⠼⠁⠙⠚⠚⠠⠗⠁]
-  - ['1401', ⠼⠁⠙⠚⠁]
-  - ['1402', ⠼⠁⠙⠚⠃]
-  - ['1404', ⠼⠁⠙⠚⠙]
-  - ['1405', ⠼⠁⠙⠚⠑]
-  - ['1408', ⠼⠁⠙⠚⠓]
-  - ['1409', ⠼⠁⠙⠚⠊]
-  - ['141', ⠼⠁⠙⠁]
-  - ['1410', ⠼⠁⠙⠁⠚]
-  - ['141092', ⠼⠁⠙⠁⠚⠊⠃]
-  - ['1411', ⠼⠁⠙⠁⠁]
-  - ['1412', ⠼⠁⠙⠁⠃]
-  - ['1413', ⠼⠁⠙⠁⠉]
-  - ['1414', ⠼⠁⠙⠁⠙]
-  - ['1415', ⠼⠁⠙⠁⠑]
-  - ['1416', ⠼⠁⠙⠁⠋]
-  - ['1419', ⠼⠁⠙⠁⠊]
-  - ['142', ⠼⠁⠙⠃]
-  - ['1420', ⠼⠁⠙⠃⠚]
-  - ['1422', ⠼⠁⠙⠃⠃]
-  - ['1425', ⠼⠁⠙⠃⠑]
-  - ['1427', ⠼⠁⠙⠃⠛]
-  - ['1428', ⠼⠁⠙⠃⠓]
-  - ['1429', ⠼⠁⠙⠃⠊]
-  - ['143', ⠼⠁⠙⠉]
-  - ['1430', ⠼⠁⠙⠉⠚]
-  - ['1431', ⠼⠁⠙⠉⠁]
-  - ['1433', ⠼⠁⠙⠉⠉]
-  - ['1434', ⠼⠁⠙⠉⠙]
-  - ['1435', ⠼⠁⠙⠉⠑]
-  - ['1436', ⠼⠁⠙⠉⠋]
-  - ['1437', ⠼⠁⠙⠉⠛]
-  - [1438-1532, ⠼⠁⠙⠉⠓⠤⠼⠁⠑⠉⠃]
-  - ['144', ⠼⠁⠙⠙]
-  - ['1440', ⠼⠁⠙⠙⠚]
-  - [1440-1200, ⠼⠁⠙⠙⠚⠤⠼⠁⠃⠚⠚]
-  - ['144000', ⠼⠁⠙⠙⠚⠚⠚]
-  - ['1441', ⠼⠁⠙⠙⠁]
-  - ['1442', ⠼⠁⠙⠙⠃]
-  - ['1445', ⠼⠁⠙⠙⠑]
-  - ['1448', ⠼⠁⠙⠙⠓]
-  - ['1449', ⠼⠁⠙⠙⠊]
-  - ['145', ⠼⠁⠙⠑]
-  - ['1450', ⠼⠁⠙⠑⠚]
-  - ['1451', ⠼⠁⠙⠑⠁]
-  - ['1453', ⠼⠁⠙⠑⠉]
-  - ['1454', ⠼⠁⠙⠑⠙]
-  - ['1455', ⠼⠁⠙⠑⠑]
-  - ['1456', ⠼⠁⠙⠑⠋]
-  - ['1457', ⠼⠁⠙⠑⠛]
-  - ['1458', ⠼⠁⠙⠑⠓]
-  - ['1459', ⠼⠁⠙⠑⠊]
-  - ['146', ⠼⠁⠙⠋]
-  - ['1460', ⠼⠁⠙⠋⠚]
-  - ['1461', ⠼⠁⠙⠋⠁]
-  - ['1463', ⠼⠁⠙⠋⠉]
-  - ['1464', ⠼⠁⠙⠋⠙]
-  - ['1466', ⠼⠁⠙⠋⠋]
-  - ['1469', ⠼⠁⠙⠋⠊]
-  - ['147', ⠼⠁⠙⠛]
-  - ['1470', ⠼⠁⠙⠛⠚]
-  - [1470-71, ⠼⠁⠙⠛⠚⠤⠼⠛⠁]
-  - ['1471', ⠼⠁⠙⠛⠁]
-  - ['1472', ⠼⠁⠙⠛⠃]
-  - ['1474', ⠼⠁⠙⠛⠙]
-  - ['1475', ⠼⠁⠙⠛⠑]
-  - [1475-1200, ⠼⠁⠙⠛⠑⠤⠼⠁⠃⠚⠚]
-  - ['1476', ⠼⠁⠙⠛⠋]
-  - ['1477', ⠼⠁⠙⠛⠛]
-  - ['1478', ⠼⠁⠙⠛⠓]
-  - ['1479', ⠼⠁⠙⠛⠊]
-  - ['148', ⠼⠁⠙⠓]
-  - [148-228, ⠼⠁⠙⠓⠤⠼⠃⠃⠓]
-  - ['1480', ⠼⠁⠙⠓⠚]
-  - ['1481', ⠼⠁⠙⠓⠁]
-  - ['1482', ⠼⠁⠙⠓⠃]
-  - ['1483', ⠼⠁⠙⠓⠉]
-  - ['1485', ⠼⠁⠙⠓⠑]
-  - ['1486', ⠼⠁⠙⠓⠋]
-  - ['1487', ⠼⠁⠙⠓⠛]
-  - ['1488', ⠼⠁⠙⠓⠓]
-  - ['149', ⠼⠁⠙⠊]
-  - ['1490', ⠼⠁⠙⠊⠚]
-  - [1490erne, ⠼⠁⠙⠊⠚⠠⠑⠗⠝⠑]
-  - ['1491', ⠼⠁⠙⠊⠁]
-  - ['1492', ⠼⠁⠙⠊⠃]
-  - [1492-, ⠼⠁⠙⠊⠃⠤]
-  - ['1493', ⠼⠁⠙⠊⠉]
-  - ['1495', ⠼⠁⠙⠊⠑]
-  - ['1496', ⠼⠁⠙⠊⠋]
-  - ['1497', ⠼⠁⠙⠊⠛]
-  - ['1498', ⠼⠁⠙⠊⠓]
-  - ['1499', ⠼⠁⠙⠊⠊]
-  - [14c, ⠼⠁⠙⠠⠉]
-  - ['15', ⠼⠁⠑]
-  - [15-, ⠼⠁⠑⠤]
-  - [15-0, ⠼⠁⠑⠤⠼⠚]
-  - [15-00, ⠼⠁⠑⠤⠼⠚⠚]
-  - [15-01, ⠼⠁⠑⠤⠼⠚⠁]
-  - [15-1, ⠼⠁⠑⠤⠼⠁]
-  - [15-10, ⠼⠁⠑⠤⠼⠁⠚]
-  - [15-11, ⠼⠁⠑⠤⠼⠁⠁]
-  - [15-12, ⠼⠁⠑⠤⠼⠁⠃]
-  - [15-13, ⠼⠁⠑⠤⠼⠁⠉]
-  - [15-14, ⠼⠁⠑⠤⠼⠁⠙]
-  - [15-15, ⠼⠁⠑⠤⠼⠁⠑]
-  - [15-16, ⠼⠁⠑⠤⠼⠁⠋]
-  - [15-16-årig, ⠼⠁⠑⠤⠼⠁⠋⠤⠠⠡⠗⠊⠛]
-  - [15-16-årige, ⠼⠁⠑⠤⠼⠁⠋⠤⠠⠡⠗⠊⠛⠑]
-  - [15-1600, ⠼⠁⠑⠤⠼⠁⠋⠚⠚]
-  - [15-16årige, ⠼⠁⠑⠤⠼⠁⠋⠠⠡⠗⠊⠛⠑]
-  - [15-17, ⠼⠁⠑⠤⠼⠁⠛]
-  - [15-17-årige, ⠼⠁⠑⠤⠼⠁⠛⠤⠠⠡⠗⠊⠛⠑]
-  - [15-18, ⠼⠁⠑⠤⠼⠁⠓]
-  - [15-19, ⠼⠁⠑⠤⠼⠁⠊]
-  - [15-19-årige, ⠼⠁⠑⠤⠼⠁⠊⠤⠠⠡⠗⠊⠛⠑]
-  - [15-2, ⠼⠁⠑⠤⠼⠃]
-  - [15-20, ⠼⠁⠑⠤⠼⠃⠚]
-  - [15-21, ⠼⠁⠑⠤⠼⠃⠁]
-  - [15-22, ⠼⠁⠑⠤⠼⠃⠃]
-  - [15-23, ⠼⠁⠑⠤⠼⠃⠉]
-  - [15-24, ⠼⠁⠑⠤⠼⠃⠙]
-  - [15-25, ⠼⠁⠑⠤⠼⠃⠑]
-  - [15-26, ⠼⠁⠑⠤⠼⠃⠋]
-  - [15-28, ⠼⠁⠑⠤⠼⠃⠓]
-  - [15-29, ⠼⠁⠑⠤⠼⠃⠊]
-  - [15-3, ⠼⠁⠑⠤⠼⠉]
-  - [15-30, ⠼⠁⠑⠤⠼⠉⠚]
-  - [15-30-årige, ⠼⠁⠑⠤⠼⠉⠚⠤⠠⠡⠗⠊⠛⠑]
-  - [15-35, ⠼⠁⠑⠤⠼⠉⠑]
-  - [15-4, ⠼⠁⠑⠤⠼⠙]
-  - [15-40, ⠼⠁⠑⠤⠼⠙⠚]
-  - [15-45, ⠼⠁⠑⠤⠼⠙⠑]
-  - [15-5, ⠼⠁⠑⠤⠼⠑]
-  - [15-50, ⠼⠁⠑⠤⠼⠑⠚]
-  - [15-6, ⠼⠁⠑⠤⠼⠋]
-  - [15-60, ⠼⠁⠑⠤⠼⠋⠚]
-  - [15-7, ⠼⠁⠑⠤⠼⠛]
-  - [15-8, ⠼⠁⠑⠤⠼⠓]
-  - [15-9, ⠼⠁⠑⠤⠼⠊]
-  - [15-dages, ⠼⠁⠑⠤⠠⠙⠁⠛⠑⠎]
-  - [15-tiden, ⠼⠁⠑⠤⠠⠞⠊⠙⠑⠝]
-  - [15-tommer, ⠼⠁⠑⠤⠠⠞⠕⠍⠍⠑⠗]
-  - [15-vejr, ⠼⠁⠑⠤⠠⠧⠑⠚⠗]
-  - [15-årig, ⠼⠁⠑⠤⠠⠡⠗⠊⠛]
-  - [15-årige, ⠼⠁⠑⠤⠠⠡⠗⠊⠛⠑]
-  - [15-års, ⠼⠁⠑⠤⠠⠡⠗⠎]
-  - [15-års-grænsen, ⠼⠁⠑⠤⠠⠡⠗⠎⠤⠛⠗⠜⠝⠎⠑⠝]
-  - ['150', ⠼⠁⠑⠚]
-  - [150-200, ⠼⠁⠑⠚⠤⠼⠃⠚⠚]
-  - [150-300, ⠼⠁⠑⠚⠤⠼⠉⠚⠚]
-  - [150-årige, ⠼⠁⠑⠚⠤⠠⠡⠗⠊⠛⠑]
-  - ['1500', ⠼⠁⠑⠚⠚]
-  - [1500-, ⠼⠁⠑⠚⠚⠤]
-  - [1500-1000, ⠼⠁⠑⠚⠚⠤⠼⠁⠚⠚⠚]
-  - [1500-1100, ⠼⠁⠑⠚⠚⠤⠼⠁⠁⠚⠚]
-  - [1500-1200, ⠼⠁⠑⠚⠚⠤⠼⠁⠃⠚⠚]
-  - [1500-1400, ⠼⠁⠑⠚⠚⠤⠼⠁⠙⠚⠚]
-  - [1500-1600, ⠼⠁⠑⠚⠚⠤⠼⠁⠋⠚⠚]
-  - [1500-1700, ⠼⠁⠑⠚⠚⠤⠼⠁⠛⠚⠚]
-  - [1500-2000, ⠼⠁⠑⠚⠚⠤⠼⠃⠚⠚⠚]
-  - [1500-tallet, ⠼⠁⠑⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1500-tallets, ⠼⠁⠑⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞⠎]
-  - [1500-tals, ⠼⠁⠑⠚⠚⠤⠠⠞⠁⠇⠎]
-  - [1500-årene, ⠼⠁⠑⠚⠚⠤⠠⠡⠗⠑⠝⠑]
-  - ['15000', ⠼⠁⠑⠚⠚⠚]
-  - ['150000', ⠼⠁⠑⠚⠚⠚⠚]
-  - [1500ra, ⠼⠁⠑⠚⠚⠠⠗⠁]
-  - ['1501', ⠼⠁⠑⠚⠁]
-  - ['1502', ⠼⠁⠑⠚⠃]
-  - ['1503', ⠼⠁⠑⠚⠉]
-  - ['1505', ⠼⠁⠑⠚⠑]
-  - ['1506', ⠼⠁⠑⠚⠋]
-  - ['1507', ⠼⠁⠑⠚⠛]
-  - ['150792', ⠼⠁⠑⠚⠛⠊⠃]
-  - ['1508', ⠼⠁⠑⠚⠓]
-  - [1508-12, ⠼⠁⠑⠚⠓⠤⠼⠁⠃]
-  - ['1509', ⠼⠁⠑⠚⠊]
-  - ['151', ⠼⠁⠑⠁]
-  - ['1510', ⠼⠁⠑⠁⠚]
-  - ['1511', ⠼⠁⠑⠁⠁]
-  - ['1512', ⠼⠁⠑⠁⠃]
-  - ['151292', ⠼⠁⠑⠁⠃⠊⠃]
-  - ['1513', ⠼⠁⠑⠁⠉]
-  - [1513-16, ⠼⠁⠑⠁⠉⠤⠼⠁⠋]
-  - ['1514', ⠼⠁⠑⠁⠙]
-  - ['1515', ⠼⠁⠑⠁⠑]
-  - ['1516', ⠼⠁⠑⠁⠋]
-  - ['1517', ⠼⠁⠑⠁⠛]
-  - ['1519', ⠼⠁⠑⠁⠊]
-  - [1519-21, ⠼⠁⠑⠁⠊⠤⠼⠃⠁]
-  - ['152', ⠼⠁⠑⠃]
-  - ['1520', ⠼⠁⠑⠃⠚]
-  - [1520erne, ⠼⠁⠑⠃⠚⠠⠑⠗⠝⠑]
-  - ['1521', ⠼⠁⠑⠃⠁]
-  - ['1522', ⠼⠁⠑⠃⠃]
-  - ['1523', ⠼⠁⠑⠃⠉]
-  - [1523-33, ⠼⠁⠑⠃⠉⠤⠼⠉⠉]
-  - ['1524', ⠼⠁⠑⠃⠙]
-  - ['1525', ⠼⠁⠑⠃⠑]
-  - [1525-800, ⠼⠁⠑⠃⠑⠤⠼⠓⠚⠚]
-  - ['1526', ⠼⠁⠑⠃⠋]
-  - ['1527', ⠼⠁⠑⠃⠛]
-  - ['1528', ⠼⠁⠑⠃⠓]
-  - ['1529', ⠼⠁⠑⠃⠊]
-  - ['153', ⠼⠁⠑⠉]
-  - ['1530', ⠼⠁⠑⠉⠚]
-  - [1530erne, ⠼⠁⠑⠉⠚⠠⠑⠗⠝⠑]
-  - ['1531', ⠼⠁⠑⠉⠁]
-  - ['1532', ⠼⠁⠑⠉⠃]
-  - [1532-33, ⠼⠁⠑⠉⠃⠤⠼⠉⠉]
-  - ['1533', ⠼⠁⠑⠉⠉]
-  - ['1534', ⠼⠁⠑⠉⠙]
-  - [1534-36, ⠼⠁⠑⠉⠙⠤⠼⠉⠋]
-  - ['1535', ⠼⠁⠑⠉⠑]
-  - ['1536', ⠼⠁⠑⠉⠋]
-  - [1536-42, ⠼⠁⠑⠉⠋⠤⠼⠙⠃]
-  - ['1537', ⠼⠁⠑⠉⠛]
-  - ['1538', ⠼⠁⠑⠉⠓]
-  - ['1539', ⠼⠁⠑⠉⠊]
-  - ['154', ⠼⠁⠑⠙]
-  - ['1540', ⠼⠁⠑⠙⠚]
-  - [1540erne, ⠼⠁⠑⠙⠚⠠⠑⠗⠝⠑]
-  - ['1542', ⠼⠁⠑⠙⠃]
-  - ['1543', ⠼⠁⠑⠙⠉]
-  - ['1544', ⠼⠁⠑⠙⠙]
-  - ['1545', ⠼⠁⠑⠙⠑]
-  - ['1546', ⠼⠁⠑⠙⠋]
-  - [1546-1601, ⠼⠁⠑⠙⠋⠤⠼⠁⠋⠚⠁]
-  - ['1547', ⠼⠁⠑⠙⠛]
-  - ['1548', ⠼⠁⠑⠙⠓]
-  - ['1549', ⠼⠁⠑⠙⠊]
-  - ['155', ⠼⠁⠑⠑]
-  - [155-161, ⠼⠁⠑⠑⠤⠼⠁⠋⠁]
-  - ['1550', ⠼⠁⠑⠑⠚]
-  - [1550erne, ⠼⠁⠑⠑⠚⠠⠑⠗⠝⠑]
-  - ['1552', ⠼⠁⠑⠑⠃]
-  - ['1553', ⠼⠁⠑⠑⠉]
-  - ['1554', ⠼⠁⠑⠑⠙]
-  - ['1555', ⠼⠁⠑⠑⠑]
-  - ['1556', ⠼⠁⠑⠑⠋]
-  - ['1558', ⠼⠁⠑⠑⠓]
-  - ['1559', ⠼⠁⠑⠑⠊]
-  - ['156', ⠼⠁⠑⠋]
-  - ['1560', ⠼⠁⠑⠋⠚]
-  - ['1561', ⠼⠁⠑⠋⠁]
-  - ['1562', ⠼⠁⠑⠋⠃]
-  - ['1563', ⠼⠁⠑⠋⠉]
-  - ['1564', ⠼⠁⠑⠋⠙]
-  - [1564-1642, ⠼⠁⠑⠋⠙⠤⠼⠁⠋⠙⠃]
-  - ['1565', ⠼⠁⠑⠋⠑]
-  - ['1567', ⠼⠁⠑⠋⠛]
-  - ['1568', ⠼⠁⠑⠋⠓]
-  - ['1569', ⠼⠁⠑⠋⠊]
-  - ['157', ⠼⠁⠑⠛]
-  - ['1570', ⠼⠁⠑⠛⠚]
-  - ['1571', ⠼⠁⠑⠛⠁]
-  - ['1572', ⠼⠁⠑⠛⠃]
-  - ['1573', ⠼⠁⠑⠛⠉]
-  - ['1575', ⠼⠁⠑⠛⠑]
-  - ['1576', ⠼⠁⠑⠛⠋]
-  - ['1578', ⠼⠁⠑⠛⠓]
-  - ['1579', ⠼⠁⠑⠛⠊]
-  - ['158', ⠼⠁⠑⠓]
-  - ['1580', ⠼⠁⠑⠓⠚]
-  - [1580erne, ⠼⠁⠑⠓⠚⠠⠑⠗⠝⠑]
-  - ['1581', ⠼⠁⠑⠓⠁]
-  - ['1582', ⠼⠁⠑⠓⠃]
-  - ['1583', ⠼⠁⠑⠓⠉]
-  - ['1584', ⠼⠁⠑⠓⠙]
-  - ['1585', ⠼⠁⠑⠓⠑]
-  - ['1586', ⠼⠁⠑⠓⠋]
-  - ['1587', ⠼⠁⠑⠓⠛]
-  - ['1588', ⠼⠁⠑⠓⠓]
-  - ['1589', ⠼⠁⠑⠓⠊]
-  - ['159', ⠼⠁⠑⠊]
-  - ['1590', ⠼⠁⠑⠊⠚]
-  - ['1591', ⠼⠁⠑⠊⠁]
-  - ['1592', ⠼⠁⠑⠊⠃]
-  - ['1593', ⠼⠁⠑⠊⠉]
-  - ['1594', ⠼⠁⠑⠊⠙]
-  - ['1595', ⠼⠁⠑⠊⠑]
-  - ['1596', ⠼⠁⠑⠊⠋]
-  - [1596-1650, ⠼⠁⠑⠊⠋⠤⠼⠁⠋⠑⠚]
-  - ['1597', ⠼⠁⠑⠊⠛]
-  - ['1598', ⠼⠁⠑⠊⠓]
-  - ['1599', ⠼⠁⠑⠊⠊]
-  - [15aug91, ⠼⠁⠑⠠⠁⠥⠛⠼⠊⠁]
-  - [15vejr1, ⠼⠁⠑⠠⠧⠑⠚⠗⠼⠁]
-  - [15w, ⠼⠁⠑⠠⠺]
-  - [15x15, ⠼⠁⠑⠠⠭⠼⠁⠑]
-  - ['16', ⠼⠁⠋]
-  - [16-, ⠼⠁⠋⠤]
-  - [16-10, ⠼⠁⠋⠤⠼⠁⠚]
-  - [16-13, ⠼⠁⠋⠤⠼⠁⠉]
-  - [16-14, ⠼⠁⠋⠤⠼⠁⠙]
-  - [16-16, ⠼⠁⠋⠤⠼⠁⠋]
-  - [16-17, ⠼⠁⠋⠤⠼⠁⠛]
-  - [16-17-årige, ⠼⠁⠋⠤⠼⠁⠛⠤⠠⠡⠗⠊⠛⠑]
-  - [16-1700, ⠼⠁⠋⠤⠼⠁⠛⠚⠚]
-  - [16-18, ⠼⠁⠋⠤⠼⠁⠓]
-  - [16-19, ⠼⠁⠋⠤⠼⠁⠊]
-  - [16-20, ⠼⠁⠋⠤⠼⠃⠚]
-  - [16-21, ⠼⠁⠋⠤⠼⠃⠁]
-  - [16-21-årige, ⠼⠁⠋⠤⠼⠃⠁⠤⠠⠡⠗⠊⠛⠑]
-  - [16-24, ⠼⠁⠋⠤⠼⠃⠙]
-  - [16-30, ⠼⠁⠋⠤⠼⠉⠚]
-  - [16-42, ⠼⠁⠋⠤⠼⠙⠃]
-  - [16-bit, ⠼⠁⠋⠤⠠⠃⠊⠞]
-  - [16-eskadrille, ⠼⠁⠋⠤⠠⠑⠎⠅⠁⠙⠗⠊⠇⠇⠑]
-  - [16-finalen, ⠼⠁⠋⠤⠠⠋⠊⠝⠁⠇⠑⠝]
-  - [16-mands, ⠼⠁⠋⠤⠠⠍⠁⠝⠙⠎]
-  - [16-mandstrup, ⠼⠁⠋⠤⠠⠍⠁⠝⠙⠎⠞⠗⠥⠏]
-  - [16-siders, ⠼⠁⠋⠤⠠⠎⠊⠙⠑⠗⠎]
-  - [16-tiden, ⠼⠁⠋⠤⠠⠞⠊⠙⠑⠝]
-  - [16-tommer, ⠼⠁⠋⠤⠠⠞⠕⠍⠍⠑⠗]
-  - [16-ugers, ⠼⠁⠋⠤⠠⠥⠛⠑⠗⠎]
-  - [16-ventil, ⠼⠁⠋⠤⠠⠧⠑⠝⠞⠊⠇]
-  - [16-ventilede, ⠼⠁⠋⠤⠠⠧⠑⠝⠞⠊⠇⠑⠙⠑]
-  - [16-ventiler, ⠼⠁⠋⠤⠠⠧⠑⠝⠞⠊⠇⠑⠗]
-  - [16-ventilet, ⠼⠁⠋⠤⠠⠧⠑⠝⠞⠊⠇⠑⠞]
-  - [16-årig, ⠼⠁⠋⠤⠠⠡⠗⠊⠛]
-  - [16-årige, ⠼⠁⠋⠤⠠⠡⠗⠊⠛⠑]
-  - ['160', ⠼⠁⠋⠚]
-  - [160-165, ⠼⠁⠋⠚⠤⠼⠁⠋⠑]
-  - [160-170, ⠼⠁⠋⠚⠤⠼⠁⠛⠚]
-  - [160-180, ⠼⠁⠋⠚⠤⠼⠁⠓⠚]
-  - ['1600', ⠼⠁⠋⠚⠚]
-  - [1600-, ⠼⠁⠋⠚⠚⠤]
-  - [1600-1000, ⠼⠁⠋⠚⠚⠤⠼⠁⠚⠚⠚]
-  - [1600-1200, ⠼⠁⠋⠚⠚⠤⠼⠁⠃⠚⠚]
-  - [1600-1700, ⠼⠁⠋⠚⠚⠤⠼⠁⠛⠚⠚]
-  - [1600-1730, ⠼⠁⠋⠚⠚⠤⠼⠁⠛⠉⠚]
-  - [1600-tallet, ⠼⠁⠋⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1600-tallets, ⠼⠁⠋⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞⠎]
-  - [1600-tals, ⠼⠁⠋⠚⠚⠤⠠⠞⠁⠇⠎]
-  - [1600-årene, ⠼⠁⠋⠚⠚⠤⠠⠡⠗⠑⠝⠑]
-  - [1600-årenes, ⠼⠁⠋⠚⠚⠤⠠⠡⠗⠑⠝⠑⠎]
-  - ['16000', ⠼⠁⠋⠚⠚⠚]
-  - [1600ra, ⠼⠁⠋⠚⠚⠠⠗⠁]
-  - ['1601', ⠼⠁⠋⠚⠁]
-  - ['1602', ⠼⠁⠋⠚⠃]
-  - ['1603', ⠼⠁⠋⠚⠉]
-  - ['1604', ⠼⠁⠋⠚⠙]
-  - ['1605', ⠼⠁⠋⠚⠑]
-  - ['1606', ⠼⠁⠋⠚⠋]
-  - ['1607', ⠼⠁⠋⠚⠛]
-  - ['1608', ⠼⠁⠋⠚⠓]
-  - ['1609', ⠼⠁⠋⠚⠊]
-  - [1609-70, ⠼⠁⠋⠚⠊⠤⠼⠛⠚]
-  - ['161', ⠼⠁⠋⠁]
-  - ['1610', ⠼⠁⠋⠁⠚]
-  - ['1611', ⠼⠁⠋⠁⠁]
-  - [1611-1613, ⠼⠁⠋⠁⠁⠤⠼⠁⠋⠁⠉]
-  - ['1612', ⠼⠁⠋⠁⠃]
-  - ['1613', ⠼⠁⠋⠁⠉]
-  - ['1615', ⠼⠁⠋⠁⠑]
-  - ['1616', ⠼⠁⠋⠁⠋]
-  - ['1617', ⠼⠁⠋⠁⠛]
-  - ['1618', ⠼⠁⠋⠁⠓]
-  - ['1619', ⠼⠁⠋⠁⠊]
-  - ['162', ⠼⠁⠋⠃]
-  - [162-rækkers, ⠼⠁⠋⠃⠤⠠⠗⠜⠅⠅⠑⠗⠎]
-  - ['1620', ⠼⠁⠋⠃⠚]
-  - ['1621', ⠼⠁⠋⠃⠁]
-  - ['1622', ⠼⠁⠋⠃⠃]
-  - ['1623', ⠼⠁⠋⠃⠉]
-  - ['1624', ⠼⠁⠋⠃⠙]
-  - ['1625', ⠼⠁⠋⠃⠑]
-  - [1625-1300, ⠼⠁⠋⠃⠑⠤⠼⠁⠉⠚⠚]
-  - [1625-1500, ⠼⠁⠋⠃⠑⠤⠼⠁⠑⠚⠚]
-  - ['1626', ⠼⠁⠋⠃⠋]
-  - ['1627', ⠼⠁⠋⠃⠛]
-  - ['1628', ⠼⠁⠋⠃⠓]
-  - ['1629', ⠼⠁⠋⠃⠊]
-  - ['163', ⠼⠁⠋⠉]
-  - ['1630', ⠼⠁⠋⠉⠚]
-  - [1630-85, ⠼⠁⠋⠉⠚⠤⠼⠓⠑]
-  - ['1631', ⠼⠁⠋⠉⠁]
-  - ['1632', ⠼⠁⠋⠉⠃]
-  - [1632-1704, ⠼⠁⠋⠉⠃⠤⠼⠁⠛⠚⠙]
-  - ['1633', ⠼⠁⠋⠉⠉]
-  - ['1634', ⠼⠁⠋⠉⠙]
-  - ['1635', ⠼⠁⠋⠉⠑]
-  - ['1636', ⠼⠁⠋⠉⠋]
-  - ['1637', ⠼⠁⠋⠉⠛]
-  - ['1638', ⠼⠁⠋⠉⠓]
-  - ['1639', ⠼⠁⠋⠉⠊]
-  - [1639-44, ⠼⠁⠋⠉⠊⠤⠼⠙⠙]
-  - ['164', ⠼⠁⠋⠙]
-  - ['1640', ⠼⠁⠋⠙⠚]
-  - [1640erne, ⠼⠁⠋⠙⠚⠠⠑⠗⠝⠑]
-  - ['1641', ⠼⠁⠋⠙⠁]
-  - ['1642', ⠼⠁⠋⠙⠃]
-  - [1642-49, ⠼⠁⠋⠙⠃⠤⠼⠙⠊]
-  - ['1643', ⠼⠁⠋⠙⠉]
-  - [1643-51, ⠼⠁⠋⠙⠉⠤⠼⠑⠁]
-  - ['1644', ⠼⠁⠋⠙⠙]
-  - [1644-1710, ⠼⠁⠋⠙⠙⠤⠼⠁⠛⠁⠚]
-  - [1644-1911, ⠼⠁⠋⠙⠙⠤⠼⠁⠊⠁⠁]
-  - ['1645', ⠼⠁⠋⠙⠑]
-  - [1645-1715, ⠼⠁⠋⠙⠑⠤⠼⠁⠛⠁⠑]
-  - ['1646', ⠼⠁⠋⠙⠋]
-  - ['1647', ⠼⠁⠋⠙⠛]
-  - ['1648', ⠼⠁⠋⠙⠓]
-  - ['1649', ⠼⠁⠋⠙⠊]
-  - ['165', ⠼⠁⠋⠑]
-  - [165-170, ⠼⠁⠋⠑⠤⠼⠁⠛⠚]
-  - ['1650', ⠼⠁⠋⠑⠚]
-  - [1650-56, ⠼⠁⠋⠑⠚⠤⠼⠑⠋]
-  - [1650erne, ⠼⠁⠋⠑⠚⠠⠑⠗⠝⠑]
-  - [1650ernes, ⠼⠁⠋⠑⠚⠠⠑⠗⠝⠑⠎]
-  - ['1651', ⠼⠁⠋⠑⠁]
-  - ['1652', ⠼⠁⠋⠑⠃]
-  - ['1653', ⠼⠁⠋⠑⠉]
-  - ['1654', ⠼⠁⠋⠑⠙]
-  - ['1655', ⠼⠁⠋⠑⠑]
-  - ['1656', ⠼⠁⠋⠑⠋]
-  - [1656-63, ⠼⠁⠋⠑⠋⠤⠼⠋⠉]
-  - ['1657', ⠼⠁⠋⠑⠛]
-  - [1657-58, ⠼⠁⠋⠑⠛⠤⠼⠑⠓]
-  - [1657-60, ⠼⠁⠋⠑⠛⠤⠼⠋⠚]
-  - ['1658', ⠼⠁⠋⠑⠓]
-  - [1658-60, ⠼⠁⠋⠑⠓⠤⠼⠋⠚]
-  - ['1659', ⠼⠁⠋⠑⠊]
-  - ['166', ⠼⠁⠋⠋]
-  - ['1660', ⠼⠁⠋⠋⠚]
-  - [1660-1740, ⠼⠁⠋⠋⠚⠤⠼⠁⠛⠙⠚]
-  - [1660-61, ⠼⠁⠋⠋⠚⠤⠼⠋⠁]
-  - ['1661', ⠼⠁⠋⠋⠁]
-  - ['1662', ⠼⠁⠋⠋⠃]
-  - ['1663', ⠼⠁⠋⠋⠉]
-  - ['1664', ⠼⠁⠋⠋⠙]
-  - ['1665', ⠼⠁⠋⠋⠑]
-  - ['1666', ⠼⠁⠋⠋⠋]
-  - [1666-77, ⠼⠁⠋⠋⠋⠤⠼⠛⠛]
-  - ['1667', ⠼⠁⠋⠋⠛]
-  - ['1668', ⠼⠁⠋⠋⠓]
-  - ['1669', ⠼⠁⠋⠋⠊]
-  - ['167', ⠼⠁⠋⠛]
-  - ['1670', ⠼⠁⠋⠛⠚]
-  - ['1671', ⠼⠁⠋⠛⠁]
-  - ['1672', ⠼⠁⠋⠛⠃]
-  - ['1673', ⠼⠁⠋⠛⠉]
-  - ['1674', ⠼⠁⠋⠛⠙]
-  - ['1675', ⠼⠁⠋⠛⠑]
-  - [1675-79, ⠼⠁⠋⠛⠑⠤⠼⠛⠊]
-  - ['1676', ⠼⠁⠋⠛⠋]
-  - ['1677', ⠼⠁⠋⠛⠛]
-  - ['1678', ⠼⠁⠋⠛⠓]
-  - ['1679', ⠼⠁⠋⠛⠊]
-  - ['168', ⠼⠁⠋⠓]
-  - ['1680', ⠼⠁⠋⠓⠚]
-  - [1680erne, ⠼⠁⠋⠓⠚⠠⠑⠗⠝⠑]
-  - [1680ernes, ⠼⠁⠋⠓⠚⠠⠑⠗⠝⠑⠎]
-  - ['1681', ⠼⠁⠋⠓⠁]
-  - ['1682', ⠼⠁⠋⠓⠃]
-  - ['1683', ⠼⠁⠋⠓⠉]
-  - [1684-1754, ⠼⠁⠋⠓⠙⠤⠼⠁⠛⠑⠙]
-  - ['1685', ⠼⠁⠋⠓⠑]
-  - ['1686', ⠼⠁⠋⠓⠋]
-  - ['1687', ⠼⠁⠋⠓⠛]
-  - ['1688', ⠼⠁⠋⠓⠓]
-  - ['1689', ⠼⠁⠋⠓⠊]
-  - ['169', ⠼⠁⠋⠊]
-  - ['1690', ⠼⠁⠋⠊⠚]
-  - ['1692', ⠼⠁⠋⠊⠃]
-  - ['1693', ⠼⠁⠋⠊⠉]
-  - ['1694', ⠼⠁⠋⠊⠙]
-  - ['1695', ⠼⠁⠋⠊⠑]
-  - ['1696', ⠼⠁⠋⠊⠋]
-  - ['1697', ⠼⠁⠋⠊⠛]
-  - ['1698', ⠼⠁⠋⠊⠓]
-  - ['1699', ⠼⠁⠋⠊⠊]
-  - [16b, ⠼⠁⠋⠠⠃]
-  - [16de, ⠼⠁⠋⠠⠙⠑]
-  - [16dec91, ⠼⠁⠋⠠⠙⠑⠉⠼⠊⠁]
-  - [16s, ⠼⠁⠋⠠⠎]
-  - [16th, ⠼⠁⠋⠠⠞⠓]
-  - [16v, ⠼⠁⠋⠠⠧]
-  - [16v-modellen, ⠼⠁⠋⠠⠧⠤⠍⠕⠙⠑⠇⠇⠑⠝]
-  - [16v-motor, ⠼⠁⠋⠠⠧⠤⠍⠕⠞⠕⠗]
-  - ['17', ⠼⠁⠛]
-  - [17-, ⠼⠁⠛⠤]
-  - [17-02, ⠼⠁⠛⠤⠼⠚⠃]
-  - [17-03, ⠼⠁⠛⠤⠼⠚⠉]
-  - [17-04, ⠼⠁⠛⠤⠼⠚⠙]
-  - [17-05, ⠼⠁⠛⠤⠼⠚⠑]
-  - [17-13, ⠼⠁⠛⠤⠼⠁⠉]
-  - [17-14, ⠼⠁⠛⠤⠼⠁⠙]
-  - [17-15, ⠼⠁⠛⠤⠼⠁⠑]
-  - [17-16, ⠼⠁⠛⠤⠼⠁⠋]
-  - [17-17, ⠼⠁⠛⠤⠼⠁⠛]
-  - [17-18, ⠼⠁⠛⠤⠼⠁⠓]
-  - [17-18-årige, ⠼⠁⠛⠤⠼⠁⠓⠤⠠⠡⠗⠊⠛⠑]
-  - [17-19, ⠼⠁⠛⠤⠼⠁⠊]
-  - [17-20, ⠼⠁⠛⠤⠼⠃⠚]
-  - [17-22, ⠼⠁⠛⠤⠼⠃⠃]
-  - [17-23, ⠼⠁⠛⠤⠼⠃⠉]
-  - [17-24, ⠼⠁⠛⠤⠼⠃⠙]
-  - [17-25, ⠼⠁⠛⠤⠼⠃⠑]
-  - [17-34, ⠼⠁⠛⠤⠼⠉⠙]
-  - [17-35, ⠼⠁⠛⠤⠼⠉⠑]
-  - [17-9, ⠼⠁⠛⠤⠼⠊]
-  - [17-dobbelte, ⠼⠁⠛⠤⠠⠙⠕⠃⠃⠑⠇⠞⠑]
-  - [17-tiden, ⠼⠁⠛⠤⠠⠞⠊⠙⠑⠝]
-  - [17-tommer, ⠼⠁⠛⠤⠠⠞⠕⠍⠍⠑⠗]
-  - [17-årig, ⠼⠁⠛⠤⠠⠡⠗⠊⠛]
-  - [17-årige, ⠼⠁⠛⠤⠠⠡⠗⠊⠛⠑]
-  - [17-åriges, ⠼⠁⠛⠤⠠⠡⠗⠊⠛⠑⠎]
-  - [17-års, ⠼⠁⠛⠤⠠⠡⠗⠎]
-  - ['170', ⠼⠁⠛⠚]
-  - [170-175, ⠼⠁⠛⠚⠤⠼⠁⠛⠑]
-  - [170-180, ⠼⠁⠛⠚⠤⠼⠁⠓⠚]
-  - ['1700', ⠼⠁⠛⠚⠚]
-  - [1700-, ⠼⠁⠛⠚⠚⠤]
-  - [1700-1200, ⠼⠁⠛⠚⠚⠤⠼⠁⠃⠚⠚]
-  - [1700-1800, ⠼⠁⠛⠚⠚⠤⠼⠁⠓⠚⠚]
-  - [1700-1800-tallet, ⠼⠁⠛⠚⠚⠤⠼⠁⠓⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1700-tal, ⠼⠁⠛⠚⠚⠤⠠⠞⠁⠇]
-  - [1700-tallet, ⠼⠁⠛⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞]
-  - [1700-tallets, ⠼⠁⠛⠚⠚⠤⠠⠞⠁⠇⠇⠑⠞⠎]
-  - [1700-tals, ⠼⠁⠛⠚⠚⠤⠠⠞⠁⠇⠎]
-  - [1700-årene, ⠼⠁⠛⠚⠚⠤⠠⠡⠗⠑⠝⠑]
-  - [1700-årenes, ⠼⠁⠛⠚⠚⠤⠠⠡⠗⠑⠝⠑⠎]
-  - ['17000', ⠼⠁⠛⠚⠚⠚]
-  - ['1701', ⠼⠁⠛⠚⠁]
-  - [1701-13, ⠼⠁⠛⠚⠁⠤⠼⠁⠉]
-  - ['1702', ⠼⠁⠛⠚⠃]
-  - ['1703', ⠼⠁⠛⠚⠉]
-  - ['1704', ⠼⠁⠛⠚⠙]
-  - ['1705', ⠼⠁⠛⠚⠑]
-  - ['1706', ⠼⠁⠛⠚⠋]
-  - ['170692', ⠼⠁⠛⠚⠋⠊⠃]
-  - ['1707', ⠼⠁⠛⠚⠛]
-  - [1707-83, ⠼⠁⠛⠚⠛⠤⠼⠓⠉]
-  - ['1708', ⠼⠁⠛⠚⠓]
-  - ['1709', ⠼⠁⠛⠚⠊]
-  - ['171', ⠼⠁⠛⠁]
-  - ['1710', ⠼⠁⠛⠁⠚]
-  - [1710nm, ⠼⠁⠛⠁⠚⠠⠝⠍]
-  - [1710nma, ⠼⠁⠛⠁⠚⠠⠝⠍⠁]
-  - [1710nmb, ⠼⠁⠛⠁⠚⠠⠝⠍⠃]
-  - [1710nmc, ⠼⠁⠛⠁⠚⠠⠝⠍⠉]
-  - ['1711', ⠼⠁⠛⠁⠁]
-  - ['171192', ⠼⠁⠛⠁⠁⠊⠃]
-  - ['1712', ⠼⠁⠛⠁⠃]
-  - ['171292', ⠼⠁⠛⠁⠃⠊⠃]
-  - ['1713', ⠼⠁⠛⠁⠉]
-  - ['1714', ⠼⠁⠛⠁⠙]
-  - ['1715', ⠼⠁⠛⠁⠑]
-  - ['1716', ⠼⠁⠛⠁⠋]
-  - ['1717', ⠼⠁⠛⠁⠛]
-  - ['1718', ⠼⠁⠛⠁⠓]
-  - ['1719', ⠼⠁⠛⠁⠊]
-  - ['172', ⠼⠁⠛⠃]
-  - ['1720', ⠼⠁⠛⠃⠚]
-  - ['1721', ⠼⠁⠛⠃⠁]
-  - ['1722', ⠼⠁⠛⠃⠃]
-  - ['1723', ⠼⠁⠛⠃⠉]
-  - ['1724', ⠼⠁⠛⠃⠙]
-  - [1724-1804, ⠼⠁⠛⠃⠙⠤⠼⠁⠓⠚⠙]
-  - ['1725', ⠼⠁⠛⠃⠑]