forum.wfido.ru  

Вернуться   forum.wfido.ru > Прочие эхи > RU.GOLDED

Ответ
 
Опции темы Опции просмотра
  #1  
Старый Вчера, 20:32
Nil A
Guest
 
Сообщений: n/a
По умолчанию про screen и golded

Nil A написал(а) к Evgeny Chevtaev в Jul 25 19:08:26 по местному времени:

* Originally in ru.unix.bsd
* Crossposted in ru.linux
* Crossposted in ru.golded
Нello, Evgeny!

Sunday July 13 2025 20:46, from Evgeny Chevtaev -> All:

EC> После недавнего обновления screen до 5-ой версии, что-то поломалось и
EC> golded стал показывать какую-то хрень вместо русских букв. Откат на
EC> 4.9 всё починил. Никто не сталкивался?

Это не конкретно проблема BSD, ровно такое же и на Linux.
Screen 5.x - полная поддержка юникода и собирается он с ncursesw (libncursesw).
Возможно 4.9 ещё с однобайтовым ncurses собран (libncurses)

Вроде недавно были какие-то вялые попытки собрать golded с ncursesw, но не делая при этом полноценную юникод поддержку. Я не знаю чем это закончилось.

Собственно вариантов два
1. Сделать golded юникодным
2. Откатиться на старый screen, или tmux.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20240306
Ответить с цитированием
  #2  
Старый Вчера, 20:51
Rinat Sadretdinow
Guest
 
Сообщений: n/a
По умолчанию про screen и golded

Rinat Sadretdinow написал(а) к Evgeny Chevtaev в Jul 25 19:32:48 по местному времени:

* Originally in ru.linux
* Crossposted in ru.golded

Нello Evgeny!

13 Jul 25 19:08, Nil A wrote to you:

EC>> После недавнего обновления screen до 5-ой версии, что-то
EC>> поломалось и golded стал показывать какую-то хрень вместо русских
EC>> букв. Откат на 4.9 всё починил. Никто не сталкивался?

Я сталкивался. Ещё 25 апреля в ru.golded жаловался с $Subj "Почему такая бНОПНЯ образовалась?" и даже скриншот показывал:

http://pics.rsh.ru/img/Screenshot<b>...b>y447qcis.png

NA> Это не конкретно проблема BSD, ровно такое же и на Linux.

Именно так, у меня это было на Linux.

NA> Screen 5.x - полная поддержка юникода и собирается он с ncursesw
NA> (libncursesw). Возможно 4.9 ещё с однобайтовым ncurses собран
NA> (libncurses)

На screen 4.06.02 всё нормально, а на screen 5.0.0 уже полная бНОПНЯ.

NA> Собственно вариантов два
NA> 1. Сделать golded юникодным
NA> 2. Откатиться на старый screen, или tmux.

Есть третий вариант который меня и спас. Раньше было:

===
rhs@sys3175:~/fido$ cat .screenrc
startup_message off
defencoding koi8-r
screen /bin/sh -c "LANG=ru_RU.KOI8-R gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg"

rhs@sys3175:~/fido$
===

но после обновления screen перестало работать. Теперь стало:

===
rhs@sys3175:~/bin$ cat golded
#!/bin/sh

LANG=ru_RU.KOI8-R luit -encoding koi8-r -x -- gedlnx -C/home/rhs/fido/etc/golded+/golded.cfg

rhs@sys3175:~/bin$
===

То есть отказываемся от screen и используем luit. И волосы снова становятся мягкими и шелковистыми.

За оригинальную подсказку спасибо Alexey Khromov (2:5030/723).

Bye!

--- GoldED+/LNX 1.1.5-b20250409
Ответить с цитированием
  #3  
Старый Вчера, 21:52
Nil A
Guest
 
Сообщений: n/a
По умолчанию про screen и golded

Nil A написал(а) к Evgeny Chevtaev в Jul 25 20:35:14 по местному времени:

* Originally in ru.unix.bsd
* Crossposted in ru.golded
Нello, Evgeny!

Sunday July 13 2025 22:12, from Evgeny Chevtaev -> Nil A:

NA>> 2. Откатиться на старый screen, или tmux.
EC> Именно так и сделал. Это первое, что пришло в голову.

Если ты используешь screen только для перекодировки, то проще отдельный терминал настроить для фидо, и в нём выставить Koi8r, а не utf8.

EC> А как оно у меня работает и почему, я вообще не помню и разбираться
EC> сил нет. ;)

В двух словах. GoldED не знаком с юникодом, а только с однобайтовыми кодировками (SBCS - single-byte character set). Для перекодирования у него есть таблицы, но они все один-байт в другой-байт. В utf8 один символ может кодироваться как один байт, так и до 4х. Также один визуальный символ может кодироваться двумя и более utf8 последовательностями, короче это всё сложно. Наибольшая проблема вкорячить юникод в голдед - его редактор. Редактору надо бегать по символам, надо знать сколько символов в строке и т.д. Сегодня он думает, что один байт - это один символ.

Для вывода на экран, точнее терминал, в юниксах голдед использует библиотеку ncurses. Эта библиотека знает, как перемещать курсор, как отображать разные цвета, и пр. на твоём терминале. Ещё в голдеде есть возможность сразу в ANSI терминал выводить, т.е. этими экскейп последовательностями, но это не универсально.
Со временем даже весь TUI софт постепенно стал юникодным, и всё больше и больше программ стало линковаться с ncurses, который собран с --enable-widec.

Best Regards, Nil
--- GoldED+/LNX 1.1.5-b20240306
Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 15:25. Часовой пояс GMT +4.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot