Commit 715da3c2 authored by André Kugland's avatar André Kugland Committed by Tomaz Canabrava
Browse files

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
parent c0c3ca48
Pipeline #182904 passed with stage
in 3 minutes and 52 seconds
......@@ -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 */
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment