UFT-8, NoWinEd и OWB для MorphOS

Софт современных Amiga-like компьютеров. Morphos 2.x, AmigaOS 4.x, Aros, Linux

Модераторы: striimii, Vinnny

UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 13 мар 2010, 21:27

Здравствуйте, комрады!

Писал об этом в рассылки [morphos] и [amirus], но решил здесь тоже отметиться.

Когда занимался лдокализацией OWB, столкнулся с трудностями перевода cp1251 в UTF-8. Текст, конвертированный утилитами для библиотек iconv и codesets, и являющийся текстом UTF-8 (проверено), в ОВБ таковым не считался. Зато считался за UTF-8 текст, полученный в результате экспорта из NoWinEd. Надо ли говорить, что именно этот текст, как показало расследование, не является UTF-8? Интересно также, что если ввести текст в кодировке 1251 в строке поиска (справа вверху), то результатом будет нечно, приведённое в конце сообщения.
Написал про это дело автору порта ОВб для МорфОС - Фабу, - и он ответил что пользуется функцией «...ToUCS4() function which depends on keymap cp1251 -> unicode mapping.», а я, скорее всего, сам дурак.
В общем, чтобы разобраться, прошу помощи. Народ, проверьте, как у вас конвертится текст из 1251 в ЮТФ-8 с помощью NoWinEd, библиотек iconv и codesets, и что выдаёт сам ОВБ, если ему в поисковой строке написать по-русски. Буду также раз увидеть результаты для AROS и AmigaOS. Х/з, может, и впрямь, - это я сам дурак? Но хочу в этом убедиться...
И ещё. Вопрос к тем трём пользователям, скачавшим каталог для OWB. Контекстное меню нормально показывает?

Кстати, вот так оно вставилось из Ямы в ОВБ (и также выглядит текст, полученный при вводе в интегрированную в ОВБ строку поисковой машины):

Ñòîëêíóëñÿ òóò ñ èíòåðåñíîé ïðîáëåìîé, î ÷¸ì óæå ñîîáùàë â ðàññûëêå
[morphos]. Ôàá óòâåðæäàåò, ÷òî ïîëüçóåòñÿ «...ToUCS4() function which
depends on keymap cp1251 -> unicode mapping.» è â ñâîþ î÷åðåäü ñ÷èòàåò, ÷òî
ÿ ÷òî-òî ìîã íàïóòàòü ñ íàñòðîéêàìè. Íå çíà... Ó ìåíÿ âñ¸ ñòàíäàðòíîå.
êðîìå russian.language, êîòîðûé ïëàâíî ïåðåñåëèëñÿ èç ÀÎÑ3.1.

EDIT: Этот «кстати текст» в итоговом сообщении выглядит нормально, но в окне редактирования - кракозябры. Короче, я в глубокой задумчивости...
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 13 мар 2010, 23:10

напиши по пунктам, какие действия в какой последовательности произвести.
что должно стоять в системе (либы, софт, настройки) кроме самого owb
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 13 мар 2010, 23:50

Для всех систем.

Объект исследования: любой набор символов русского алфавита, изначальная кодировка cp1251.

Средства:
Текстовый редактор NoWinEd 0.81. Требует наличия MUI и библиотеки codesets. Все необходимые MUI-классы идут в архиве редактора.
Библиотека codesets 6.10, утилита demo1 либо convert из комплекта поставки библиотеки.

Методика:
1. В редакторе NoWinEd набрать текст, сохранить его экспортированием в файл nowined.txt в кодировке UTF-8.
2. Если используется утилита demo1. Запустить утилиту, выбрать в верхней строке кодировку cp1251, если не выбрана. Набрать текст, идентичный тому, что был набран в NoWinEd, сохранить как файл codesets.txt кнопкой «save utf-8».
3. Для сравнения результатов можно: а) открыть оба файла текстовым редактором (не NoWinEd) так, чтобы содержимое было видно одновременно, сделать скриншот экрана, скриншот тем или иным образом показать мне; или б) запаковать оба файла, тем или иным образом передать их мне.

Для пользователей MorphOS.

Дополнительно можно конвертнуть текст, воспользовавшись библиотекой iconv, она предустановлена, но утилита iconv отсутствует, её необходимо скачать с Аминета в составе архива библиотеки iconv 3.0.
Использование: iconv -f cp1251 -t utf-8 src_file >iconv.txt

Забыл главное. Актуально только для МорфОС, так как в других системах Мультивью и ОВБ могут использовать другие способы организации конвертации текста из системной кодировки в ЮТФ-8.

Посмотрите в Мультивью оба файла. Сообщите, какой из них отображается нормально, а какой - кракозябрами.
Для ОВБ. Введите текст в строку поисковой машины (выберите Гугл или Яндекс) и сообщите мне результат.
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 14 мар 2010, 17:44

попробовал.

результат - неверно конвертирует nowined.

фото полученных файлов:
Изображение

в архиве скриншот и все три текстовых файла:
http://kawai.spb.ru/files/amiga/convert ... owined.zip
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 14 мар 2010, 17:49

у меня есть предположение, что nowined не знает изначальную кодировку. по этому он конвертирует не из cp1251 в utf8, а из чего-то другого в utf8.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 14 мар 2010, 18:16

peguser писал(а): И ещё. Вопрос к тем трём пользователям, скачавшим каталог для OWB. Контекстное меню нормально показывает?

о чем речь?
у меня меню английское.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 14 мар 2010, 22:36

Спасибо, сверил со NoWinEd для МорфОС. Результирующий текст совпадает.

На скрине слева сверху и есть то, из-за чего всё началось (напомню, речь про OWB для MorphOS). Текст для этого меню должен быть набран в кодировке UTF-8, а OWB сам перекодирует его в системную (cp1251 в нашем случае). Похоже, у NoWinEd и у OWB одна и та же болезнь, поскольку неправильная UTF-8, полученная NoWinEd'ом, успешно конвертится в cp1251 (на скриншоте). Если туда вписать правильную UTF-8, получится фигня. Если правильно помню, ОВБ тупо отпечатает всю строку, как если бы это сделал, например, Цигнус.

Это интересно. Надо будет спросить у автора NoWinEd, как он конвертирует текст. Глюк, вероятно, межплатформенный (хотя для АРОС и АОС3 результатов нет пока), и можно было бы предположить, что он связан с codesets.library, если бы не тот факт, что сама библиотека даёт правильный результат, а OWB для MorphOS её вообще не использует и вызывает функцию ToUCS4() (чья она, не знаю).

ЗЫЖ Знаки вопроса в заголовках - это нормально, хотя иногда и правильный текст показывает...
Вложения
ScreenGrab.png
Контекстное меню при нажатии RMB на картинке
ScreenGrab.png (140.37 KiB) Просмотров: 16803
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 14 мар 2010, 23:45

peguser писал(а):Это интересно. Надо будет спросить у автора NoWinEd, как он конвертирует текст. Глюк, вероятно, межплатформенный (хотя для АРОС и АОС3 результатов нет пока),

могу проверить для aos3 завтра/послезавтра. но думаю там будет то же самое.

peguser писал(а):и можно было бы предположить, что он связан с codesets.library, если бы не тот факт, что сама библиотека даёт правильный результат, а OWB для MorphOS её вообще не использует и вызывает функцию ToUCS4() (чья она, не знаю).

все же думаю, что проблема в том, что не известна изначальная кодировка.
сам же понимаешь конвертировать cp1251 в utf8 или koi8-r в utf8 - будет большая разница.

для codeset вроде можно где-то в env было указать системную? может это поможет.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 15 мар 2010, 00:29

Тогда остаётся только одно предположение. Начальная кодировка Latin1, точнее, набор символов с номерами 128+. По внешнему виду похоже... ДА! Запустил CharMap и тупо сравнил, что я набираю, и что высвечивается в Мультивью. Один к одному. Буду жаловаться :)

Спасибо за наводку!
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 15 мар 2010, 00:58

нашел. вот в этом обсуждении viewtopic.php?f=5&t=2171&st=0&sk=t&sd=a&start=90#p17410
выяснили, что кодировку для charset.library надо выставлять в переменной ENVARC:CHARSET
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 15 мар 2010, 01:32

Переменные codeset_default, charset, codepage (не помню уже, эта для кого) выставлены в windows-1251, language указана как russian. Похоже, дело не в них, ведь demo1 и YAM работают нормально. В общем, бум ждать, что Fab скажет.
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение easy_john 15 мар 2010, 10:03

в демо1 в явном виде задается исходная кодировка. а в nowined - нет.
PegasosII G4 1.0/1Gb/80Gb/Ati 9200/MorphOS unreg/Debian
a4000/PPC 233mhz/68060 50mhz/128mb/cv ppc/toccata/x-surf/kickflash/indivision/AOS3.9-4.0
a1200/PPC 200mhz/68040 25mhz/256mb/bv ppc/delfina/wifi/indivision sd+ff/AOS 3.9-4.0
a600/68000 7mhz/8mb fast/wifi/AOS 3.0
Аватара пользователя
easy_john
Менеджер
Менеджер
 
Сообщения: 4296
Зарегистрирован: 03 мар 2006, 15:24
Откуда: SPb

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение CLR 15 мар 2010, 17:48

Кстати да, было бы неплохо с этим разобраться. А там глядишь и заголовки окон будут по-русски показываться и русский текст из окна поиска передаваться в поисковик корректно. Мелочь, но неприятно.
PowerBookG4/PegasosII/MacMiniG4/A1260/PS3/PS4Pro/PS Vita/PSP/ZX/Atari/C64/iPhone
Аватара пользователя
CLR
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 365
Зарегистрирован: 03 июл 2002, 14:15
Откуда: Челябинск

Re: UFT-8, NoWinEd и OWB для MorphOS

Сообщение peguser 15 мар 2010, 21:23

демо1 знает об этом лишь постольку, поскольку существуют переменные окружения. При их отсутствии входящая кодировка устанавливается как ИСО-8859-1 и результаты конвертации в ЮТФ-8 совпадают с таковыми для «крутого редактора».

По всей видимости, OWB и NoWinEd полагаются на функции ОС в определении системной кодировки, т.е. проблемы закопаны глубже. При этом, отмечу, в настройках ОВБ - в разделе Шрифты - устанавливается кодировка текста, надо думать для отображения кнопок, заголовков и прочего, что требует системной кодировки. Результат спорный. Вот сейчас, например, в заголовке нормальный текст.
Efika MX Smartbook, Ubuntu 12.04
Ryzen 5 2400G, RAM: 24GB, SSD 512 GB + SSD 512 GB + HDD 3 TB, Manjaro KDE
Аватара пользователя
peguser
Надоедливый Амигодух
Надоедливый Амигодух
 
Сообщения: 296
Зарегистрирован: 21 июн 2006, 02:17
Откуда: Москва


Вернуться в Софт Amiga NG

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 34

cron