# liblouis: Character definitions for german tables
#
#  Copyright (C) 2009 SBS Schweizerische Bibliothek für Blinde und Sehbehinderte
#
#  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/>.
#
#-------------------------------------------------------------------------------
#
#  Character definitions for german tables
#
#  Version 2009-11-19
#  christian.waldvogel@sbszh.ch
#
#-------------------------------------------------------------------------------


# ===== BASIC LATIN - 0000-007F ================================================

space         \x0009 0               #9     [CHARACTER TABULATION]
space         \x000A 0               #10    [LINE FEED (LF)]
space         \x000C 0               #12    [FORM FEED (FF)]
space         \x000D 0               #13    [CARRIAGE RETURN (CR)]

space         \x0020 0               #32    SPACE
punctuation   \x0021 5               #33    ! EXCLAMATION MARK
punctuation   \x0022 4               #34    " QUOTATION MARK
sign          \x0023 3456            #35    # NUMBER SIGN
sign          \x0024 46              #36    $ DOLLAR SIGN
sign          \x0025 123456          #37    % PERCENT SIGN
sign          \x0026 12346           #38    & AMPERSAND
punctuation   \x0027 6               #39    ' APOSTROPHE APOSTROPHE-QUOTE
punctuation   \x0028 236             #40    ( LEFT PARENTHESIS
punctuation   \x0029 356             #41    ) RIGHT PARENTHESIS
sign          \x002A 35              #42    * ASTERISK
math          \x002B 235             #43    + PLUS SIGN
punctuation   \x002C 2               #44    , COMMA
punctuation   \x002D 36              #45    - HYPHEN-MINUS
punctuation   \x002E 3               #46    . FULL STOP PERIOD
sign          \x002F 256             #47    / SOLIDUS SLASH
include digits6DotsPlusDot6.uti
punctuation   \x003A 25              #58    : COLON
punctuation   \x003B 23              #59    ; SEMICOLON
math          \x003C 56              #60    < LESS-THAN SIGN
math          \x003D 2356            #61    = EQUALS SIGN
math          \x003E 45              #62    > GREATER-THAN SIGN
punctuation   \x003F 26              #63    ? QUESTION MARK

include latinLetterDef6Dots.uti

sign          \x0060 345             #96    `  GRAVE ACCENT
punctuation   \x007B 12356           #123   {  LEFT CURLY BRACKET
sign          \x007C 34              #124   |  VERTICAL LINE
punctuation   \x007D 23456           #125   }  RIGHT CURLY BRACKET
sign          \x007E 2346            #126   ~  TILDE
sign          \x007F 456             #127   [DELETE]

sign          \x0040 4-345           #64    @  COMMERCIAL AT
punctuation   \x005B 6-2356          #91    [  LEFT SQUARE BRACKET
sign          \x005C 4-34            #92    \  REVERSE SOLIDUS
punctuation   \x005D 6-2356          #93    ]  RIGHT SQUARE BRACKET
sign          \x005E 4-2346          #94    ^  CIRCUMFLEX ACCENT
sign          \x005F 4-456           #95    _  LOW LINE

# ===== LATIN-1 SUPPLEMENT: 0080-00FF ==========================================

space         \x00A0 0               #160   NO-BREAK SPACE
punctuation   \x00A1 0               #161   ¡ INVERTED EXCLAMATION MARK
sign          \x00A2 4-14            #162   ¢ CENT SIGN
sign          \x00A3 4-123           #163   £ POUND SIGN
sign          \x00A4 0               #164   ¤ CURRENCY SIGN
sign          \x00A5 4-13456         #165   ¥ YEN SIGN
sign          \x00A6 0-456-123-0     #166   ¦ BROKEN BAR
sign          \x00A7 4-346           #167   § SECTION SIGN
sign          \x00A8 0               #168   ¨ DIAERESIS
sign          \x00A9 2356-45-14-2356 #169   © COPYRIGHT SIGN
lowercase     \x00AA 1               #170   ª FEMININE ORDINAL INDICATOR
punctuation   \x00AB 236             #171   « LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
sign          \x00AC 0               #172   ¬ NOT SIGN
sign          \x00AD 0               #173   ­ SOFT HYPHEN
sign          \x00AE 2356-45-1235-2356   #174 ® REGISTERED SIGN
sign          \x00AF 0               #175   ¯ MACRON
sign          \x00B0 4-356           #176   ° DEGREE SIGN
math          \x00B1 235-36          #177   ± PLUS-MINUS SIGN
sign          \x00B2 0               #178   ² SUPERSCRIPT TWO
sign          \x00B3 0               #179   ³ SUPERSCRIPT THREE
sign          \x00B4 0               #180   ´ ACUTE ACCENT
sign          \x00B5 56-134          #181   µ MICRO SIGN
sign          \x00B6 0               #182   ¶ PILCROW SIGN
sign          \x00B7 0               #183   · MIDDLE DOT
sign          \x00B8 0               #184   ¸ CEDILLA
sign          \x00B9 0               #185   ¹ SUPERSCRIPT ONE
lowercase     \x00BA 135             #186   º MASCULINE ORDINAL INDICATOR
punctuation   \x00BB 356             #187   » RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
math          \x00BC 3456-1-256      #188   ¼ VULGAR FRACTION ONE QUARTER
math          \x00BD 3456-1-23       #189   ½ VULGAR FRACTION ONE HALF
math          \x00BE 3456-14-256     #190   ¾ VULGAR FRACTION THREE QUARTERS
punctuation   \x00BF 0               #191   ¿ INVERTED QUESTION MARK
uplow         \x00C4\x00E4  345      #196 #228  Ää LATIN CAPITAL LETTER A WITH DIAERESIS
uplow         \x00D6\x00F6  246      #214 #246  Öö LATIN CAPITAL LETTER O WITH DIAERESIS
math          \x00D7 236             #215   × MULTIPLICATION SIGN
uplow         \x00DC\x00FC  1256     #220 #252   Üü LATIN CAPITAL LETTER U WITH DIAERESIS
lowercase     \x00DF 2346            #223   ß LATIN SMALL LETTER SHARP S
math          \x00F7 0               #247   ÷ DIVISION SIGN

# ===== GENERAL PUNCTUATION: 2000-206F =========================================

punctuation   \x2013 6-36            #8211          EN DASH
punctuation   \x2014 6-36            #8212          EM DASH
punctuation   \x2018 6-236           #8216          LEFT SINGLE QUOTATION MARK
punctuation   \x2019 6-356           #8217          RIGHT SINGLE QUOTATION MARK
punctuation   \x201A 6-236           #8218          SINGLE LOW-9 QUOTATION MARK
punctuation   \x201B 6-356           #8219          SINGLE HIGH-REVERSED-9 QUOTATION MARK
punctuation   \x201C 236             #8220          LEFT DOUBLE QUOTATION MARK
punctuation   \x201D 356             #8221          RIGHT DOUBLE QUOTATION MARK
punctuation   \x201E 236             #8222          DOUBLE LOW-9 QUOTATION MARK
punctuation   \x201F 356             #8223          DOUBLE HIGH-REVERSED-9 QUOTATION MARK
sign          \x2030 3456-245-356-356      #8240    PER MILLE SIGN
sign          \x2031 3456-245-356-356-356  #8241    PER TEN THOUSAND SIGN
sign          \x2032 4-35            #8242          PRIME
sign          \x2033 4-35-35         #8243          DOUBLE PRIME
punctuation   \x2039 6-236                          SINGLE LEFT-POINTING ANGLE QUOTATION MARK
punctuation   \x203a 6-356                          SINGLE RIGHT-POINTING ANGLE QUOTATION MARK

# ===== CURRENCY SYMBOLS: 20A0-20CF ============================================

sign          \x20A0 4-15                           EURO-CURRENCY SIGN

# ===== NUMBER FORMS: 2150-218F ================================================

math          \x2153 3456-1-25               VULGAR FRACTION ONE THIRD
math          \x2154 3456-12-23              VULGAR FRACTION TWO THIRDS
math          \x2155 3456-1-26               VULGAR FRACTION ONE FIFTH
math          \x2156 3456-12-26              VULGAR FRACTION TWO FIFTHS
math          \x2157 3456-14-26              VULGAR FRACTION THREE FIFTHS
math          \x2158 3456-145-26             VULGAR FRACTION FOUR FIFTHS
math          \x2159 3456-1-235              VULGAR FRACTION ONE SIXTH
math          \x215a 3456-15-235             VULGAR FRACTION FIVE SIXTHS
math          \x215b 3456-1-236              VULGAR FRACTION ONE EIGHTH
math          \x215c 3456-14-236             VULGAR FRACTION THREE EIGHTHS
math          \x215d 3456-15-236             VULGAR FRACTION FIVE EIGHTHS
math          \x215e 3456-1245-236           VULGAR FRACTION SEVEN EIGHTHS

# ===== ARROWS: 2190-21FF ======================================================

sign          \x2190 0-246-25-25-0           LEFTWARDS ARROW
sign          \x2192 0-25-25-135-0           RIGHTWARDS ARROW
sign          \x2194 0-246-25-25-135-0       LEFT RIGHT ARROW

# ===== MATHEMATICAL OPERATORS: 2200-22FF ======================================

math          \x2212 36              #8722   MINUS SIGN
math          \x2215 25              #8725   DIVISION SLASH
math          \x2217 35              #8727   ASTERISK OPERATOR
math          \x223C 25-25           #8764   TILDE OPERATOR
math          \x2245 26-26           #8773   APPROXIMATELY EQUAL TO
math          \x2259 26              #8793   ESTIMATES
math          \x2260 35-2356         #8800   NOT EQUAL TO
math          \x2261 2356-2356       #8801   IDENTICAL TO
math          \x2264 246-2356        #8804   LESS-THAN OR EQUAL TO
math          \x2265 135-2356        #8805   GREATER-THAN OR EQUAL TO
math          \x2266 246-2356        #8806   LESS-THAN OVER EQUAL TO
math          \x2267 135-2356        #8807   GREATER-THAN OVER EQUAL TO
math          \x22c5 3               #8901   DOT OPERATOR
math          \x22c6 3               #8902   STAR OPERATOR

# ===== BRAILLE PATTERNS: 2800-28FF ============================================

space         \x2800 0               #10240  BRAILLE PATTERN BLANK
sign          \x2801 1               #10241  BRAILLE PATTERN DOTS-1
sign          \x2802 2               #10242  BRAILLE PATTERN DOTS-2
sign          \x2803 12              #10243  BRAILLE PATTERN DOTS-12
sign          \x2804 3               #10244  BRAILLE PATTERN DOTS-3
sign          \x2805 13              #10245  BRAILLE PATTERN DOTS-13
sign          \x2806 23              #10246  BRAILLE PATTERN DOTS-23
sign          \x2807 123             #10247  BRAILLE PATTERN DOTS-123
sign          \x2808 4               #10248  BRAILLE PATTERN DOTS-4
sign          \x2809 14              #10249  BRAILLE PATTERN DOTS-14
sign          \x280a 24              #10250  BRAILLE PATTERN DOTS-24
sign          \x280b 124             #10251  BRAILLE PATTERN DOTS-124
sign          \x280c 34              #10252  BRAILLE PATTERN DOTS-34
sign          \x280d 134             #10253  BRAILLE PATTERN DOTS-134
sign          \x280e 234             #10254  BRAILLE PATTERN DOTS-234
sign          \x280f 1234            #10255  BRAILLE PATTERN DOTS-1234
sign          \x2810 5               #10256  BRAILLE PATTERN DOTS-5
sign          \x2811 15              #10257  BRAILLE PATTERN DOTS-15
sign          \x2812 25              #10258  BRAILLE PATTERN DOTS-25
sign          \x2813 125             #10259  BRAILLE PATTERN DOTS-125
sign          \x2814 35              #10260  BRAILLE PATTERN DOTS-35
sign          \x2815 135             #10261  BRAILLE PATTERN DOTS-135
sign          \x2816 235             #10262  BRAILLE PATTERN DOTS-235
sign          \x2817 1235            #10263  BRAILLE PATTERN DOTS-1235
sign          \x2818 45              #10264  BRAILLE PATTERN DOTS-45
sign          \x2819 145             #10265  BRAILLE PATTERN DOTS-145
sign          \x281a 245             #10266  BRAILLE PATTERN DOTS-245
sign          \x281b 1245            #10267  BRAILLE PATTERN DOTS-1245
sign          \x281c 345             #10268  BRAILLE PATTERN DOTS-345
sign          \x281d 1345            #10269  BRAILLE PATTERN DOTS-1345
sign          \x281e 2345            #10270  BRAILLE PATTERN DOTS-2345
sign          \x281f 12345           #10271  BRAILLE PATTERN DOTS-12345
sign          \x2820 6               #10272  BRAILLE PATTERN DOTS-6
sign          \x2821 16              #10273  BRAILLE PATTERN DOTS-16
sign          \x2822 26              #10274  BRAILLE PATTERN DOTS-26
sign          \x2823 126             #10275  BRAILLE PATTERN DOTS-126
sign          \x2824 36              #10276  BRAILLE PATTERN DOTS-36
sign          \x2825 136             #10277  BRAILLE PATTERN DOTS-136
sign          \x2826 236             #10278  BRAILLE PATTERN DOTS-236
sign          \x2827 1236            #10279  BRAILLE PATTERN DOTS-1236
sign          \x2828 46              #10280  BRAILLE PATTERN DOTS-46
sign          \x2829 146             #10281  BRAILLE PATTERN DOTS-146
sign          \x282a 246             #10282  BRAILLE PATTERN DOTS-246
sign          \x282b 1246            #10283  BRAILLE PATTERN DOTS-1246
sign          \x282c 346             #10284  BRAILLE PATTERN DOTS-346
sign          \x282d 1346            #10285  BRAILLE PATTERN DOTS-1346
sign          \x282e 2346            #10286  BRAILLE PATTERN DOTS-2346
sign          \x282f 12346           #10287  BRAILLE PATTERN DOTS-12346
sign          \x2830 56              #10288  BRAILLE PATTERN DOTS-56
sign          \x2831 156             #10289  BRAILLE PATTERN DOTS-156
sign          \x2832 256             #10290  BRAILLE PATTERN DOTS-256
sign          \x2833 1256            #10291  BRAILLE PATTERN DOTS-1256
sign          \x2834 356             #10292  BRAILLE PATTERN DOTS-356
sign          \x2835 1356            #10293  BRAILLE PATTERN DOTS-1356
sign          \x2836 2356            #10294  BRAILLE PATTERN DOTS-2356
sign          \x2837 12356           #10295  BRAILLE PATTERN DOTS-12356
sign          \x2838 456             #10296  BRAILLE PATTERN DOTS-456
sign          \x2839 1456            #10297  BRAILLE PATTERN DOTS-1456
sign          \x283a 2456            #10298  BRAILLE PATTERN DOTS-2456
sign          \x283b 12456           #10299  BRAILLE PATTERN DOTS-12456
sign          \x283c 3456            #10300  BRAILLE PATTERN DOTS-3456
sign          \x283d 13456           #10301  BRAILLE PATTERN DOTS-13456
sign          \x283e 23456           #10302  BRAILLE PATTERN DOTS-23456
sign          \x283f 123456          #10303  BRAILLE PATTERN DOTS-123456
