Unterschiedlich große Schriftgrößen machen Probleme

Antworten
Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von Euklid »

Hallo Leute,

die Schrift ein und des selben plattformunabhängig programmierten Programms nimmt unter Linux (hier: KDE) viel mehr Platz ein als unter Windows. Das schafft aber Probleme: Programmiert man z.B. in Windows das Programm so, wie es einem gefällt, dann passt unter Linux plötzlich z.B. eine Caption nicht mehr vollständig in den dazu vorgesehenen Button rein.
Nun macht es keinen Spaß, die Schriftart sämtlicher Komponenten per {ifdef linux} u.s.w. zu korrigieren.

Gibt es hierfür eine einheitliche Lösung? Lässt sich ev. die DPI-Zahl einheitlich festlegen?
Schön wäre es, wenn die Schrift im Linux-Programm genauso groß wäre wie im Windows-Programm und wenn dies ohne großen Aufwand realisierbar wäre.

Viele Grüße, Euklid

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von bembulak »

Hi!

Ich benutze großzügig die GUI-Elemente (auch wenn sie viel, viel Platz verschwenden) und benutze viel die Anchors. So kann ich bisher alles so gestalten, wie ich es möchte.
Die Krux ist einfach, dass GTK und QT per default einfach größere Fonts benutzen als Windows. GTK hat für GUI-Elemente 10 pt, wo Windows XP nur 8 hat.
Dem User eine Schriftgröße aufzuzwingen, finde ich nicht OK.

Ich finde die Sizer/Layoutmanager von wxWidgets ganz toll - sowas sollte es für Lazarus geben. GTK hätte sowas ja auch, nur Windows kennt sowas leider nicht. :(

KOBOLD Messring GmbH
Beiträge: 155
Registriert: Mi 22. Aug 2007, 14:52
OS, Lazarus, FPC: Mandriva Linux 2008 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 65719 Hofheim am Taunus
Kontaktdaten:

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von KOBOLD Messring GmbH »

Ich mach das meistens so, dass ich das Programm unter Linux designe, und danach unter Windows in z.B. FormCreate ein {$IFDEF WINDOWS} hinzufüge und dort die Schriftgrössen individuell neu setze (für die einzelnen Panels, Edits, etc...), so dass das Gesamtbild unter Windows auch gut aussieht.
Ich meine aber, das liegt auch an den installierten Schriftarten, Beispiel: Die Standardschrift bei mir unter KDE ist "Sans", welches ein Alias für "Dejavue Sans Serif" ist (oder so was). Installiere ich diese Schriftart auf WinXP, dann ist (fast) kein Unterschied mehr zu entdecken. Da diese Schriftart aber für Win-Systeme eher exotisch ist, und man für eine (kleine) Anwendung nicht unbedingt den Benutzer zwingen will, auch noch erst eine Schriftart installieren zu müssen, denke ich es ist der einfachere Weg mit dem {$IFDEF WINDOWS}.
Und mit den Anchors ist es einfach, immer für genügend Platz zu sorgen.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von Euklid »

bembulak hat geschrieben:Die Krux ist einfach, dass GTK und QT per default einfach größere Fonts benutzen als Windows. GTK hat für GUI-Elemente 10 pt, wo Windows XP nur 8 hat.


Ja, ich glaube hier liegt das Problem. Lässt sich die Größe der GUI-Elemente für ein ganzes Programm irgendwie im Quelltext festlegen?

Dem User eine Schriftgröße aufzuzwingen, finde ich nicht OK.


Das stimmt, aber der Benutzer wird sicherlich nicht erfreut darüber sein, wenn der Text nicht in die Buttons/Labels rein passt.


KOBOLD Messring GmbH hat geschrieben:Ich mach das meistens so, dass ich das Programm unter Linux designe, und danach unter Windows in z.B. FormCreate ein {$IFDEF WINDOWS} hinzufüge und dort die Schriftgrössen individuell neu setze (für die einzelnen Panels, Edits, etc...), so dass das Gesamtbild unter Windows auch gut aussieht.

Ok, so würde das Problem behoben werden. Nur nimmt das bei einem mittelgroßen Projekt ziemlich viel Platz ein und mach relativ viel Arbeit. Daher hoffte ich, man könnte vielleicht irgendwie die Schriftgröße aller Elemente des Programms mit "einem Wisch" umstellen.

Danke schonmal für Eure Antworten!

Euklid

bembulak
Beiträge: 370
Registriert: Di 6. Feb 2007, 09:29
OS, Lazarus, FPC: L0.9.29 SVN:24607 FPC 2.4.0-32 bit @ Win XP SP3
CPU-Target: 32bit i386, ARM
Wohnort: Oberösterreich

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von bembulak »

Nur nimmt das bei einem mittelgroßen Projekt ziemlich viel Platz ein und mach relativ viel Arbeit. Daher hoffte ich, man könnte vielleicht irgendwie die Schriftgröße aller Elemente des Programms mit "einem Wisch" umstellen.

Wenn du die Schriftgröße "aller" Elemente meinst, so könnte man ja evenutell beim "Build-Process" eine Makefile erstellen, das vorher durch die Projekteinstellungen durchrattert und die Schriftgröße einstellt/ersetzt.

Perl und Python bieten sich dafür an.

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von Euklid »

Ok, das ist natürlich auch eine Lösung. Ev. schreibe ich in Pascal ein kleines Programm, welches diesen Zweck erfüllt.

Viele Grüße, Euklid

monta
Lazarusforum e. V.
Beiträge: 2809
Registriert: Sa 9. Sep 2006, 18:05
OS, Lazarus, FPC: Linux (L trunk FPC trunk)
CPU-Target: 64Bit
Wohnort: Dresden
Kontaktdaten:

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von monta »

Naja...Makefile ist vielleicht ein wenig aufwendig. ;)

Die Schrift für alle Formulare setzen und nur für diese und dann bei den Komponenten einfach ParentFont auf true (was sogar standardmäßig so ist).
Die Formulare kannst du noch, wenn es viele sind, in einer Schleife durchlaufen, die Schriftart kommt in ein par ifdefs und fertig.
Johannes

pluto
Lazarusforum e. V.
Beiträge: 7180
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von pluto »

einige Komponenten verfügen doch auch über AutoSize. Leider nicht alle.

Ein anders Problem währe was hier gut rein passt währe: Mit den unterschiedlichen Sprachen z.b. in der Lazarus IDE kann man zwischendurch einige Captions von den Komponenten nicht lesen weil das Dialog zu ende ist. Meistens hilft das Manuelle vergrößern vom Dialog. Aber leider hilft das nicht immer.
MFG
Michael Springwald

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Unterschiedlich große Schriftgrößen machen Probleme

Beitrag von Euklid »

monta hat geschrieben:Die Schrift für alle Formulare setzen und nur für diese und dann bei den Komponenten einfach ParentFont auf true (was sogar standardmäßig so ist).


Das klingt doch mal nach einem guten Ansatz! Dann braucht die Schrift also nur noch für jede Form gesetzt werden. Prima.

Antworten