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 - 0x0d U+250c : BOX DRAWINGS LIGHT DOWN AND RIGHT
- 0x0e U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT - 0x0e U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT
- 0x0f U+253c : BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL - 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) - 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 - 0x15 U+251c : BOX DRAWINGS LIGHT VERTICAL AND RIGHT
- 0x16 U+2524 : BOX DRAWINGS LIGHT VERTICAL AND LEFT - 0x16 U+2524 : BOX DRAWINGS LIGHT VERTICAL AND LEFT
- 0x17 U+2534 : BOX DRAWINGS LIGHT UP AND HORIZONTAL - 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 - 0x02 U+2592 : MEDIUM SHADE
- 0x1F U+00b7 : MIDDLE DOT - 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, Also, the VT100 knows about the following glyphs,
though omitting them is unlikely to break anything. 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 // 0/8 1/9 2/10 3/11 4/12 5/13 6/14 7/15
0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0, 0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0,
0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c, 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 0x252c, 0x2502, 0x2264, 0x2265, 0x03C0, 0x2260, 0x00A3, 0x00b7
}; };
/* clang-format on */ /* clang-format on */

Loading…
Cancel
Save