Commit 16e0c53e authored by Nalin Dahyabhai's avatar Nalin Dahyabhai

add map for CP437. add. add CP437. add unitable.CP437 to the file list.

* src/iso2022.c(_vte_iso2022_map_U): add map for CP437.
* src/unitable.CP437: add.
* src/mkunitables.sh: add CP437.
* src/Makefile.am: add unitable.CP437 to the file list.
parent 391a3afb
2003-04-29 nalin
* src/iso2022.c(_vte_iso2022_map_U): add map for CP437.
* src/unitable.CP437: add.
* src/mkunitables.sh: add CP437.
* src/Makefile.am: add unitable.CP437 to the file list.
2003-04-29 nalin
* src/iso2022.c(_vte_iso2022_process_control): accept and warn about
bogus map names (#110300).
2003-04-28 nalin
* src/vte.c(vte_invalidate_cursor_once): rework to simplify the logic
of how many cells to invalidate when we have a preedit string.
......
......@@ -12,6 +12,7 @@ EXTRA_DIST = \
mkunitables.sh \
uniwidths \
unitable.CNS11643 \
unitable.CP437 \
unitable.GB12345 \
unitable.GB2312 \
unitable.JIS0201 \
......
#!/usr/bin/python
print '%s' % '(U'
i = 128
while (i < 256):
print "%c" % i,
if ((i % 32) == 31):
print ""
i = i + 1
print '%s' % '(B)0*B+B'
......@@ -43,8 +43,10 @@
#define bindtextdomain(package,dir)
#endif
/* Maps which jive with XTerm's ESC ()*+ ? sequences and RFC 1468. */
#define NARROW_MAPS "012AB4C5RQKYE6ZH7=" "J"
/* Maps which jive with XTerm's ESC ()*+ ? sequences, RFC 1468. Add the
* PC437 map because despite knowing that XTerm doesn't support it, certain
* applications try to use it anyway. */
#define NARROW_MAPS "012AB4C5RQKYE6ZH7=" "J" "U"
/* Maps which jive with RFC 1468's ESC $ ? sequences. */
#define WIDE_MAPS "@B"
/* Maps which jive with RFC 1557/1922/2237's ESC $ ()*+ ? sequences. */
......@@ -246,6 +248,11 @@ static const struct _vte_iso2022_map _vte_iso2022_map_equal[] = {
{'}', GDK_udiaeresis},
{'~', GDK_ucircumflex},
};
/* Codepage 437. */
static const struct _vte_iso2022_map _vte_iso2022_map_U[] = {
#include "unitable.CP437"
};
/* Japanese. JIS X 0201-1976 ("Roman" set), per RFC 1468/2237. */
static const struct _vte_iso2022_map _vte_iso2022_map_J[] = {
{'\\', 0x203e},
......@@ -499,6 +506,14 @@ _vte_iso2022_map_get(gunichar mapname,
width = 1;
bytes = 1;
break;
case 'U':
if (map == NULL) {
map = _vte_iso2022_map_init(_vte_iso2022_map_U,
G_N_ELEMENTS(_vte_iso2022_map_U));
}
width = 1;
bytes = 1;
break;
case 'J':
if (map == NULL) {
map = _vte_iso2022_map_init(_vte_iso2022_map_J,
......@@ -918,11 +933,8 @@ _vte_iso2022_fragment_input(struct _vte_buffer *input, GArray *blocks)
/* ESC ( x */
/* ESC * x */
/* ESC + x */
valids = NARROW_MAPS;
if (strchr(valids,
nextctl[2])) {
sequence_length = 3;
}
/* Just accept whatever. */
sequence_length = 3;
}
break;
case '%':
......@@ -1290,7 +1302,11 @@ process_control(struct _vte_iso2022_state *state, guchar *ctl, gsize length,
break;
}
c = ctl[2];
state->g[g] = c;
if (strchr(NARROW_MAPS, c) != NULL) {
state->g[g] = c;
} else {
g_warning(_("Attempt to set invalid NRC map '%c'."), c);
}
#ifdef VTE_DEBUG
if (_vte_debug_on(VTE_DEBUG_SUBSTITUTION)) {
fprintf(stderr,
......@@ -1336,7 +1352,12 @@ process_control(struct _vte_iso2022_state *state, guchar *ctl, gsize length,
if (c == 0) {
c = ctl[3];
}
state->g[g] = c + WIDE_FUDGE;
if ((strchr(WIDE_MAPS, c) != NULL) ||
(strchr(WIDE_GMAPS, c) != NULL)) {
state->g[g] = c + WIDE_FUDGE;
} else {
g_warning(_("Attempt to set invalid wide NRC map '%c'."), c);
}
#ifdef VTE_DEBUG
if (_vte_debug_on(VTE_DEBUG_SUBSTITUTION)) {
fprintf(stderr,
......@@ -1355,10 +1376,14 @@ process_control(struct _vte_iso2022_state *state, guchar *ctl, gsize length,
c = 'B';
break;
default:
g_assert_not_reached();
c = ctl[2];
break;
}
state->g[0] = c + WIDE_FUDGE;
if (strchr(WIDE_MAPS, c) != NULL) {
state->g[0] = c + WIDE_FUDGE;
} else {
g_warning(_("Attempt to set invalid wide NRC map '%c'."), c);
}
#ifdef VTE_DEBUG
if (_vte_debug_on(VTE_DEBUG_SUBSTITUTION)) {
fprintf(stderr,
......
......@@ -15,9 +15,10 @@ generate() {
)
}
maphome=http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/
cjkmaphome=http://www.unicode.org/Public/MAPPINGS/OBSOLETE/EASTASIA/
cpmaphome=http://www.unicode.org/Public/MAPPINGS/VENDORS/MICSFT/PC/
encodings="CNS11643 GB12345 GB2312 JIS0201 JIS0208 JIS0212 KSX1001"
encodings="CNS11643 CP437 GB12345 GB2312 JIS0201 JIS0208 JIS0212 KSX1001"
if test "$#" != 0 ; then
encodings="$*"
fi
......@@ -26,11 +27,12 @@ for encoding in $encodings ; do
if ! test -f $encoding.TXT ; then
echo -n "Retrieving "
case $encoding in
CNS*) wget -qc $maphome/OTHER/$encoding.TXT ;;
GB*) wget -qc $maphome/GB/$encoding.TXT ;;
JIS*) wget -qc $maphome/JIS/$encoding.TXT ;;
CP*) wget -qc $cpmaphome/$encoding.TXT;;
CNS*) wget -qc $cjkmaphome/OTHER/$encoding.TXT;;
GB*) wget -qc $cjkmaphome/GB/$encoding.TXT;;
JIS*) wget -qc $cjkmaphome/JIS/$encoding.TXT;;
KSX1001)
wget -qc $maphome/KSC/$encoding.TXT
wget -qc $cjkmaphome/KSC/$encoding.TXT
echo 0x2266 0x20AC >> $encoding.TXT
echo 0x2267 0x00AE >> $encoding.TXT
;;
......
/* generated file -- do not edit */
{0x80, 0x00c7},
{0x81, 0x00fc},
{0x82, 0x00e9},
{0x83, 0x00e2},
{0x84, 0x00e4},
{0x85, 0x00e0},
{0x86, 0x00e5},
{0x87, 0x00e7},
{0x88, 0x00ea},
{0x89, 0x00eb},
{0x8a, 0x00e8},
{0x8b, 0x00ef},
{0x8c, 0x00ee},
{0x8d, 0x00ec},
{0x8e, 0x00c4},
{0x8f, 0x00c5},
{0x90, 0x00c9},
{0x91, 0x00e6},
{0x92, 0x00c6},
{0x93, 0x00f4},
{0x94, 0x00f6},
{0x95, 0x00f2},
{0x96, 0x00fb},
{0x97, 0x00f9},
{0x98, 0x00ff},
{0x99, 0x00d6},
{0x9a, 0x00dc},
{0x9b, 0x00a2},
{0x9c, 0x00a3},
{0x9d, 0x00a5},
{0x9e, 0x20a7},
{0x9f, 0x0192},
{0xa0, 0x00e1},
{0xa1, 0x00ed},
{0xa2, 0x00f3},
{0xa3, 0x00fa},
{0xa4, 0x00f1},
{0xa5, 0x00d1},
{0xa6, 0x00aa},
{0xa7, 0x00ba},
{0xa8, 0x00bf},
{0xa9, 0x2310},
{0xaa, 0x00ac},
{0xab, 0x00bd},
{0xac, 0x00bc},
{0xad, 0x00a1},
{0xae, 0x00ab},
{0xaf, 0x00bb},
{0xb0, 0x2591},
{0xb1, 0x2592},
{0xb2, 0x2593},
{0xb3, 0x2502},
{0xb4, 0x2524},
{0xb5, 0x2561},
{0xb6, 0x2562},
{0xb7, 0x2556},
{0xb8, 0x2555},
{0xb9, 0x2563},
{0xba, 0x2551},
{0xbb, 0x2557},
{0xbc, 0x255d},
{0xbd, 0x255c},
{0xbe, 0x255b},
{0xbf, 0x2510},
{0xc0, 0x2514},
{0xc1, 0x2534},
{0xc2, 0x252c},
{0xc3, 0x251c},
{0xc4, 0x2500},
{0xc5, 0x253c},
{0xc6, 0x255e},
{0xc7, 0x255f},
{0xc8, 0x255a},
{0xc9, 0x2554},
{0xca, 0x2569},
{0xcb, 0x2566},
{0xcc, 0x2560},
{0xcd, 0x2550},
{0xce, 0x256c},
{0xcf, 0x2567},
{0xd0, 0x2568},
{0xd1, 0x2564},
{0xd2, 0x2565},
{0xd3, 0x2559},
{0xd4, 0x2558},
{0xd5, 0x2552},
{0xd6, 0x2553},
{0xd7, 0x256b},
{0xd8, 0x256a},
{0xd9, 0x2518},
{0xda, 0x250c},
{0xdb, 0x2588},
{0xdc, 0x2584},
{0xdd, 0x258c},
{0xde, 0x2590},
{0xdf, 0x2580},
{0xe0, 0x03b1},
{0xe1, 0x00df},
{0xe2, 0x0393},
{0xe3, 0x03c0},
{0xe4, 0x03a3},
{0xe5, 0x03c3},
{0xe6, 0x00b5},
{0xe7, 0x03c4},
{0xe8, 0x03a6},
{0xe9, 0x0398},
{0xea, 0x03a9},
{0xeb, 0x03b4},
{0xec, 0x221e},
{0xed, 0x03c6},
{0xee, 0x03b5},
{0xef, 0x2229},
{0xf0, 0x2261},
{0xf1, 0x00b1},
{0xf2, 0x2265},
{0xf3, 0x2264},
{0xf4, 0x2320},
{0xf5, 0x2321},
{0xf6, 0x00f7},
{0xf7, 0x2248},
{0xf8, 0x00b0},
{0xf9, 0x2219},
{0xfa, 0x00b7},
{0xfb, 0x221a},
{0xfc, 0x207f},
{0xfd, 0x00b2},
{0xfe, 0x25a0},
{0xff, 0x00a0},
......@@ -28,7 +28,7 @@ package contains the files needed for building applications using VTE.
if [ -x %{_bindir}/python2.2 ]; then
PYTHON=%{_bindir}/python2.2; export PYTHON
fi
%configure --enable-shared --enable-static --libexecdir=%{_libdir}/%{name}
%configure --enable-shared --enable-static --libexecdir=%{_libdir}/%{name} --without-glX
make
%clean
......
Markdown is supported
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