unicode-to-cp1251/koi8-r mapping for syscons (kfreebsd)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env python | |
# A script that prints extra characters in each mapping table | |
# in order to check how they're rendered on screen. Works only | |
# in unicode locales. | |
from __future__ import unicode_literals, print_function | |
cp437_added_in_r226888 = [ | |
'\u00c0', '\u00c1', '\u00c2', '\u00c8', | |
'\u00ca', '\u00cb', '\u00cc', '\u00cd', | |
'\u00ce', '\u00cf', '\u00d2', '\u00d3', | |
'\u00d4', '\u00d9', '\u00da', '\u00db', | |
'\u013f', '\u0140', '\u25ae', ] | |
cp1251_extras = [ | |
'\u00cb', '\u2032', '\u00eb', '\u2501', ] | |
koi8r_extras = [ | |
'\u00ab', '\u2039', '\u00bb', '\u203a', | |
'\u00cb', '\u2116', '\u00eb', '\u2501', | |
'\u2013', '\u25a1', '\u2026', '\u25cf', | |
'\u2032', '\u2606', '\u25ae' ] | |
print("New chars to cp437 in r226888:") | |
for c in cp437_added_in_r226888: | |
print(c, end=', ') | |
print() | |
print("Extra chars in CP1251 table:") | |
for c in cp1251_extras: | |
print(c, end=', ') | |
print() | |
print("Extra chars in KOI8-R table:") | |
for c in koi8r_extras: | |
print(c, end=', ') | |
print() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Index: sys/dev/syscons/scterm-teken.c | |
=================================================================== | |
--- sys/dev/syscons/scterm-teken.c (revision 245825) | |
+++ sys/dev/syscons/scterm-teken.c (working copy) | |
@@ -414,7 +414,138 @@ struct unicp437 { | |
uint8_t length; | |
}; | |
+#define TEKEN_UNICP1251 | |
+//#define TEKEN_UNIKOI8R | |
+ | |
static const struct unicp437 cp437table[] = { | |
+#ifdef TEKEN_UNICP1251 | |
+ { 0x0020, 0x20, 0x5e }, { 0x00a0, 0x20, 0x00 }, | |
+ { 0x00a4, 0xa4, 0x00 }, { 0x00a6, 0xa6, 0x01 }, | |
+ { 0x00a7, 0xa7, 0x00 }, { 0x00a9, 0xa9, 0x00 }, | |
+ { 0x00ab, 0xab, 0x00 }, { 0x00ac, 0xac, 0x02 }, | |
+ { 0x00b0, 0xb0, 0x01 }, { 0x00b5, 0xb5, 0x00 }, | |
+ { 0x00b6, 0xb6, 0x01 }, { 0x00bb, 0xbb, 0x00 }, | |
+ { 0x00c0, 0x41, 0x00 }, { 0x00c1, 0x41, 0x00 }, | |
+ { 0x00c2, 0x41, 0x00 }, { 0x00c8, 0x45, 0x00 }, | |
+ { 0x00ca, 0x45, 0x00 }, { 0x00cb, 0x45, 0x00 }, | |
+ { 0x00cc, 0x49, 0x00 }, { 0x00cd, 0x49, 0x00 }, | |
+ { 0x00ce, 0x49, 0x00 }, { 0x00cf, 0x49, 0x00 }, | |
+ { 0x00d2, 0x4f, 0x00 }, { 0x00d3, 0x4f, 0x00 }, | |
+ { 0x00d4, 0x4f, 0x00 }, { 0x00d9, 0x55, 0x00 }, | |
+ { 0x00da, 0x55, 0x00 }, { 0x00db, 0x55, 0x00 }, | |
+ { 0x00eb, 0xb8, 0x00 }, { 0x013f, 0x4c, 0x00 }, | |
+ { 0x0140, 0x6c, 0x00 }, { 0x03bc, 0xb5, 0x00 }, | |
+ { 0x0401, 0xa8, 0x00 }, { 0x0402, 0x80, 0x01 }, | |
+ { 0x0404, 0xaa, 0x00 }, { 0x0405, 0xbd, 0x00 }, | |
+ { 0x0406, 0xb2, 0x00 }, { 0x0407, 0xaf, 0x00 }, | |
+ { 0x0408, 0xa3, 0x00 }, { 0x0409, 0x8a, 0x00 }, | |
+ { 0x040a, 0x8c, 0x00 }, { 0x040b, 0x8e, 0x00 }, | |
+ { 0x040c, 0x8d, 0x00 }, { 0x040e, 0xa1, 0x00 }, | |
+ { 0x040f, 0x8f, 0x00 }, { 0x0410, 0xc0, 0x3f }, | |
+ { 0x0451, 0xb8, 0x00 }, { 0x0452, 0x90, 0x00 }, | |
+ { 0x0453, 0x83, 0x00 }, { 0x0454, 0xba, 0x00 }, | |
+ { 0x0455, 0xbe, 0x00 }, { 0x0456, 0xb3, 0x00 }, | |
+ { 0x0457, 0xbf, 0x00 }, { 0x0458, 0xbc, 0x00 }, | |
+ { 0x0459, 0x9a, 0x00 }, { 0x045a, 0x9c, 0x00 }, | |
+ { 0x045b, 0x9e, 0x00 }, { 0x045c, 0x9d, 0x00 }, | |
+ { 0x045e, 0xa2, 0x00 }, { 0x045f, 0x9f, 0x00 }, | |
+ { 0x0490, 0xa5, 0x00 }, { 0x0491, 0xb4, 0x00 }, | |
+ { 0x2010, 0x2d, 0x00 }, { 0x2013, 0x96, 0x00 }, | |
+ { 0x2014, 0x97, 0x00 }, { 0x2018, 0x91, 0x01 }, | |
+ { 0x201a, 0x82, 0x00 }, { 0x201c, 0x93, 0x01 }, | |
+ { 0x201e, 0x84, 0x00 }, { 0x2020, 0x86, 0x01 }, | |
+ { 0x2022, 0x95, 0x00 }, { 0x2026, 0x85, 0x00 }, | |
+ { 0x2030, 0x89, 0x00 }, { 0x2032, 0x27, 0x00 }, | |
+ { 0x2039, 0x8b, 0x00 }, { 0x203a, 0x9b, 0x00 }, | |
+ { 0x203c, 0x13, 0x00 }, { 0x20ac, 0x88, 0x00 }, | |
+ { 0x2116, 0xb9, 0x00 }, { 0x2122, 0x99, 0x00 }, | |
+ { 0x2190, 0x1b, 0x00 }, { 0x2191, 0x18, 0x00 }, | |
+ { 0x2192, 0x1a, 0x00 }, { 0x2193, 0x19, 0x00 }, | |
+ { 0x2194, 0x1d, 0x00 }, { 0x2195, 0x12, 0x00 }, | |
+ { 0x21a8, 0x17, 0x00 }, { 0x2212, 0x2d, 0x00 }, | |
+ { 0x221f, 0x1c, 0x00 }, { 0x2302, 0x7f, 0x00 }, | |
+ { 0x2501, 0x96, 0x00 }, { 0x25ac, 0x16, 0x00 }, | |
+ { 0x25b2, 0x1e, 0x00 }, { 0x25ba, 0x10, 0x00 }, | |
+ { 0x25bc, 0x1f, 0x00 }, { 0x25c4, 0x11, 0x00 }, | |
+ { 0x25cb, 0x09, 0x00 }, { 0x25d8, 0x08, 0x00 }, | |
+ { 0x25d9, 0x0a, 0x00 }, { 0x263a, 0x01, 0x01 }, | |
+ { 0x263c, 0x0f, 0x00 }, { 0x2640, 0x0c, 0x00 }, | |
+ { 0x2642, 0x0b, 0x00 }, { 0x2660, 0x06, 0x00 }, | |
+ { 0x2663, 0x05, 0x00 }, { 0x2665, 0x03, 0x01 }, | |
+ { 0x266a, 0x0d, 0x01 }, | |
+#elif defined(TEKEN_UNIKOI8R) | |
+ { 0x0020, 0x20, 0x5e }, { 0x00a0, 0x9a, 0x00 }, | |
+ { 0x00a7, 0x15, 0x00 }, { 0x00a9, 0xbf, 0x00 }, | |
+ { 0x00ab, 0x22, 0x00 }, { 0x00b0, 0x9c, 0x00 }, | |
+ { 0x00b2, 0x9d, 0x00 }, { 0x00b6, 0x14, 0x00 }, | |
+ { 0x00b7, 0x9e, 0x00 }, { 0x00bb, 0x22, 0x00 }, | |
+ { 0x00c0, 0x41, 0x00 }, { 0x00c1, 0x41, 0x00 }, | |
+ { 0x00c2, 0x41, 0x00 }, { 0x00c8, 0x45, 0x00 }, | |
+ { 0x00ca, 0x45, 0x00 }, { 0x00cb, 0xb3, 0x00 }, | |
+ { 0x00cc, 0x49, 0x00 }, { 0x00cd, 0x49, 0x00 }, | |
+ { 0x00ce, 0x49, 0x00 }, { 0x00cf, 0x49, 0x00 }, | |
+ { 0x00d2, 0x4f, 0x00 }, { 0x00d3, 0x4f, 0x00 }, | |
+ { 0x00d4, 0x4f, 0x00 }, { 0x00d9, 0x55, 0x00 }, | |
+ { 0x00da, 0x55, 0x00 }, { 0x00db, 0x55, 0x00 }, | |
+ { 0x00eb, 0xa3, 0x00 }, { 0x00f7, 0x9f, 0x00 }, | |
+ { 0x013f, 0x4c, 0x00 }, { 0x0140, 0x6c, 0x00 }, | |
+ { 0x0401, 0xb3, 0x00 }, { 0x0410, 0xe1, 0x01 }, | |
+ { 0x0412, 0xf7, 0x00 }, { 0x0413, 0xe7, 0x00 }, | |
+ { 0x0414, 0xe4, 0x01 }, { 0x0416, 0xf6, 0x00 }, | |
+ { 0x0417, 0xfa, 0x00 }, { 0x0418, 0xe9, 0x07 }, | |
+ { 0x0420, 0xf2, 0x03 }, { 0x0424, 0xe6, 0x00 }, | |
+ { 0x0425, 0xe8, 0x00 }, { 0x0426, 0xe3, 0x00 }, | |
+ { 0x0427, 0xfe, 0x00 }, { 0x0428, 0xfb, 0x00 }, | |
+ { 0x0429, 0xfd, 0x00 }, { 0x042a, 0xff, 0x00 }, | |
+ { 0x042b, 0xf9, 0x00 }, { 0x042c, 0xf8, 0x00 }, | |
+ { 0x042d, 0xfc, 0x00 }, { 0x042e, 0xe0, 0x00 }, | |
+ { 0x042f, 0xf1, 0x00 }, { 0x0430, 0xc1, 0x01 }, | |
+ { 0x0432, 0xd7, 0x00 }, { 0x0433, 0xc7, 0x00 }, | |
+ { 0x0434, 0xc4, 0x01 }, { 0x0436, 0xd6, 0x00 }, | |
+ { 0x0437, 0xda, 0x00 }, { 0x0438, 0xc9, 0x07 }, | |
+ { 0x0440, 0xd2, 0x03 }, { 0x0444, 0xc6, 0x00 }, | |
+ { 0x0445, 0xc8, 0x00 }, { 0x0446, 0xc3, 0x00 }, | |
+ { 0x0447, 0xde, 0x00 }, { 0x0448, 0xdb, 0x00 }, | |
+ { 0x0449, 0xdd, 0x00 }, { 0x044a, 0xdf, 0x00 }, | |
+ { 0x044b, 0xd9, 0x00 }, { 0x044c, 0xd8, 0x00 }, | |
+ { 0x044d, 0xdc, 0x00 }, { 0x044e, 0xc0, 0x00 }, | |
+ { 0x044f, 0xd1, 0x00 }, { 0x0451, 0xa3, 0x00 }, | |
+ { 0x2010, 0x2d, 0x00 }, { 0x2013, 0x2d, 0x00 }, | |
+ { 0x2014, 0x2d, 0x00 }, { 0x2018, 0x60, 0x00 }, | |
+ { 0x2019, 0x27, 0x00 }, { 0x201c, 0x22, 0x00 }, | |
+ { 0x201d, 0x22, 0x00 }, { 0x2022, 0x07, 0x00 }, | |
+ { 0x2026, 0x5f, 0x00 }, { 0x2032, 0x27, 0x00 }, | |
+ { 0x2039, 0x3c, 0x00 }, { 0x203a, 0x3e, 0x00 }, | |
+ { 0x203c, 0x13, 0x00 }, { 0x2116, 0x23, 0x00 }, | |
+ { 0x2190, 0x1b, 0x00 }, { 0x2191, 0x18, 0x00 }, | |
+ { 0x2192, 0x1a, 0x00 }, { 0x2193, 0x19, 0x00 }, | |
+ { 0x2194, 0x1d, 0x00 }, { 0x2195, 0x12, 0x00 }, | |
+ { 0x21a8, 0x17, 0x00 }, { 0x2212, 0x2d, 0x00 }, | |
+ { 0x2219, 0x95, 0x01 }, { 0x221f, 0x1c, 0x00 }, | |
+ { 0x2248, 0x97, 0x00 }, { 0x2264, 0x98, 0x01 }, | |
+ { 0x2302, 0x7f, 0x00 }, { 0x2320, 0x93, 0x00 }, | |
+ { 0x2321, 0x9b, 0x00 }, { 0x2500, 0x80, 0x00 }, | |
+ { 0x2501, 0x80, 0x01 }, { 0x250c, 0x82, 0x00 }, | |
+ { 0x2510, 0x83, 0x00 }, { 0x2514, 0x84, 0x00 }, | |
+ { 0x2518, 0x85, 0x00 }, { 0x251c, 0x86, 0x00 }, | |
+ { 0x2524, 0x87, 0x00 }, { 0x252c, 0x88, 0x00 }, | |
+ { 0x2534, 0x89, 0x00 }, { 0x253c, 0x8a, 0x00 }, | |
+ { 0x2550, 0xa0, 0x02 }, { 0x2553, 0xa4, 0x0e }, | |
+ { 0x2562, 0xb4, 0x0a }, { 0x2580, 0x8b, 0x00 }, | |
+ { 0x2584, 0x8c, 0x00 }, { 0x2588, 0x8d, 0x00 }, | |
+ { 0x258c, 0x8e, 0x00 }, { 0x2590, 0x8f, 0x03 }, | |
+ { 0x25a0, 0x94, 0x00 }, { 0x25a1, 0x94, 0x00 }, | |
+ { 0x25ac, 0x16, 0x00 }, { 0x25ae, 0x8d, 0x00 }, | |
+ { 0x25b2, 0x1e, 0x00 }, { 0x25ba, 0x10, 0x00 }, | |
+ { 0x25bc, 0x1f, 0x00 }, { 0x25c4, 0x11, 0x00 }, | |
+ { 0x25cb, 0x09, 0x00 }, { 0x25cf, 0x95, 0x00 }, | |
+ { 0x25d8, 0x08, 0x00 }, { 0x25d9, 0x0a, 0x00 }, | |
+ { 0x2606, 0x09, 0x00 }, { 0x263a, 0x01, 0x01 }, | |
+ { 0x263c, 0x0f, 0x00 }, { 0x2640, 0x0c, 0x00 }, | |
+ { 0x2642, 0x0b, 0x00 }, { 0x2660, 0x06, 0x00 }, | |
+ { 0x2663, 0x05, 0x00 }, { 0x2665, 0x03, 0x01 }, | |
+ { 0x266a, 0x0d, 0x01 }, | |
+#else | |
{ 0x0020, 0x20, 0x5e }, { 0x00a0, 0x20, 0x00 }, | |
{ 0x00a1, 0xad, 0x00 }, { 0x00a2, 0x9b, 0x00 }, | |
{ 0x00a3, 0x9c, 0x00 }, { 0x00a5, 0x9d, 0x00 }, | |
@@ -509,6 +640,7 @@ static const struct unicp437 cp437table[] = { | |
{ 0x2640, 0x0c, 0x00 }, { 0x2642, 0x0b, 0x00 }, | |
{ 0x2660, 0x06, 0x00 }, { 0x2663, 0x05, 0x00 }, | |
{ 0x2665, 0x03, 0x01 }, { 0x266a, 0x0d, 0x01 }, | |
+#endif | |
}; | |
static void |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment