On 2008.12.12 at 13:02:50 +0200, Serhiy Storchaka wrote: > А кто чем пользуется, если нужно оформить несколько абзацов текста в виде > (x)html? Возможно не своего.
> Требуемая функциональность ??? замена спецсимволов (<, >, &,..) и > неподдерживаемых в выходной кодировке символов на соответствующие коды, > оформление абзацев, замена нескольких дефисов на тире, а знаков дюйма на > кавычки, вставка где нужно неразрывных пробелов. Прочее оформление не > обязательно. Если несколько абзацев - то командой глобальной замены в текстовом редакторе. > Похоже, что написание скрипта выйдет быстрее, чем испытание нескольких > десятков имеющихся пакетов, декларирующих аналогичные функции (на самом > деле большинство из них неприменимы). Но наверняка эта задача иногда встаёт > перед большинством подписчиков. Кто как её решает? > > Большую часть задачи решил бы catdoc, если бы можно было указывать формат > вывода неподдерживаемых символов А это - можно. Есть ключик -f задающий формат. Формат это в принципе два файла format-name.specchars (символы, которые надо заменять, даже если они считаются поддерживаемыми) и format-name.replchars - последовательности, на которые заменять символы, не отсутствующие в выходной кодировке > и обрабатывать события начала/конца > строки. А это нельзя. В той модели текста, которой придерживается Word и вокруг которой написан catdoc, понятие "строки" практически отсутствует. Минимальной логической единицей текста является абзац. Впрочем, в HTML модель текста похожая. На самом деле в поставку catdoc до сих пор не входят файлы html.specchars и html.replchars только потому, что из-за особенностей вордового представления таблиц в текущей модели парсинга не удалось корректно детектировать начало таблицы. А без поддержи таблиц конвертировать в html как-то неинтересно. Ну и еще шрифтовые выделения не ловятся. > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact [email protected] > -- To UNSUBSCRIBE, email to [email protected] with a subject of "unsubscribe". Trouble? Contact [email protected]

