# liblouis: Norwegian 6-dot display braille table for Braillo embossers
#
#  Copyright (C) 2017 Lars Bjørndal <lars@lamasti.net>
#
#  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/>.

# ----------------------------------------------------------------------

# Braillo Norway 6 dot, 047.01

#display        !      235 # 33
display        "      236 #  34
display        #      3456 #  35
display         $      356 #  36
display         %      256 #   37
display         &      346 # 38
display         '      5 # 39
#display         (      2356 # 40
#display         )      2356 # 41
display         *      6 # 42
display         +      235 #  43
display         ,      2 # 44
display         -      36 # 45
display         .      3 # 46
display         /      34 # 47
#display         0      245 # 48
#display         1      1 # 49
#display         2      12 # 50
#display         3      14 # 51
#display         4      145 # 52
#display         5      15 # 53
#display         6      124 # 54
#display         7      1245 # 55
#display         8      125 # 56
#display         9      24 # 57
display         :      25 # 58
display         ;      23 # 59
#display         <      # 60
display         =      2356 # 61
#display         >      # 62
display         ?      26 # 63
display         @      35 # 64
display         A      1 # 65
display         B      12 # 66
display         C      14 # 67
display         D      145 # 68
display         E      15 # 69
display         F      124 # 70
display         G      1245 # 71
display         H      125 # 72
display         I      24 # 73
display         J      245 # 74
display         K      13 # 75
display         L      123 # 76
display         M      134 # 77
display         N      1345 # 78
display         O      135 # 79
display         P      1234 # 80
display         Q      12345 # 81
display         R      1235 # 82
display         S      234 # 83
display         T      2345 # 84
display         U      136 # 85
display         V      1236 # 86
display         W      2456 # 87
display         X      1346 # 88
display         Y      13456 # 89
display         Z      1356 # 90
display         [      345 # 91
display         \\      246 # 92
display         ]      16 # 93
#display         ^      346 # 94
display         _      56 # 95
display         `      4 # 96
display         a      45 # 97
#display         b      # 98
#display         c      # 99
display         d      1456 # 100
display         e      156 # 101
#display        f      # 102
display        g      12456 # 103
display        h      1246 # 104
display        i      12346 # 105
display        j      123456 # 106
display        k      12356 # 107
display        l      2346 # 108
display        m      146 # 109
display        n      23456 # 110
#display        o      # 111
#display        p      # 112
display        q      46 # 113
display        r      126 # 114
#display        s      # 115
#display        t      # 116
display        u      1256 # 117
#display        v      # 118
#display        w      # 119
#display        x      # 120
#display        y      # 121
#display        z      # 122
#display        {      # 123
display        |      456 # 124
#display        }      # 125
#display        ~      # 126
#display        \X007f      # 127
#display        Ç      # 128
#display        ü      # 129
#display        é      # 130
#display        â      # 131
#display        ä      # 132
#display        à      # 133
#display        å      # 134
#display        ç      # 135
#display        ê      # 136
#display        ë      # 137
#display        è      # 138
#display        ï      # 139
#display#        î     # 140
#display        ì      # 141
#display        Ä      # 142
#display        Å      # 143
#display        É      # 144
#display        æ      # 145
#display        Æ      # 146
#display        ô      # 147
#display        ö      # 148
#display        ò      # 149
#display        û      # 150
#display        ù      # 151
#display        ÿ      # 152
#display        Ö      # 153
#display        Ü      # 154
#display        ø      # 155
#display        £      # 156
#display        Ø      # 157
#display        ×      # 158
#display        ƒ      # 159
#display        á      # 160
#display        í      # 161
#display        ó      # 162
#display        ú      # 163
#display        ñ      # 164
#display        Ñ      # 165
#display        ª      # 166
#display        º      # 167
#display        ¿      # 168
#display        ®      # 169
#display        ¬      # 170
#display        ½      # 171
#display        ¼      # 172
#display        ¡      # 173
#display        «      # 174
#display        »      # 175
#display        ░      16 # 176
#display        ▒      123 # 177
#display        ▓      # 178
#display        │      # 179
#display        ┤      # 180
#display        Á      # 181
#display        Â      # 182
#display        À      # 183
#display        ©      # 184
#display        ╣      # 185
#display        ║      # 186
#display        ╗      # 187
#display        ╝      # 188
#display        ¢      # 189
#display        ¥      # 190
#display        ┐      # 191
#display        └      # 192
#display        ┴      # 193
#display        ┬      # 194
#display        ├      # 195
#display        ─      # 196
#display        ┼      # 197
#display        ã      # 198
#display        Ã      # 199
#display        ╚      # 200
#display        ╔      # 201
#display        ╩      # 202
#display        ╦      # 203
#display        ╠      # 204
#display        ═      # 205
#display        ╬      # 206
#display        ¤      # 207
#display        ð      # 208
#display        Ð      # 209
#display        Ê      # 210
#display        Ë      # 211
#display        È      # 212
#display        ı      # 213
#display        Í      # 214
#display        Î      # 215
#display        Ï      # 216
#display        ┘      # 217
#display        ┌      # 218
#display        █      # 219
#display        ▄      # 220
#display        ¦      # 221
#display        Ì      # 222
#display        ▀      # 223
#display        Ó      # 224
#display        ß      # 225
#display        Ô      # 226
#display        Ò      # 227
#display        õ      # 228
#display        Õ      # 229
#display        µ      # 230
#display        þ      # 231
#display        Þ      # 232
#display        Ú      # 233
#display        Û      # 234
#display        Ù      # 235
#display        ý      # 236
#display        Ý      # 237
#display        ¯      # 238
#display        ´      # 239
#display        ­      # 240
#display        ±      # 241
#display        ‗      # 242
#display        ¾      # 243
#display        ¶      # 244
#display        §      # 245
#display        ÷      # 246
#display        ¸      # 247
#display        °      # 248
#display        ¨      # 249
#display        ·      # 250
#display        ¹      # 251
#display        ³      # 252
#display        ²      # 253
#display        ■      # 254
#display               # 255
