Мне нужно простое текстовое представление произвольного файла HTML (например, сообщение в блоге). Пока это не проблема, существуют десятки конвертеров HTML в txt. Однако текст в абзацах (читай «p
элементы») должен быть выровнен в представлении обычного текста (до определенного количества столбцов) и, если возможно, расставлен через дефис, чтобы обеспечить лучший читаемый результат. Кроме того, результирующий текстовый файл должен быть в кодировке UTF-8 или UTF-16.
Простая текстовая беседа, которую я могу вести с помощью XSLT, почти тривиальна. Но обоснование текста выходит за рамки его возможностей (не совсем так, потому что XSLT является полным по Тьюрингу, но достаточно близким к реальности).
FOP и XSL-FO также не работают. Они делают то, что просили, но обычный текстовый вывод FOP ужасен (разработчики говорят, что он не предназначен для такого использования).
Я также экспериментировал с HTML -> XSLT -> Roff, но я застрял с groff, и его поддержка Unicode далека от оптимальной. Поскольку есть такие символы, как многоточие ("...") и типографически правильные кавычки, довольно громоздко указать groff в таблице стилей XSLT escape-последовательности для десятков символов Unicode.
Другим способом может быть преобразование в TeX и вывод в виде простого текста, но я никогда раньше не пробовал это с (La)TeX.
Возможно, я пропустил что-то очень простое. Есть ли у кого-нибудь идея, как я могу достичь вышеизложенного? Кстати: Решение желательно должно работать без root-прав на установку, с PHP, Python, Perl, XSLT или любой программой, найденной в полуприличном дистрибутиве Linux.