Schriftarten nicht identisch in PyGTK und Reportlab?

Programmierung für GNOME und GTK+, GUI-Erstellung mit Glade.
Antworten
Prinz Igor
User
Beiträge: 2
Registriert: Sonntag 10. September 2006, 10:26

Hallo,

dies ist übrigens mein erster Beitrag in diesem Forum :D

Ich habe ein kleine GUI mit einem Textfeld (gtk.TextView+gtk.TextBuffer) geschrieben. Das Geschriebene wird auf Knopfdruck per Reportlab in ein PDF-File umgesetzt.

In dem Textfeld habe ich per

myFontTag1 = gtk.TextTag("myFontTag")
myFontTag1.set_property("font","Helvetica 10")

Helvetica als Schriftart eingestellt. Im PDF-File habe ich die gleiche Schrift eingestellt:

style1 = ParagraphStyle(
...,
fontName="Helvetica",
fontSize=13,
leading=16,
...
)

Wie man sieht habe ich für das PDF-File eine andere SChriftgröße angegeben. Wenn ich das nicht machen würde, wäre die Schrift im PDF-File im Vergleich zum gleich großen Textfeld zu klein.

Warum sind die Schriftarten nicht exakt identisch? Wie kann ich das erreichen?

Viele Grüße,

Prinz Igor
BlackJack

Ich würde mal darauf tippen, dass Dein Betriebssystem die falsche Grösse für Deinen Monitor annimmt. Die Punktgrössen bei Schriften sind absolute Grössen, d.h. eigentlich immer mit einer physikalischen Darstellung verbunden. Wenn das Betriebssystem falsche Annahmen über die Bildschrimgrösse macht, dann passt die Umsetzung Punkt->Pixel nicht mit der messbaren Realität überein.
Prinz Igor
User
Beiträge: 2
Registriert: Sonntag 10. September 2006, 10:26

Aha - das hört sich logisch an. Ich möchte das Programm eventuell auf verschiedenen Rechnern mit verschiedenen Btriebssystemen laufen lassen. Gibt es für das Problem eine "Standard-Lösung"? Hmm .. und wie machen die das z.B. bei OpenOffice?
BlackJack

Dafür gibt es keine Standardlösung. OpenOffice arbeitet auch bei den "Seitenmassen" intern mit physikalischen Längenangaben, d.h. die Seite wird genauso richtig oder falsch skaliert wie die Schrift.
Antworten