#
#  Copyright (C) 2010, 2011 by DocArch <http://www.docarch.be>
#  Copyright (C) 2014, 2019 by Bert Frees
#  Copyright (C) 2014 by CBB <http://www.cbb.nl>
#  Copyright (C) 2015, 2016, 2018-2019 by Dedicon <http://www.dedicon.nl>
#
#  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 3 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/>.
#
#-------------------------------------------------------------------------------
#
#  Dutch Braille based on the braille standard of 2017
#
#     Created by Bert Frees <bertfrees@gmail.com>
#     Modified by Henri Apperloo <h.apperloo@cbb.nl>
#     Modified by Davy Kager <DavyKager@dedicon.nl>
#     Modified by Paul Rambags <paulrambags@dedicon.nl>
#
#     See also: « Braillestandaard voor algemeen gebruik in het Nederlandse taalgebied,
#                Van toepassing vanaf 19 april 2018 »
#              (Braille Autoriteit, 2018)
#               [http://liblouis.org/braille-specs/dutch][1]
#
# ----------------------------------------------------------------------------------------------

space       \x0009        9                                       <control> HORIZONTAL TABULATION
space       \x001B        1b                                      <control> ESCAPE
space       \x00A0        a                                       NO-BREAK SPACE
include spaces.uti

# ----------------------------------------------------------------------------------------------
# Unicode 0000..007F  C0 Controls and Basic Latin
# ----------------------------------------------------------------------------------------------

include latinLetterDef6Dots.uti

uplow       \x00C0\x00E0  12356,12356         Àà                  LATIN CAPITAL LETTER A WITH GRAVE - LATIN SMALL LETTER A WITH GRAVE
uplow       \x00C1\x00E1  12356,12356         Áá                  LATIN CAPITAL LETTER A WITH ACUTE - LATIN SMALL LETTER A WITH ACUTE
uplow       \x00C2\x00E2  16,16               Ââ                  LATIN CAPITAL LETTER A WITH CIRCUMFLEX - LATIN SMALL LETTER A WITH CIRCUMFLEX
uplow       \x00C4\x00E4  345,345             Ää                  LATIN CAPITAL LETTER A WITH DIAERESIS - LATIN SMALL LETTER A WITH DIAERESIS
uplow       \x00C7\x00E7  12346,12346         Çç                  LATIN CAPITAL LETTER C WITH CEDILLA - LATIN SMALL LETTER C WITH CEDILLA
uplow       \x00C8\x00E8  2346,2346           Èè                  LATIN CAPITAL LETTER E WITH GRAVE - LATIN SMALL LETTER E WITH GRAVE
uplow       \x00C9\x00E9  123456,123456       Éé                  LATIN CAPITAL LETTER E WITH ACUTE - LATIN SMALL LETTER E WITH ACUTE
uplow       \x00CA\x00EA  126,126             Êê                  LATIN CAPITAL LETTER E WITH CIRCUMFLEX - LATIN SMALL LETTER E WITH CIRCUMFLEX
uplow       \x00CB\x00EB  1246,1246           Ëë                  LATIN CAPITAL LETTER E WITH DIAERESIS - LATIN SMALL LETTER E WITH DIAERESIS
uplow       \x00CD\x00ED  34,34               Íí                  LATIN CAPITAL LETTER I WITH ACUTE - LATIN SMALL LETTER I WITH ACUTE
uplow       \x00CE\x00EE  146,146             Îî                  LATIN CAPITAL LETTER I WITH CIRCUMFLEX - LATIN SMALL LETTER I WITH CIRCUMFLEX
uplow       \x00CF\x00EF  12456,12456         Ïï                  LATIN CAPITAL LETTER I WITH DIAERESIS - LATIN SMALL LETTER I WITH DIAERESIS
uplow       \x00D1\x00F1  12456,12456         Ññ                  LATIN CAPITAL LETTER N WITH TILDE - LATIN SMALL LETTER N WITH TILDE
uplow       \x00D2\x00F2  346,346             Òò                  LATIN CAPITAL LETTER O WITH GRAVE - LATIN SMALL LETTER O WITH GRAVE
uplow       \x00D3\x00F3  346,346             Óó                  LATIN CAPITAL LETTER O WITH ACUTE - LATIN SMALL LETTER O WITH ACUTE
uplow       \x00D4\x00F4  1456,1456           Ôô                  LATIN CAPITAL LETTER O WITH CIRCUMFLEX - LATIN SMALL LETTER O WITH CIRCUMFLEX
uplow       \x00D6\x00F6  246,246             Öö                  LATIN CAPITAL LETTER O WITH DIAERESIS - LATIN SMALL LETTER O WITH DIAERESIS
uplow       \x00D9\x00F9  23456,23456         Ùù                  LATIN CAPITAL LETTER U WITH GRAVE - LATIN SMALL LETTER U WITH GRAVE
uplow       \x00DA\x00FA  23456,23456         Úú                  LATIN CAPITAL LETTER U WITH ACUTE - LATIN SMALL LETTER U WITH ACUTE
uplow       \x00DB\x00FB  156,156             Ûû                  LATIN CAPITAL LETTER U WITH CIRCUMFLEX - LATIN SMALL LETTER U WITH CIRCUMFLEX
uplow       \x00DC\x00FC  1256,1256           Üü                  LATIN CAPITAL LETTER U WITH DIAERESIS - LATIN SMALL LETTER U WITH DIAERESIS
uplow       \x1E9E\x00DF  2346,2346           ẞß                  LATIN CAPITAL LETTER SHARP S - LATIN SMALL LETTER SHARP S


punctuation \x0021        235                 !                   EXCLAMATION MARK
punctuation \x0022        2356                "                   QUOTATION MARK
sign        \x0023        5-3456              #                   NUMBER SIGN
sign        \x0024        145                 $                   DOLLAR SIGN
sign        \x0025        123456              %                   PERCENT SIGN
sign        \x0026        12346a              &                   AMPERSAND
punctuation \x0027        3                   '                   APOSTROPHE
punctuation \x0028        236                 (                   LEFT PARENTHESIS
punctuation \x0029        356                 )                   RIGHT PARENTHESIS
sign        \x002A        35                  *                   ASTERISK
math        \x002B        235a                +                   PLUS SIGN
punctuation \x002C        2                   ,                   COMMA
punctuation \x002D        36                  -                   HYPHEN-MINUS
punctuation \x002E        256                 .                   FULL STOP
math        \x002F        34                  /                   SOLIDUS

include digits6Dots.uti
include litdigits6Dots.uti

punctuation \x003A        25                  :                   COLON
punctuation \x003B        23                  ;                   SEMICOLON
math        \x003C        5-246               <                   LESS-THAN SIGN
math        \x003D        2356                =                   EQUALS SIGN
math        \x003E        5-135               >                   GREATER-THAN SIGN
punctuation \x003F        26                  ?                   QUESTION MARK
sign        \x0040        345                 @                   COMMERCIAL AT
punctuation \x005B        12356               [                   LEFT SQUARE BRACKET
sign        \x005C        5-16                \                   REVERSE SOLIDUS
punctuation \x005D        23456               ]                   RIGHT SQUARE BRACKET
sign        \x005E        346                 ^                   CIRCUMFLEX ACCENT
sign        \x005F        456                 _                   LOW LINE
punctuation \x0060        3                   `                   GRAVE ACCENT
sign        \x007C        1456                |                   VERTICAL LINE
sign        \x007B        5-12356             {                   LEFT CURLY BRACKET
sign        \x007D        5-23456             }                   RIGHT CURLY BRACKET
math        \x007E        5-26                ~                   TILDE


# ----------------------------------------------------------------------------------------------
# Unicode 0080..00FF  C1 Controls and Latin-1 Supplement
# ----------------------------------------------------------------------------------------------

sign        \x0080        15                  €                   <control> - ANSI: EURO-CURRENCY SIGN - MACROMAN: A DIAERESIS
punctuation \x0082        3                   ‚                   <control> BREAK PERMITTED HERE - ANSI: SINGLE LOW-9 QUOTATION MARK - MACROMAN: C CEDILLA
punctuation \x0084        2356                „                   <control> - ANSI: DOUBLE LOW-9 QUOTATION MARK - MACROMAN: N TILDE
punctuation \x0085        256-256-256         …                   <control> NEXT LINE (NEL) - ANSI: HORIZONTAL ELLIPSIS - MACROMAN: O DIAERESIS
sign        \x0086        235                 †                   <control> START OF SELECTED AREA - ANSI: DAGGER - MACROMAN: U DIAERESIS
punctuation \x0088        34                  ˆ                   <control> CHARACTER TABULATION SET - ANSI: MODIFIER LETTER CIRCUMFLEX ACCENT - MACROMAN: A GRAVE
sign        \x0089        123456-123456       ‰                   <control> CHARACTER TABULATION WITH JUSTIFICATION - ANSI: PER MILLE SIGN - MACROMAN: A CIRCUMFLEX
punctuation \x008B        3                   ‹                   <control> PARTIAL LINE FORWARD - ANSI: SINGLE LEFT-POINTING ANGLE QUOTATION MARK - MACROMAN: A TILDE
punctuation \x0091        3                   ‘                   <control> PRIVATE USE ONE - ANSI: LEFT SINGLE QUOTATION MARK - MACROMAN: E DIAERESIS
punctuation \x0092        3                   ’                   <control> PRIVATE USE TWO - ANSI: RIGHT SINGLE QUOTATION MARK - MACROMAN: I ACUTE
punctuation \x0093        2356                “                   <control> SET TRANSMIT STATE - ANSI: LEFT DOUBLE QUOTATION MARK - MACROMAN: I GRAVE
punctuation \x0094        2356                ”                   <control> CANCEL CHARACTER - ANSI: RIGHT DOUBLE QUOTATION MARK - MACROMAN: I CIRCUMFLEX
sign        \x0095        5-256               •                   <control> MESSAGE WAITING - ANSI: BULLET - MACROMAN: I DIAERESIS
punctuation \x0096        36                  –                   <control> START OF GUARDED AREA - ANSI: EN DASH - MACROMAN: N TILDE
punctuation \x0097        36                  —                   <control> END OF GUARDED AREA - ANSI: EM DASH - MACROMAN: O ACUTE
sign        \x0098        5-26                ˜                   <control> START OF STRING - ANSI: SMALL TILDE - MACROMAN: O GRAVE
sign        \x0099        5-2345-134          ™                   <control> - ANSI: TRADE MARK SIGN - MACROMAN: O CIRCUMFLEX
punctuation \x009B        3                   ›                   <control> CONTROL SEQUENCE INTRODUCER - ANSI: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - MACROMAN: O TILDE

punctuation \x00A1        235                 ¡                   INVERTED EXCLAMATION MARK
sign        \x00A2        14                  ¢                   CENT SIGN
sign        \x00A3        1234                £                   POUND SIGN
sign        \x00A5        13456               ¥                   YEN SIGN
sign        \x00A7        346                 §                   SECTION SIGN
sign        \x00A9        5-14                ©                   COPYRIGHT SIGN
punctuation \x00AB        2356                «                   LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
punctuation \x00AD        36                 ­                   SOFT HYPHEN
sign        \x00AE        5-1235              ®                   REGISTERED SIGN
sign        \x00B0        4-356               °                   DEGREE SIGN
sign        \x00B1        235-36              ±                   PLUS-MINUS SIGN
math        \x00B2        346-3456-12         ²                   SUPERSCRIPT TWO
math        \x00B3        346-3456-14         ³                   SUPERSCRIPT THREE
sign        \x00B4        3                   ´                   ACUTE ACCENT
sign        \x00B5        56-134              µ                   MICRO SIGN
math        \x00B7        236                 ·                   MIDDLE DOT
sign        \x00B8        45                  ¸                   CEDILLA
sign        \x00B9        346-3456-1          ¹                   SUPERSCRIPT ONE
sign        \x00BA        4-356               º                   MASCULINE ORDINAL INDICATOR
punctuation \x00BB        2356                »                   RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
math        \x00BC        3456-1-34-3456-145  ¼                   VULGAR FRACTION ONE QUARTER
math        \x00BD        3456-1-34-3456-12   ½                   VULGAR FRACTION ONE HALF
math        \x00BE        3456-14-34-3456-145 ¾                   VULGAR FRACTION THREE QUARTERS
punctuation \x00BF        26                  ¿                   INVERTED QUESTION MARK
math        \x00D7        236                 ×                   MULTIPLICATION SIGN
math        \x00F7        256                 ÷                   DIVISION SIGN


# ----------------------------------------------------------------------------------------------
# Unicode 0100..017F  Latin Extended-A
# ----------------------------------------------------------------------------------------------

uplow       \x0191\x0192  124,124             Ƒƒ                  LATIN CAPITAL LETTER F WITH HOOK - LATIN SMALL LETTER F WITH HOOK


# ----------------------------------------------------------------------------------------------
# Unicode 2000..206F  General Punctuation
# ----------------------------------------------------------------------------------------------

punctuation \x2010        36                  ‐                   HYPHEN
punctuation \x2011        36                  ‑                   NON-BREAKING HYPHEN
punctuation \x2013        36                  –                   EN DASH
punctuation \x2014        36                  —                   EM DASH
punctuation \x2018        3                   ‘                   LEFT SINGLE QUOTATION MARK
punctuation \x2019        3                   ’                   RIGHT SINGLE QUOTATION MARK
punctuation \x201C        2356                “                   LEFT DOUBLE QUOTATION MARK
punctuation \x201D        2356                ”                   RIGHT DOUBLE QUOTATION MARK
punctuation \x201E        2356                „                   DOUBLE LOW-9 QUOTATION MARK
punctuation \x201F        2356                ‟                   DOUBLE HIGH-REVERSED-9 QUOTATION MARK
sign        \x2020        235                 †                   DAGGER
punctuation \x2026        256-256-256         …                   HORIZONTAL ELLIPSIS
sign        \x2030        123456-123456       ‰                   PER MILLE SIGN


# ----------------------------------------------------------------------------------------------
# Unicode 2070..209F  Superscripts and Subscripts
# ----------------------------------------------------------------------------------------------

math        \x2070        346-3456-245        ⁰                   SUPERSCRIPT ZERO
math        \x2074        346-3456-145        ⁴                   SUPERSCRIPT FOUR
math        \x2075        346-3456-15         ⁵                   SUPERSCRIPT FIVE
math        \x2076        346-3456-124        ⁶                   SUPERSCRIPT SIX
math        \x2077        346-3456-1245       ⁷                   SUPERSCRIPT SEVEN
math        \x2078        346-3456-125        ⁸                   SUPERSCRIPT EIGHT
math        \x2079        346-3456-24         ⁹                   SUPERSCRIPT NINE
math        \x207F        346-1345            ⁿ                   SUPERSCRIPT LATIN SMALL LETTER N
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
math        \x2090        16-1                ₐ                   LATIN SUBSCRIPT SMALL LETTER A
math        \x2091        16-15               ₑ                   LATIN SUBSCRIPT SMALL LETTER E
math        \x2092        16-135              ₒ                   LATIN SUBSCRIPT SMALL LETTER O
math        \x2093        16-1346             ₓ                   LATIN SUBSCRIPT SMALL LETTER X


# ----------------------------------------------------------------------------------------------
# Unicode 20A0..20CF  Currency Symbols
# ----------------------------------------------------------------------------------------------

sign        \x20AC        15                  €                   EURO SIGN


# ----------------------------------------------------------------------------------------------
# Unicode 2100..214F  Letterlike Symbols
# ----------------------------------------------------------------------------------------------

sign        \x2122        5-2345-134          ™                   TRADE MARK SIGN


# ----------------------------------------------------------------------------------------------
# Unicode 2150..218F  Number Forms
# ----------------------------------------------------------------------------------------------

math        \x2150        3456-1-34-3456-1245   ⅐                   VULGAR FRACTION ONE SEVENTH
math        \x2151        3456-1-34-3456-24     ⅑                   VULGAR FRACTION ONE NINTH
math        \x2152        3456-1-34-3456-1-256  ⅒                   VULGAR FRACTION ONE TENTH
math        \x2153        3456-1-34-3456-14     ⅓                   VULGAR FRACTION ONE THIRD
math        \x2154        3456-12-34-3456-14    ⅔                   VULGAR FRACTION TWO THIRDS
math        \x2155        3456-1-34-3456-15     ⅕                   VULGAR FRACTION ONE FIFTH
math        \x2156        3456-12-34-3456-15    ⅖                   VULGAR FRACTION TWO FIFTHS
math        \x2157        3456-14-34-3456-15    ⅗                   VULGAR FRACTION THREE FIFTHS
math        \x2158        3456-145-34-3456-15   ⅘                   VULGAR FRACTION FOUR FIFTHS
math        \x2159        3456-1-34-3456-124    ⅙                   VULGAR FRACTION ONE SIXTH
math        \x215A        3456-15-34-3456-124   ⅚                   VULGAR FRACTION FIVE SIXTHS
math        \x215B        3456-1-34-3456-125    ⅛                   VULGAR FRACTION ONE EIGHTH
math        \x215C        3456-14-34-3456-125   ⅜                   VULGAR FRACTION THREE EIGHTHS
math        \x215D        3456-15-34-3456-125   ⅝                   VULGAR FRACTION FIVE EIGHTHS
math        \x215E        3456-1245-34-3456-125 ⅞                   VULGAR FRACTION SEVEN EIGHTHS


# ----------------------------------------------------------------------------------------------
# Unicode 2200..22FF  Mathematical Operators
# ----------------------------------------------------------------------------------------------

math        \x2212        36                  −                   MINUS SIGN
math        \x2215        34                  ∕                   DIVISION SLASH
math        \x2216        5-16                ∖                   SET MINUS
math        \x2217        35                  ∗                   ASTERISK OPERATOR
math        \x2219        236                 ∙                   BULLET OPERATOR
math        \x22C5        236                 ⋅                   DOT OPERATOR


# ----------------------------------------------------------------------------------------------
