Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Victor Wagner                        2:5020/400     27 Mar 2004  11:51:18
 To : Kirill Frolov
 Subject : Re: book reader
 -------------------------------------------------------------------------------- 
 
 Kirill Frolov <Kirill.Frolov@p2.f827.n5030.z2.fidonet.org> wrote:
 
  KF>>>   Чего?  Вначале В ЮHИКОДЕ заменяешь неугодные символы на правильные,
  VW>> Чего-чего. Во первых, на входе у нас не юникод, а какая-то гадость вроде
  VW>> rtf, парсер который добывает символы по одной штуке, причём эти символы
  VW>> могут бы как юникодными, так и в более другой кодировке. Те из них,
  VW>> которые не юникодные мы должны преобразовать в юникод. Вот тебе первый
  VW>> вызов iconv на символ. 
 
  KF>   А собрать их по строкам?  Зачем на символ? Тут то iconv спотыкаться не
  KF> должен?
 
 А как я их соберу по строкам, если нету в форматах текстовых процессоров
 понятия строки. Есть понятие абзаца, ячейки таблицы и прочих логических
 кусков текста. А кто сказал что разделитель этих кусков всегда можно
 проверить ДО перекодирвоки в UNICODE?
 
  VW>> Потом мы должны определить, угодный символ или неугодный. 
  VW>> Есть два класса неугодных символов. Первый - это честные ASCII символы,
  VW>> недопустимые в выходном формате, например \ в TeX или  <> в HTML.
  VW>> Второй класс неугодных символов - символы, непредставимые в выходной
  VW>> кодировке. Единственный способ их отличить - посмотреть в табличку
  VW>> выходной кодировки. Если у нас нет таблички, отличной от iconv-овской,
  VW>> значит надо попытаться эти символы преобразовать, и если не получилось,
  VW>> то тогда они неугодные.
 
  VW>> Ты знаешь, распарсить 256 строк текстового файла может оказаться проще,
  VW>> чем проверять все 65536 кодов Unicode при построении таблички средствами
 
  KF>   Так я ж выше пишу, допустимость определяется не исходя из всех
  KF> возможных символов unicode, а исходя из символов выходной кодировки.
 
 Особенно, если выходная кодировка utf-8.
 
  VW>> Тем более что всё равно надо парсить сходные по структуре таблицы замен
  VW>> неугодных символов.
 
  KF>   Ассоциативных массивов в C нет. Это беда... :-(
 
 Hу так ассоциативный/не ассоциативный, а какую-то структуру данных нужно
 реализовывать. В catdoc используется двухуровневое 256-ричное дерево.
 
 А раз она реализована, iconv превращается всего лишь в yet another
 источник информации о таблицах кодировок. Причём не самый удобный и не
 самый переносимый. 
 -- 
 Снился мне Фрейд. Что бы это значило?
        --- С.Е. Лец
 --- ifmail v.2.15dev5.3
  * Origin: Free Net of Leninsky,45 (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: book reader   Victor Wagner   27 Mar 2004 11:51:18 
Архивное /ru.linux/15178f7cbe6be.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional