Updated DEC Line Graphics character set to use Unicode 3.2.0 characters where appropriate

Four characters in DEC Special Graphics (Line Drawing)[⁽¹⁾] charset were translated by Konsole into codepoints in private use area.

This patch uses the same code points that xterm uses.

| Index  | Previously | Should be |
| ------ | ---------- | ----------|
| `0x6F` | `U+F800`   | `U+23BA`  |
| `0x70` | `U+F801`   | `U+23BB`  |
| `0x72` | `U+F803`   | `U+23BC`  |
| `0x73` | `U+F804`   | `U+23BD`  |

The old behavior used the same mapping used by Linux consoles, as stated
in `unicode.txt`[⁽²⁾] in Linux's documents. This has been changed long ago
when Unicode 3.2.0 introduced the codepoints `U+23BA`, `U+23BB`, `U+23BC`,
`U+23BD`, as the following excerpt of `unicode.txt` says:

```
In addition, the following characters not present in Unicode 1.1.4
have been defined; these are used by the DEC VT graphics map.  [v1.2]
THIS USE IS OBSOLETE AND SHOULD NO LONGER BE USED; PLEASE SEE BELOW.

====== ======================================
U+F800 DEC VT GRAPHICS HORIZONTAL LINE SCAN 1
U+F801 DEC VT GRAPHICS HORIZONTAL LINE SCAN 3
U+F803 DEC VT GRAPHICS HORIZONTAL LINE SCAN 7
U+F804 DEC VT GRAPHICS HORIZONTAL LINE SCAN 9
====== ======================================

[...]

[v1.3]: These characters have been officially added to Unicode 3.2.0;
they are added at U+23BA, U+23BB, U+23BC, U+23BD.  Linux now uses the
new values.
```

[⁽¹⁾]: https://vt100.net/docs/vt220-rm/chapter2.html#T2-4
[⁽²⁾]: https://raw.githubusercontent.com/torvalds/linux/5bfc75d92efd494db37f5c4c173d3639d4772966/Documentation/admin-guide/unicode.rst
wilder
André Kugland 4 years ago committed by Tomaz Canabrava
parent c0c3ca48f0
commit 715da3c2b8
  1. 15
      doc/user/README.fonts
  2. 2
      src/Vt102Emulation.cpp

@ -58,7 +58,11 @@ Fonts need to suit the needs of X11, QT and konsole.
- 0x0d U+250c : BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x0e U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT
- 0x0f U+253c : BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
- 0x10 U+23ba : HORIZONTAL SCAN LINE-1
- 0x11 U+23bb : HORIZONTAL SCAN LINE-3
- 0x12 U+2500 : BOX DRAWINGS LIGHT HORIZONTAL (scan line 5)
- 0x13 U+23bc : HORIZONTAL SCAN LINE-7
- 0x14 U+23bd : HORIZONTAL SCAN LINE-9
- 0x15 U+251c : BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x16 U+2524 : BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x17 U+2534 : BOX DRAWINGS LIGHT UP AND HORIZONTAL
@ -69,17 +73,6 @@ Fonts need to suit the needs of X11, QT and konsole.
- 0x02 U+2592 : MEDIUM SHADE
- 0x1F U+00b7 : MIDDLE DOT
The following graphical glyphs are defined in
VT100 fonts, too, but are not used in any program
i know about. Codes for them have been assigned
in the private unicode page. See the linux kernel
documentation file [unicode.txt] about this assignment.
- 0x10 U+f800 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 1
- 0x11 U+f801 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 3
- 0x13 U+f803 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 7
- 0x14 U+f804 : DEC VT GRAPHICS HORIZONTAL LINE SCAN 9
Also, the VT100 knows about the following glyphs,
though omitting them is unlikely to break anything.

@ -52,7 +52,7 @@ unsigned short Konsole::vt100_graphics[32] = {
// 0/8 1/9 2/10 3/11 4/12 5/13 6/14 7/15
0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0,
0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c,
0xF800, 0xF801, 0x2500, 0xF803, 0xF804, 0x251c, 0x2524, 0x2534,
0x23ba, 0x23bb, 0x2500, 0x23bc, 0x23bd, 0x251c, 0x2524, 0x2534,
0x252c, 0x2502, 0x2264, 0x2265, 0x03C0, 0x2260, 0x00A3, 0x00b7
};
/* clang-format on */

Loading…
Cancel
Save