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

# the standard representations for the Latin control characters
include ctl-latin.tti

# generated by ttbtest: charset=iso-8859-1
char \x00	(   4  78)  # 00 ⣈   [NULL]
# Latin control characters  # 01-1A
char \x1B	( 2 4 678)  # 1B ⣪   [ESCAPE]
char \x1C	(12  5678)  # 1C ⣳   [INFORMATION SEPARATOR FOUR]
char \x1D	(12 45678)  # 1D ⣻   [INFORMATION SEPARATOR THREE]
char \x1E	(   45 78)  # 1E ⣘   [INFORMATION SEPARATOR TWO]
char \x1F	(   45678)  # 1F ⣸   [INFORMATION SEPARATOR ONE]
char \x20	(        )  # 20 ⠀   [SPACE]
char \x21	( 23 5   )  # 21 ⠖ ! [EXCLAMATION MARK]
char \x22	(     678)  # 22 ⣠ " [QUOTATION MARK]
char \x23	(  3456  )  # 23 ⠼ # [NUMBER SIGN]
char \x24	(  345   )  # 24 ⠜ $ [DOLLAR SIGN]
char \x25	( 2 4 6  )  # 25 ⠪ % [PERCENT SIGN]
char \x26	(  34 6 8)  # 26 ⢬ & [AMPERSAND]
char \x27	(  3     )  # 27 ⠄ ' [APOSTROPHE]
char \x28	(123 567 )  # 28 ⡷ ( [LEFT PARENTHESIS]
char \x29	( 234567 )  # 29 ⡾ ) [RIGHT PARENTHESIS]
char \x2A	(  3 5   )  # 2A ⠔ * [ASTERISK]
char \x2B	(  34 6  )  # 2B ⠬ + [PLUS SIGN]
char \x2C	( 2      )  # 2C ⠂ , [COMMA]
char \x2D	(  3  6  )  # 2D ⠤ - [HYPHEN-MINUS]
char \x2E	( 2  56  )  # 2E ⠲ . [FULL STOP]
char \x2F	(  34    )  # 2F ⠌ / [SOLIDUS]

include num-nemd8.tti

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	(   4  7 )  # 40 ⡈ @ [COMMERCIAL AT]
char \x41	(1     7 )  # 41 ⡁ A [LATIN CAPITAL LETTER A]
char \x42	(12    7 )  # 42 ⡃ B [LATIN CAPITAL LETTER B]
char \x43	(1  4  7 )  # 43 ⡉ C [LATIN CAPITAL LETTER C]
char \x44	(1 3 567 )  # 44 ⡵ D [LATIN CAPITAL LETTER D]
char \x45	(1   5 7 )  # 45 ⡑ E [LATIN CAPITAL LETTER E]
char \x46	(12 4  7 )  # 46 ⡋ F [LATIN CAPITAL LETTER F]
char \x47	(12 45 7 )  # 47 ⡛ G [LATIN CAPITAL LETTER G]
char \x48	(12  5 7 )  # 48 ⡓ H [LATIN CAPITAL LETTER H]
char \x49	( 2 4  7 )  # 49 ⡊ I [LATIN CAPITAL LETTER I]
char \x4A	( 2 45 7 )  # 4A ⡚ J [LATIN CAPITAL LETTER J]
char \x4B	(1 3   7 )  # 4B ⡅ K [LATIN CAPITAL LETTER K]
char \x4C	(123   7 )  # 4C ⡇ L [LATIN CAPITAL LETTER L]
char \x4D	(1 34  7 )  # 4D ⡍ M [LATIN CAPITAL LETTER M]
char \x4E	(1 345 7 )  # 4E ⡝ N [LATIN CAPITAL LETTER N]
char \x4F	(1 3 5 7 )  # 4F ⡕ O [LATIN CAPITAL LETTER O]
char \x50	(1234  7 )  # 50 ⡏ P [LATIN CAPITAL LETTER P]
char \x51	(12345 7 )  # 51 ⡟ Q [LATIN CAPITAL LETTER Q]
char \x52	(123 5 7 )  # 52 ⡗ R [LATIN CAPITAL LETTER R]
char \x53	( 234  7 )  # 53 ⡎ S [LATIN CAPITAL LETTER S]
char \x54	( 2345 7 )  # 54 ⡞ T [LATIN CAPITAL LETTER T]
char \x55	(1 3  67 )  # 55 ⡥ U [LATIN CAPITAL LETTER U]
char \x56	(123  67 )  # 56 ⡧ V [LATIN CAPITAL LETTER V]
char \x57	( 2 4567 )  # 57 ⡺ W [LATIN CAPITAL LETTER W]
char \x58	(1 34 67 )  # 58 ⡭ X [LATIN CAPITAL LETTER X]
char \x59	(1 34567 )  # 59 ⡽ Y [LATIN CAPITAL LETTER Y]
char \x5A	(1 3 567 )  # 5A ⡵ Z [LATIN CAPITAL LETTER Z]
char \x5B	(123 56 8)  # 5B ⢷ [ [LEFT SQUARE BRACKET]
char \x5C	(1    6 8)  # 5C ⢡ \ [REVERSE SOLIDUS]
char \x5D	( 23456 8)  # 5D ⢾ ] [RIGHT SQUARE BRACKET]
char \x5E	(   45 7 )  # 5E ⡘ ^ [CIRCUMFLEX ACCENT]
char \x5F	(   4567 )  # 5F ⡸ _ [LOW LINE]
char \x60	(   4    )  # 60 ⠈ ` [GRAVE ACCENT]
char \x61	(1       )  # 61 ⠁ a [LATIN SMALL LETTER A]
char \x62	(12      )  # 62 ⠃ b [LATIN SMALL LETTER B]
char \x63	(1  4    )  # 63 ⠉ c [LATIN SMALL LETTER C]
char \x64	(1 3 56  )  # 64 ⠵ d [LATIN SMALL LETTER D]
char \x65	(1   5   )  # 65 ⠑ e [LATIN SMALL LETTER E]
char \x66	(12 4    )  # 66 ⠋ f [LATIN SMALL LETTER F]
char \x67	(12 45   )  # 67 ⠛ g [LATIN SMALL LETTER G]
char \x68	(12  5   )  # 68 ⠓ h [LATIN SMALL LETTER H]
char \x69	( 2 4    )  # 69 ⠊ i [LATIN SMALL LETTER I]
char \x6A	( 2 45   )  # 6A ⠚ j [LATIN SMALL LETTER J]
char \x6B	(1 3     )  # 6B ⠅ k [LATIN SMALL LETTER K]
char \x6C	(123     )  # 6C ⠇ l [LATIN SMALL LETTER L]
char \x6D	(1 34    )  # 6D ⠍ m [LATIN SMALL LETTER M]
char \x6E	(1 345   )  # 6E ⠝ n [LATIN SMALL LETTER N]
char \x6F	(1 3 5   )  # 6F ⠕ o [LATIN SMALL LETTER O]
char \x70	(1234    )  # 70 ⠏ p [LATIN SMALL LETTER P]
char \x71	(12345   )  # 71 ⠟ q [LATIN SMALL LETTER Q]
char \x72	(123 5   )  # 72 ⠗ r [LATIN SMALL LETTER R]
char \x73	( 234    )  # 73 ⠎ s [LATIN SMALL LETTER S]
char \x74	( 2345   )  # 74 ⠞ t [LATIN SMALL LETTER T]
char \x75	(1 3  6  )  # 75 ⠥ u [LATIN SMALL LETTER U]
char \x76	(123  6  )  # 76 ⠧ v [LATIN SMALL LETTER V]
char \x77	( 2 456  )  # 77 ⠺ w [LATIN SMALL LETTER W]
char \x78	(1 34 6  )  # 78 ⠭ x [LATIN SMALL LETTER X]
char \x79	(1 3456  )  # 79 ⠽ y [LATIN SMALL LETTER Y]
char \x7A	(1 3 56  )  # 7A ⠵ z [LATIN SMALL LETTER Z]
char \x7B	(123 5678)  # 7B ⣷ { [LEFT CURLY BRACKET]
char \x7C	(   456 8)  # 7C ⢸ | [VERTICAL LINE]
char \x7D	( 2345678)  # 7D ⣾ } [RIGHT CURLY BRACKET]
char \x7E	(   45   )  # 7E ⠘ ~ [TILDE]
char \x7F	(   456  )  # 7F ⠸   [DELETE]
char \xA1	(12345678)  # A1 ⣿ ¡ [INVERTED EXCLAMATION MARK]
char \xA2	(12345678)  # A2 ⣿ ¢ [CENT SIGN]
char \xA3	(12345678)  # A3 ⣿ £ [POUND SIGN]
char \xA4	(12345678)  # A4 ⣿ ¤ [CURRENCY SIGN]
char \xA5	(12345678)  # A5 ⣿ ¥ [YEN SIGN]
char \xA6	(12345678)  # A6 ⣿ ¦ [BROKEN BAR]
char \xA7	(12345678)  # A7 ⣿ § [SECTION SIGN]
char \xA8	(12345678)  # A8 ⣿ ¨ [DIAERESIS]
char \xA9	(1  4  7 )  # A9 ⡉ © [COPYRIGHT SIGN]
char \xAA	(12345678)  # AA ⣿ ª [FEMININE ORDINAL INDICATOR]
char \xAB	( 23  67 )  # AB ⡦ « [LEFT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xAC	(12345678)  # AC ⣿ ¬ [NOT SIGN]
char \xAD	(12345678)  # AD ⣿ ­ [SOFT HYPHEN]
char \xAE	(1234  7 )  # AE ⡏ ® [REGISTERED SIGN]
char \xAF	(12345678)  # AF ⣿ ¯ [MACRON]
char \xB0	(12345678)  # B0 ⣿ ° [DEGREE SIGN]
char \xB1	(12345678)  # B1 ⣿ ± [PLUS-MINUS SIGN]
char \xB2	(12345678)  # B2 ⣿ ² [SUPERSCRIPT TWO]
char \xB3	(12345678)  # B3 ⣿ ³ [SUPERSCRIPT THREE]
char \xB4	(12345678)  # B4 ⣿ ´ [ACUTE ACCENT]
char \xB5	(12345678)  # B5 ⣿ µ [MICRO SIGN]
char \xB6	(12345678)  # B6 ⣿ ¶ [PILCROW SIGN]
char \xB7	(  3 5   )  # B7 ⠔ · [MIDDLE DOT]
char \xB8	(12345678)  # B8 ⣿ ¸ [CEDILLA]
char \xB9	(12345678)  # B9 ⣿ ¹ [SUPERSCRIPT ONE]
char \xBA	(12345678)  # BA ⣿ º [MASCULINE ORDINAL INDICATOR]
char \xBB	(  3 567 )  # BB ⡴ » [RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xBC	(12345678)  # BC ⣿ ¼ [VULGAR FRACTION ONE QUARTER]
char \xBD	(12345678)  # BD ⣿ ½ [VULGAR FRACTION ONE HALF]
char \xBE	(12345678)  # BE ⣿ ¾ [VULGAR FRACTION THREE QUARTERS]
char \xBF	(12345678)  # BF ⣿ ¿ [INVERTED QUESTION MARK]
char \xC0	(    567 )  # C0 ⡰ À [LATIN CAPITAL LETTER A WITH GRAVE]
char \xC1	(  3 5 7 )  # C1 ⡔ Á [LATIN CAPITAL LETTER A WITH ACUTE]
char \xC2	(      7 )  # C2 ⡀ Â [LATIN CAPITAL LETTER A WITH CIRCUMFLEX]
char \xC3	(  3  67 )  # C3 ⡤ Ã [LATIN CAPITAL LETTER A WITH TILDE]
char \xC4	(     67 )  # C4 ⡠ Ä [LATIN CAPITAL LETTER A WITH DIAERESIS]
char \xC5	( 2   67 )  # C5 ⡢ Å [LATIN CAPITAL LETTER A WITH RING ABOVE]
char \xC6	( 2   67 )  # C6 ⡢ Æ [LATIN CAPITAL LETTER AE]
char \xC7	(1234 67 )  # C7 ⡯ Ç [LATIN CAPITAL LETTER C WITH CEDILLA]
char \xC8	(    56 8)  # C8 ⢰ È [LATIN CAPITAL LETTER E WITH GRAVE]
char \xC9	(  3 5  8)  # C9 ⢔ É [LATIN CAPITAL LETTER E WITH ACUTE]
char \xCA	(       8)  # CA ⢀ Ê [LATIN CAPITAL LETTER E WITH CIRCUMFLEX]
char \xCB	(     6 8)  # CB ⢠ Ë [LATIN CAPITAL LETTER E WITH DIAERESIS]
char \xCC	(    567 )  # CC ⡰ Ì [LATIN CAPITAL LETTER I WITH GRAVE]
char \xCD	(  3 5 7 )  # CD ⡔ Í [LATIN CAPITAL LETTER I WITH ACUTE]
char \xCE	(1234567 )  # CE ⡿ Î [LATIN CAPITAL LETTER I WITH CIRCUMFLEX]
char \xCF	(     6  )  # CF ⠠ Ï [LATIN CAPITAL LETTER I WITH DIAERESIS]
char \xD0	(12345678)  # D0 ⣿ Ð [LATIN CAPITAL LETTER ETH]
char \xD1	(1  45 7 )  # D1 ⡙ Ñ [LATIN CAPITAL LETTER N WITH TILDE]
char \xD2	(     67 )  # D2 ⡠ Ò [LATIN CAPITAL LETTER O WITH GRAVE]
char \xD3	(  3  67 )  # D3 ⡤ Ó [LATIN CAPITAL LETTER O WITH ACUTE]
char \xD4	( 2 4 67 )  # D4 ⡪ Ô [LATIN CAPITAL LETTER O WITH CIRCUMFLEX]
char \xD5	(  3  6  )  # D5 ⠤ Õ [LATIN CAPITAL LETTER O WITH TILDE]
char \xD6	(12  567 )  # D6 ⡳ Ö [LATIN CAPITAL LETTER O WITH DIAERESIS]
char \xD7	(  3 5   )  # D7 ⠔ × [MULTIPLICATION SIGN]
char \xD8	(    56  )  # D8 ⠰ Ø [LATIN CAPITAL LETTER O WITH STROKE]
char \xD9	(  3 5   )  # D9 ⠔ Ù [LATIN CAPITAL LETTER U WITH GRAVE]
char \xDA	( 2   6 8)  # DA ⢢ Ú [LATIN CAPITAL LETTER U WITH ACUTE]
char \xDB	( 2   6  )  # DB ⠢ Û [LATIN CAPITAL LETTER U WITH CIRCUMFLEX]
char \xDC	(  3  6 8)  # DC ⢤ Ü [LATIN CAPITAL LETTER U WITH DIAERESIS]
char \xDD	(1 34567 )  # DD ⡽ Ý [LATIN CAPITAL LETTER Y WITH ACUTE]
char \xDE	(12345678)  # DE ⣿ Þ [LATIN CAPITAL LETTER THORN]
char \xDF	( 234    )  # DF ⠎ ß [LATIN SMALL LETTER SHARP S]
char \xE0	(    567 )  # E0 ⡰ à [LATIN SMALL LETTER A WITH GRAVE]
char \xE1	(  3 5 7 )  # E1 ⡔ á [LATIN SMALL LETTER A WITH ACUTE]
char \xE2	(      7 )  # E2 ⡀ â [LATIN SMALL LETTER A WITH CIRCUMFLEX]
char \xE3	(  3  67 )  # E3 ⡤ ã [LATIN SMALL LETTER A WITH TILDE]
char \xE4	(     67 )  # E4 ⡠ ä [LATIN SMALL LETTER A WITH DIAERESIS]
char \xE5	( 2   67 )  # E5 ⡢ å [LATIN SMALL LETTER A WITH RING ABOVE]
char \xE6	( 2   6  )  # E6 ⠢ æ [LATIN SMALL LETTER AE]
char \xE7	(1234 6  )  # E7 ⠯ ç [LATIN SMALL LETTER C WITH CEDILLA]
char \xE8	(    56 8)  # E8 ⢰ è [LATIN SMALL LETTER E WITH GRAVE]
char \xE9	(  3 5  8)  # E9 ⢔ é [LATIN SMALL LETTER E WITH ACUTE]
char \xEA	(       8)  # EA ⢀ ê [LATIN SMALL LETTER E WITH CIRCUMFLEX]
char \xEB	(     6 8)  # EB ⢠ ë [LATIN SMALL LETTER E WITH DIAERESIS]
char \xEC	(    56  )  # EC ⠰ ì [LATIN SMALL LETTER I WITH GRAVE]
char \xED	(  3 5   )  # ED ⠔ í [LATIN SMALL LETTER I WITH ACUTE]
char \xEE	(123456  )  # EE ⠿ î [LATIN SMALL LETTER I WITH CIRCUMFLEX]
char \xEF	(     6  )  # EF ⠠ ï [LATIN SMALL LETTER I WITH DIAERESIS]
char \xF0	(12345678)  # F0 ⣿ ð [LATIN SMALL LETTER ETH]
char \xF1	(1  45   )  # F1 ⠙ ñ [LATIN SMALL LETTER N WITH TILDE]
char \xF2	(     6  )  # F2 ⠠ ò [LATIN SMALL LETTER O WITH GRAVE]
char \xF3	(  3  6  )  # F3 ⠤ ó [LATIN SMALL LETTER O WITH ACUTE]
char \xF4	( 2 4 6  )  # F4 ⠪ ô [LATIN SMALL LETTER O WITH CIRCUMFLEX]
char \xF5	(  3  6  )  # F5 ⠤ õ [LATIN SMALL LETTER O WITH TILDE]
char \xF6	(12  56  )  # F6 ⠳ ö [LATIN SMALL LETTER O WITH DIAERESIS]
char \xF7	(  34    )  # F7 ⠌ ÷ [DIVISION SIGN]
char \xF8	(    56  )  # F8 ⠰ ø [LATIN SMALL LETTER O WITH STROKE]
char \xF9	(  3 5   )  # F9 ⠔ ù [LATIN SMALL LETTER U WITH GRAVE]
char \xFA	( 2   6 8)  # FA ⢢ ú [LATIN SMALL LETTER U WITH ACUTE]
char \xFB	( 2   6  )  # FB ⠢ û [LATIN SMALL LETTER U WITH CIRCUMFLEX]
char \xFC	(  3  6 8)  # FC ⢤ ü [LATIN SMALL LETTER U WITH DIAERESIS]
char \xFD	(1 3456  )  # FD ⠽ ý [LATIN SMALL LETTER Y WITH ACUTE]
char \xFE	(12345678)  # FE ⣿ þ [LATIN SMALL LETTER THORN]
char \xFF	(1 3456  )  # FF ⠽ ÿ [LATIN SMALL LETTER Y WITH DIAERESIS]

include common.tti
