libteken: эмуляция возможностей xterm в syscons

Обсуждение всяких разных новостей.
Гость
проходил мимо

libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2008-12-07 11:08:20

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).

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.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/

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2008-12-17 1:42:56

Гость писал(а):Пока libteken умеет только UTF-8, а поддержка отображения этой ее (кодировки) еще не реализована.
ed@ вернул обратно 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
если держать LANG по умолчанию в en_US.UTF-8.

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2009-06-14 20:27:58

А вот и пример мапинга 8-битной кодировки (cp437) в utf-8На основе этого примера можно составить табличку для koi8-r <-> utf-8 и screen/jfbterm можно выкинуть.

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2009-06-14 23:29:22

Гость писал(а):На основе этого примера можно составить табличку для koi8-r <-> utf-8 и screen/jfbterm можно выкинуть.
правда в koi8-r нет псевдографики, вот пока для cp866

Код: Выделить всё

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 },
надо бы terminus для cp866 состряпать на основе шрифта для cp437 и koi8-r. А пока можно юзать дефолтный шрифт.

Код: Выделить всё

$ vidcontrol -f cp866
$ locale charmap
UTF-8
$ w3m forum.lissyara.su
...
PROFIT!

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2009-06-15 0:52:02

может кто-нить, кто сидит на 8-CURRENT, подтвердить что и у него работает utf-8 в консоли с приведенным выше патчиком?

Работать должно только отображение. Ввод не транслируется поэтому придется использовать какой-нить input method, например uim-fep.

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2009-06-15 7:35:24

Гость писал(а):правда в koi8-r нет псевдографики
ляпнул не посмотрев в википедию + не разобрался как генерирует шрифт terminus

вобщем вот для 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

Непрочитанное сообщение NoResponse » 2009-08-13 17:45:23

кто нибудь пробовал как оно ?
Я сам по себе скопище энтропии. А по законам термодинамики, если не принимать никаких действий энтропия стремится к бесконечности. Похоже, так оно и есть.

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2010-05-03 9:16:55

вобщем вот для koi8-r: sc-unikoi8r.diff
Спасибо. А что именно с sc-unikoi8r.diff нужно сделать?
Ядро собрано с опциями "options TEKEN_UTF8" "options TEKEN_XTERM", и в /etc/ttys "cons25" заменено на "xterm".

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2010-06-08 21:03:23

Гость писал(а):Спасибо. А что именно с 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
ps, рекомендую использовать табличку для cp1251 вместо koi8r, первая имеет больше частоиспользуемых символов в вебе и поддерживает украинские буквы.

wilduser
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение wilduser » 2010-06-14 13:03:04

Гость писал(а):
Гость писал(а):Спасибо. А что именно с 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
ps, рекомендую использовать табличку для cp1251 вместо koi8r, первая имеет больше частоиспользуемых символов в вебе и поддерживает украинские буквы.
Хотелось бы уточнить, для freebsd 8 это все необходимые операции или что-либо еще нужно проделать? В сети много инфы, но везде указывается что надо поменять значения переменных, причем постоянно в разных файлах и разные переменные. Я как не бился, в консоли русский UTF8 не появляется. Только koi8-r получается настроить.

kvasdopil
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение kvasdopil » 2010-06-22 13:46:06

wilduser писал(а): Хотелось бы уточнить, для freebsd 8 это все необходимые операции или что-либо еще нужно проделать? В сети много инфы, но везде указывается что надо поменять значения переменных, причем постоянно в разных файлах и разные переменные. Я как не бился, в консоли русский UTF8 не появляется. Только koi8-r получается настроить.
Ещё нужно в /etc/login.conf в секции default дописать

Код: Выделить всё

  :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\
И в /etc/profile

Код: Выделить всё

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
Кстати, может кто-нибудь знает, превдографика в программах, которые используют ncursesw, у меня не отображается именно из за того, что стоит табличка для cp1251?

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2010-09-29 22:32:26

продублируйте пожалуйста патчики у кого сохранились


Аватара пользователя
AGN
ефрейтор
Сообщения: 63
Зарегистрирован: 2009-10-05 2:54:49
Откуда: MSK
Контактная информация:

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение AGN » 2011-10-27 22:23:40

9.0 отказалась собирать ядро с options TEKEN_XTERM
А в ttys и так везде xterm прописан... т.е. от cons25 там уже ушли.

Аватара пользователя
manefesto
Группенфюррер
Сообщения: 6934
Зарегистрирован: 2007-07-20 8:27:30
Откуда: Пермь
Контактная информация:

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение manefesto » 2011-10-28 12:44:24

трусы не играют в хоккей(с)
ставь 10ку
я такой яростный шо аж пиздеЦ
Изображение

Аватара пользователя
AGN
ефрейтор
Сообщения: 63
Зарегистрирован: 2009-10-05 2:54:49
Откуда: MSK
Контактная информация:

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение AGN » 2011-10-28 13:16:56

manefesto писал(а):трусы не играют в хоккей(с)
ставь 10ку
Дык 9 нынче STABLE
А 10 мне пока ни к чему... может на виртуалку поставлю - поковырять...

Аватара пользователя
Dog
лейтенант
Сообщения: 723
Зарегистрирован: 2006-09-21 10:34:36
Откуда: Kharkiv, Ukraine
Контактная информация:

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Dog » 2011-10-31 3:29:36

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!

eduard.adamovich
проходил мимо
Сообщения: 1
Зарегистрирован: 2013-01-04 12:42:54

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение eduard.adamovich » 2013-01-04 12:54:07

вобщем вот для koi8-r: sc-unikoi8r.diff

Не могу скачать ftp://ftp.lissyara.su/users/Guest/sc-unikoi8r.diff. Скиньте пожалуйста этот файл мне на email: eduard.adamovich@gmail.com

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35456
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Alex Keda » 2013-01-04 20:39:16

нету этого диффа больше
как и ftp больше нету
Убей их всех! Бог потом рассортирует...

Гость
проходил мимо

Re: libteken: эмуляция возможностей xterm в syscons

Непрочитанное сообщение Гость » 2013-01-23 3:28:27

Гость писал(а):
  • « (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)
обновление phpbb похерило форматирование ;\

https://gist.github.com/4600268