OK, I will answer myself. On SuperUser, I asked a similar question (focusing on the answers more theoretically), and the main conclusion was:
, Unicode.
, , pdf , prawn.
:
1/
kai = "#{Prawn::BASEDIR}/data/fonts/gkai00mp.ttf"
action_man_path = "#{Prawn::BASEDIR}/data/fonts/Action Man.dfont"
dejavu = "#{Prawn::BASEDIR}/data/fonts/DejaVuSans.ttf"
font_families.update("dejavu" => {
:normal => dejavu,
:italic => dejavu,
:bold => dejavu,
:bold_italic => dejavu
})
font_families.update("times" => {
:normal => "Times-Roman",
:italic => "Times-Italic",
:bold => "Times-Bold",
:bold_italic => "Times-BoldItalic"
})
font_families.update("action_man" => {
:normal => { :file => action_man_path, :font => "ActionMan" },
:italic => { :file => action_man_path, :font => "ActionMan-Italic" },
:bold => { :file => action_man_path, :font => "ActionMan-Bold" },
:bold_italic => { :file => action_man_path, :font => "ActionMan-BoldItalic" }
})
font_families.update(
"kai" => {
:normal => { :file => kai, :font => "Kai" },
:bold => kai,
:italic => kai,
:bold_italic => kai
}
)
def fallback_fonts
["dejavu", "times", 'kai', 'action_man']
end
2/
font("Helvetica", size: 14) do
text "址 foo", :fallback_fonts => fallback_fonts
end
, ,
, Rails
"", , , , bold_italic . . , gkai00mp, . , / char , ( , ).
/ (exaple "Kai" )..
font_families.update(
"kai" => {
:normal => { :file => kai, :font => "Kai" }
}
)
.. char, kai...
text "<b>址 foo</b>", :fallback_fonts => fallback_fonts, :inline_format=>true
...
Prawn::Errors::UnknownFont in Foo
is not a known font.
2:, -ascii ruby ,
class Foo
...
end
, , ruby 1.9. Ruby 1.8.x ASCII ( ruby 1.9 P.C.
Rails I18n ()
3
, git github ./manuals