Seite 1 von 1

Umlaute bei Times New Roman?

Verfasst: Samstag 31. Dezember 2011, 17:25
von Aileen
Hallo zusammen,

ich möchte gerne in meinen Plots die Achsenbeschriftung in der Schriftart "Times New Roman" und nicht wie vorgegeben in "Serif" darstellen lassen.
Wenn ich das mache, werden Umlaute nicht mehr korrekt dargestellt. Ich suche schon den ganzen Tag nach einer Möglichkeit, aber habe noch nichts brauchbares gefunden, ich hoffe Ihr könnt mir da einen Tipp geben.

Code: Alles auswählen

#!/usr/local/bin/python
# -*- coding: iso-8859-15 -*-

from pylab import*
import matplotlib
from matplotlib import pyplot as pl

x=(1,10,1)
y=(10,100,10)

rc('font', family='times new roman')
plot(x,y) 
xlabel("Q in $\AA^{-1}$") 
ylabel(u"Intensit\xe4t in a.u.")
show()


Vielen lieben Dank und einen guten Rutsch ;-) ,
Aileen

Re: Umlaute bei Times New Roman?

Verfasst: Samstag 31. Dezember 2011, 17:59
von BlackJack
@Aileen: Kann ich nicht nachvollziehen. Ich bekomme bei dem gezeigten Quelltext ein 'ä' angezeigt.

Re: Umlaute bei Times New Roman?

Verfasst: Samstag 31. Dezember 2011, 18:45
von Aileen
Okay, es wird auch jedesmal eine Warnung ausgegeben, daran hatte ich nicht mehr gedacht, weil ohne Umlaute die Schrift aussieht wie "Times New Roman":


/usr/lib/pymodules/python2.7/matplotlib/font_manager.py:1242: UserWarning: findfont: Font family ['times new roman'] not found. Falling back to Bitstream Vera Sans


Ich habe mir den Font_Manager.py mal angeschaut und, wer hätte es danach gedacht, "Times New Roman" wird da nicht definiert. Ist das bei Dir anders, oder brauche ich eine andere Version von Matplotlib? Vielleicht kann man das auch selbst erweitern um die Schrift, aber so fit bin ich nicht im Programmieren.

Re: Umlaute bei Times New Roman?

Verfasst: Samstag 31. Dezember 2011, 18:56
von BlackJack
@Aileen: Ist die Schriftart bei denn überhaupt installiert? Die ist bei mir auch nicht in der Datei definiert, aber sie wird ja im System gefunden wenn sie dort installiert ist.

Code: Alles auswählen

In [28]: [x for x in font_manager.findSystemFonts() if 'times' in x]
Out[28]: 
['/usr/share/fonts/truetype/msttcorefonts/timesbd.ttf',
 '/usr/share/fonts/truetype/msttcorefonts/times.ttf',
 '/usr/share/fonts/truetype/msttcorefonts/timesbi.ttf',
 '/usr/share/fonts/truetype/msttcorefonts/timesi.ttf']

In [29]: font_manager.findfont('times new roman')
Out[29]: '/usr/share/fonts/truetype/msttcorefonts/times.ttf'

Re: Umlaute bei Times New Roman?

Verfasst: Sonntag 1. Januar 2012, 23:09
von Aileen
Hallo und frohes neues Jahr!

Ich habe die Schriftart jetzt installiert und auch mal in das Fonts-Verzeichnis von Matplotlib rein kopiert. Das Problem besteht leider weiterhin und die Warnungsmeldung bleibt auch gleich. Hast Du vielleicht noch eine andere Idee?

Vielen Dank,
Aileen