Subject: Re: codeset recoding engine
To: None <M.Drochner@fz-juelich.de>
From: Sean Doran <smd@ebone.net>
List: tech-kern
Date: 11/16/1999 02:40:41
--=-=-=

Matthias Drochner <M.Drochner@fz-juelich.de> writes:

> It's generally dangerous to pass more than ascii through the
> existing system call interfaces - an unsuspecting application
> can be confused, or the terminal messed up. While we can
> harden most applications,

Most of the ones I run into don't care much; the
displaying by programs such as ls(1) can be wrong, however.

See the very simple example attached, from playing
with pkgsrc/plan9/9term and pkgsrc/plan9/rc, and the
glyph you get when you hold alt and type w then k.

        Sean.


--=-=-=
Content-Type: image/gif
Content-Disposition: attachment; filename=a.gif
Content-Transfer-Encoding: base64
Content-Description: simple xwd as a gif

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
C3jCbenQeWh161vlN9au9gWudbUr+rhIVrryx6o/vetfAfu7ePyTq3MNIH4kOs/XyRQhqNul
60YaTtTQMrCVbdFQSclW7plQMHYk3Dt7eLrS4FSlTnwX/jstm1r/iNOwCnQoyKA4u2bIjoqQ
uyc0O4Nar0i0SwWyrTjeYigsqpa4tmEtXUX6Rt3lsnK41SmTmkmjPaJxhAtF5+gIOsV6WTFt
0BpuccGrVH+uSnsBJRKjNhrNRVrJTVnTqDkopglsBndqwUnvMWD63L6Gl7+SHe/yypvc1C3m
lYFyrE23qQ1+nVNkQbOKQH/mmvvGUJIx7e+Fn4PZ+5FzuhedqKNACOE6/pLBSIvZg3vZNQmP
mKYClWNOMRzjUkC1i2XFL7y2a2C/PnON7r1xvjZptRRn13g5LloUKyxjJQv1v1tFoDGN5s+H
8i2GKzYjizm6kzclmHfG+mxJ/vEpLTzu+MhLNjN8mkxDPyHXbmFb7myfKcVqkmqdshUsZBtb
zfwOplOvVKadX7zfM59Zra3d4YWWSl9sLXXQjRbvsQi7Zt8YtXOMZpCgHZ1pIw1V0pOWqqZB
HeqPplmQUSWnqFGd6uOQepQbtrGqYR3rYbK6mOaV9a1x7V9Ik9fVe83wcSTbEghi+rmRzfWx
HZbKpEE5Lon9EAMtvdOKNbuz8EH2ko/r6VMDcs5IDja3ERttaV+7v/YztY11B8Vv92LKtz3p
poQRncrEVs5CbM2Kv7tKeBdLpqQLByycSW6g0livh0WLgilqUbbU+cfsJhYdW7kIhPO7Somd
EoIR/nLNtnltWl2+WZIFLsy8Grqta5o4yNm7ZR9nOcoVphdiUFxJY/PYwriDJHBLDA2dhXzg
nO70XgSM0wbSd8IJB5psfRi0PhsZxl5+9zjqDTwqY+rjyCwad3ne0UKzmcOYwLrmhsx0Z+97
pbpVZdExqm8v21fFfE7wwiBK2qwHVa5cR7fXsQn2sMO8zIrcuXaxPHNUSnK99e2soq8Yd9bN
Xes+f7KtCdplmWPXyGM3KFPMrvLfJnynnMe8vE2acWDB7sdjFzzjtUhwkiNS6J53cajqbPqn
u3KkJ/a4653+9EPmm95N9HfvVOpu1Dee1j/X9quB/ezXg5fYw19ftuuz/m3vNP+r1Hc+Xn1+
bl+DkrLX9/6qdw3gXhtcrHn//vk3XXyAUrqEAwoR79Ef/3KqP7PMzqKzfGF++e9//uHP3iAh
L9ySL/e6rfNsSbesj/9AbeTsbvtgCPemjQBTLkgeAyQIr56iTgE1re6OzwHdg8LSTgKLzX2q
4USaLgITUAPdaus60OD8xuSsCOlY447Y7bdko7qUi3gkQ+JwwgRlAWF+6O0eSQUxjAOj7+7a
aOKOiFzsiZVOzlmGEOje6DRo7xnUbKJSzKTiCWsKjwgBiwFb0LVMzroKTL3M7ikUyvAWRyum
Du5QLHp+gss2rkkCTdy8sKlUrwFdcMCgUOyC/mXMxq3HFmw13q/t4M5SoOP3rmuSZE8X7PAO
j8rcaswBO+wJZaYLWy7MsmFW2BAE2xBa7ixNhiyaZu7rILGyoA/o2myTNPHDGsfb9s7HhEXI
Gs7l2IiRqImSiKKF4O8U6yoV8WYVwejk6E1sAlEQxQwNXXECG0qe9ojCSIySMsoXVQsYQQcJ
ecrDFmsHjxE0Ys/z8qnaJqtWfKoW7cwjIJDmqPELs28SyW88PAjxjAt30mEL9W4diUsSC861
OiQFnYgO67EXBw8fAysPw/DQPqn7CNILwfAIPTDVHnEhp8oIVVH6RC0iJRIP23Gt7C/WMDIj
6S77cqgjtYSFVuQj/kHSoxqyIpGPR0ySs2YsJcuN0wCQ/XbkJeHRDlFSJvdJH1evj5gJ88hu
9hTRiIaIyngvMbgLCEljiZqSzMCGJ8PLGkvJA28qJ6ZwE4fFoSCMGO1RKOlocCCO3/yiz5Yl
A2tPKpmvHfcRIWHMzVjP78Ao4rRs5eaSEW/OFoEMKtNSLfORLX8SA1Gp48bxzzZGKQOPC5HC
nc7yu35wHGPSL6sRMPWQH2nQDRsLiE6viNDuxUiGMSvqK61qJyUzITVM+97xHhPPZCgDfqKr
75jKDMlSv3IR5WqtNFGRJlGTH6+yMQAOoTgjYUYrTl4z3oIPKl5wGeOrdTCHL6WJNHEz/vUc
zx15U5MsLwf/jKRcx/aYpTsHDKWQyB/oUWJ0MCklLDpzU/2g5iDbCtvABD3/igUdMjWLsLzg
864oMhgtMtSg8z5JaCX1syX9c0CrxyDn0zIJNEGRxycr0y0V9EHrhzLZc7MgtEL/hSo1Cygt
dENNBUNJkkNBNGUk9EAdNERNdIHob/wQ9ERZ9CZ1kzpLtEVltKqmsy3bc0ZxVEXy8xofMkd9
tB83MjB/dEgXTT2Nj0fpk0iVdEEAFElXdEmhFEAMlCV7NEqttD8YdEI19Eq5FNGMdDdjtEvF
dD08NADH9Ey91P+uEEZvFE3dND9GlEqT9E3pdHxOk00ptE71/vTRtoKwavLT9jRQM8xIH88m
BfVQhU0kbTRPEbVRA/JLC0tOn9RRKXXGFFVIKzVT26FJq3JONfVTM0k9/3Q/QbVU+69PV6X+
zNRUWRV61HRLnTRMW3VWoe5Vl21VaTVXaxVVxQ9M21RXgTXZ+iTAADVYgbVMDdVYdRVZi1VZ
aZVZSdVZZxVaBVRanzVOA7RKrXVasTVWf3VbW5VatRVcTVVcPZVcP9VcJxVd07VbO3Vd2TVT
1VVW41Ve3TVD+7Neh3Rev1VfK5VfGdVfERVgYVVgBZVg89VgZxRhFZZVGbZhS/VhIbZdIXVR
C3Zi31RiMfZf7/VDN/ZQNfZjGzVk10UWZDsWV0tWT0k2Zfd0ZVm2Tl32ZTP2ZJNVZsU0Zm32
THE2Z2+WZpuVZ610Z4H2SoV2aKO0aI12SZE2aYl0aZn2R532aXM0aqV2YX02WqvWR6k2a1l0
a7nWRL32a0E0bMV2Q8m2bCv0bNH2QdV2bRO0bd12QOE2bu9zbukWPe32bnEzb/VWMvm2b9Xy
bwGXJwV3cFOycA03I5E1ERM2cSGxTB33aO+VcSm3ci33cjE3czV3czm3cz33c0E3dEV3dEm3
dE33dFE3dVV3dVm3dV33dG3VCAoAADs=

--=-=-=--