[OK]をクリックします。 SuperUserに私は(もっと理論的な方法での回答に焦点を当てた)同様の質問をし、そして主な結論は、その答えた:
は、Unicodeの全体をサポートして単一のフォントはありませんが。
しかし、幸いなことにpdfはフォールバックフォントをサポートしており、プルーンも宝石です。ここ
は私のソリューションです:
1 /あなたのフォールバックフォントを設定
と
def fallback_fonts
["dejavu", "times", 'kai', 'action_man']
end
2 /コール
font("Helvetica", size: 14) do #keyword "Helvetica" is specified in Prawn by default
text "址 foo", :fallback_fonts => fallback_fonts
end
ここでは、デフォルトではPrawnに含まれているフォントを使用していますが、この方法で異なる文字セットを持つ複数のフォントを追加し、フォールバックとして指定することができます
たとえば、あなたのRailsのルートは、そこからそれらを含めるだけです。
注記 "Kai"フォントでは、私はスタイリングなしで通常、斜体、太字、bold_italicに同じフォントを指定しています。私はこれを目的にしています。私が経験したことから、gkai00mpフォントに太字または斜体がありません。したがって、斜体/太字のcharがレンダリングされると、通常のスタイルで印刷されます(レンダリングしないよりも優れています)。
私は
font_families.update(
"kai" => {
:normal => { :file => kai, :font => "Kai" }
}
)
...フォント(exaple「カイ」)のために太字/斜体を指定していない...あなたはフォールバックをします会へのスタイルの文字をレンダリングしようとすると...あなたは非A入れたい場合は:
text "<b>址 foo</b>", :fallback_fonts => fallback_fonts, :inline_format=>true
...私は
Prawn::Errors::UnknownFont in Foo
is not a known font.
ノート2を取得しますこれはしかし、フォームのルビー1.9を動作しますあなたは、ファイルの先頭にエンコーディングを配置する必要があり、ファイル
# coding: utf-8
class Foo
...
end
ルビーするsciiの文字。 Rubyのは1.8.xのソースはruby 1.9 walkthrough by P.C. にその上で(もっとASCIIだけを扱うことができますが、Railsの中で、あなたはI18N(国際化)
ノート3
エビは本当に素晴らしいドキュメント、githubのからわずかgitのクローンエビを持って使用する必要がありますそして./manuals 2014年
[クロスポストしない](http://superuser.com/questions/438257/pdf-fonts-that-include-all-possible-gtld-chars)ください。私はあなたの質問がここでは少し異なりますが、本質的には同じことを知っています。この問題を根底で、すなわちRubyとPrawnに取り組むことが最善でしょう。 – slhck
@slhck、それは同じ質問ですが、私は答えが異なるグループを形成するのを聞いていません。ここで、Prawn(または他のpdf変換)の宝石を扱っていた開発者からの回答を期待し、スーパーユーザではなく、私は理論的な解決策が、プログラム環境でPDFを使って作業している人たちのフォームを聞きたいと思っています...それだけで私はSUより少ない回答しか期待していません。 – equivalent8