ラベルと凡例でギリシャ文字をレンダリングする際に問題があるため、フォントを切り替えると役立つかもしれないと考えました。したがって、さらに大きな問題を発見しました.Matlabは私のフォント設定をまったく尊重していないようです.
もちろん試しましたが、
set(gcf, 'FontName', 'Ubuntu')
set(gca, 'FontName', 'Ubuntu')
だけでなく、
set(findall(gca, 'type', 'text'), 'FontName', 'Ubuntu')
と
set(0,'DefaultAxesFontName', 'Ubuntu')
また、レンダラーを切り替えてみました
set(0, 'DefaultFigureRenderer', 'OpenGL') % also tried 'zbuffer' and 'painters'
Figure のプロパティ エディターに移動し、手動でフォントを変更しました。私が何をしても、フォントは同じ醜い等幅フォントになります (下の図を参照)。この画像は、Figure のメニュー バーにある [名前を付けて保存...] コマンドで保存されますが、これprint -dpng 'fonttest.png'
も機能しません。
fc-list
ターミナルとlistfonts
Matlab コマンド プロンプトの両方で、Ubuntu
フォントがインストールされ、使用可能であることを再確認しました。私はMatlab R2012bを実行しています。
Figure にフォントを設定するにはどうすればよいですか?
更新:コメントで示唆されているように、これがUbuntu 上の Java
の問題であるかどうかを確認しようとしました。案の定、OpenJDK から Oracle Java への切り替えは役に立ちましたが、十分ではありませんでした。Helvetica やその他のいくつかは使用できますが、インストール済みのフォントの中から自由に選択することはできません。たとえば、Ubuntu フォントは機能しません。(ただし、Matlab のメイン GUI ではそうです。メニューなどではフォントを Ubuntu に変更し、エディターとコマンド ウィンドウでは Consolas に変更しましたが、問題なくレンダリングされます。)
機能しない Figure フォントを選択すると、Matlab は下のスクリーンショットに示されているものをフォールバックとして使用します。
、 およびここでは、実際にはギリシャ文字の pi、theta、および phi (これらは etc で指定されていますp
)である必要がありますが、フォントにはこれらの文字が含まれていないと思います。3番目のプロットのyラベルの奇妙なものはスウェーデン語öです-ファイルはUTF-8として保存されているため、エンコーディングの問題ではないはずです。これは返されるものでもあるので、それもフォントであると思います問題。q
f
\pi
slCharacterEncoding