# liblouis: corrections table
#
#  Copyright (C) 2009 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/>.

# Append this table to others to correct scannos, etc.

repeated ____ 456-456-456-456
repeated ---- 36-36-36-36
repeated .... 3-3-3-3 
sign \x0094 5
noback correct "\x0094" "\""
noback correct "\x00a0" "\s"
noback correct "\x000a" "\s"
space \x00ad 0
noback correct "\x00ad" ?
noback correct "\x2019" "'"
space \x0097 0
noback correct "\x0097" "\s"
noback correct "(\s" "("
noback correct "\s)" ")" 
noback correct "cornf" "comf"
noback correct "cornm" "comm"
noback correct "cornp" "comp"
noback correct $p["-"] "\s-\s"
noback correct "..." *
noback correct "\s," ","
noback correct "\s." "."
noback correct "\s?" "?"
noback correct "-\"" "--\""
noback correct [".\s\""]$s ".\""
noback correct "-"$s ?
