2013-12-09 34 views
5

エビはPrawn::BASEDIR}/data/fonts/は、日本語のテキストでPDFを生成するために、外部のTTFフォントを使用したエビを使用して

下のフォントの数が限られている私はgkai00mp.ttfを試してみましたが、PDFは、たとえば、千葉の唯一の第一の手紙を、「千」を示して生成しています。

このフォントは中国語の文字に適しているような気がします。

font("#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf") do 
    text "千葉" 
end 

外部フォントをアップロードして使用できますか? 「はい」の場合、そのフォントはどこから入手できますか?

私の環境: 最新のRuby and Rails。 プルーンバージョン0.12.0

答えて

5

ここで私は解決策を共有したいと思います。

は、私もここで https://github.com/prawnpdf/prawn/issues/595 を問題を掲載しているとアドバイスされました:

エビに同梱のテスト用であり、 マニュアルで使用TTFフォント...彼らは通常のために意味していませんつかいます。 "Free Japanese TTF font"のウェブ検索を実行すると、おそらく何かを見つけるでしょう。

だから、私はGoogleで検索してhttp://www.wazu.jp/gallery/Fonts_Japanese.htmlを発見し、特に、mona.ttfをテストし、これが働いています。

+2

+1自分の質問をフォローアップして解決してください(自分自身で答えをチェックしてください)。それを動作させるために使用した他の興味深いコードがある場合は、将来のユーザーのためにそれをあなたの答えに加えてください。 –

1

私は最近、日本語でPDFを生成するためにPrawn(バージョン2.0.2とprawn-tableバージョン0.2.2)を使用しました。残念なことに、受け入れられた答えに掲載されたTTFフォントの不運はありませんでしたしかし、日本語のテキストがPrawnの組み込みのフォントでレンダリングできないことを知っていることには依然として大きな助けになっていました!)。

しかし、私は、PrawnとIPA fontsのTTFファイル、特にIPA明朝とIPAゴシックフォントを含むページにリストアップした "4フォントパッケージ"を使って運が良かったです。私はIPAPMinchoフォント(ipamp.ttf)を "普通"フォントに使用し、IPAPGothic(ipagp.ttf)を "太字"に使用しました。彼らは異なったフォントですが、私はもう一つの "大胆なバージョン"として私のために働いた。

私のプルーン設定では、私は(英語の文書では)できるデフォルトのフォントを使用しましたが、オンザフライで構成された日本語のTTFファイルは使用しました。これにより、次のようなコードが生成されます。

Prawn::Document.generate("MyJapaneseDocument.pdf") do |pdf| 
    # assume `font_name` here is something like "IPA", 
    # ie not a font that is shipped with the Prawn gem 
    unless Prawn::Font::AFM::BUILT_INS.include?(font_name) 
    pdf.font_families.update(
     font_name => { 
     normal: "path/to/ipamp.ttf", 
     bold: "path/to/ipagp.ttf" 
     } 
    ) 
    end 
    pdf.font font_name 
end 
関連する問題