Bug#408666: bold attribute causes some glyphs to fail rendering
- To: 408666@bugs.debian.org
- Cc: Ivan Shmakov <oneingray@gmail.com>
- Subject: Bug#408666: bold attribute causes some glyphs to fail rendering
- From: Ivan Shmakov <oneingray@gmail.com>
- Date: Mon, 20 Aug 2012 00:14:42 +0700
- Message-id: <[🔎] 86y5lavm65.fsf_-_@gray.siamics.net>
- Reply-to: Ivan Shmakov <oneingray@gmail.com>, 408666@bugs.debian.org
- In-reply-to: <20090714185608.6ed798bf.frx@firenze.linux.it> (Francesco Poli's message of "Tue, 14 Jul 2009 18:56:08 +0200")
- References: <20070127171218.6644.75510.reportbug@salmiakki.hogyros.de> <20070127234103.GQ28089@zoy.org> <20080918002325.27fc85ca.frx@firenze.linux.it> <20090714103538.GE9149@zoy.org> <20090714185608.6ed798bf.frx@firenze.linux.it>
>>>>> Francesco Poli <frx@firenze.linux.it> writes:
>>>>> On Tue, 14 Jul 2009 12:35:38 +0200 Sam Hocevar wrote:
[…]
>> I can confirm the problem. It seems to be due to uxterm failing to
>> render bold glyphs, as the following example shows:
>> echo ▜; tput bold; echo ▜
>> The second “▜” is rendered using the replacement character.
>> Copy-pasting that character yields the original “▜” glyph.
> Yes, I can reproduce the issue this way too. I am using xterm/243-1:
> the above command should feed the BTS version tracking accordingly...
While this bug is caused by the very same lack of glyphs in the
fonts XTerm is configured to use (and its inability to use,
roughly, more than one at a time), I believe it's an issue
sufficiently distinct from #449480 and #469943 (which were
merged in some three years ago), as it arises in the case of
discrepancies in the coverage between the -medium- and -bold-
variants of the same font.
It seems to me that this issue is somewhat deeper, as (according
to xterm(1)) it's possible to configure XTerm to ignore the bold
variant altogether and to rely on “overstruck” shapes instead:
--cut: xterm(1) --
alwaysBoldMode (class AlwaysBoldMode)
Specifies whether xterm should check if the normal and bold fonts
are distinct before deciding whether to use overstriking to
simulate bold fonts. If this resource is true, xterm does not
make the check for distinct fonts when deciding how to handle the
boldMode resource. The default is "false."
boldMode alwaysBoldMode Comparison Action
────────────────────────────────────────────────────
false false ignored use font
false true ignored use font
true false same overstrike
true false different use font
true true ignored overstrike
--cut: xterm(1) --
However, using $ xterm -xrm '*alwaysBoldMode: true' still
doesn't prevent XTerm from using the -bold- variant (as noticed
by missing glyphs.) The resource itself is not overridden, as
per editres(1).
OTOH, if (assuming default fonts) we're to switch to the “Huge”
font via the Ctrl+Button3 “Unicode Fonts” menu, the overstruck
shapes are used, as the font selected has no -bold- variant at
all.
(The code below was used to generate the test set of
characters.)
$ (s=$(perl -we 'use strict; binmode (STDOUT, ":utf8");
foreach my $i (64 .. 95, 0x2580 .. 0x259f) {
printf ("U+%04x : ", $i) if ($i % 16 == 0);
printf ("%s%s", chr ($i), ($i % 16 == 15 ? "\n" : ""));
}') ; \
tput bold ; printf %s\\n "$s" ; \
tput sgr0 ; printf %s\\n "$s")
--
FSF associate member #7257 http://sf-day.org/
Reply to: