font: prefer precomposed replacement strings
authorMischa POSLAWSKY <perl@shiar.org>
Thu, 25 Jan 2024 19:32:33 +0000 (20:32 +0100)
committerMischa POSLAWSKY <perl@shiar.org>
Mon, 29 Jan 2024 17:17:48 +0000 (18:17 +0100)
Common glyph_info results provide improved placeholder rendering for Mn|Me
without other overrides (other substitutes for Cc are ignored).

font.plp

index a9f3491b1893dc83bd2466e1c9882322e252b6d5..701957305cdcee045ee06d6b4b0156ffaff9400d 100644 (file)
--- a/font.plp
+++ b/font.plp
@@ -156,8 +156,9 @@ EOT
                my ($class, $name, $mnem, $entity, $string) = @{$info};
                my $np = $class =~ /\bC\S\b/;  # noprint if control or invalid
                # display literal character, with placeholder circle if non-spacing/enclosing
+               $string ||= ($class =~ /\bM[ne]\b/ && chr 9676) . chr($cp);
                my $html = $np ? !!$cover{$cp} && sprintf("&#%d;", $cp) :
-                       ($class =~ /\bM[ne]\b/ && chr 9676) . EscapeHTML(chr $cp);
+                       EscapeHTML($string);
                say sprintf '<td class="%s" title="U+%04X%s">%s',
                        !$class ? ('l0', $cp, '', '') : (
                        $cover{$cp} ? $np ? 'l2' : 'l5' : $np ? 'Xi' : 'l1',