# liblouis English, U.S. (EBAE) character definitions table
#
#  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/>.

# Computer braille single-cell characters
space \s 0 blank
space \t 9 tab
space \x000a 0 newline
space \x000c 0
space \x000d 0 carriage return
space \x001b 1b escape character for html back-translation
space \x00A0 a NO-BREAK SPACE <noBreak> 0020 NON-BREAKING SPACE 
include loweredDigits6Dots.uti

include latinLetterDef6Dots.uti

punctuation ( 12356
punctuation } 12456
punctuation ] 124567
punctuation ? 1456
punctuation : 156
punctuation ) 23456
punctuation ! 2346
punctuation { 246
punctuation [ 2467
punctuation ' 3
punctuation - 36
punctuation . 46
punctuation " 5
punctuation ; 56
punctuation , 6
sign & 12346
sign $ 1246
sign | 1256
sign \\ 12567
sign % 146
sign * 16
sign # 3456
punctuation ` 4
sign _ 456
sign ^ 457
sign @ 47
math = 123456
math < 126
math / 34
math > 345
math + 346
math ~ 45

noback sign \x25CF 16 # 9679 black circle
