###############################################################################
# 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-2025 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]


