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

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

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

# the numbers 0-9 are represented by the letters j,a-i with dot 8 added
include num-dot8.tti

# generated by ttbtest: charset=iso-8859-2
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	(    5   )  # 22 ⠐ " [QUOTATION MARK]
char \x23	(  3456  )  # 23 ⠼ # [NUMBER SIGN]
char \x24	(12 4 6  )  # 24 ⠫ $ [DOLLAR SIGN]
char \x25	(1  4 6 8)  # 25 ⢩ % [PERCENT SIGN]
char \x26	(1234 6 8)  # 26 ⢯ & [AMPERSAND]
char \x27	(  3     )  # 27 ⠄ ' [APOSTROPHE]
char \x28	(123 56  )  # 28 ⠷ ( [LEFT PARENTHESIS]
char \x29	( 23456  )  # 29 ⠾ ) [RIGHT PARENTHESIS]
char \x2A	(  3 5   )  # 2A ⠔ * [ASTERISK]
char \x2B	( 23 5   )  # 2B ⠖ + [PLUS SIGN]
char \x2C	( 2      )  # 2C ⠂ , [COMMA]
char \x2D	(  3  6  )  # 2D ⠤ - [HYPHEN-MINUS]
char \x2E	(  3     )  # 2E ⠄ . [FULL STOP]
char \x2F	(  34    )  # 2F ⠌ / [SOLIDUS]
# Hindu-Arabic numerals     # 30-39
char \x3A	( 2  5   )  # 3A ⠒ : [COLON]
char \x3B	( 23     )  # 3B ⠆ ; [SEMICOLON]
char \x3C	(12   6 8)  # 3C ⢣ < [LESS-THAN SIGN]
char \x3D	( 23 56  )  # 3D ⠶ = [EQUALS SIGN]
char \x3E	(  345  8)  # 3E ⢜ > [GREATER-THAN SIGN]
char \x3F	( 23  6  )  # 3F ⠦ ? [QUESTION MARK]
char \x40	(   4  7 )  # 40 ⡈ @ [COMMERCIAL AT]
# uppercase Latin alphabet  # 41-5A
char \x5B	( 2 4 6 8)  # 5B ⢪ [ [LEFT SQUARE BRACKET]
char \x5C	(12  567 )  # 5C ⡳ \ [REVERSE SOLIDUS]
char \x5D	(12 4567 )  # 5D ⡻ ] [RIGHT SQUARE BRACKET]
char \x5E	(   45 7 )  # 5E ⡘ ^ [CIRCUMFLEX ACCENT]
char \x5F	(   456  )  # 5F ⠸ _ [LOW LINE]
char \x60	(   4    )  # 60 ⠈ ` [GRAVE ACCENT]
# lowercase Latin alphabet  # 61-7A
char \x7B	( 23 567 )  # 7B ⡶ { [LEFT CURLY BRACKET]
char \x7C	(12  56  )  # 7C ⠳ | [VERTICAL LINE]
char \x7D	( 23 56 8)  # 7D ⢶ } [RIGHT CURLY BRACKET]
char \x7E	(   45   )  # 7E ⠘ ~ [TILDE]
char \x7F	(   4567 )  # 7F ⡸   [DELETE]
char \u0104	(1    67 )  # A1 ⡡ Ą [LATIN CAPITAL LETTER A WITH OGONEK]
char \u02D8	(    5  8)  # A2 ⢐ ˘ [BREVE]
char \u0141	(12   67 )  # A3 ⡣ Ł [LATIN CAPITAL LETTER L WITH STROKE]
char \xA4	(  3  678)  # A4 ⣤ ¤ [CURRENCY SIGN]
char \u013D	(   4 6 8)  # A5 ⢨ Ľ [LATIN CAPITAL LETTER L WITH CARON]
char \u015A	( 2 4 67 )  # A6 ⡪ Ś [LATIN CAPITAL LETTER S WITH ACUTE]
char \xA7	(12345678)  # A7 ⣿ § [SECTION SIGN]
char \xA8	( 2    78)  # A8 ⣂ ¨ [DIAERESIS]
char \u0160	(1  4567 )  # A9 ⡹ Š [LATIN CAPITAL LETTER S WITH CARON]
char \u015E	(12  5  8)  # AA ⢓ Ş [LATIN CAPITAL LETTER S WITH CEDILLA]
char \u0164	(123 5678)  # AB ⣷ Ť [LATIN CAPITAL LETTER T WITH CARON]
char \u0179	( 234 67 )  # AC ⡮ Ź [LATIN CAPITAL LETTER Z WITH ACUTE]
char \u017D	(   4 678)  # AE ⣨ Ž [LATIN CAPITAL LETTER Z WITH CARON]
char \u017B	(1234 6 8)  # AF ⢯ Ż [LATIN CAPITAL LETTER Z WITH DOT ABOVE]
char \xB0	(  3 56  )  # B0 ⠴ ° [DEGREE SIGN]
char \u0105	(1    6  )  # B1 ⠡ ą [LATIN SMALL LETTER A WITH OGONEK]
char \u02DB	(       8)  # B2 ⢀ ˛ [OGONEK]
char \u0142	(12   6  )  # B3 ⠣ ł [LATIN SMALL LETTER L WITH STROKE]
char \xB4	(   4    )  # B4 ⠈ ´ [ACUTE ACCENT]
char \u013E	(1 34   8)  # B5 ⢍ ľ [LATIN SMALL LETTER L WITH CARON]
char \u015B	( 2 4 6  )  # B6 ⠪ ś [LATIN SMALL LETTER S WITH ACUTE]
char \u02C7	(  3   7 )  # B7 ⡄ ˇ [CARON]
char \xB8	(       8)  # B8 ⢀ ¸ [CEDILLA]
char \u0161	(123 567 )  # B9 ⡷ š [LATIN SMALL LETTER S WITH CARON]
char \u015F	( 2 45  8)  # BA ⢚ ş [LATIN SMALL LETTER S WITH CEDILLA]
char \u0165	( 2345678)  # BB ⣾ ť [LATIN SMALL LETTER T WITH CARON]
char \u017A	( 234 6  )  # BC ⠮ ź [LATIN SMALL LETTER Z WITH ACUTE]
char \u02DD	(   45   )  # BD ⠘ ˝ [DOUBLE ACUTE ACCENT]
char \u017E	(  34 678)  # BE ⣬ ž [LATIN SMALL LETTER Z WITH CARON]
char \u017C	(1234 6  )  # BF ⠯ ż [LATIN SMALL LETTER Z WITH DOT ABOVE]
char \u0154	(  3   78)  # C0 ⣄ Ŕ [LATIN CAPITAL LETTER R WITH ACUTE]
char \xC1	( 2    7 )  # C1 ⡂ Á [LATIN CAPITAL LETTER A WITH ACUTE]
char \xC2	(1 3    8)  # C2 ⢅ Â [LATIN CAPITAL LETTER A WITH CIRCUMFLEX]
char \u0102	( 23  67 )  # C3 ⡦ Ă [LATIN CAPITAL LETTER A WITH BREVE]
char \xC4	(    567 )  # C4 ⡰ Ä [LATIN CAPITAL LETTER A WITH DIAERESIS]
char \u0139	(  34567 )  # C5 ⡼ Ĺ [LATIN CAPITAL LETTER L WITH ACUTE]
char \u0106	(1  4 67 )  # C6 ⡩ Ć [LATIN CAPITAL LETTER C WITH ACUTE]
char \xC7	(1234 67 )  # C7 ⡯ Ç [LATIN CAPITAL LETTER C WITH CEDILLA]
char \u010C	( 23   78)  # C8 ⣆ Č [LATIN CAPITAL LETTER C WITH CARON]
char \xC9	( 23    8)  # C9 ⢆ É [LATIN CAPITAL LETTER E WITH ACUTE]
char \u0118	(1   567 )  # CA ⡱ Ę [LATIN CAPITAL LETTER E WITH OGONEK]
char \xCB	(12345  8)  # CB ⢟ Ë [LATIN CAPITAL LETTER E WITH DIAERESIS]
char \u011A	(12 4   8)  # CC ⢋ Ě [LATIN CAPITAL LETTER E WITH CARON]
char \xCD	( 2  5 78)  # CD ⣒ Í [LATIN CAPITAL LETTER I WITH ACUTE]
char \xCE	(    5678)  # CE ⣰ Î [LATIN CAPITAL LETTER I WITH CIRCUMFLEX]
char \u010E	(1    67 )  # CF ⡡ Ď [LATIN CAPITAL LETTER D WITH CARON]
char \u0110	(    5 7 )  # D0 ⡐ Đ [LATIN CAPITAL LETTER D WITH STROKE]
char \u0143	(1  4567 )  # D1 ⡹ Ń [LATIN CAPITAL LETTER N WITH ACUTE]
char \u0147	( 2     8)  # D2 ⢂ Ň [LATIN CAPITAL LETTER N WITH CARON]
char \xD3	(  34 67 )  # D3 ⡬ Ó [LATIN CAPITAL LETTER O WITH ACUTE]
char \xD4	( 2 4   8)  # D4 ⢊ Ô [LATIN CAPITAL LETTER O WITH CIRCUMFLEX]
char \u0150	(1234 6 8)  # D5 ⢯ Ő [LATIN CAPITAL LETTER O WITH DOUBLE ACUTE]
char \xD6	(  3 5  8)  # D6 ⢔ Ö [LATIN CAPITAL LETTER O WITH DIAERESIS]
char \xD7	( 23  6  )  # D7 ⠦ × [MULTIPLICATION SIGN]
char \u0158	(  3 567 )  # D8 ⡴ Ř [LATIN CAPITAL LETTER R WITH CARON]
char \u016E	(     678)  # D9 ⣠ Ů [LATIN CAPITAL LETTER U WITH RING ABOVE]
char \xDA	( 2  5 7 )  # DA ⡒ Ú [LATIN CAPITAL LETTER U WITH ACUTE]
char \u0170	(12345678)  # DB ⣿ Ű [LATIN CAPITAL LETTER U WITH DOUBLE ACUTE]
char \xDC	( 23  6 8)  # DC ⢦ Ü [LATIN CAPITAL LETTER U WITH DIAERESIS]
char \xDD	( 23  678)  # DD ⣦ Ý [LATIN CAPITAL LETTER Y WITH ACUTE]
char \u0162	(  3 5678)  # DE ⣴ Ţ [LATIN CAPITAL LETTER T WITH CEDILLA]
char \xDF	(  3456 8)  # DF ⢼ ß [LATIN SMALL LETTER SHARP S]
char \u0155	(123 56 8)  # E0 ⢷ ŕ [LATIN SMALL LETTER R WITH ACUTE]
char \xE1	(1    6 8)  # E1 ⢡ á [LATIN SMALL LETTER A WITH ACUTE]
char \xE2	(1    678)  # E2 ⣡ â [LATIN SMALL LETTER A WITH CIRCUMFLEX]
char \u0103	(1234   8)  # E3 ⢏ ă [LATIN SMALL LETTER A WITH BREVE]
char \xE4	(  345  8)  # E4 ⢜ ä [LATIN SMALL LETTER A WITH DIAERESIS]
char \u013A	(  345678)  # E5 ⣼ ĺ [LATIN SMALL LETTER L WITH ACUTE]
char \u0107	(1  4 6  )  # E6 ⠩ ć [LATIN SMALL LETTER C WITH ACUTE]
char \xE7	(1234 678)  # E7 ⣯ ç [LATIN SMALL LETTER C WITH CEDILLA]
char \u010D	( 234 6 8)  # E8 ⢮ č [LATIN SMALL LETTER C WITH CARON]
char \xE9	(12   6 8)  # E9 ⢣ é [LATIN SMALL LETTER E WITH ACUTE]
char \u0119	(1   56  )  # EA ⠱ ę [LATIN SMALL LETTER E WITH OGONEK]
char \xEB	(12 4 6 8)  # EB ⢫ ë [LATIN SMALL LETTER E WITH DIAERESIS]
char \u011B	(  34   8)  # EC ⢌ ě [LATIN SMALL LETTER E WITH CARON]
char \xED	(1  4 6 8)  # ED ⢩ í [LATIN SMALL LETTER I WITH ACUTE]
char \xEE	(1  4 678)  # EE ⣩ î [LATIN SMALL LETTER I WITH CIRCUMFLEX]
char \u010F	(12 456 8)  # EF ⢻ ď [LATIN SMALL LETTER D WITH CARON]
char \u0111	( 23 56 8)  # F0 ⢶ đ [LATIN SMALL LETTER D WITH STROKE]
char \u0144	(1  456  )  # F1 ⠹ ń [LATIN SMALL LETTER N WITH ACUTE]
char \u0148	(  34 6 8)  # F2 ⢬ ň [LATIN SMALL LETTER N WITH CARON]
char \xF3	(  34 6  )  # F3 ⠬ ó [LATIN SMALL LETTER O WITH ACUTE]
char \xF4	(1  45678)  # F4 ⣹ ô [LATIN SMALL LETTER O WITH CIRCUMFLEX]
char \u0151	(1   567 )  # F5 ⡱ ő [LATIN SMALL LETTER O WITH DOUBLE ACUTE]
char \xF6	( 2 4 6 8)  # F6 ⢪ ö [LATIN SMALL LETTER O WITH DIAERESIS]
char \xF7	(12  5678)  # F7 ⣳ ÷ [DIVISION SIGN]
char \u0159	(      78)  # F8 ⣀ ř [LATIN SMALL LETTER R WITH CARON]
char \u016F	( 23456 8)  # F9 ⢾ ů [LATIN SMALL LETTER U WITH RING ABOVE]
char \xFA	(1   56 8)  # FA ⢱ ú [LATIN SMALL LETTER U WITH ACUTE]
char \u0171	(1   5678)  # FB ⣱ ű [LATIN SMALL LETTER U WITH DOUBLE ACUTE]
char \xFC	(12  56 8)  # FC ⢳ ü [LATIN SMALL LETTER U WITH DIAERESIS]
char \xFD	( 23 5678)  # FD ⣶ ý [LATIN SMALL LETTER Y WITH ACUTE]
char \u0163	(1234567 )  # FE ⡿ ţ [LATIN SMALL LETTER T WITH CEDILLA]
char \u02D9	(       8)  # FF ⢀ ˙ [DOT ABOVE]

include common.tti
