10

私は技術書を印刷物、PDF、Kindle / MOBIで出版しており、途中でEPUBを出版しています。

Kindleは、ソースコードのリストに役立つモノスペースフォントをサポートしていません。モノスペースフォントを作成する唯一の方法は、テキスト(Javaソース、HTML、XMLなど)をJPEG画像に変換することです。より具体的には、ページ付けの問題により、特定の入力ASCIIファイルをそれぞれ最大6行のスライスに分割し、各スライスをJPEGに変換して、リストを画面にまたがらせる必要があります。これは王室の痛みです。

それを行うための私の現在のメカニズムには、次のものが含まれます。

  1. expand一貫した2スペースのタブサイズを設定するために実行しています。
  2. a2ps、パイプで...
  3. "%%LanguageLevel: 3\n"行を追加するための小さなPerlスニペット。
  4. ImageMagickのconvert、(E)PSを取得し、適切な背景を使用してJPEGを作成し、トリミングする575x148+5+28など。

それは100%の時間働いていました。現在、95%の時間で動作します。残りの時間はconvert: geometry does not contain image、問題が何であるかがわからないこともあり、エラーが発生しますが、これを取り除くことはできないようです。

このプロセスの前は、プリティプリントエンジン(source-highlight)を使用してソースコードからHTMLを取得していましたが、HTMLをJPEGに変換するために見つけたのは、埋め込まれたGeckoからのスクリーングラブを自動化することだけでした。エンジン。信頼性が悪かったので、現在のメカニズムに切り替えました。

それで、あなたがあなたであり、ソースリストを自動化された方法でJPEG画像に変換する必要がある場合、どのようにそれを行いますか?ある種のきれいな印刷プロセス(太字のキーワードなど)を提供する場合はボーナスポイント!

または、通常の原因がわかっている場合はconvert: geometry does not contain image、それが役立つ可能性があります。私の現在のプロセスは醜いですが、100%の信頼性に戻すことができれば、今のところは問題ありません。

前もって感謝します!

4

5 に答える 5

9

html2psを検討してから、imagemagickの変換を検討してください。

考え:ターゲット(Kindle?)がPNGをサポートしている場合、このテキストレンダリングにはJPEGよりもPNGを使用してください。

于 2009-07-25T20:05:07.550 に答える
1

HTMLをJPGに変換するという質問に答えたので、きれいなプリンターについて提案します。Pygmentsはかなり素晴らしいと思いました。それはさまざまなテーマをサポートし、そこにあるほとんどすべての言語のレクサーを持っています(彼らはそれがbrainfuckを強調しているという事実を宣伝しています)。コマンドラインツールがあり、ほとんどのLinuxディストリビューションで利用できます。

于 2010-06-19T22:31:49.523 に答える
1

html2psは優れたプログラムです。1300ページの本を1回作成するために使用しましたが、プレーンテキスト->追記だけが必要な場合はやり過ぎです。代わりにenscriptを検討してください。

于 2010-05-19T16:46:59.037 に答える
0

Linuxディストリビューションには、pango-viewとさまざまなフォントが含まれている場合があります。これは私のFC6システムで動作します:

pango-view --font=DejaVuLGCSansMono --dpi=200 --output=/tmp/text.jpg -q /tmp/text

システムにインストールされている等幅フォントを識別する必要があります。周りを見回してください/usr/share/fonts/

PangoはUnicodeをサポートしています。

実験中は-qを省略してください。ファイルではなく、ウィンドウに表示されます。

于 2009-08-27T21:28:31.510 に答える
0

jpegは使用しないでください。写真用に最適化されており、テキストや線画でひどい仕事をします。代わりにgifまたはpngを使用してください。私の理解では、gifは現在特許がないので、それを使用します。

于 2010-05-11T16:16:10.933 に答える