タイトルの通りなんですが、Rubyのprawnというライブラリで生成したPDFをAcrobatReaderで開くと以下のようなエラーに遭遇します。
Cannot extract the embedded font '9279db+IPAexMincho'. Some characters may not display or print correctly.
ChromeやSafariなどのブラウザ、macOSのプレビューなどでは普通に問題なく動くので、Acrobatを使わなければそもそも大丈夫です。以下はそのPDFを生成するためのコード。
#!/usr/bin/env ruby
require "prawn"
pdf = Prawn::Document.new
# the font file can be downloaded from https://moji.or.jp/ipafont/ipafontdownload/
ipamp_spec = { file: "ipaexm.ttf", font: 'IPAPMincho'}
pdf.font_families.update("ipamp" => {normal: ipamp_spec,
bold: ipamp_spec,
italic: ipamp_spec,
bold_italic: ipamp_spec})
pdf.font("ipamp")
pdf.text_box("日本語でOK?")
File.open("test.pdf", "w") do |file|
pdf.render(file)
end
puts "Generated test.pdf with prawn #{Prawn::VERSION}"
エラーを確認するのに使ったバージョン。
Ruby: 3.4.6
Prawn: 2.5.0
AcrobatReader: 2025.001.20693
~~prawn2.4なら改善した!的なコメントもあったので試したのですが、私の場合は結果変わらずでした。~~
←こちらは勘違いで ttfunk
というgemを 1.7.0
に戻せばAcrobatでもエラーの出ないPDFが出力されます。
prawnのイシュー#1347にコメントをしましたが、これはひょっとしてAdobeの方に要望するところだったりするのでしょうか?(PDFの仕様が良く分からない)