図をpdfにて出力する際に生じる日本語の文字化けについて
25 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Takehide Kimura
il 5 Feb 2022
Commentato: Kojiro Saito
il 8 Feb 2022
ラベルに日本語を含む図を作成し、
「exportgraphics」を用いてpdf形式にて図を保存することを試みています。
しかし、出力されたpdfファイルを開くと
図のラベルの日本語が「#######」と表示され、正しく記載されません。
この問題を解決する方法はありますでしょうか。
なお、MATLABのバージョンはR2021aです。
ご教示いただけますと幸いです。
2 Commenti
Kojiro Saito
il 7 Feb 2022
OSはWindowsでしょうか?それともMacやLinuxでしょうか?
また、MATLABで現在使用しているフォント名を教えて下さい。
s = settings;
s.matlab.fonts.codefont.Name
でリターンされる値のActiveValueが現在使用しているフォント名です。
Risposta accettata
Kojiro Saito
il 7 Feb 2022
Macの場合、exportgraphicsでPDFにするとフォントの種類によっては埋め込みがうまくいかないようです。R2021bでも同様の症状が発生しました。Windowsでは起こりませんでした。
2つワークアラウンドをご提示します。
(1) Figureを画像ファイルで保存してから再度読み込んでexportgraphicsをかける
exportgraphics(gcf,'out.png')
img = imread('out.png');
exportgraphics(gcf, 'out.pdf')
PNGにしてからimreadで読み込んでexportgraphicsでPDFにしています。日本語ラベルも表示されるようになります。
デメリットは、PDFのファイルサイズが約380KBほどに大きくなってしまうことと、日本語ラベルが画像として埋め込まれているので、PDFのキーワード検索でヒットしなくなるということです。
saveasやprintでもFigureをPDFファイルに保存することができます。
saveas(gcf, 'out.pdf')
% または
print(gcf,'out','-dpdf')
デメリットは、exportgraphicsのようにPDFの余白がタイトになっていないところで、必要に応じて調整する必要があります。
fig = gcf;
fig.PaperPositionMode = 'auto'
fig_pos = fig.PaperPosition;
fig.PaperSize = [fig_pos(3) fig_pos(4)];
print(gcf,'out','-dpdf')
2 Commenti
Kojiro Saito
il 8 Feb 2022
解決して良かったです。exportgraphicsのPDFでの文字化けについて開発部門にも伝えておきます。
差し支えなければ回答の「採用」をお願いします。
Più risposte (0)
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!