Panel/Agent-Windows/OGP64/usr/share/groff/1.24.1/tmac/fallbacks.tmac
2026-06-06 18:46:40 -04:00

297 lines
8.9 KiB
Text

.\" Define fallbacks for glyphs unavailable to GNU troff(1).
.\"
.\" These are designed such that "troffrc" loads them early, after
.\" composite character mapping setup but before any device-specific
.\" fallbacks. Macro files specific to an output device can therefore
.\" override the definitions below as necessary.
.
.do nr *groff_fallbacks_tmac_C \n[.cp]
.cp 0
.
.\" The early loading observation above also means that the conditional
.\" expressions 'n' and 't' are not reliable. Define ersatz substitute.
.nr fallbacks*troff-mode 1
.if '\?\*[.T]\?'\?ascii\?' .nr fallbacks*troff-mode 0
.if '\?\*[.T]\?'\?latin1\?' .nr fallbacks*troff-mode 0
.if '\?\*[.T]\?'\?utf8\?' .nr fallbacks*troff-mode 0
.
.\" MODIFIER LETTER CIRCUMFLEX ACCENT -> CIRCUMFLEX ACCENT
.fchar \[u02C6] ^
.\" SMALL TILDE -> TILDE
.fchar \[u02DC] ~
.\" INCREMENT -> GREEK CAPITAL LETTER DELTA
.fchar \[u2206] \[u0394]
.
.
.\" NB: as per http://unicode.org/Public/UNIDATA/NamesList.txt
.\"
.\" #!/usr/bin/perl
.\" ## Ivan Shmakov, 2012.
.\" ## This code is in the public-domain.
.\" my $u;
.\" while (<>) {
.\" $u = oct ("0x" . $1)
.\" if (/^([[:xdigit:]]{4})/);
.\" next unless (defined ($u) && $u >= 0x2160 && $u <= 0x217F);
.\" if (/^\s+#\s+([[:xdigit:][:blank:]]+)(\s.*)?$/) {
.\" ## NB: may make sense to map to \[uXXXX]'s instead
.\" printf (".fchar \\[u%04X] %s\n", $u,
.\" pack ("U*", map { oct ("0x" . $_); } split (/ /, $1)));
.\" $u = undef;
.\" }
.\" }
.
.fchar \[u2160] I
.fchar \[u2161] II
.fchar \[u2162] III
.fchar \[u2163] IV
.fchar \[u2164] V
.fchar \[u2165] VI
.fchar \[u2166] VII
.fchar \[u2167] VIII
.fchar \[u2168] IX
.fchar \[u2169] X
.fchar \[u216A] XI
.fchar \[u216B] XII
.fchar \[u216C] L
.fchar \[u216D] C
.fchar \[u216E] D
.fchar \[u216F] M
.fchar \[u2170] i
.fchar \[u2171] ii
.fchar \[u2172] iii
.fchar \[u2173] iv
.fchar \[u2174] v
.fchar \[u2175] vi
.fchar \[u2176] vii
.fchar \[u2177] viii
.fchar \[u2178] ix
.fchar \[u2179] x
.fchar \[u217A] xi
.fchar \[u217B] xii
.fchar \[u217C] l
.fchar \[u217D] c
.fchar \[u217E] d
.fchar \[u217F] m
.
.\" Fonts often lack precomposed glyphs for accented Latin letters that
.\" were not defined in ISO 8859-1 (Latin-1).
.\"
.\" Some of these can be ugly; on typesetter devices, much depends on
.\" the design of the fonts used.
.\"
.\" groff defines no dot-above accent so we cannot construct some
.\" composite glyphs in this way. Turkish is an especial challenge
.\" because dotting an I (or not) results in a different base glyph.
.\" In any case, dotless 'i' base glyphs are rare in old fonts.
.\"
.\" We use separate fallbacks for nroff-mode and troff-mode devices
.\" because we assume that the former can't constructively overstrike
.\" and the latter can.
.\"
.\" On troff-mode devices, it can make sense to use the `asciify`
.\" request to serialize special characters in device extension
.\" commands, and in that case we want to write the base glyph before
.\" any combining ones.
.\"
.\" On non-constructively overstriking devices, the last character
.\" written at the drawing position "wins"; we want that to be the base
.\" glyph.
.\"
.\" Latin-2 fallbacks
.ie n \{\
. fchar \[A ab] \z\[ab]A
. fchar \[A ho] \z\[ho]A
. fchar \[C aa] \z\[aa]C
. fchar \[C ah] \z\[ah]C
. fchar \[D ah] \z\[ah]D
. fchar \[u0110] \z-D\" capital letter d with stroke
. fchar \[E ah] \z\[ah]E
. fchar \[E ho] \z\[ho]E
. fchar \[/L] \z/L
. fchar \[L aa] \z\[aa]L
. fchar \[L ho] \z\[ho]L
. fchar \[N aa] \z\[aa]N
. fchar \[N ah] \z\[ah]N
. fchar \[O a"] \z\[a"]O
. fchar \[R aa] \z\[aa]R
. fchar \[R ah] \z\[ah]R
. fchar \[S aa] \z\[aa]S
. fchar \[S ac] \z\[ac]S
. fchar \[vS] \z\[ah]S
. fchar \[T ac] \z\[ac]T
. fchar \[T ah] \z\[ah]T
. fchar \[U ao] \z\[ao]U
. fchar \[U a"] \z\[a"]U
. fchar \[Z aa] \z\[aa]Z
. fchar \[Z a.] \z\[a.]Z
. fchar \[vZ] \z\[ah]Z
.
. fchar \[a ab] \z\[ab]a
. fchar \[a ho] \z\[ho]a
. fchar \[c aa] \z\[aa]c
. fchar \[c ah] \z\[ah]c
. fchar \[d ah] \z\[ah]d
. fchar \[u0111] \z-d\" small letter d with stroke
. fchar \[e ah] \z\[ah]e
. fchar \[e ho] \z\[ho]e
. fchar \[/l] \z/l
. fchar \[l aa] \z\[aa]l
. fchar \[l ho] \z\[ho]l
. fchar \[n aa] \z\[aa]n
. fchar \[n ah] \z\[ah]n
. fchar \[o a"] \z\[a"]o
. fchar \[r aa] \z\[aa]r
. fchar \[r ah] \z\[ah]r
. fchar \[s aa] \z\[aa]s
. fchar \[s ac] \z\[ac]s
. fchar \[vs] \z\[ah]s
. fchar \[t ac] \z\[ac]t
. fchar \[t ah] \z\[ah]t
. fchar \[u ao] \z\[ao]u
. fchar \[u a"] \z\[a"]u
. fchar \[z aa] \z\[aa]z
. fchar \[z a.] \z\[a.]z
. fchar \[vz] \z\[ah]z
.\}
.el \{\
. fchar \[A ab] \zA\[ab]
. fchar \[A ho] \zA\[ho]
. fchar \[C aa] \zC\[aa]
. fchar \[C ah] \zC\[ah]
. fchar \[D ah] \zD\[ah]
. fchar \[u0110] \zD-\" capital letter d with stroke
. fchar \[E ah] \zE\[ah]
. fchar \[E ho] \zE\[ho]
. fchar \[/L] \zL/
. fchar \[L aa] \zL\[aa]
. fchar \[L ho] \zL\[ho]
. fchar \[N aa] \zN\[aa]
. fchar \[N ah] \zN\[ah]
. fchar \[O a"] \zO\[a"]
. fchar \[R aa] \zR\[aa]
. fchar \[R ah] \zR\[ah]
. fchar \[S aa] \zS\[aa]
. fchar \[S ac] \zS\[ac]
. fchar \[vS] \zS\[ah]
. fchar \[T ac] \zT\[ac]
. fchar \[T ah] \zT\[ah]
. fchar \[U ao] \zU\[ao]
. fchar \[U a"] \zU\[a"]
. fchar \[Z aa] \zZ\[aa]
. fchar \[Z a.] \zZ\[a.]
. fchar \[vZ] \zZ\[ah]
.
. fchar \[a ab] \za\[ab]
. fchar \[a ho] \za\[ho]
. fchar \[c aa] \zc\[aa]
. fchar \[c ah] \zc\[ah]
. fchar \[d ah] \zd\[ah]
. fchar \[u0111] \zd-\" small letter d with stroke
. fchar \[e ah] \ze\[ah]
. fchar \[e ho] \ze\[ho]
. fchar \[/l] \zl/
. fchar \[l aa] \zl\[aa]
. fchar \[l ho] \zl\[ho]
. fchar \[n aa] \zn\[aa]
. fchar \[n ah] \zn\[ah]
. fchar \[o a"] \zo\[a"]
. fchar \[r aa] \zr\[aa]
. fchar \[r ah] \zr\[ah]
. fchar \[s aa] \zs\[aa]
. fchar \[s ac] \zs\[ac]
. fchar \[vs] \zs\[ah]
. fchar \[t ac] \zt\[ac]
. fchar \[t ah] \zt\[ah]
. fchar \[u ao] \zu\[ao]
. fchar \[u a"] \zu\[a"]
. fchar \[z aa] \zz\[aa]
. fchar \[z a.] \zz\[a.]
. fchar \[vz] \zz\[ah]
.\}
.
.\" Latin-5 fallbacks
.ie n \{\
. fchar \[G ab] \z\[ab]G
. fchar \[g ab] \z\[ab]g
.\}
.el \{\
. fchar \[G ab] \zG\[ab]
. fchar \[g ab] \zg\[ab]
.\}
.
.\" Latin-9 fallbacks
.fchar \[OE] OE
.fchar \[oe] oe
.ie n .fchar \[:Y] \z\[ad]Y
.el .fchar \[:Y] \zY\[ad]
.
.fchar \[u2000] \[u2002]\" en quad
.fchar \[u2001] \[u2003]\" em quad
.fchar \[u2002] \h'1/2u'\" en space
.fchar \[u2003] \h'1'\" em space
.fchar \[u2004] \h'1/3u'\" three-per-em space
.fchar \[u2005] \h'1/4u'\" four-per-em space
.fchar \[u2006] \h'1/6u'\" six-per-em space
.fchar \[u2007] \0\" figure space
.ie \n[fallbacks*troff-mode] .fchar \[u2008] \|\" punctuation space
.el .fchar \[u2008] " \" punctuation space
.fchar \[u2009] \|\" thin space
.fchar \[u200A] \^\" hair space
.\" U+200B and its historical C1 control synonym, U+0082, have the semantics
.\" of groff's \: escape.
.\" Mapping these awaits resolution of Savannah #58958.
.\"fchar \[u200B] \:\" zero-width space
.\"fchar \[u0082] \:\" break permitted here
.\" \[u2010] is always defined thanks to uniglyph.cpp.
.\" Mapping U+2011 awaits resolution of Savannah #63360.
.\"fchar \[u2011] -\" non-breaking hyphen (won't break w/o .hcode or \:)
.fchar \[u2012] \o'-\0'\" figure dash
.fchar \[u2013] \[en]\" en dash
.fchar \[u2014] \[em]\" em dash
.fchar \[u2015] \[em]\" horizontal bar (quotation dash)
.fchar \[u2016] \[ba]\[ba]\" double vertical line (matrix norm)
.if \n[fallbacks*troff-mode] \
. fchar \[u2017] \Z'\[ul]'\v'+.1m'\[ul]\v'-.1m'\" double low line
.\" Mapping U+201[89CD] awaits resolution of Savannah #59932.
.\"fchar \[u2018] \[oq]\" left single quotation mark
.\"fchar \[u2019] \[cq]\" right single quotation mark
.\"fchar \[u201C] \[lq]\" left double quotation mark
.\"fchar \[u201D] \[rq]\" right double quotation mark
.\" XXX: The next two are troublesome in nroff; see Savannah #63332.
.if \n[fallbacks*troff-mode] .fchar \[u2020] \[dg]\" dagger
.if \n[fallbacks*troff-mode] .fchar \[u2021] \[dd]\" double dagger
.fchar \[u2022] \[bu]\" bullet
.fchar \[u2024] .\" one dot leader
.fchar \[u2025] .\|.\" two dot leader
.fchar \[u2026] .\|.\|.\" horizontal ellipsis
.fchar \[u2027] \[pc]\" hyphenation point
.fchar \[u202F] \|\" narrow no-break space
.if \n[fallbacks*troff-mode] \
. fchar \[u2030] \[%0]\" per mille sign \" Savannah #63332 again
.fchar \[u2032] \[fm]\" prime
.fchar \[u2033] \[sd]\" double prime
.fchar \[u2039] \[fo]\" left single chevron
.fchar \[u203A] \[fc]\" right single chevron
.ie \n[fallbacks*troff-mode] \
. fchar \[u203D] \o'?!'\" interrobang
.el \
. fchar \[u203D] !?
.if \n[fallbacks*troff-mode] \
. fchar \[u203E] \[rn]\" overline \" Savannah #63332 again
.fchar \[u2044] \[f/]\" fraction slash
.\" Using `\[u0025]` instead of `%` below would better guard against the
.\" use of `.tr` to redefine `%`, but Savannah #63334 prevents this.
.fchar \[u2052] %\" commercial minus sign
.fchar \[u2053] \[ti]\" swung dash
.
.rr fallbacks*troff-mode
.
.cp \n[*groff_fallbacks_tmac_C]
.do rr *groff_fallbacks_tmac_C
.
.\" Local Variables:
.\" mode: nroff
.\" fill-column: 72
.\" End:
.\" vim: set filetype=groff textwidth=72: