Я публикую технические книги в печатном виде, в формате PDF и Kindle / MOBI, где уже есть EPUB.
Kindle не поддерживает моноширинные шрифты, которые могут быть полезны для распечатки исходного кода. Единственный способ сделать моноширинные шрифты - это преобразовать текст (исходный код Java, HTML, XML и т. Д.) В изображения JPEG. Более конкретно, из-за проблем с разбиением на страницы, заданный входной файл ASCII необходимо разбить на фрагменты по ~ 6 строк каждый, причем каждый фрагмент превращается в JPEG, чтобы списки могли занимать весь экран. Это королевская боль.
Мой текущий механизм, который делает это, включает:
- Запуск
expand
, чтобы установить согласованный размер табуляции в 2 пробела, который передает ... a2ps
, который передает в ... - Небольшой фрагмент Perl для добавления строки
"%%LanguageLevel: 3\n"
, который передает в ... - ImageMagick's
convert
,взять (E) PS и сделать из него JPEG, с соответствующим фоном, обрезанным до 575x148+5+28
и т. д.
Это раньше работало 100% времени. Теперь это работает 95% времени. В остальное время я получаю convert: geometry does not contain image
ошибок, от которых, похоже, не могу избавиться, отчасти потому, что не понимаю, в чем проблема.
До этого процесса я использовалPretty-print engine (source-highlight
) для извлечения HTML из исходного кода ... но тогда единственное, что я смог найти для преобразования HTML в JPEG, это автоматизировать захват экрана из встроенного движка Gecko. Надежность воняла, поэтому я переключился на свой текущий механизм.
Итак, если бы вы были вами, и вам нужно было бы автоматически преобразовывать списки источников в изображения JPEG, как бы вы это сделали? Бонусные баллы, если он предлагает какой-то симпатичный процесс печати (например, выделенные жирным шрифтом ключевые слова)!
Или, если вы знаете, что обычно вызывает convert: geometry does not contain image
, это может помочь. Мой текущий процесс уродлив, но если бы я смог вернуть его к 100% -ной надежности, сейчас это было бы просто замечательно.
Заранее спасибо!