libteken: эмуляция возможностей xterm в syscons
-
- проходил мимо
libteken: эмуляция возможностей xterm в syscons
http://docs.FreeBSD.org/cgi/mid.cgi?200 ... 08.GG18652
Теперь можно не заботится о переменной окружения TERM и везде выставить xterm, или лучше xterm-xfree86 (для поддержки altscreen: `ti', `te').
Пока libteken умеет только UTF-8, а поддержка отображения этой ее (кодировки) еще не реализована.
Я так понимаю Ed'у проще допилить syscons(4) до нужной кондиции, чем дорабатывать незаконченный vtc(4).
Теперь можно не заботится о переменной окружения TERM и везде выставить xterm, или лучше xterm-xfree86 (для поддержки altscreen: `ti', `te').
Пока libteken умеет только UTF-8, а поддержка отображения этой ее (кодировки) еще не реализована.
Я так понимаю Ed'у проще допилить syscons(4) до нужной кондиции, чем дорабатывать незаконченный vtc(4).
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
ed@ вернул обратно 8-битные кодировки.Гость писал(а):Пока libteken умеет только UTF-8, а поддержка отображения этой ее (кодировки) еще не реализована.
Код: Выделить всё
Change 154355 2008/12/08 by ed@ed_flippo
Disable UTF-8 for now. I'll first try to import libteken without
enabling UTF-8. There are other things which should be modified
as well, before we can move towards an UTF-8 console driver
(fonts, keyboard).
Код: Выделить всё
env LANG=ru_RU.KOI8-R w3m forum.lissyara.su
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
А вот и пример мапинга 8-битной кодировки (cp437) в utf-8На основе этого примера можно составить табличку для koi8-r <-> utf-8 и screen/jfbterm можно выкинуть.
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
правда в koi8-r нет псевдографики, вот пока для cp866Гость писал(а):На основе этого примера можно составить табличку для koi8-r <-> utf-8 и screen/jfbterm можно выкинуть.
Код: Выделить всё
Index: sys/dev/syscons/scterm-teken.c
===================================================================
--- sys/dev/syscons/scterm-teken.c (revision 194202)
+++ sys/dev/syscons/scterm-teken.c (working copy)
@@ -343,55 +343,56 @@
};
static const struct unicp437 cp437table[] = {
- { 0x0020, 0x20, 0x5e }, { 0x00a1, 0xad, 0x00 },
- { 0x00a2, 0x9b, 0x00 }, { 0x00a3, 0x9c, 0x00 },
- { 0x00a5, 0x9d, 0x00 }, { 0x00a7, 0x15, 0x00 },
- { 0x00aa, 0xa6, 0x00 }, { 0x00ab, 0xae, 0x00 },
- { 0x00ac, 0xaa, 0x00 }, { 0x00b0, 0xf8, 0x00 },
- { 0x00b1, 0xf1, 0x00 }, { 0x00b2, 0xfd, 0x00 },
- { 0x00b5, 0xe6, 0x00 }, { 0x00b6, 0x14, 0x00 },
- { 0x00b7, 0xfa, 0x00 }, { 0x00ba, 0xa7, 0x00 },
- { 0x00bb, 0xaf, 0x00 }, { 0x00bc, 0xac, 0x00 },
- { 0x00bd, 0xab, 0x00 }, { 0x00bf, 0xa8, 0x00 },
- { 0x00c4, 0x8e, 0x01 }, { 0x00c6, 0x92, 0x00 },
- { 0x00c7, 0x80, 0x00 }, { 0x00c9, 0x90, 0x00 },
- { 0x00d1, 0xa5, 0x00 }, { 0x00d6, 0x99, 0x00 },
- { 0x00dc, 0x9a, 0x00 }, { 0x00df, 0xe1, 0x00 },
- { 0x00e0, 0x85, 0x00 }, { 0x00e1, 0xa0, 0x00 },
- { 0x00e2, 0x83, 0x00 }, { 0x00e4, 0x84, 0x00 },
- { 0x00e5, 0x86, 0x00 }, { 0x00e6, 0x91, 0x00 },
- { 0x00e7, 0x87, 0x00 }, { 0x00e8, 0x8a, 0x00 },
- { 0x00e9, 0x82, 0x00 }, { 0x00ea, 0x88, 0x01 },
- { 0x00ec, 0x8d, 0x00 }, { 0x00ed, 0xa1, 0x00 },
- { 0x00ee, 0x8c, 0x00 }, { 0x00ef, 0x8b, 0x00 },
- { 0x00f1, 0xa4, 0x00 }, { 0x00f2, 0x95, 0x00 },
- { 0x00f3, 0xa2, 0x00 }, { 0x00f4, 0x93, 0x00 },
- { 0x00f6, 0x94, 0x00 }, { 0x00f7, 0xf6, 0x00 },
- { 0x00f9, 0x97, 0x00 }, { 0x00fa, 0xa3, 0x00 },
- { 0x00fb, 0x96, 0x00 }, { 0x00fc, 0x81, 0x00 },
- { 0x00ff, 0x98, 0x00 }, { 0x0192, 0x9f, 0x00 },
- { 0x0393, 0xe2, 0x00 }, { 0x0398, 0xe9, 0x00 },
- { 0x03a3, 0xe4, 0x00 }, { 0x03a6, 0xe8, 0x00 },
- { 0x03a9, 0xea, 0x00 }, { 0x03b1, 0xe0, 0x00 },
- { 0x03b4, 0xeb, 0x00 }, { 0x03b5, 0xee, 0x00 },
- { 0x03c0, 0xe3, 0x00 }, { 0x03c3, 0xe5, 0x00 },
- { 0x03c4, 0xe7, 0x00 }, { 0x03c6, 0xed, 0x00 },
+ { 0x0020, 0x20, 0x5e }, { 0x00a4, 0xfd, 0x00 },
+ { 0x00a7, 0x15, 0x00 }, { 0x00b0, 0xf8, 0x00 },
+ { 0x00b6, 0x14, 0x00 }, { 0x00b7, 0xfa, 0x00 },
+ { 0x0401, 0xf0, 0x00 }, { 0x0404, 0xf2, 0x00 },
+ { 0x0407, 0xf4, 0x00 }, { 0x040e, 0xf6, 0x00 },
+ { 0x0410, 0x80, 0x00 }, { 0x0411, 0x81, 0x00 },
+ { 0x0412, 0x82, 0x00 }, { 0x0413, 0x83, 0x00 },
+ { 0x0414, 0x84, 0x00 }, { 0x0415, 0x85, 0x00 },
+ { 0x0416, 0x86, 0x00 }, { 0x0417, 0x87, 0x00 },
+ { 0x0418, 0x88, 0x00 }, { 0x0419, 0x89, 0x00 },
+ { 0x041a, 0x8a, 0x00 }, { 0x041b, 0x8b, 0x00 },
+ { 0x041c, 0x8c, 0x00 }, { 0x041d, 0x8d, 0x00 },
+ { 0x041e, 0x8e, 0x00 }, { 0x041f, 0x8f, 0x00 },
+ { 0x0420, 0x90, 0x00 }, { 0x0421, 0x91, 0x00 },
+ { 0x0422, 0x92, 0x00 }, { 0x0423, 0x93, 0x00 },
+ { 0x0424, 0x94, 0x00 }, { 0x0425, 0x95, 0x00 },
+ { 0x0426, 0x96, 0x00 }, { 0x0427, 0x97, 0x00 },
+ { 0x0428, 0x98, 0x00 }, { 0x0429, 0x99, 0x00 },
+ { 0x042a, 0x9a, 0x00 }, { 0x042b, 0x9b, 0x00 },
+ { 0x042c, 0x9c, 0x00 }, { 0x042d, 0x9d, 0x00 },
+ { 0x042e, 0x9e, 0x00 }, { 0x042f, 0x9f, 0x00 },
+ { 0x0430, 0xa0, 0x00 }, { 0x0431, 0xa1, 0x00 },
+ { 0x0432, 0xa2, 0x00 }, { 0x0433, 0xa3, 0x00 },
+ { 0x0434, 0xa4, 0x00 }, { 0x0435, 0xa5, 0x00 },
+ { 0x0436, 0xa6, 0x00 }, { 0x0437, 0xa7, 0x00 },
+ { 0x0438, 0xa8, 0x00 }, { 0x0439, 0xa9, 0x00 },
+ { 0x043a, 0xaa, 0x00 }, { 0x043b, 0xab, 0x00 },
+ { 0x043c, 0xac, 0x00 }, { 0x043d, 0xad, 0x00 },
+ { 0x043e, 0xae, 0x00 }, { 0x043f, 0xaf, 0x00 },
+ { 0x0440, 0xe0, 0x00 }, { 0x0441, 0xe1, 0x00 },
+ { 0x0442, 0xe2, 0x00 }, { 0x0443, 0xe3, 0x00 },
+ { 0x0444, 0xe4, 0x00 }, { 0x0445, 0xe5, 0x00 },
+ { 0x0446, 0xe6, 0x00 }, { 0x0447, 0xe7, 0x00 },
+ { 0x0448, 0xe8, 0x00 }, { 0x0449, 0xe9, 0x00 },
+ { 0x044a, 0xea, 0x00 }, { 0x044b, 0xeb, 0x00 },
+ { 0x044c, 0xec, 0x00 }, { 0x044d, 0xed, 0x00 },
+ { 0x044e, 0xee, 0x00 }, { 0x044f, 0xef, 0x00 },
+ { 0x0451, 0xf1, 0x00 }, { 0x0454, 0xf3, 0x00 },
+ { 0x0457, 0xf5, 0x00 }, { 0x045e, 0xf7, 0x00 },
{ 0x2010, 0x2d, 0x00 }, { 0x2014, 0x2d, 0x00 },
{ 0x2018, 0x60, 0x00 }, { 0x2019, 0x27, 0x00 },
{ 0x201c, 0x22, 0x00 }, { 0x201d, 0x22, 0x00 },
{ 0x2022, 0x07, 0x00 }, { 0x203c, 0x13, 0x00 },
- { 0x207f, 0xfc, 0x00 }, { 0x20a7, 0x9e, 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, 0xf9, 0x00 }, { 0x221a, 0xfb, 0x00 },
- { 0x221e, 0xec, 0x00 }, { 0x221f, 0x1c, 0x00 },
- { 0x2229, 0xef, 0x00 }, { 0x2248, 0xf7, 0x00 },
- { 0x2261, 0xf0, 0x00 }, { 0x2264, 0xf3, 0x00 },
- { 0x2265, 0xf2, 0x00 }, { 0x2302, 0x7f, 0x00 },
- { 0x2310, 0xa9, 0x00 }, { 0x2320, 0xf4, 0x00 },
- { 0x2321, 0xf5, 0x00 }, { 0x2500, 0xc4, 0x00 },
+ { 0x2116, 0xfc, 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, 0xf9, 0x00 },
+ { 0x221a, 0xfb, 0x00 }, { 0x221f, 0x1c, 0x00 },
+ { 0x2302, 0x7f, 0x00 }, { 0x2500, 0xc4, 0x00 },
{ 0x2502, 0xb3, 0x00 }, { 0x250c, 0xda, 0x00 },
{ 0x2510, 0xbf, 0x00 }, { 0x2514, 0xc0, 0x00 },
{ 0x2518, 0xd9, 0x00 }, { 0x251c, 0xc3, 0x00 },
Код: Выделить всё
$ vidcontrol -f cp866
$ locale charmap
UTF-8
$ w3m forum.lissyara.su
...
PROFIT!
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
может кто-нить, кто сидит на 8-CURRENT, подтвердить что и у него работает utf-8 в консоли с приведенным выше патчиком?
Работать должно только отображение. Ввод не транслируется поэтому придется использовать какой-нить input method, например uim-fep.
Работать должно только отображение. Ввод не транслируется поэтому придется использовать какой-нить input method, например uim-fep.
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
ляпнул не посмотрев в википедию + не разобрался как генерирует шрифт terminusГость писал(а):правда в koi8-r нет псевдографики
вобщем вот для koi8-r: sc-unikoi8r.diff
не забудьте, что ядро надо компилить с `options TEKEN_UTF8'
ps, символы заменены на похожие (или не совсем) из koi8-r:
- « (U+00AB)
» (U+00BB)
? (U+00CB)
? (U+00EB)
– (U+2013)
… (U+2026)
? (U+2032)
‹ (0x2039)
› (0x203A)
№ (U+2116)
? (U+2501)
? (U+25A1)
? (U+25CF)
? (U+25CB)
? (U+25A0)
? (U+2606)
- NoResponse
- мл. сержант
- Сообщения: 76
- Зарегистрирован: 2007-07-30 1:39:02
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
кто нибудь пробовал как оно ?
Я сам по себе скопище энтропии. А по законам термодинамики, если не принимать никаких действий энтропия стремится к бесконечности. Похоже, так оно и есть.
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
Спасибо. А что именно с sc-unikoi8r.diff нужно сделать?вобщем вот для koi8-r: sc-unikoi8r.diff
Ядро собрано с опциями "options TEKEN_UTF8" "options TEKEN_XTERM", и в /etc/ttys "cons25" заменено на "xterm".
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
применить и пересобрать ядро, напр.Гость писал(а):Спасибо. А что именно с sc-unikoi8r.diff нужно сделать?
Код: Выделить всё
$ cd /usr/src
$ fetch ftp://ftp.lissyara.su/users/Guest/sc-unicp1251.diff
$ patch -i sc-unicp1251.diff
$ make buildkernel && make installkernel
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
Хотелось бы уточнить, для freebsd 8 это все необходимые операции или что-либо еще нужно проделать? В сети много инфы, но везде указывается что надо поменять значения переменных, причем постоянно в разных файлах и разные переменные. Я как не бился, в консоли русский UTF8 не появляется. Только koi8-r получается настроить.Гость писал(а):применить и пересобрать ядро, напр.Гость писал(а):Спасибо. А что именно с sc-unikoi8r.diff нужно сделать?ps, рекомендую использовать табличку для cp1251 вместо koi8r, первая имеет больше частоиспользуемых символов в вебе и поддерживает украинские буквы.Код: Выделить всё
$ cd /usr/src $ fetch ftp://ftp.lissyara.su/users/Guest/sc-unicp1251.diff $ patch -i sc-unicp1251.diff $ make buildkernel && make installkernel
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
Ещё нужно в /etc/login.conf в секции default дописатьwilduser писал(а): Хотелось бы уточнить, для freebsd 8 это все необходимые операции или что-либо еще нужно проделать? В сети много инфы, но везде указывается что надо поменять значения переменных, причем постоянно в разных файлах и разные переменные. Я как не бился, в консоли русский UTF8 не появляется. Только koi8-r получается настроить.
Код: Выделить всё
:setenv=MAIL=/var/mail/$,BLOCKSIZE=K,FTP_PASSIVE_MODE=YES,LANG=ru_RU.UTF-8,LC_CTYPE=ru_RU.UTF-8,LC_COLLATE=ru_RU.UTF-8,LC_TIME=ru_RU.UTF-8,LC_NUMERIC=ru_RU.UTF-8,LC_MONETARY=ru_RU.UTF-8,LC_MESSAGES=ru_RU.UTF-8,LC_ALL=ru_RU.UTF-8,MM_CHARSET=UTF-8\
Код: Выделить всё
LANG=ru_RU.UTF-8
export LANG
LC_CTYPE=ru_RU.UTF-8
export LC_CTYPE
LC_COLLATE=ru_RU.UTF-8
export LC_COLLATE
LC_TIME=ru_RU.UTF-8
export LC_TIME
LC_NUMERIC=ru_RU.UTF-8
export LC_NUMERIC
LC_MONETARY=ru_RU.UTF-8
export LC_MONETARY
LC_MESSAGES=ru_RU.UTF-8
export LC_MESSAGES
LC_ALL=ru_RU.UTF-8
export LC_ALL
MM_CHARSET=UTF-8
export MM_CHARSET
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
продублируйте пожалуйста патчики у кого сохранились
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
ищите уже в какойто теме дублировали
- AGN
- ефрейтор
- Сообщения: 63
- Зарегистрирован: 2009-10-05 2:54:49
- Откуда: MSK
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
9.0 отказалась собирать ядро с options TEKEN_XTERM
А в ttys и так везде xterm прописан... т.е. от cons25 там уже ушли.
А в ttys и так везде xterm прописан... т.е. от cons25 там уже ушли.
- manefesto
- Группенфюррер
- Сообщения: 6934
- Зарегистрирован: 2007-07-20 8:27:30
- Откуда: Пермь
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
трусы не играют в хоккей(с)
ставь 10ку
ставь 10ку
- AGN
- ефрейтор
- Сообщения: 63
- Зарегистрирован: 2009-10-05 2:54:49
- Откуда: MSK
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
Дык 9 нынче STABLEmanefesto писал(а):трусы не играют в хоккей(с)
ставь 10ку
А 10 мне пока ни к чему... может на виртуалку поставлю - поковырять...
- Dog
- лейтенант
- Сообщения: 723
- Зарегистрирован: 2006-09-21 10:34:36
- Откуда: Kharkiv, Ukraine
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
AGN писал(а):9.0 отказалась собирать ядро с options TEKEN_XTERM
А в ttys и так везде xterm прописан... т.е. от cons25 там уже ушли.
dog@dog:~> grep TEKEN /usr/src/sys/conf/NOTES
options TEKEN_CONS25 # cons25-style terminal emulation
options TEKEN_UTF8 # UTF-8 output handling
Oh my God, they killed init! Bastards!
-
- проходил мимо
- Сообщения: 1
- Зарегистрирован: 2013-01-04 12:42:54
Re: libteken: эмуляция возможностей xterm в syscons
вобщем вот для koi8-r: sc-unikoi8r.diff
Не могу скачать ftp://ftp.lissyara.su/users/Guest/sc-unikoi8r.diff. Скиньте пожалуйста этот файл мне на email: eduard.adamovich@gmail.com
Не могу скачать ftp://ftp.lissyara.su/users/Guest/sc-unikoi8r.diff. Скиньте пожалуйста этот файл мне на email: eduard.adamovich@gmail.com
- Alex Keda
- стреляли...
- Сообщения: 35426
- Зарегистрирован: 2004-10-18 14:25:19
- Откуда: Made in USSR
- Контактная информация:
Re: libteken: эмуляция возможностей xterm в syscons
нету этого диффа больше
как и ftp больше нету
как и ftp больше нету
Убей их всех! Бог потом рассортирует...
-
- проходил мимо
Re: libteken: эмуляция возможностей xterm в syscons
обновление phpbb похерило форматирование ;\Гость писал(а):
- « (U+00AB)
» (U+00BB)
? (U+00CB)
? (U+00EB)
– (U+2013)
… (U+2026)
? (U+2032)
‹ (0x2039)
› (0x203A)
№ (U+2116)
? (U+2501)
? (U+25A1)
? (U+25CF)
? (U+25CB)
? (U+25A0)
? (U+2606)
https://gist.github.com/4600268