2013-04-25 13 views
9

Ich habe Probleme mit der Wiedergabe von griechischen Zeichen in meinen Beschriftungen und Legenden, also dachte ich, vielleicht würde das Umschalten der Schriftarten helfen. So entdeckte ich ein noch größeres Problem - Matlab scheint meine Schrifteinstellungen überhaupt nicht zu beachten.Ändern der Zahl Schriftarten in Matlab hat keine Wirkung

Ich habe versucht, natürlich,

set(gcf, 'FontName', 'Ubuntu') 
set(gca, 'FontName', 'Ubuntu') 

aber auch Dinge wie

set(findall(gca, 'type', 'text'), 'FontName', 'Ubuntu') 

und

set(0,'DefaultAxesFontName', 'Ubuntu') 

Ich habe auch versucht Renderer Wechsel mit

set(0, 'DefaultFigureRenderer', 'OpenGL') % also tried 'zbuffer' and 'painters' 

Ich ging sogar in den Eigenschaftseditor auf der Abbildung und änderte manuell die Schriftarten. Unabhängig davon, was ich mache, kommt die Schrift mit der gleichen, hässlichen, monospaced Schriftart heraus (siehe Abbildung unten). Dieses Bild wird mit dem Speichern unter ... -Befehl in der Menüleiste der Figur gespeichert, aber z.B. print -dpng 'fonttest.png' funktioniert auch nicht.

Ich habe beide mit fc-list in meinem Terminal und listfonts an der Matlab-Eingabeaufforderung überprüft, dass die Schriftart Ubuntu installiert und verfügbar ist. Ich betreibe Matlab R2012b.

Wie lege ich die Schriftarten in meinen Abbildungen fest?

UPDATE:
Wie in den Kommentaren vorgeschlagen, habe ich versucht, um zu sehen, ob dies vielleicht ein issue with Java on Ubuntu sein. Sicher genug, der Wechsel von OpenJDK zu Oracle Java hat geholfen, aber nicht genug - ich kann Helvetica und ein paar andere verwenden, aber ich kann nicht frei zwischen meinen installierten Fonts wählen. Die Ubuntu-Schriftart funktioniert beispielsweise nicht. (Es ist jedoch in der Haupt-GUI von Matlab - dort habe ich die Schriftarten in Ubuntu in Menüs usw. und Consolas im Editor und Befehlsfenster geändert, und es macht OK.)

Immer wenn ich eine Figur wähle Schriftart, die nicht funktioniert, Matlab verwendet, was im folgenden Screenshot als Fallback gezeigt wird.

enter image description here

Diep, qundfhier sollte wirklich die griechische Buchstaben sein pi, theta und phi (sie sind mit\piusw. angegeben), aber ich denke, die Schrift doesn‘ Ich habe diese Charaktere. Das seltsame Zeug im y-Label des dritten Plots ist ein schwedisches - es sollte kein Problem mit Codierungen sein, denn die Datei wird als UTF-8 gespeichert, was auchslCharacterEncodingzurückgibt, also nehme ich an, dass das ist auch ein Schriftproblem.

+0

Might [fehlenden Schriften in Ubuntu für MATLAB] bezogen werden (http://stackoverflow.com/a/16191865/2180721). Bitte posten Sie Details Ihres Betriebssystems. – Oleg

+0

Versuchen Sie auch 'uisetfont()' anstelle von 'listfonts'. – Oleg

+0

@OlegKomarov: Danke für den Link und Tipps - aber die Installation der Pakete hat nicht geholfen. Ubuntu ist in dem Dialog aufgeführt, den 'uisetfont()' aufruft, und die Auswahl ändert nichts. Ich benutze Ubuntu 12.04. –

Antwort

1

Verwenden Sie die Option 'Interpreter', 'LaTex' (Standard ist 'Interpreter', 'Tex'). Dies kann zu einem weniger fehlerhaften Schriftarten-Renderer führen.

+0

Leider Das hat nichts geändert. –

4

Die Installation von xfonts-75dpi und xfonts-100dpi hat für mich die Standardeinstellungen übernommen.

sudo apt-get install xfonts-75dpi xfonts-100dpi 

und dann abmelden und erneut anmelden.

Dies scheint zuzulassen, dass sich sowohl Symbole (z. B. \ pi) als auch Schriftgröße (z. B. set (h, 'FontSize', 14)) ändern (unter Verwendung der Standard-Matlab-Schriftart).

Einrichten der Maschine: Ubuntu 12.04 x64 mit Matlab R2012b

Verwandte Themen