# liblouis: U.S. character-to-dot mapping.
#
#  Based on the Linux screenreader BRLTTY, copyright (C) 1999-2006 by
#  The BRLTTY Team
#
#  Copyright (C) 2004-2006 ViewPlus Technologies, Inc. www.viewplus.com
#  Copyright (C) 2004-2006 JJB Software, Inc. www.jjb-software.com
#
#  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/>.

display 0 356
display 1 2
display 2 23
display 3 25
display 4 256
display 5 26
display 6 235
display 7 2356
display 8 236
display 9 35
display ( 12356
display } 12456
display ] 124567
display ? 1456
display : 156
display ) 23456
display ! 2346
display { 246
display [ 2467
display ' 3
display - 36
display . 46
display " 5
display ; 56
display , 6
display & 12346
display $ 1246
display | 1256
display \\ 12567
display % 146
display * 16
display # 3456
display ` 4
display _ 456
display ^ 457
display @ 47
display = 123456
display < 126
display / 34
display > 345
display + 346
display ~ 45

