###############################################################################
# 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 - Norwegian (Offentlig utvalg for punktskrift, OUP)
# based on the Offentlig utvalg for punktskrift (Public Commission for
# Braille) translation table for Windows 1252.
# Updated January 2008.

# 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-1
char \x00	(   45 78)  # 00 ⣘   [NULL]
# Latin control characters  # 01-1A
char \x1B	(1234   8)  # 1B ⢏   [ESCAPE]
char \x1C	(12345  8)  # 1C ⢟   [INFORMATION SEPARATOR FOUR]
char \x1D	(1 3  6 8)  # 1D ⢥   [INFORMATION SEPARATOR THREE]
char \x1E	( 2 456 8)  # 1E ⢺   [INFORMATION SEPARATOR TWO]
char \x1F	(1 3 56 8)  # 1F ⢵   [INFORMATION SEPARATOR ONE]
char \x20	(        )  # 20 ⠀   [SPACE]
char \x21	( 23 5   )  # 21 ⠖ ! [EXCLAMATION MARK]
char \x22	( 2  56  )  # 22 ⠲ " [QUOTATION MARK]
char \x23	(  3456  )  # 23 ⠼ # [NUMBER SIGN]
char \x24	( 2  5678)  # 24 ⣲ $ [DOLLAR SIGN]
char \x25	(   4 6  )  # 25 ⠨ % [PERCENT SIGN]
char \x26	(    5 78)  # 26 ⣐ & [AMPERSAND]
char \x27	(    5   )  # 27 ⠐ ' [APOSTROPHE]
char \x28	( 23  6  )  # 28 ⠦ ( [LEFT PARENTHESIS]
char \x29	(  3 56  )  # 29 ⠴ ) [RIGHT PARENTHESIS]
char \x2A	(  3 5   )  # 2A ⠔ * [ASTERISK]
char \x2B	( 23 5 7 )  # 2B ⡖ + [PLUS SIGN]
char \x2C	( 2      )  # 2C ⠂ , [COMMA]
char \x2D	(  3  6  )  # 2D ⠤ - [HYPHEN-MINUS]
char \x2E	(  3     )  # 2E ⠄ . [FULL STOP]
char \x2F	(    5 7 )  # 2F ⡐ / [SOLIDUS]
# Hindu-Arabic numerals     # 30-39
char \x3A	( 2  5   )  # 3A ⠒ : [COLON]
char \x3B	( 23     )  # 3B ⠆ ; [SEMICOLON]
char \x3C	(  3 5  8)  # 3C ⢔ < [LESS-THAN SIGN]
char \x3D	( 23 56  )  # 3D ⠶ = [EQUALS SIGN]
char \x3E	( 2   67 )  # 3E ⡢ > [GREATER-THAN SIGN]
char \x3F	( 2   6  )  # 3F ⠢ ? [QUESTION MARK]
char \x40	(   4    )  # 40 ⠈ @ [COMMERCIAL AT]
# uppercase Latin alphabet  # 41-5A
char \x5B	( 23  678)  # 5B ⣦ [ [LEFT SQUARE BRACKET]
char \x5C	( 2     8)  # 5C ⢂ \ [REVERSE SOLIDUS]
char \x5D	(  3 5678)  # 5D ⣴ ] [RIGHT SQUARE BRACKET]
char \x5E	(    5  8)  # 5E ⢐ ^ [CIRCUMFLEX ACCENT]
char \x5F	(   456  )  # 5F ⠸ _ [LOW LINE]
char \x60	(   45   )  # 60 ⠘ ` [GRAVE ACCENT]
# lowercase Latin alphabet  # 61-7A
char \x7B	( 23    8)  # 7B ⢆ { [LEFT CURLY BRACKET]
char \x7C	(    56  )  # 7C ⠰ | [VERTICAL LINE]
char \x7D	(    567 )  # 7D ⡰ } [RIGHT CURLY BRACKET]
char \x7E	(  3    8)  # 7E ⢄ ~ [TILDE]
char \x7F	(  3 5 78)  # 7F ⣔   [DELETE]
char \x80	( 2   678)  # 80 ⣢   [<control-0080>]
char \x81	(1 345  8)  # 81 ⢝   [<control-0081>]
char \x82	(     67 )  # 82 ⡠   [BREAK PERMITTED HERE]
char \x83	(   45678)  # 83 ⣸   [NO BREAK HERE]
char \x84	(  3 567 )  # 84 ⡴   [<control-0084>]
char \x85	(  3   7 )  # 85 ⡄   [NEXT LINE (NEL)]
char \x86	(   4  7 )  # 86 ⡈   [START OF SELECTED AREA]
char \x87	(   45 7 )  # 87 ⡘   [END OF SELECTED AREA]
char \x88	(   4 6 8)  # 88 ⢨   [CHARACTER TABULATION SET]
char \x89	(   456 8)  # 89 ⢸   [CHARACTER TABULATION WITH JUSTIFICATION]
char \x8A	(1   5678)  # 8A ⣱   [LINE TABULATION SET]
char \x8B	(  3   78)  # 8B ⣄   [PARTIAL LINE FORWARD]
char \x8C	(12345678)  # 8C ⣿   [PARTIAL LINE BACKWARD]
char \x8D	(   4  78)  # 8D ⣈   [REVERSE LINE FEED]
char \x8E	( 234 678)  # 8E ⣮   [SINGLE SHIFT TWO]
char \x8F	( 23  67 )  # 8F ⡦   [SINGLE SHIFT THREE]
char \x90	( 23  6 8)  # 90 ⢦   [DEVICE CONTROL STRING]
char \x91	(  3  67 )  # 91 ⡤   [PRIVATE USE ONE]
char \x92	(  3  6 8)  # 92 ⢤   [PRIVATE USE TWO]
char \x93	( 23 567 )  # 93 ⡶   [SET TRANSMIT STATE]
char \x94	( 23 56 8)  # 94 ⢶   [CANCEL CHARACTER]
char \x95	(  3  678)  # 95 ⣤   [MESSAGE WAITING]
char \x96	(     6 8)  # 96 ⢠   [START OF GUARDED AREA]
char \x97	(    56 8)  # 97 ⢰   [END OF GUARDED AREA]
char \x98	( 2  56 8)  # 98 ⢲   [START OF STRING]
char \x99	( 2345  8)  # 99 ⢞   [<control-0099>]
char \x9A	(1   56 8)  # 9A ⢱   [SINGLE CHARACTER INTRODUCER]
char \x9B	(     678)  # 9B ⣠   [CONTROL SEQUENCE INTRODUCER]
char \x9C	(123456 8)  # 9C ⢿   [STRING TERMINATOR]
char \x9D	( 23 5678)  # 9D ⣶   [OPERATING SYSTEM COMMAND]
char \x9E	( 234 6 8)  # 9E ⢮   [PRIVACY MESSAGE]
char \x9F	(12  5678)  # 9F ⣳   [APPLICATION PROGRAM COMMAND]
char \xA1	( 23 5  8)  # A1 ⢖ ¡ [INVERTED EXCLAMATION MARK]
char \xA2	( 2  5 78)  # A2 ⣒ ¢ [CENT SIGN]
char \xA3	(123    8)  # A3 ⢇ £ [POUND SIGN]
char \xA4	(123  6 8)  # A4 ⢧ ¤ [CURRENCY SIGN]
char \xA5	(1 3456 8)  # A5 ⢽ ¥ [YEN SIGN]
char \xA6	(   4567 )  # A6 ⡸ ¦ [BROKEN BAR]
char \xA7	(   4 678)  # A7 ⣨ § [SECTION SIGN]
char \xA8	( 2  5  8)  # A8 ⢒ ¨ [DIAERESIS]
char \xA9	(1 3    8)  # A9 ⢅ © [COPYRIGHT SIGN]
char \xAA	( 2    78)  # AA ⣂ ª [FEMININE ORDINAL INDICATOR]
char \xAB	( 23   78)  # AB ⣆ « [LEFT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xAC	(  3 5 7 )  # AC ⡔ ¬ [NOT SIGN]
char \xAD	(      78)  # AD ⣀ ­ [SOFT HYPHEN]
char \xAE	(123 5  8)  # AE ⢗ ® [REGISTERED SIGN]
char \xAF	(   45  8)  # AF ⢘ ¯ [MACRON]
char \xB0	(  3 56 8)  # B0 ⢴ ° [DEGREE SIGN]
char \xB1	( 23 5 78)  # B1 ⣖ ± [PLUS-MINUS SIGN]
char \xB2	( 23   7 )  # B2 ⡆ ² [SUPERSCRIPT TWO]
char \xB3	( 2  5 7 )  # B3 ⡒ ³ [SUPERSCRIPT THREE]
char \xB4	(     6  )  # B4 ⠠ ´ [ACUTE ACCENT]
char \xB5	(1 34   8)  # B5 ⢍ µ [MICRO SIGN]
char \xB6	(   4 67 )  # B6 ⡨ ¶ [PILCROW SIGN]
char \xB7	(      7 )  # B7 ⡀ · [MIDDLE DOT]
char \xB8	(   4   8)  # B8 ⢈ ¸ [CEDILLA]
char \xB9	( 2    7 )  # B9 ⡂ ¹ [SUPERSCRIPT ONE]
char \xBA	(1 3 5  8)  # BA ⢕ º [MASCULINE ORDINAL INDICATOR]
char \xBB	(    5678)  # BB ⣰ » [RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK]
char \xBC	(  3456 8)  # BC ⢼ ¼ [VULGAR FRACTION ONE QUARTER]
char \xBD	(  34567 )  # BD ⡼ ½ [VULGAR FRACTION ONE HALF]
char \xBE	(  345678)  # BE ⣼ ¾ [VULGAR FRACTION THREE QUARTERS]
char \xBF	( 2   6 8)  # BF ⢢ ¿ [INVERTED QUESTION MARK]
char \xC0	(123 5678)  # C0 ⣷ À [LATIN CAPITAL LETTER A WITH GRAVE]
char \xC1	(123 567 )  # C1 ⡷ Á [LATIN CAPITAL LETTER A WITH ACUTE]
char \xC2	(1    678)  # C2 ⣡ Â [LATIN CAPITAL LETTER A WITH CIRCUMFLEX]
char \xC3	(12   678)  # C3 ⣣ Ã [LATIN CAPITAL LETTER A WITH TILDE]
char \xC4	(  345 78)  # C4 ⣜ Ä [LATIN CAPITAL LETTER A WITH DIAERESIS]
char \xC5	(1    67 )  # C5 ⡡ Å [LATIN CAPITAL LETTER A WITH RING ABOVE]
char \xC6	(  345 7 )  # C6 ⡜ Æ [LATIN CAPITAL LETTER AE]
char \xC7	(1234 678)  # C7 ⣯ Ç [LATIN CAPITAL LETTER C WITH CEDILLA]
char \xC8	( 234 67 )  # C8 ⡮ È [LATIN CAPITAL LETTER E WITH GRAVE]
char \xC9	(1234567 )  # C9 ⡿ É [LATIN CAPITAL LETTER E WITH ACUTE]
char \xCA	(12   67 )  # CA ⡣ Ê [LATIN CAPITAL LETTER E WITH CIRCUMFLEX]
char \xCB	(12 4 67 )  # CB ⡫ Ë [LATIN CAPITAL LETTER E WITH DIAERESIS]
char \xCC	(  34  78)  # CC ⣌ Ì [LATIN CAPITAL LETTER I WITH GRAVE]
char \xCD	(  34  7 )  # CD ⡌ Í [LATIN CAPITAL LETTER I WITH ACUTE]
char \xCE	(1  4 67 )  # CE ⡩ Î [LATIN CAPITAL LETTER I WITH CIRCUMFLEX]
char \xCF	(12 4567 )  # CF ⡻ Ï [LATIN CAPITAL LETTER I WITH DIAERESIS]
char \xD0	(1  45678)  # D0 ⣹ Ð [LATIN CAPITAL LETTER ETH]
char \xD1	(12 45678)  # D1 ⣻ Ñ [LATIN CAPITAL LETTER N WITH TILDE]
char \xD2	(  34 678)  # D2 ⣬ Ò [LATIN CAPITAL LETTER O WITH GRAVE]
char \xD3	(  34 67 )  # D3 ⡬ Ó [LATIN CAPITAL LETTER O WITH ACUTE]
char \xD4	(1  4567 )  # D4 ⡹ Ô [LATIN CAPITAL LETTER O WITH CIRCUMFLEX]
char \xD5	(1  4 678)  # D5 ⣩ Õ [LATIN CAPITAL LETTER O WITH TILDE]
char \xD6	( 2 4 678)  # D6 ⣪ Ö [LATIN CAPITAL LETTER O WITH DIAERESIS]
char \xD7	(1 34 6 8)  # D7 ⢭ × [MULTIPLICATION SIGN]
char \xD8	( 2 4 67 )  # D8 ⡪ Ø [LATIN CAPITAL LETTER O WITH STROKE]
char \xD9	( 2345678)  # D9 ⣾ Ù [LATIN CAPITAL LETTER U WITH GRAVE]
char \xDA	( 234567 )  # DA ⡾ Ú [LATIN CAPITAL LETTER U WITH ACUTE]
char \xDB	(1   567 )  # DB ⡱ Û [LATIN CAPITAL LETTER U WITH CIRCUMFLEX]
char \xDC	(12  567 )  # DC ⡳ Ü [LATIN CAPITAL LETTER U WITH DIAERESIS]
char \xDD	(1234 67 )  # DD ⡯ Ý [LATIN CAPITAL LETTER Y WITH ACUTE]
char \xDE	(12 4 678)  # DE ⣫ Þ [LATIN CAPITAL LETTER THORN]
char \xDF	( 234   8)  # DF ⢎ ß [LATIN SMALL LETTER SHARP S]
char \xE0	(123 56 8)  # E0 ⢷ à [LATIN SMALL LETTER A WITH GRAVE]
char \xE1	(123 56  )  # E1 ⠷ á [LATIN SMALL LETTER A WITH ACUTE]
char \xE2	(1    6 8)  # E2 ⢡ â [LATIN SMALL LETTER A WITH CIRCUMFLEX]
char \xE3	(12   6 8)  # E3 ⢣ ã [LATIN SMALL LETTER A WITH TILDE]
char \xE4	(  345  8)  # E4 ⢜ ä [LATIN SMALL LETTER A WITH DIAERESIS]
char \xE5	(1    6  )  # E5 ⠡ å [LATIN SMALL LETTER A WITH RING ABOVE]
char \xE6	(  345   )  # E6 ⠜ æ [LATIN SMALL LETTER AE]
char \xE7	(1234 6 8)  # E7 ⢯ ç [LATIN SMALL LETTER C WITH CEDILLA]
char \xE8	( 234 6  )  # E8 ⠮ è [LATIN SMALL LETTER E WITH GRAVE]
char \xE9	(123456  )  # E9 ⠿ é [LATIN SMALL LETTER E WITH ACUTE]
char \xEA	(12   6  )  # EA ⠣ ê [LATIN SMALL LETTER E WITH CIRCUMFLEX]
char \xEB	(12 4 6  )  # EB ⠫ ë [LATIN SMALL LETTER E WITH DIAERESIS]
char \xEC	(  34   8)  # EC ⢌ ì [LATIN SMALL LETTER I WITH GRAVE]
char \xED	(  34    )  # ED ⠌ í [LATIN SMALL LETTER I WITH ACUTE]
char \xEE	(1  4 6  )  # EE ⠩ î [LATIN SMALL LETTER I WITH CIRCUMFLEX]
char \xEF	(12 456  )  # EF ⠻ ï [LATIN SMALL LETTER I WITH DIAERESIS]
char \xF0	(1  456 8)  # F0 ⢹ ð [LATIN SMALL LETTER ETH]
char \xF1	(12 456 8)  # F1 ⢻ ñ [LATIN SMALL LETTER N WITH TILDE]
char \xF2	(  34 6 8)  # F2 ⢬ ò [LATIN SMALL LETTER O WITH GRAVE]
char \xF3	(  34 6  )  # F3 ⠬ ó [LATIN SMALL LETTER O WITH ACUTE]
char \xF4	(1  456  )  # F4 ⠹ ô [LATIN SMALL LETTER O WITH CIRCUMFLEX]
char \xF5	(1  4 6 8)  # F5 ⢩ õ [LATIN SMALL LETTER O WITH TILDE]
char \xF6	( 2 4 6 8)  # F6 ⢪ ö [LATIN SMALL LETTER O WITH DIAERESIS]
char \xF7	( 2  567 )  # F7 ⡲ ÷ [DIVISION SIGN]
char \xF8	( 2 4 6  )  # F8 ⠪ ø [LATIN SMALL LETTER O WITH STROKE]
char \xF9	( 23456 8)  # F9 ⢾ ù [LATIN SMALL LETTER U WITH GRAVE]
char \xFA	( 23456  )  # FA ⠾ ú [LATIN SMALL LETTER U WITH ACUTE]
char \xFB	(1   56  )  # FB ⠱ û [LATIN SMALL LETTER U WITH CIRCUMFLEX]
char \xFC	(12  56  )  # FC ⠳ ü [LATIN SMALL LETTER U WITH DIAERESIS]
char \xFD	(1234 6  )  # FD ⠯ ý [LATIN SMALL LETTER Y WITH ACUTE]
char \xFE	(12 4 6 8)  # FE ⢫ þ [LATIN SMALL LETTER THORN]
char \xFF	(12  56 8)  # FF ⢳ ÿ [LATIN SMALL LETTER Y WITH DIAERESIS]

include common.tti
