#
#  Copyright (C) 2010, 2011 by DocArch <http://www.docarch.be>
#  Copyright (C) 2014 by Bert Frees
#  Copyright (C) 2014 by CBB <http://www.cbb.nl>
#  Copyright (C) 2015, 2016 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 2005
#
#     Created by Bert Frees <bertfrees@gmail.com>
#     Modified by Henri Apperloo <h.apperloo@cbb.nl>
#     Modified by Davy Kager <DavyKager@dedicon.nl>
#
#     See also: « Braillestandaard voor algemeen gebruik in het Nederlandse taalgebied,
#                Van toepassing vanaf 1 september 2005 »
#              (Federatie Slechtzienden- en Blindenbelang en 
#                Belgische Confederatie voor Blinden en Slechtzienden, 2005)
#               [https://cdn.rawgit.com/liblouis/braille-specs/master/Belgium/Eindtekst-zonder-voorblad-dec-2005.doc][1]
#
# ----------------------------------------------------------------------------------------------

# ==============================================================================================
# SINGLE-CELL
# ==============================================================================================

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


space       \x0009        9                                       <control> HORIZONTAL TABULATION
space       \x000A        0                                       <control> LINE FEED
space       \x000C        0                                       <control> FORM FEED
space       \x000D        0                                       <control> CARRIAGE RETURN
space       \x001B        1b                                      <control> ESCAPE
space       \x0020        0                                       SPACE
punctuation \x0021        235                 !                   EXCLAMATION MARK
punctuation \x0022        2356                "                   QUOTATION MARK
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

punctuation \x003A        25                  :                   COLON
punctuation \x003B        23                  ;                   SEMICOLON
math        \x003D        2356                =                   EQUALS SIGN
punctuation \x003F        26                  ?                   QUESTION MARK
sign        \x0040        345                 @                   COMMERCIAL AT
punctuation \x005B        12356               [                   LEFT SQUARE BRACKET
punctuation \x005D        23456               ]                   RIGHT SQUARE BRACKET
sign        \x005E        34                  ^                   CIRCUMFLEX ACCENT
sign        \x005F        456                 _                   LOW LINE
punctuation \x0060        3                   `                   GRAVE ACCENT


# ----------------------------------------------------------------------------------------------
# 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
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
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
punctuation \x009B        3                   ›                   <control> CONTROL SEQUENCE INTRODUCER - ANSI: SINGLE RIGHT-POINTING ANGLE QUOTATION MARK - MACROMAN: O TILDE

space       \x00A0        a                                       NO-BREAK SPACE
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
punctuation \x00AB        2356                «                   LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
punctuation \x00AD        367                 ­                   SOFT HYPHEN
sign        \x00B1        235-36              ±                   PLUS-MINUS SIGN
sign        \x00B4        3                   ´                   ACUTE ACCENT
sign        \x00B5        56-134              µ                   MICRO SIGN
punctuation \x00BB        2356                »                   RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
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


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

sign        \x20AC        15                  €                   EURO SIGN


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

math        \x2212        36                  −                   MINUS SIGN
math        \x2215        34                  ∕                   DIVISION SLASH
math        \x2217        35                  ∗                   ASTERISK OPERATOR


# ==============================================================================================
# MULTI-CELL
# ==============================================================================================

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

sign        \x0023        5-3456              #                   NUMBER SIGN
math        \x003C        5-246               <                   LESS-THAN SIGN
math        \x003E        5-135               >                   GREATER-THAN SIGN
sign        \x005C        5-16                \                   REVERSE SOLIDUS
math        \x007E        5-26                ~                   TILDE


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

punctuation \x0085        256-256-256         …                   <control> NEXT LINE (NEL) - ANSI: HORIZONTAL ELLIPSIS - MACROMAN: O DIAERESIS
sign        \x0089        123456-123456       ‰                   <control> CHARACTER TABULATION WITH JUSTIFICATION - ANSI: PER MILLE SIGN - MACROMAN: A CIRCUMFLEX
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
sign        \x00A9        5-14                ©                   COPYRIGHT SIGN
sign        \x00AE        5-1235              ®                   REGISTERED SIGN
sign        \x00B0        4-356               °                   DEGREE SIGN
math        \x00B2        34-3456-12          ²                   SUPERSCRIPT TWO
math        \x00B3        34-3456-14          ³                   SUPERSCRIPT THREE
sign        \x00B8        45                  ¸                   CEDILLA
sign        \x00B9        34-3456-1           ¹                   SUPERSCRIPT ONE
sign        \x00BA        4-356               º                   MASCULINE ORDINAL INDICATOR
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


# ----------------------------------------------------------------------------------------------
# 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 2000..206F  General Punctuation
# ----------------------------------------------------------------------------------------------

punctuation \x2026        256-256-256         …                   HORIZONTAL ELLIPSIS
sign        \x2030        123456-123456       ‰                   PER MILLE SIGN


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

math        \x2070        34-3456-245         ⁰                   SUPERSCRIPT ZERO
math        \x2074        34-3456-145         ⁴                   SUPERSCRIPT FOUR
math        \x2075        34-3456-15          ⁵                   SUPERSCRIPT FIVE
math        \x2076        34-3456-124         ⁶                   SUPERSCRIPT SIX
math        \x2077        34-3456-1245        ⁷                   SUPERSCRIPT SEVEN
math        \x2078        34-3456-125         ⁸                   SUPERSCRIPT EIGHT
math        \x2079        34-3456-24          ⁹                   SUPERSCRIPT NINE
math        \x207F        34-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 2100..214F  Letterlike Symbols
# ----------------------------------------------------------------------------------------------

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


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

math        \x2216        5-16                ∖                   SET MINUS
math        \x2219        5-256               ∙                   BULLET OPERATOR


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