[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [проект] метод передачи названия кодировки используемой на других платформах для данной локали
On Wed, 27 Sep 2000, Victor Wagner wrote:
> On Wed, 27 Sep 2000, Vlad Harchev wrote:
>
> > > > А он использует wv? Смотри wv, файл text.c - там отображение кодов языков от
> > > > MS в имена кодировок - например 1049->cp1251. А дальше юзаешь iconv для
> > >
> > > Нет не использует. Потому что должен собираться под DOS в 16-битном
> > > режиме. Соответственно, никаких iconv. Ну нету этой функции на большей
> > > части поддерживаемых платформ. Всяких там SunOS 4, HP/UX 9 и так далее.
> >
> > Есть libiconv которая предоставляет iconv_* - именно ее юзает абиворд на
> > платформах отличных от линукса. Ее наверно и под дос скомпилить можно, если
> > выкинуть японксие кодировки (у них там наверно размер одной таблицы больше 64K
> > будет).
>
> Сомневаюсь. Я собственно, и libcole не использую. Современные программисты
> давно забыли как программировать на 16-битных платформах.
И слава богу что забыли. А вот русские - вроде не забыли, к сожалению.
> У меня в catdoc есть вполне работоспособная логика конвертирования в
> юникод/из юникода, которая легко расширяема - читает текстовые описания
> кодировок с ftp.unicode.org, и имеет легко настраиваемую систему
> подстановок, в том числе и для вывода plaintext. Как частный случай - если
> почитать catdoc русский текст (не только doc) при выходной кодировке
> us-ascii, то получится вполне корректная транслитерация.
>
> Так что я не вижу причин отказываться от этой логики.
> Отказываться от логики разбора формата приходится, особенно из-за word>=8,
> где запросто может встретиться кусок в cp1252, а кусок в UCS2, причем
> граница между ними по границе 128-байтного блока.
>
> Но использование честной библиотеки для разбора OLE (даже если она
> соберется Turbo C 2.01) это отказ от работы с non-seekable файлами.
> А терять возможность конвертить по пайпу не хочется.
>
> И вообще, если за таким монстром как AbiWord две лишние библиотеки таскать
> осмыслено, то за маленькой утилиткой (досовский екзешник 0.90.3 - 26К)
> это уже вопрос.
Вообще-то да. Но все равно, можно глянуть откуда wv берет код языка и потом
это (смещение и маску) использовать в catdoc.
>
> --
> Victor Wagner vitus@ice.ru
> Programmer Office:7-(095)-785-09-72
> Communiware.Net Home: 7-(095)-135-46-61
> http://www.communiware.net http://www.ice.ru/~vitus
>
Best regards,
-Vlad