###############################################################################
# BRLTTY - A background process providing access to the console screen (when in
#          text mode) for a blind person using a refreshable braille display.
#
# Copyright (C) 1995-2023 by The BRLTTY Developers.
#
# BRLTTY comes with ABSOLUTELY NO WARRANTY.
#
# This is free software, placed 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. Please see the file LICENSE-LGPL for details.
#
# Web Page: http://brltty.app/
#
# This software is maintained by Dave Mielke <dave@mielke.cc>.
###############################################################################

# BRLTTY Text Table - French (VisioBraille)

# This table is the default one for VisioBraille braille terminals.
# It was first used by Sagem printers, before being adopted by Handialog as
# the default braille table.
# Although it is a bit old, VisioBraille users may find this table more
# comfortable than standard French braille tables.

# the standard representations for the letters of the Latin alphabet
include ltr-latin.tti

# the numbers 1-9 are represented by the letters a-i with dot 6 added
# the number 0 is represented by dots 3456
include num-french.tti

# generated by ttbtest: charset=iso-8859-1
char \x00	(  345 78)  # 00 ⣜   [NULL]
char \x01	(1      8)  # 01 ⢁   [START OF HEADING]
char \x02	(12     8)  # 02 ⢃   [START OF TEXT]
char \x03	(1  4   8)  # 03 ⢉   [END OF TEXT]
char \x04	(1  45  8)  # 04 ⢙   [END OF TRANSMISSION]
char \x05	(1   5  8)  # 05 ⢑   [ENQUIRY]
char \x06	(12 4   8)  # 06 ⢋   [ACKNOWLEDGE]
char \x07	(12 45  8)  # 07 ⢛   [BELL]
char \x08	(12  5  8)  # 08 ⢓   [BACKSPACE]
char \x09	( 2 4   8)  # 09 ⢊   [CHARACTER TABULATION]
char \x0A	( 2 45  8)  # 0A ⢚   [LINE FEED (LF)]
char \x0B	(1 3    8)  # 0B ⢅   [LINE TABULATION]
char \x0C	(123    8)  # 0C ⢇   [FORM FEED (FF)]
char \x0D	(1 34   8)  # 0D ⢍   [CARRIAGE RETURN (CR)]
char \x0E	(1 345  8)  # 0E ⢝   [SHIFT OUT]
char \x0F	(1 3 5  8)  # 0F ⢕   [SHIFT IN]
char \x10	(1234   8)  # 10 ⢏   [DATA LINK ESCAPE]
char \x11	(12345  8)  # 11 ⢟   [DEVICE CONTROL ONE]
char \x12	(123 5  8)  # 12 ⢗   [DEVICE CONTROL TWO]
char \x13	( 234   8)  # 13 ⢎   [DEVICE CONTROL THREE]
char \x14	( 2345  8)  # 14 ⢞   [DEVICE CONTROL FOUR]
char \x15	(1 3  6 8)  # 15 ⢥   [NEGATIVE ACKNOWLEDGE]
char \x16	(123  6 8)  # 16 ⢧   [SYNCHRONOUS IDLE]
char \x17	( 2 456 8)  # 17 ⢺   [END OF TRANSMISSION BLOCK]
char \x18	(1 34 6 8)  # 18 ⢭   [CANCEL]
char \x19	(1 3456 8)  # 19 ⢽   [END OF MEDIUM]
char \x1A	(1 3 56 8)  # 1A ⢵   [SUBSTITUTE]
char \x1B	(  345678)  # 1B ⣼   [ESCAPE]
char \x1C	(1    6 8)  # 1C ⢡   [INFORMATION SEPARATOR FOUR]
char \x1D	(12   6 8)  # 1D ⢣   [INFORMATION SEPARATOR THREE]
char \x1E	(1  4 6 8)  # 1E ⢩   [INFORMATION SEPARATOR TWO]
char \x1F	(1  456 8)  # 1F ⢹   [INFORMATION SEPARATOR ONE]
char \x20	(        )  # 20 ⠀   [SPACE]
char \x21	( 23 5   )  # 21 ⠖ ! [EXCLAMATION MARK]
char \x22	(   4    )  # 22 ⠈ " [QUOTATION MARK]
char \x23	(   4 6  )  # 23 ⠨ # [NUMBER SIGN]
char \x24	(   456  )  # 24 ⠸ $ [DOLLAR SIGN]
char \x25	(   45   )  # 25 ⠘ % [PERCENT SIGN]
char \x26	(  345   )  # 26 ⠜ & [AMPERSAND]
char \x27	(  3     )  # 27 ⠄ ' [APOSTROPHE]
char \x28	(     6  )  # 28 ⠠ ( [LEFT PARENTHESIS]
char \x29	(  3 5   )  # 29 ⠔ ) [RIGHT PARENTHESIS]
char \x2A	(  34    )  # 2A ⠌ * [ASTERISK]
char \x2B	(    56  )  # 2B ⠰ + [PLUS SIGN]
char \x2C	( 2      )  # 2C ⠂ , [COMMA]
char \x2D	(  3  6  )  # 2D ⠤ - [HYPHEN-MINUS]
char \x2E	( 2  56  )  # 2E ⠲ . [FULL STOP]
char \x2F	(123456  )  # 2F ⠿ / [SOLIDUS]
# Hindu-Arabic numerals     # 30-39
char \x3A	( 2  5   )  # 3A ⠒ : [COLON]
char \x3B	( 23     )  # 3B ⠆ ; [SEMICOLON]
char \x3C	( 23  6  )  # 3C ⠦ < [LESS-THAN SIGN]
char \x3D	( 23 56  )  # 3D ⠶ = [EQUALS SIGN]
char \x3E	(  3 56  )  # 3E ⠴ > [GREATER-THAN SIGN]
char \x3F	( 2   6  )  # 3F ⠢ ? [QUESTION MARK]
char \x40	(1234 6  )  # 40 ⠯ @ [COMMERCIAL AT]
# uppercase Latin alphabet  # 41-5A
char \x5B	(123 56  )  # 5B ⠷ [ [LEFT SQUARE BRACKET]
char \x5C	( 234 6  )  # 5C ⠮ \ [REVERSE SOLIDUS]
char \x5D	( 23456  )  # 5D ⠾ ] [RIGHT SQUARE BRACKET]
char \x5E	(  34 6  )  # 5E ⠬ ^ [CIRCUMFLEX ACCENT]
char \x5F	(  3    8)  # 5F ⢄ _ [LOW LINE]
char \x60	(  3   7 )  # 60 ⡄ ` [GRAVE ACCENT]
# lowercase Latin alphabet  # 61-7A
char \x7B	(     67 )  # 7B ⡠ { [LEFT CURLY BRACKET]
char \x7C	( 23 5  8)  # 7C ⢖ | [VERTICAL LINE]
char \x7D	(  3 5  8)  # 7D ⢔ } [RIGHT CURLY BRACKET]
char \x7E	(    5 78)  # 7E ⣐ ~ [TILDE]
char \x7F	(        )  # 7F ⠀   [DELETE]
char \x80	(1234 678)  # 80 ⣯   [<control-0080>]
char \x81	(12  56 8)  # 81 ⢳   [<control-0081>]
char \x82	(        )  # 82 ⠀   [BREAK PERMITTED HERE]
char \x83	(1    6 8)  # 83 ⢡   [NO BREAK HERE]
char \x84	(  345  8)  # 84 ⢜   [<control-0084>]
char \x85	(123 56 8)  # 85 ⢷   [NEXT LINE (NEL)]
char \x86	(        )  # 86 ⠀   [START OF SELECTED AREA]
char \x87	(1234 6 8)  # 87 ⢯   [END OF SELECTED AREA]
char \x88	(12   6 8)  # 88 ⢣   [CHARACTER TABULATION SET]
char \x89	(12 4 6 8)  # 89 ⢫   [CHARACTER TABULATION WITH JUSTIFICATION]
char \x8A	( 234 6 8)  # 8A ⢮   [LINE TABULATION SET]
char \x8B	(12 456 8)  # 8B ⢻   [PARTIAL LINE FORWARD]
char \x8C	(1  4 6 8)  # 8C ⢩   [PARTIAL LINE BACKWARD]
char \x8D	(        )  # 8D ⠀   [REVERSE LINE FEED]
char \x8E	(  345 78)  # 8E ⣜   [SINGLE SHIFT TWO]
char \x8F	(        )  # 8F ⠀   [SINGLE SHIFT THREE]
char \x90	(12345678)  # 90 ⣿   [DEVICE CONTROL STRING]
char \x91	(        )  # 91 ⠀   [PRIVATE USE ONE]
char \x92	(        )  # 92 ⠀   [PRIVATE USE TWO]
char \x93	(1  456 8)  # 93 ⢹   [SET TRANSMIT STATE]
char \x94	( 2 4 6 8)  # 94 ⢪   [CANCEL CHARACTER]
char \x95	(        )  # 95 ⠀   [MESSAGE WAITING]
char \x96	(1   56 8)  # 96 ⢱   [START OF GUARDED AREA]
char \x97	( 23456 8)  # 97 ⢾   [END OF GUARDED AREA]
char \x98	(12 456 8)  # 98 ⢻   [START OF STRING]
char \x99	( 2 4 678)  # 99 ⣪   [<control-0099>]
char \x9A	(12  5678)  # 9A ⣳   [SINGLE CHARACTER INTRODUCER]
char \x9B	(        )  # 9B ⠀   [CONTROL SEQUENCE INTRODUCER]
char \x9C	(        )  # 9C ⠀   [STRING TERMINATOR]
char \x9D	(        )  # 9D ⠀   [OPERATING SYSTEM COMMAND]
char \x9E	(        )  # 9E ⠀   [PRIVACY MESSAGE]
char \x9F	(        )  # 9F ⠀   [APPLICATION PROGRAM COMMAND]
char \xA0	(        )  # A0 ⠀   [NO-BREAK SPACE]
char \xA1	(        )  # A1 ⠀ ¡ [INVERTED EXCLAMATION MARK]
char \xA2	(        )  # A2 ⠀ ¢ [CENT SIGN]
char \xA3	(        )  # A3 ⠀ £ [POUND SIGN]
char \xA4	(        )  # A4 ⠀ ¤ [CURRENCY SIGN]
char \xA5	(        )  # A5 ⠀ ¥ [YEN SIGN]
char \xA6	(        )  # A6 ⠀ ¦ [BROKEN BAR]
char \xA7	(        )  # A7 ⠀ § [SECTION SIGN]
char \xA8	(        )  # A8 ⠀ ¨ [DIAERESIS]
char \xA9	(        )  # A9 ⠀ © [COPYRIGHT SIGN]
char \xAA	(        )  # AA ⠀ ª [FEMININE ORDINAL INDICATOR]
char \xAB	( 23  6 8)  # AB ⢦ « [LEFT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xAC	(        )  # AC ⠀ ¬ [NOT SIGN]
char \xAD	(        )  # AD ⠀ ­ [SOFT HYPHEN]
char \xAE	(        )  # AE ⠀ ® [REGISTERED SIGN]
char \xAF	(        )  # AF ⠀ ¯ [MACRON]
char \xB0	(        )  # B0 ⠀ ° [DEGREE SIGN]
char \xB1	(        )  # B1 ⠀ ± [PLUS-MINUS SIGN]
char \xB2	(        )  # B2 ⠀ ² [SUPERSCRIPT TWO]
char \xB3	(        )  # B3 ⠀ ³ [SUPERSCRIPT THREE]
char \xB4	(        )  # B4 ⠀ ´ [ACUTE ACCENT]
char \xB5	(        )  # B5 ⠀ µ [MICRO SIGN]
char \xB6	(        )  # B6 ⠀ ¶ [PILCROW SIGN]
char \xB7	(        )  # B7 ⠀ · [MIDDLE DOT]
char \xB8	(        )  # B8 ⠀ ¸ [CEDILLA]
char \xB9	(        )  # B9 ⠀ ¹ [SUPERSCRIPT ONE]
char \xBA	(        )  # BA ⠀ º [MASCULINE ORDINAL INDICATOR]
char \xBB	(  3 567 )  # BB ⡴ » [RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xBC	(        )  # BC ⠀ ¼ [VULGAR FRACTION ONE QUARTER]
char \xBD	(        )  # BD ⠀ ½ [VULGAR FRACTION ONE HALF]
char \xBE	(        )  # BE ⠀ ¾ [VULGAR FRACTION THREE QUARTERS]
char \xBF	(        )  # BF ⠀ ¿ [INVERTED QUESTION MARK]
char \xC0	(123 5678)  # C0 ⣷ À [LATIN CAPITAL LETTER A WITH GRAVE]
char \xC1	(        )  # C1 ⠀ Á [LATIN CAPITAL LETTER A WITH ACUTE]
char \xC2	(1     78)  # C2 ⣁ Â [LATIN CAPITAL LETTER A WITH CIRCUMFLEX]
char \xC3	(        )  # C3 ⠀ Ã [LATIN CAPITAL LETTER A WITH TILDE]
char \xC4	(  3 5 78)  # C4 ⣔ Ä [LATIN CAPITAL LETTER A WITH DIAERESIS]
char \xC5	(        )  # C5 ⠀ Å [LATIN CAPITAL LETTER A WITH RING ABOVE]
char \xC6	(        )  # C6 ⠀ Æ [LATIN CAPITAL LETTER AE]
char \xC7	(1234 678)  # C7 ⣯ Ç [LATIN CAPITAL LETTER C WITH CEDILLA]
char \xC8	(        )  # C8 ⠀ È [LATIN CAPITAL LETTER E WITH GRAVE]
char \xC9	(12345678)  # C9 ⣿ É [LATIN CAPITAL LETTER E WITH ACUTE]
char \xCA	(12   678)  # CA ⣣ Ê [LATIN CAPITAL LETTER E WITH CIRCUMFLEX]
char \xCB	(12 4 678)  # CB ⣫ Ë [LATIN CAPITAL LETTER E WITH DIAERESIS]
char \xCC	(        )  # CC ⠀ Ì [LATIN CAPITAL LETTER I WITH GRAVE]
char \xCD	(        )  # CD ⠀ Í [LATIN CAPITAL LETTER I WITH ACUTE]
char \xCE	(1  4 678)  # CE ⣩ Î [LATIN CAPITAL LETTER I WITH CIRCUMFLEX]
char \xCF	(12 45678)  # CF ⣻ Ï [LATIN CAPITAL LETTER I WITH DIAERESIS]
char \xD0	(        )  # D0 ⠀ Ð [LATIN CAPITAL LETTER ETH]
char \xD1	(        )  # D1 ⠀ Ñ [LATIN CAPITAL LETTER N WITH TILDE]
char \xD2	(        )  # D2 ⠀ Ò [LATIN CAPITAL LETTER O WITH GRAVE]
char \xD3	(        )  # D3 ⠀ Ó [LATIN CAPITAL LETTER O WITH ACUTE]
char \xD4	(1 3 5678)  # D4 ⣵ Ô [LATIN CAPITAL LETTER O WITH CIRCUMFLEX]
char \xD5	(        )  # D5 ⠀ Õ [LATIN CAPITAL LETTER O WITH TILDE]
char \xD6	( 2 4 678)  # D6 ⣪ Ö [LATIN CAPITAL LETTER O WITH DIAERESIS]
char \xD7	(        )  # D7 ⠀ × [MULTIPLICATION SIGN]
char \xD8	(        )  # D8 ⠀ Ø [LATIN CAPITAL LETTER O WITH STROKE]
char \xD9	( 2345678)  # D9 ⣾ Ù [LATIN CAPITAL LETTER U WITH GRAVE]
char \xDA	(        )  # DA ⠀ Ú [LATIN CAPITAL LETTER U WITH ACUTE]
char \xDB	(1   5678)  # DB ⣱ Û [LATIN CAPITAL LETTER U WITH CIRCUMFLEX]
char \xDC	(12  5678)  # DC ⣳ Ü [LATIN CAPITAL LETTER U WITH DIAERESIS]
char \xDD	(        )  # DD ⠀ Ý [LATIN CAPITAL LETTER Y WITH ACUTE]
char \xDE	(        )  # DE ⠀ Þ [LATIN CAPITAL LETTER THORN]
char \xDF	(        )  # DF ⠀ ß [LATIN SMALL LETTER SHARP S]
char \xE0	(123 56 8)  # E0 ⢷ à [LATIN SMALL LETTER A WITH GRAVE]
char \xE1	(        )  # E1 ⠀ á [LATIN SMALL LETTER A WITH ACUTE]
char \xE2	(1    6 8)  # E2 ⢡ â [LATIN SMALL LETTER A WITH CIRCUMFLEX]
char \xE3	(        )  # E3 ⠀ ã [LATIN SMALL LETTER A WITH TILDE]
char \xE4	(  345  8)  # E4 ⢜ ä [LATIN SMALL LETTER A WITH DIAERESIS]
char \xE5	(        )  # E5 ⠀ å [LATIN SMALL LETTER A WITH RING ABOVE]
char \xE6	(        )  # E6 ⠀ æ [LATIN SMALL LETTER AE]
char \xE7	(1234 6 8)  # E7 ⢯ ç [LATIN SMALL LETTER C WITH CEDILLA]
char \xE8	( 234 6 8)  # E8 ⢮ è [LATIN SMALL LETTER E WITH GRAVE]
char \xE9	(123456 8)  # E9 ⢿ é [LATIN SMALL LETTER E WITH ACUTE]
char \xEA	(12   6 8)  # EA ⢣ ê [LATIN SMALL LETTER E WITH CIRCUMFLEX]
char \xEB	(12 4 6 8)  # EB ⢫ ë [LATIN SMALL LETTER E WITH DIAERESIS]
char \xEC	(        )  # EC ⠀ ì [LATIN SMALL LETTER I WITH GRAVE]
char \xED	(        )  # ED ⠀ í [LATIN SMALL LETTER I WITH ACUTE]
char \xEE	(1  4 6 8)  # EE ⢩ î [LATIN SMALL LETTER I WITH CIRCUMFLEX]
char \xEF	(12 456 8)  # EF ⢻ ï [LATIN SMALL LETTER I WITH DIAERESIS]
char \xF0	(        )  # F0 ⠀ ð [LATIN SMALL LETTER ETH]
char \xF1	(        )  # F1 ⠀ ñ [LATIN SMALL LETTER N WITH TILDE]
char \xF2	(        )  # F2 ⠀ ò [LATIN SMALL LETTER O WITH GRAVE]
char \xF3	(        )  # F3 ⠀ ó [LATIN SMALL LETTER O WITH ACUTE]
char \xF4	(1  456 8)  # F4 ⢹ ô [LATIN SMALL LETTER O WITH CIRCUMFLEX]
char \xF5	(        )  # F5 ⠀ õ [LATIN SMALL LETTER O WITH TILDE]
char \xF6	( 2 4 6 8)  # F6 ⢪ ö [LATIN SMALL LETTER O WITH DIAERESIS]
char \xF7	(        )  # F7 ⠀ ÷ [DIVISION SIGN]
char \xF8	(        )  # F8 ⠀ ø [LATIN SMALL LETTER O WITH STROKE]
char \xF9	( 23456 8)  # F9 ⢾ ù [LATIN SMALL LETTER U WITH GRAVE]
char \xFA	(        )  # FA ⠀ ú [LATIN SMALL LETTER U WITH ACUTE]
char \xFB	(1   56 8)  # FB ⢱ û [LATIN SMALL LETTER U WITH CIRCUMFLEX]
char \xFC	(12  56 8)  # FC ⢳ ü [LATIN SMALL LETTER U WITH DIAERESIS]
char \xFD	(        )  # FD ⠀ ý [LATIN SMALL LETTER Y WITH ACUTE]
char \xFE	(        )  # FE ⠀ þ [LATIN SMALL LETTER THORN]
char \xFF	(        )  # FF ⠀ ÿ [LATIN SMALL LETTER Y WITH DIAERESIS]

char \u0153	( 2 4 6 8)  # ⢪ œ [LATIN SMALL LIGATURE OE]

glyph \u2019	(  3     )  # ⠄ ’ [RIGHT SINGLE QUOTATION MARK]
char \u20AC	(1   5  8)  # ⢑ € [EURO SIGN]
char \xA7	(1234 6 8)  # ⢯ § [SECTION SIGN]
char \xB7 (    5 7 )  # B7 ◈ · [MIDDLE DOT]
char \xBD	(1 34567 )  # ⡽ ½ [VULGAR FRACTION ONE HALF]

include common.tti
