On Wed, 19 Apr 2006 19:22:10 +0400 Alexej Kryukov wrote: > On Wednesday 19 April 2006 15:46, Dmitry Agafonov wrote: > > > > ВЫВОД: > > Сломано сохранение при локали koi8-r. > > Пишите жалобу.
> Вывод, на самом деле, неправильный, в чем можно убедиться, посмотрев > созданные RTF в текстовом редакторе. Проблема вовсе не только с > KOI8, а с концепцией поддержки различных кодировок в RTF в целом. > Логика поведения RTF-фильтра (ранее специфичного для BSD, а теперь > обнаруженного и на Линуксе) состоит в следующем: нелатинские символы > всегда записываются в локальной кодировке. Этим лечится застарелая > болезнь того же фильтра, который в непропатченном виде генерировал > чисто юникодовые RTF, открывавшиеся потом в виде вопросиков > в таких приложениях, как PageMaker или Word 95. Но очевидно, что > лекарство хуже самой болезни, т. к. в RTF может использоваться вовсе не > любая кодировка, а только кодировки от MS, так что для кирилллицы > единственно допустимым вариантом была бы cp1251. Неудивительно, что > потом файлы, созданные в локали koi8 (а также iso8859-5) некорректно > открываются самим же OOo: входной-то фильтр не пропатчен, и ведет > себя, независимо от текущей локали, совершенно правильно. > Ну а при локали UTF-8 генерируется юникодовый RTF (почти такой же, > какой был бы и без патча), который сам по себе тоже был бы относительно > корректным, если бы не то обстоятельство, что для 8-битных приложений > туда вместо корректных ANSI-эквивалентов (или хотя бы знаков вопроса) > записываются пары-тройки-четверки символов: коды UTF-8, воспринятой > как cp1251. Так что сам OOo такой файл читает, а вот если открыть его > в том же Word 95, то можно сильно удивиться. Алексей, спасибо за развёрнутый анализ. Однако, у меня остаётся вопрос (возможно, ответ на него покажет то узкое место, которое надо расширить): почему тогда есть возможность сначала сохранив пустой файл в формате RTF, закрыв и открыв его снова, cовершенно спокойно работать в своей родной кодировке (у меня koi8-r)? Может, стоит применить получившиеся таким образом условия (после открытия файла) на условия сохранения нового файла? Ведь по сути ничего нового в ОС, локали, окружении не возникает. Кстати, этот workaround у кого-нибудь повторяется? > Разумеется, здесь возникает вопрос, зачем было включать в линуксовую > сборку патч, некорректность которого уже была обсуждена применительно > к BSD. Честно говоря, не знаю, BSD-шный ли патч был применён или нечто другое, но поведение OO очень похоже. Тот патч, от которого отказались во FreeBSD ещё в начале 2004 года, касался работы CJK-rtf (насколько я понимаю, это Китай-Япония-Корея), но влиял на работу с koi8-r. WBR -- bsam _____________________________________________________ Oo-discuss mailing list Oo-discuss at openoffice.ru https://lists.openoffice.ru/mailman/listinfo/oo-discuss
