- $row{endpoint} = $endpoint - $row{offset};
-
- if ($row{set} eq 'cp437' and !$row{offset}) {
- substr($row{table}, 237, 1) = pack 'U*', 0x3D5; # phi sign
- substr($row{table}, 0, 32) = pack 'U*', map {hex} qw(
- 2007 263A 263B 2665 2666 2663 2660 2022
- 25D8 25CB 25D9 2642 2640 266A 266B 263C
- 25BA 25C4 2195 203C 00B6 00A7 25AC 21A8
- 2191 2193 2192 2190 221F 2194 25B2 25BC
- );
+ }
+ elsif ($row{set} eq 'symbol') {
+ if ($row{offset} <= 0x60 and $row{endpoint} >= 0x60 - $row{offset}) {
+ # replace radical extender by closest unicode equivalent
+ substr($row{table}, 0x60 - $row{offset}, 1) = '│';
+ }
+ if ($row{offset} <= 0xBD and $row{endpoint} >= 0xFF - $row{offset}) {
+ substr($row{table}, 0xBD - $row{offset}, 2) = '⏐⎯'; # arrow extenders
+ substr($row{table}, 0xD2 - $row{offset}, 3) = '®©™'; # serif variants
+ substr($row{table}, 0xE0 - $row{offset}, 1) = '◊'; # replace lookalike, should match AdobeSymbol
+ substr($row{table}, 0xE2 - $row{offset}, 3) = '®©™'; # sans-serif variants
+ substr($row{table}, 0xE6 - $row{offset}, 10) = '⎛⎜⎝⎡⎢⎣⎧⎨⎩⎪';
+ substr($row{table}, 0xF0 - $row{offset}, 1) = '€';
+ substr($row{table}, 0xF4 - $row{offset}, 11) = '⎮⌡⎞⎟⎠⎤⎥⎦⎫⎬⎭';