blob: e5227f915d041371fa881a225898bbcaaea454a8 [file] [log] [blame]
###############################################################################
# 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>.
###############################################################################
# This BRLTTY text subtable defines aliases to/from Windows-1252 characters.
# Dave Mielke <dave@mielke.cc>
################
# Introduction #
################
# Windows-1252 defines characters within the ISO-8859-1 C1 range (\x80-\x9F).
# Since BRLTTY uses Unicode characters internally, the traditional use of
# Windows-1252 characters has caused confusion within at least two areas:
#
# * Some braille standards have been developed around, and, therefore, their
# tables have been written using, Windows-1252 character values.
#
# * Some programs write Windows-1252 characters to the screen.
#
# This text subtable seeks to resolve these issues (see its sections below):
# Windows-1252 doesn't define five of the 32 ISO-8859-1 C1 characters:
#
# \x81, \x8D, \x8F, \x90, \x9D
#
# Wikipedia says:
#
# “According to the information on Microsoft's and the Unicode Consortium's
# websites, positions 81, 8D, 8F, 90, and 9D are unused; however, the
# Windows API MultiByteToWideChar maps these to the corresponding C1 control
# codes. The "best fit" mapping documents this behavior, too.”
##############################################################
# Braille Tables Written Using Windows-1252 Character Values #
##############################################################
# Alias each relevant Unicode character to its corresponding Windows-1252
# value so that its braille representation will be found.
ifGlyph \x80 alias \u20AC \x80 # € [EURO SIGN]
ifGlyph \x82 alias \u201A \x82 # ‚ [SINGLE LOW-9 QUOTATION MARK]
ifGlyph \x83 alias \u0192 \x83 # ƒ [LATIN SMALL LETTER F WITH HOOK]
ifGlyph \x84 alias \u201E \x84 # „ [DOUBLE LOW-9 QUOTATION MARK]
ifGlyph \x85 alias \u2026 \x85 # … [HORIZONTAL ELLIPSIS]
ifGlyph \x86 alias \u2020 \x86 # † [DAGGER]
ifGlyph \x87 alias \u2021 \x87 # ‡ [DOUBLE DAGGER]
ifGlyph \x88 alias \u02C6 \x88 # ˆ [MODIFIER LETTER CIRCUMFLEX ACCENT]
ifGlyph \x89 alias \u2030 \x89 # ‰ [PER MILLE SIGN]
ifGlyph \x8A alias \u0160 \x8A # Š [LATIN CAPITAL LETTER S WITH CARON]
ifGlyph \x8B alias \u2039 \x8B # ‹ [SINGLE LEFT-POINTING ANGLE QUOTATION MARK]
ifGlyph \x8C alias \u0152 \x8C # Œ [LATIN CAPITAL LIGATURE OE]
ifGlyph \x8E alias \u017D \x8E # Ž [LATIN CAPITAL LETTER Z WITH CARON]
ifGlyph \x91 alias \u2018 \x91 # ‘ [LEFT SINGLE QUOTATION MARK]
ifGlyph \x92 alias \u2019 \x92 # ’ [RIGHT SINGLE QUOTATION MARK]
ifGlyph \x93 alias \u201C \x93 # “ [LEFT DOUBLE QUOTATION MARK]
ifGlyph \x94 alias \u201D \x94 # ” [RIGHT DOUBLE QUOTATION MARK]
ifGlyph \x95 alias \u2022 \x95 # • [BULLET]
ifGlyph \x96 alias \u2013 \x96 # – [EN DASH]
ifGlyph \x97 alias \u2014 \x97 # — [EM DASH]
ifGlyph \x98 alias \u02DC \x98 # ˜ [SMALL TILDE]
ifGlyph \x99 alias \u2122 \x99 # ™ [TRADE MARK SIGN]
ifGlyph \x9A alias \u0161 \x9A # š [LATIN SMALL LETTER S WITH CARON]
ifGlyph \x9B alias \u203A \x9B # › [SINGLE RIGHT-POINTING ANGLE QUOTATION MARK]
ifGlyph \x9C alias \u0153 \x9C # œ [LATIN SMALL LIGATURE OE]
ifGlyph \x9E alias \u017E \x9E # ž [LATIN SMALL LETTER Z WITH CARON]
ifGlyph \x9F alias \u0178 \x9F # Ÿ [LATIN CAPITAL LETTER Y WITH DIAERESIS]
#################################################
# Windows-1252 characters Written to the Screen #
#################################################
# Alias the Windows-1252 characters to their corresponding Unicode values so
# that their braille representations can be found.
alias \x80 \u20AC # € [EURO SIGN]
alias \x82 \u201A # ‚ [SINGLE LOW-9 QUOTATION MARK]
alias \x83 \u0192 # ƒ [LATIN SMALL LETTER F WITH HOOK]
alias \x84 \u201E # „ [DOUBLE LOW-9 QUOTATION MARK]
alias \x85 \u2026 # … [HORIZONTAL ELLIPSIS]
alias \x86 \u2020 # † [DAGGER]
alias \x87 \u2021 # ‡ [DOUBLE DAGGER]
alias \x88 \u02C6 # ˆ [MODIFIER LETTER CIRCUMFLEX ACCENT]
alias \x89 \u2030 # ‰ [PER MILLE SIGN]
alias \x8A \u0160 # Š [LATIN CAPITAL LETTER S WITH CARON]
alias \x8B \u2039 # ‹ [SINGLE LEFT-POINTING ANGLE QUOTATION MARK]
alias \x8C \u0152 # Œ [LATIN CAPITAL LIGATURE OE]
alias \x8E \u017D # Ž [LATIN CAPITAL LETTER Z WITH CARON]
alias \x91 \u2018 # ‘ [LEFT SINGLE QUOTATION MARK]
alias \x92 \u2019 # ’ [RIGHT SINGLE QUOTATION MARK]
alias \x93 \u201C # “ [LEFT DOUBLE QUOTATION MARK]
alias \x94 \u201D # ” [RIGHT DOUBLE QUOTATION MARK]
alias \x95 \u2022 # • [BULLET]
alias \x96 \u2013 # – [EN DASH]
alias \x97 \u2014 # — [EM DASH]
alias \x98 \u02DC # ˜ [SMALL TILDE]
alias \x99 \u2122 # ™ [TRADE MARK SIGN]
alias \x9A \u0161 # š [LATIN SMALL LETTER S WITH CARON]
alias \x9B \u203A # › [SINGLE RIGHT-POINTING ANGLE QUOTATION MARK]
alias \x9C \u0153 # œ [LATIN SMALL LIGATURE OE]
alias \x9E \u017E # ž [LATIN SMALL LETTER Z WITH CARON]
alias \x9F \u0178 # Ÿ [LATIN CAPITAL LETTER Y WITH DIAERESIS]