#
#  Copyright (C) 2011 by Bert Frees <bertfrees@gmail.com>
#  Copyright (C) 2011 by Jan Halousek <merit@login.cz>
#  Copyright (C) 2012 by Brailcom, o.p.s.
#
#  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/>.
#
# ----------------------------------------------------------------------------------------------
#
#  Czech Braille
#
#     Created and maintained by Bert Frees <bertfrees@gmail.com>
#                               Jan Halousek <merit@login.cz>
#
#     Based on the official Czech Braille Standard
# ----------------------------------------------------------------------------------------------

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

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

# Note that we can not include latinLetterDef8Dots.uti because it
# defines "w" as 2456. Czech braille uses 2456 for "ř" and "w" is
# mapped to 12356.

lowercase \x0061  1               a                 LATIN SMALL LETTER A
lowercase \x00E1  16              á                 LATIN SMALL LETTER A WITH ACUTE
lowercase \x0062  12              b                 LATIN SMALL LETTER B
lowercase \x0063  14              c                 LATIN SMALL LETTER C
lowercase \x010D  146             č                 LATIN SMALL LETTER C WITH CARON
lowercase \x0064  145             d                 LATIN SMALL LETTER D
lowercase \x010F  1456            ď                 LATIN SMALL LETTER D WITH CARON
lowercase \x0065  15              e                 LATIN SMALL LETTER E
lowercase \x00E9  345             é                 LATIN SMALL LETTER E WITH ACUTE
lowercase \x011B  126             ě                 LATIN SMALL LETTER E WITH CARON
lowercase \x0066  124             f                 LATIN SMALL LETTER F
lowercase \x0067  1245            g                 LATIN SMALL LETTER G
lowercase \x0068  125             h                 LATIN SMALL LETTER H
lowercase \x0069  24              i                 LATIN SMALL LETTER I
lowercase \x00ED  34              í                 LATIN SMALL LETTER I WITH ACUTE
lowercase \x006A  245             j                 LATIN SMALL LETTER J
lowercase \x006B  13              k                 LATIN SMALL LETTER K
lowercase \x006C  123             l                 LATIN SMALL LETTER L
lowercase \x013E  123456          ľ                 LATIN SMALL LETTER L WITH CARON
lowercase \x006D  134             m                 LATIN SMALL LETTER M
lowercase \x006E  1345            n                 LATIN SMALL LETTER N
lowercase \x0148  1246            ň                 LATIN SMALL LETTER N WITH CARON
lowercase \x006F  135             o                 LATIN SMALL LETTER O
lowercase \x00F3  246             ó                 LATIN SMALL LETTER O WITH ACUTE
lowercase \x0070  1234            p                 LATIN SMALL LETTER P
lowercase \x0071  12345           q                 LATIN SMALL LETTER Q
lowercase \x0072  1235            r                 LATIN SMALL LETTER R
lowercase \x0159  2456            ř                 LATIN SMALL LETTER R WITH CARON
lowercase \x0073  234             s                 LATIN SMALL LETTER S
lowercase \x0161  156             š                 LATIN SMALL LETTER S WITH CARON
lowercase \x0074  2345            t                 LATIN SMALL LETTER T
lowercase \x0165  1256            ť                 LATIN SMALL LETTER T WITH CARON
lowercase \x0075  136             u                 LATIN SMALL LETTER U
lowercase \x00FA  346             ú                 LATIN SMALL LETTER U WITH ACUTE
lowercase \x016F  23456           ů                 LATIN SMALL LETTER U WITH RING ABOVE
lowercase \x0076  1236            v                 LATIN SMALL LETTER V
lowercase \x0077  12356           w                 LATIN SMALL LETTER W
lowercase \x0078  1346            x                 LATIN SMALL LETTER X
lowercase \x0079  13456           y                 LATIN SMALL LETTER Y
lowercase \x00FD  12346           ý                 LATIN SMALL LETTER Y WITH ACUTE
lowercase \x007A  1356            z                 LATIN SMALL LETTER Z
lowercase \x017E  2346            ž                 LATIN SMALL LETTER Z WITH CARON

base uppercase \x0041 \x0061     Aa                 LATIN CAPITAL LETTER A - LATIN SMALL LETTER A
base uppercase \x00C1 \x00E1     Áá                 LATIN CAPITAL LETTER A WITH ACUTE - LATIN SMALL LETTER A WITH ACUTE
base uppercase \x0042 \x0062     Bb                 LATIN CAPITAL LETTER B - LATIN SMALL LETTER B
base uppercase \x0043 \x0063     Cc                 LATIN CAPITAL LETTER C - LATIN SMALL LETTER C
base uppercase \x010C \x010D     Čč                 LATIN CAPITAL LETTER C WITH CARON - LATIN SMALL LETTER C WITH CARON
base uppercase \x0044 \x0064     Dd                 LATIN CAPITAL LETTER D - LATIN SMALL LETTER D
base uppercase \x010E \x010F     Ďď                 LATIN CAPITAL LETTER D WITH CARON - LATIN SMALL LETTER D WITH CARON
base uppercase \x0045 \x0065     Ee                 LATIN CAPITAL LETTER E - LATIN SMALL LETTER E
base uppercase \x00C9 \x00E9     Éé                 LATIN CAPITAL LETTER E WITH ACUTE - LATIN SMALL LETTER E WITH ACUTE
base uppercase \x011A \x011B     Ěě                 LATIN CAPITAL LETTER E WITH CARON - LATIN SMALL LETTER E WITH CARON
base uppercase \x0046 \x0066     Ff                 LATIN CAPITAL LETTER F - LATIN SMALL LETTER F
base uppercase \x0047 \x0067     Gg                 LATIN CAPITAL LETTER G - LATIN SMALL LETTER G
base uppercase \x0048 \x0068     Hh                 LATIN CAPITAL LETTER H - LATIN SMALL LETTER H
base uppercase \x0049 \x0069     Ii                 LATIN CAPITAL LETTER I - LATIN SMALL LETTER I
base uppercase \x00CD \x00ED     Íí                 LATIN CAPITAL LETTER I WITH ACUTE - LATIN SMALL LETTER I WITH ACUTE
base uppercase \x004A \x006A     Jj                 LATIN CAPITAL LETTER J - LATIN SMALL LETTER J
base uppercase \x004B \x006B     Kk                 LATIN CAPITAL LETTER K - LATIN SMALL LETTER K
base uppercase \x004C \x006C     Ll                 LATIN CAPITAL LETTER L - LATIN SMALL LETTER L
base uppercase \x013D \x013E     Ľľ                 LATIN CAPITAL LETTER L WITH CARON - LATIN SMALL LETTER L WITH CARON
base uppercase \x004D \x006D     Mm                 LATIN CAPITAL LETTER M - LATIN SMALL LETTER M
base uppercase \x004E \x006E     Nn                 LATIN CAPITAL LETTER N - LATIN SMALL LETTER N
base uppercase \x0147 \x0148     Ňň                 LATIN CAPITAL LETTER N WITH CARON - LATIN SMALL LETTER N WITH CARON
base uppercase \x004F \x006F     Oo                 LATIN CAPITAL LETTER O - LATIN SMALL LETTER O
base uppercase \x00D3 \x00F3     Óó                 LATIN CAPITAL LETTER O WITH ACUTE - LATIN SMALL LETTER O WITH ACUTE
base uppercase \x0050 \x0070     Pp                 LATIN CAPITAL LETTER P - LATIN SMALL LETTER P
base uppercase \x0051 \x0071     Qq                 LATIN CAPITAL LETTER Q - LATIN SMALL LETTER Q
base uppercase \x0052 \x0072     Rr                 LATIN CAPITAL LETTER R - LATIN SMALL LETTER R
base uppercase \x0158 \x0159     Řř                 LATIN CAPITAL LETTER R WITH CARON - LATIN SMALL LETTER R WITH CARON
base uppercase \x0053 \x0073     Ss                 LATIN CAPITAL LETTER S - LATIN SMALL LETTER S
base uppercase \x0160 \x0161     Šš                 LATIN CAPITAL LETTER S WITH CARON - LATIN SMALL LETTER S WITH CARON
base uppercase \x0054 \x0074     Tt                 LATIN CAPITAL LETTER T - LATIN SMALL LETTER T
base uppercase \x0164 \x0165     Ťť                 LATIN CAPITAL LETTER T WITH CARON - LATIN SMALL LETTER T WITH CARON
base uppercase \x0055 \x0075     Uu                 LATIN CAPITAL LETTER U - LATIN SMALL LETTER U
base uppercase \x00DA \x00FA     Úú                 LATIN CAPITAL LETTER U WITH ACUTE - LATIN SMALL LETTER U WITH ACUTE
base uppercase \x016E \x016F     Ůů                 LATIN CAPITAL LETTER U WITH RING ABOVE - LATIN SMALL LETTER U WITH RING ABOVE
base uppercase \x0056 \x0076     Vv                 LATIN CAPITAL LETTER V - LATIN SMALL LETTER V
base uppercase \x0057 \x0077     Ww                 LATIN CAPITAL LETTER W - LATIN SMALL LETTER W
base uppercase \x0058 \x0078     Xx                 LATIN CAPITAL LETTER X - LATIN SMALL LETTER X
base uppercase \x0059 \x0079     Yy                 LATIN CAPITAL LETTER Y - LATIN SMALL LETTER Y
base uppercase \x00DD \x00FD     Ýý                 LATIN CAPITAL LETTER Y WITH ACUTE - LATIN SMALL LETTER Y WITH ACUTE
base uppercase \x005A \x007A     Zz                 LATIN CAPITAL LETTER Z - LATIN SMALL LETTER Z
base uppercase \x017D \x017E     Žž                 LATIN CAPITAL LETTER Z WITH CARON - LATIN SMALL LETTER Z WITH CARON

# Uppercase letters in computer braille mode
comp6 \x0041 17
comp6 \x00C1 167
comp6 \x0042 127
comp6 \x0043 147
comp6 \x010C 1467
comp6 \x0044 1457
comp6 \x010E 14567
comp6 \x0045 157
comp6 \x00C9 3457
comp6 \x011A 1267
comp6 \x0046 1247
comp6 \x0047 12457
comp6 \x0048 1257
comp6 \x0049 247
comp6 \x00CD 347
comp6 \x004A 2457
comp6 \x004B 137
comp6 \x004C 1237
comp6 \x013D 1234567
comp6 \x004D 1347
comp6 \x004E 13457
comp6 \x0147 12467
comp6 \x004F 1357
comp6 \x00D3 2467
comp6 \x0050 12347
comp6 \x0051 123457
comp6 \x0052 12357
comp6 \x0158 24567
comp6 \x0053 2347
comp6 \x0160 1567
comp6 \x0054 23457
comp6 \x0164 12567
comp6 \x0055 1367
comp6 \x00DA 3467
comp6 \x016E 234567
comp6 \x0056 12367
comp6 \x0057 123567
comp6 \x0058 13467
comp6 \x0059 134567
comp6 \x00DD 123467
comp6 \x005A 13567
comp6 \x017D 23467

nofor always \x0041 17
nofor always \x00C1 167
nofor always \x0042 127
nofor always \x0043 147
nofor always \x010C 1467
nofor always \x0044 1457
nofor always \x010E 14567
nofor always \x0045 157
nofor always \x00C9 3457
nofor always \x011A 1267
nofor always \x0046 1247
nofor always \x0047 12457
nofor always \x0048 1257
nofor always \x0049 247
nofor always \x00CD 347
nofor always \x004A 2457
nofor always \x004B 137
nofor always \x004C 1237
nofor always \x013D 1234567
nofor always \x004D 1347
nofor always \x004E 13457
nofor always \x0147 12467
nofor always \x004F 1357
nofor always \x00D3 2467
nofor always \x0050 12347
nofor always \x0051 123457
nofor always \x0052 12357
nofor always \x0158 24567
nofor always \x0053 2347
nofor always \x0160 1567
nofor always \x0054 23457
nofor always \x0164 12567
nofor always \x0055 1367
nofor always \x00DA 3467
nofor always \x016E 234567
nofor always \x0056 12367
nofor always \x0057 123567
nofor always \x0058 13467
nofor always \x0059 134567
nofor always \x00DD 123467
nofor always \x005A 13567
nofor always \x017D 23467


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

punctuation \x0021        235                 !                   EXCLAMATION MARK
punctuation \x0022        2356                "                   QUOTATION MARK
sign        \x0023        6-3456                #                   NUMBER SIGN
punctuation \x0027        4                   '                   APOSTROPHE
punctuation \x0028        236                 (                   LEFT PARENTHESIS
punctuation \x0029        356                 )                   RIGHT PARENTHESIS
sign        \x002A        35                  *                   ASTERISK
math        \x002B        256                 +                   PLUS SIGN
punctuation \x002C        2                   ,                   COMMA
punctuation \x002D        36                  -                   HYPHEN-MINUS
punctuation \x002E        3                   .                   FULL STOP
math        \x002F        12456               /                   SOLIDUS
include digits6Dots.uti
punctuation \x003A        25                  :                   COLON
punctuation \x003B        23                  ;                   SEMICOLON
math        \x003C        126                 <                   LESS-THAN SIGN
math        \x003D        2356                =                   EQUALS SIGN
math        \x003E        345                 >                   GREATER-THAN SIGN
punctuation \x003F        26                  ?                   QUESTION MARK
sign        \x007C        456                 |                   VERTICAL LINE


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

sign        \x00A9        1246-2456-6-14      ©                   COPYRIGHT SIGN
punctuation \x00AD        36                  ­                   SOFT HYPHEN
math        \x00B1        256-36              ±                   PLUS-MINUS SIGN
sign        \x00B4        4                   ´                   ACUTE ACCENT
math        \x00D7        346                 ×                   MULTIPLICATION SIGN
math        \x00F7        25                  ÷                   DIVISION SIGN


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

punctuation \x2010        36                  ‐                   HYPHEN
punctuation \x2011        36                  ‑                   NON-BREAKING HYPHEN
punctuation \x2012        36                  ‒                   FIGURE DASH
punctuation \x2013        36                  –                   EN DASH
punctuation \x2014        36                  —                   EM DASH
punctuation \x2015        36                  ―                   HORIZONTAL BAR
punctuation \x2018        4                   ‘                   LEFT SINGLE QUOTATION MARK
punctuation \x2019        4                   ’                   RIGHT SINGLE QUOTATION MARK
punctuation \x201A        4                   ‚                   SINGLE LOW-9 QUOTATION MARK
punctuation \x201B        4                   ‛                   SINGLE HIGH-REVERSED-9 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


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

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

sign        \x0024        3456-1246           $                   DOLLAR SIGN
math        \x0025        3456-1234           %                   PERCENT SIGN
sign        \x0026        3456-12346          &                   AMPERSAND
sign        \x0040        3456-12456          @                   COMMERCIAL AT
punctuation \x005B        6-236               [                   LEFT SQUARE BRACKET
sign        \x005C        3456-1256           \                   REVERSE SOLIDUS
punctuation \x005D        6-356               ]                   RIGHT SQUARE BRACKET
sign        \x005E        6-45                ^                   CIRCUMFLEX ACCENT
sign        \x005F        6-36                _                   LOW LINE
punctuation \x0060        45-4                `                   GRAVE ACCENT
math        \x007B        46-236              {                   LEFT CURLY BRACKET
math        \x007D        46-356              }                   RIGHT CURLY BRACKET
math        \x007E        6-5                 ~                   TILDE
sign        \x007F        6-3                                     DELETE


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

sign        \x0080        15-136-1235-135     €                   <control> - ANSI: EURO-CURRENCY SIGN - MACROMAN: A DIAERESIS
sign        \x00B0        3456-234            °                   DEGREE SIGN
sign        \x00B5        4-134               µ                   MICRO SIGN
math        \x00B9        34-1                ¹                   SUPERSCRIPT ONE
lowercase   \x00E4        1-15                ä                   LATIN SMALL LETTER A WITH DIAERESIS
lowercase   \x00F6        135-15              ö                   LATIN SMALL LETTER O WITH DIAERESIS
lowercase   \x00FC        136-15              ü                   LATIN SMALL LETTER U WITH DIAERESIS

base uppercase \x00C4 \x00E4                 Ää                   LATIN CAPITAL LETTER A WITH DIAERESIS - LATIN SMALL LETTER A WITH DIAERESIS
base uppercase \x00D6 \x00F6                 Öö                   LATIN CAPITAL LETTER O WITH DIAERESIS - LATIN SMALL LETTER O WITH DIAERESIS
base uppercase \x00DC \x00FC                 Üü                   LATIN CAPITAL LETTER U WITH DIAERESIS - LATIN SMALL LETTER U WITH DIAERESIS

# ----------------------------------------------------------------------------------------------
# Unicode 0370..03FF  Greek and Coptic
# ----------------------------------------------------------------------------------------------

letter      \x0391        46-1                Α                   GREEK CAPITAL LETTER ALPHA
letter      \x0392        46-12               Β                   GREEK CAPITAL LETTER BETA
letter      \x0393        46-1245             Γ                   GREEK CAPITAL LETTER GAMMA
letter      \x0394        46-145              Δ                   GREEK CAPITAL LETTER DELTA
letter      \x0395        46-15               Ε                   GREEK CAPITAL LETTER EPSILON
letter      \x0398        46-1456             Θ                   GREEK CAPITAL LETTER THETA
letter      \x0399        46-24               Ι                   GREEK CAPITAL LETTER IOTA
letter      \x039A        46-13               Κ                   GREEK CAPITAL LETTER KAPPA
letter      \x039B        46-123              Λ                   GREEK CAPITAL LETTER LAMDA
letter      \x039C        46-134              Μ                   GREEK CAPITAL LETTER MU
letter      \x039D        46-1345             Ν                   GREEK CAPITAL LETTER NU
letter      \x039E        46-1346             Ξ                   GREEK CAPITAL LETTER XI
letter      \x039F        46-135              Ο                   GREEK CAPITAL LETTER OMICRON
letter      \x03A0        46-1234             Π                   GREEK CAPITAL LETTER PI
letter      \x03A1        46-1235             Ρ                   GREEK CAPITAL LETTER RHO
letter      \x03A3        46-234              Σ                   GREEK CAPITAL LETTER SIGMA
letter      \x03A4        46-2345             Τ                   GREEK CAPITAL LETTER TAU
letter      \x03A5        46-13456            Υ                   GREEK CAPITAL LETTER UPSILON
letter      \x03A6        46-124              Φ                   GREEK CAPITAL LETTER PHI
letter      \x03A7        46-125              Χ                   GREEK CAPITAL LETTER CHI
letter      \x03A8        46-12346            Ψ                   GREEK CAPITAL LETTER PSI
letter      \x03A9        46-2356             Ω                   GREEK CAPITAL LETTER OMEGA

lowercase   \x03B1        45-1                α                   GREEK SMALL LETTER ALPHA
lowercase   \x03B2        45-12               β                   GREEK SMALL LETTER BETA
lowercase   \x03B3        45-1245             γ                   GREEK SMALL LETTER GAMMA
lowercase   \x03B4        45-145              δ                   GREEK SMALL LETTER DELTA
lowercase   \x03B5        45-15               ε                   GREEK SMALL LETTER EPSILON
lowercase   \x03B8        45-1456             θ                   GREEK SMALL LETTER THETA
lowercase   \x03B9        45-24               ι                   GREEK SMALL LETTER IOTA
lowercase   \x03BA        45-13               κ                   GREEK SMALL LETTER KAPPA
lowercase   \x03BB        45-123              λ                   GREEK SMALL LETTER LAMDA
lowercase   \x03BC        45-134              μ                   GREEK SMALL LETTER MU
lowercase   \x03BD        45-1345             ν                   GREEK SMALL LETTER NU
lowercase   \x03BE        45-1346             ξ                   GREEK SMALL LETTER XI
lowercase   \x03BF        45-135              ο                   GREEK SMALL LETTER OMICRON
lowercase   \x03C0        45-1234             π                   GREEK SMALL LETTER PI
lowercase   \x03C1        45-1235             ρ                   GREEK SMALL LETTER RHO
lowercase   \x03C3        45-234              σ                   GREEK SMALL LETTER SIGMA
lowercase   \x03C4        45-2345             τ                   GREEK SMALL LETTER TAU
lowercase   \x03C5        45-13456            υ                   GREEK SMALL LETTER UPSILON
lowercase   \x03C6        45-124              φ                   GREEK SMALL LETTER PHI
lowercase   \x03C7        45-125              χ                   GREEK SMALL LETTER CHI
lowercase   \x03C8        45-12346            ψ                   GREEK SMALL LETTER PSI
lowercase   \x03C9        45-2356             ω                   GREEK SMALL LETTER OMEGA

# ----------------------------------------------------------------------------------------------
# Other Unicode characters
# ----------------------------------------------------------------------------------------------

math        \x2030        3456-1235           ‰                   PER MILLE SIGN
math        \x0609        3456-1235           ؉                   ARABIC-INDIC PER MILLE SIGN
math        \x27E8        4-126               ⟨                   MATHEMATICAL LEFT ANGLE BRACKET
math        \x27E9        4-345               ⟩                   MATHEMATICAL RIGHT ANGLE BRACKET
math        \x2260        4-2356              ≠                   NOT EQUAL TO
math        \x2250        5-2356              ≐                   APPROACHES THE LIMIT
math        \x2264        126-2356            ≤                   LESS-THAN OR EQUAL TO
math        \x2265        345-2356            ≥                   GREATER-THAN OR EQUAL TO
math        \x22C5        3                   ⋅                   DOT OPERATOR
math        \x2217        35                  ∗                   ASTERISK OPERATOR
math        \x2236        25                  ∶                   RATIO
math        \x2208        45-15               ∈                   ELEMENT OF
math        \x2209        4-45-15             ∉                   NOT AN ELEMENT OF

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