実現したいこと
- PDF変換時に使用されるフォントを全てIPAmj明朝にしたい
前提
- Apachi POIで作成されたExcelをPDF変換するためにlibreOfficeを使用しています
- ローカル環境(windows)ではIPAmj明朝を使用して問題なくPDFが作成されますが、検証環境(Linux)では太字を反映してくれません。全てRegulerフォントで記述されてしまいます(IPAmjは使用できている)
現状のソースコード
以下fonts.confの記述です
xml
1<?xml version="1.0"?> 2<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> 3<fontconfig> 4 <edit name="family" mode="assign" binding="strong"> 5 <string>IPAmj明朝</string> 6 </edit> 7 </match> 8</fontconfig>
→「binding="strong"」によってIPAmj明朝を最優先で使用されるように設定を上書きしています。おそらくこちらの記述ではRegulerフォントしか指定できていないために、太字部分もRegulerフォントが使用されてしまっていると思料しています。
試したこと
①太字の場合の記述を追記
xml
1<edit name="weight" mode="assign" binding="strong"> 2 <int>1</int> 3</edit>
→こちらの場合だと、太字自体の適用はうまくいったのですが、代わりに半角英数字が全て謎のフォントに置き換わってしまうという事象が発生しました。
②IPAmj以外のフォントを使用させない
xml
1 <selectfont> 2 <rejectfont> 3 <pattern> 4 <patelt name="scalable"><bool>true</bool></patelt> 5 <patelt name="scalable"><bool>false</bool></patelt> 6 </pattern> 7 </rejectfont> 8 <acceptfont> 9 <pattern> 10 <patelt name="family" > 11 <string>IPAmj明朝</string> 12 </patelt> 13 </pattern> 14 </acceptfont> 15 </selectfont>
→特に変化ありませんでした。書き方を間違えているのでしょうか。。
主にこちらのサイトを参考にして見様見真似でfontconfigを書いているのですが、正直わからないことが多いです。原因解決以外にも、fontconfig全般について詳しく知っている方がいらっしゃいましたらご教示いただきたいです
https://wiki.archlinux.jp/index.php/%E3%83%95%E3%82%A9%E3%83%B3%E3%83%88%E8%A8%AD%E5%AE%9A
https://alpha3166.github.io/blog/resources/fontconfig-user_ja.html

回答1件
あなたの回答
tips
プレビュー