# ----------------------------------------------------------------------------------------------
#  odt2braille - Braille authoring in OpenOffice.org.
#  Copyright (c) 2010 by DocArch <http://www.docarch.be>.
# ----------------------------------------------------------------------------------------------
#
#  Catalan Braille
#     Created and maintained by Bert Frees <bertfrees@gmail.com>
#	  with the assistance of Carles Sadurní Anguita <http://www.transcriptor.net/>
#
# ----------------------------------------------------------------------------------------------

# ==============================================================================================
# 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       \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       \x00CD\x00ED  34,34               Íí                  LATIN CAPITAL LETTER I WITH ACUTE - LATIN SMALL LETTER I WITH ACUTE
uplow       \x00CF\x00EF  12456,12456         Ïï                  LATIN CAPITAL LETTER I WITH DIAERESIS - LATIN SMALL LETTER I WITH DIAERESIS
uplow       \x00D2\x00F2  346,346             Òò                  LATIN CAPITAL LETTER O WITH GRAVE - LATIN SMALL LETTER O WITH GRAVE
uplow       \x00D3\x00F3  246,246             Óó                  LATIN CAPITAL LETTER O WITH ACUTE - LATIN SMALL LETTER O WITH ACUTE
uplow       \x00DA\x00FA  23456,23456         Úú                  LATIN CAPITAL LETTER U WITH ACUTE - LATIN SMALL LETTER U WITH ACUTE
uplow       \x00DC\x00FC  1256,1256           Üü                  LATIN CAPITAL LETTER U WITH DIAERESIS - LATIN SMALL LETTER U WITH DIAERESIS

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        256                 !                   EXCLAMATION MARK
punctuation \x0022        236                 "                   QUOTATION MARK
punctuation \x0027        3                   '                   APOSTROPHE
punctuation \x0028        126                 (                   LEFT PARENTHESIS
punctuation \x0029        345                 )                   RIGHT PARENTHESIS
sign        \x002A        35                  *                   ASTERISK
math        \x002B        235                 +                   PLUS SIGN
punctuation \x002C        2                   ,                   COMMA
punctuation \x002D        36                  -                   HYPHEN-MINUS
punctuation \x002E        3                   .                   FULL STOP
include loweredDigits6Dots.uti
punctuation \x003A        25                  :                   COLON
punctuation \x003B        23                  ;                   SEMICOLON
math        \x003C        246                 <                   LESS-THAN SIGN
math        \x003D        2356                =                   EQUALS SIGN
math        \x003E        135                 >                   GREATER-THAN SIGN
punctuation \x003F        26                  ?                   QUESTION MARK
punctuation \x005B        12356               [                   LEFT SQUARE BRACKET
punctuation \x005D        23456               ]                   RIGHT SQUARE BRACKET
sign        \x007C        456                 |                   VERTICAL LINE


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

punctuation \x0082        2                   ‚                   <control> BREAK PERMITTED HERE - ANSI: SINGLE LOW-9 QUOTATION MARK - MACROMAN: C CEDILLA
punctuation \x0084        236                 „                   <control> - ANSI: DOUBLE LOW-9 QUOTATION MARK - MACROMAN: N TILDE
punctuation \x0093        236                 “                   <control> SET TRANSMIT STATE - ANSI: LEFT DOUBLE QUOTATION MARK - MACROMAN: I GRAVE
punctuation \x0094        236                 ”                   <control> CANCEL CHARACTER - ANSI: RIGHT DOUBLE QUOTATION MARK - MACROMAN: I CIRCUMFLEX
punctuation \x0096        36                  –                   <control> START OF GUARDED AREA - ANSI: EN DASH - MACROMAN: N TILDE
space       \x00A0        a                                       NO-BREAK SPACE
punctuation \x00A1        235                 ¡                   INVERTED EXCLAMATION MARK
punctuation \x00AB        236                 «                   LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
punctuation \x00AD        36                  ­                   SOFT HYPHEN
sign        \x00B8        2                   ¸                   CEDILLA
punctuation \x00BB        236                 »                   RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
punctuation \x00B7        5                   ·                   MIDDLE DOT
punctuation \x00BF        26                  ¿                   INVERTED QUESTION MARK
math        \x00D7        236                 ×                   MULTIPLICATION SIGN
math        \x00F7        256                 ÷                   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 \x2018        236                 ‘                   LEFT SINGLE QUOTATION MARK
punctuation \x2019        236                 ’                   RIGHT SINGLE QUOTATION MARK
punctuation \x201A        236                 ‚                   SINGLE LOW-9 QUOTATION MARK
punctuation \x201B        236                 ‛                   SINGLE HIGH-REVERSED-9 QUOTATION MARK
punctuation \x201C        236                 “                   LEFT DOUBLE QUOTATION MARK
punctuation \x201D        236                 ”                   RIGHT DOUBLE QUOTATION MARK
punctuation \x201E        236                 „                   DOUBLE LOW-9 QUOTATION MARK
punctuation \x201F        236                 ‟                   DOUBLE HIGH-REVERSED-9 QUOTATION MARK
punctuation \x2043        36                  ⁃                   HYPHEN BULLET

include braille-patterns.cti

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

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

sign        \x0024        345-234             $                   DOLLAR SIGN
math        \x0025        456-356             %                   PERCENT SIGN
sign        \x0026        6-12346             &                   AMPERSAND
math        \x002F        6-2                 /                   SOLIDUS
sign        \x0040        56-16               @                   COMMERCIAL AT
sign        \x005C        5-3                 \                   REVERSE SOLIDUS
math        \x007B        5-123               {                   LEFT CURLY BRACKET
math        \x007D        456-2               }                   RIGHT CURLY BRACKET


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

sign        \x0080        456-15              €                   <control> - ANSI: EURO-CURRENCY SIGN - MACROMAN: A DIAERESIS
punctuation \x0085        3-3-3               …                   <control> NEXT LINE (NEL) - ANSI: HORIZONTAL ELLIPSIS - MACROMAN: O DIAERESIS
sign        \x0089        456-356-356         ‰                   <control> CHARACTER TABULATION WITH JUSTIFICATION - ANSI: PER MILLE SIGN - MACROMAN: A CIRCUMFLEX
punctuation \x0097        36-36               —                   <control> END OF GUARDED AREA - ANSI: EM DASH - MACROMAN: O ACUTE
sign        \x00A2        45-14               ¢                   CENT SIGN
sign        \x00A3        5-2346              £                   POUND SIGN
sign        \x00A5        456-13456           ¥                   YEN SIGN
sign        \x00A9        126-46-14-345       ©                   COPYRIGHT SIGN
sign        \x00AA        56-16               ª                   FEMININE ORDINAL INDICATOR
sign        \x00AE        126-46-1235-345     ®                   REGISTERED SIGN
math        \x00B1        235-25-36           ±                   PLUS-MINUS SIGN
sign        \x00B2        16-3456-12          ²                   SUPERSCRIPT TWO
sign        \x00B3        16-3456-14          ³                   SUPERSCRIPT THREE
sign        \x00B5        4-134               µ                   MICRO SIGN
math        \x00BC        1456-2-145          ¼                   VULGAR FRACTION ONE QUARTER
math        \x00BD        1456-2-12           ½                   VULGAR FRACTION ONE HALF
math        \x00BE        1456-25-145         ¾                   VULGAR FRACTION THREE QUARTERS


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

uplow       \x013F\x0140  123-5,123-5         Ŀŀ                  LATIN CAPITAL LETTER L WITH MIDDLE DOT - LATIN SMALL LETTER L WITH MIDDLE DOT


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

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


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

punctuation \x2014        36-36               —                   EM DASH
punctuation \x2015        36-36               ―                   HORIZONTAL BAR
punctuation \x2026        3-3-3               …                   HORIZONTAL ELLIPSIS


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

sign        \x20AC        456-15              €                   EURO SIGN


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