Fonts Lazarus QT

Für Fragen von Einsteigern und Programmieranfängern...
nevermore2k
Beiträge: 42
Registriert: Sa 1. Mai 2021, 15:39

Fonts Lazarus QT

Beitrag von nevermore2k »

Hallo, ich versuche in Lazarus 2.1.0 r65059 QT
Thin Fonts usw. anzuwenden auf Labels usw. allerdings werden diese Ignoriert, die Schriften sehen alle relativ dick aus.
Weiß nicht was ich da tun soll. Das Lazarus die richtigen Fonts nutzt

Beispiel Bild.
https://ibb.co/0ZY4wJg

Benutzeravatar
Winni
Beiträge: 717
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.0.12, fpc 3.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Fonts Lazarus QT

Beitrag von Winni »

Hi!

Das ist die Standard Darstellung von "Noto Sans Thin". Wenn Du es nicht glaubst, dann wähle mal "Black" oder "Extra Condensed aus". Dann siehst Du, wie die Darstellung sich ändert.

Wenn Du einen schmaler ausgeführten Font möchtest, dann musst Du einen anderen Font als Noto Sans auswählen.

Winni

Benutzeravatar
theo
Beiträge: 8643
Registriert: Mo 11. Sep 2006, 19:01

Re: Fonts Lazarus QT

Beitrag von theo »

Ja, nee. Das ist schon ein Problem, nicht nur auf Qt sondern auch auf GTK.
Diese Fontmerkmale werden im Dialog als "Stil" angeboten, den es so ja eig. gar nicht gibt bei Lazarus. ( TFontStyle = (fsBold, fsItalic, fsUnderline, fsStrikeOut) )

Wenn du den Font.Name "hardcodest", dann funktioniert es schon:

Code: Alles auswählen

  if FontDialog1.Execute then
    begin
      Panel1.Font.Assign(FontDialog1.Font);
      Panel1.Font.Name:='Noto Sans Thin';
    end;
Ein Problem ist, dass FontDialog.Font diesen vollen Namen so nicht zurückgibt. Auch der Obj. Inspektor bietet "Noto Sans Thin" nicht an.
Könnte schon ein Bug sein oder "nicht implementiert".

nevermore2k
Beiträge: 42
Registriert: Sa 1. Mai 2021, 15:39

Re: Fonts Lazarus QT

Beitrag von nevermore2k »

Alles klar, verstehe :)
Vielen Dank euch !

Hardcoden funktioniert. So Halbwegs zumindest

Benutzeravatar
Winni
Beiträge: 717
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.0.12, fpc 3.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Fonts Lazarus QT

Beitrag von Winni »

@Theo

Also unter Linux werden von der IDE diverse Arten von Noto Sans angeboten - siehe Screenshot. Die werden aber (leider) zu den von Dir erwähnten Font.style gemapt .

Die ganze Font-Implementierung is "Delphi kompatibel" und daher ziemlicher Müll. Ich kann z.B. Als Font.name im Code zuweisen "Egon Müller". Erstens gbibt es keinerlei Fehlermeldung. Und zweitens - noch übler - wenn man den aktuellen Font Namen abfragt, heisst die A ntwort "Egon Müller". Delphi kompatibel eben.

Winni
Dateianhänge
FontSelection.png
FontSelection.png (48.8 KiB) 263 mal betrachtet

Timm Thaler
Beiträge: 1201
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Fonts Lazarus QT

Beitrag von Timm Thaler »

nevermore2k hat geschrieben:
So 2. Mai 2021, 12:45
Hardcoden funktioniert. So Halbwegs zumindest
Ja, und wenn der Font auf dem Rechner nicht drauf ist? Oder der User ne Sehschwäche hat und einen ganz anderen Font als Default?

Es muss schon sehr triftige Gründe geben, dem User vorzuschreiben wie sein User-Interface auszusehen hat.

Benutzeravatar
theo
Beiträge: 8643
Registriert: Mo 11. Sep 2006, 19:01

Re: Fonts Lazarus QT

Beitrag von theo »

Winni hat geschrieben:
So 2. Mai 2021, 13:08
Die ganze Font-Implementierung is "Delphi kompatibel" und daher ziemlicher Müll. Ich kann z.B. Als Font.name im Code zuweisen "Egon Müller". Erstens gbibt es keinerlei Fehlermeldung. Und zweitens - noch übler - wenn man den aktuellen Font Namen abfragt, heisst die A ntwort "Egon Müller". Delphi kompatibel eben.
Das finde ich jetzt nicht so schlimm.
Das "System" nimmt im Zweifel sowieso den Font, der gerade da ist.
Unter Linux wird das auch "Font Substitution" genannt. Das kann auch innerhalb eines Wortes passieren.
In folgendem Beispiel ist eine "Comic Sans MS" "gewünscht", das System ersetzt das "Tai Xuang Jing" Symbol in der Mitte aber kurzerhand mit einem Font, der das Symbol "auf Lager" hat.
subst.png
subst.png (11.81 KiB) 251 mal betrachtet
Lazarus versucht also gar nicht erst "Kontrolle" vorzugaukeln, wo de facto keine ist.


Zum ursprünglichen Problem. Unter Werkzeuge -> Beispielprojekte -> "fontenum" findest du ein Beispiel eines LCL Dialogs, der das unter Qt schon kann.
Dort sind die gewünschten Namen unter Fontfaces zu finden.
Wenn du das wirklich haben willst, kannst du dich daran orientieren und das dort abkupfern.
Wie man im Vorschaugrid sieht, funktioniert das auch auf Qt. Auf GTK wiederum nicht.
lazfont.png
lazfont.png (62.77 KiB) 251 mal betrachtet
Aber ja, das Ganze ist und bleibt reichlich undurchschaubar.

Benutzeravatar
Winni
Beiträge: 717
Registriert: Mo 2. Mär 2009, 16:45
OS, Lazarus, FPC: Laz2.0.12, fpc 3.2
CPU-Target: 64Bit
Wohnort: Fast Dänemark

Re: Fonts Lazarus QT

Beitrag von Winni »

Hi!

Wenn es nur um das User Interface geht, so ist das Ganze unproblematisch.

Nun gibt es aber auch das graphische Gewerbe, bei dem viel Wert auf coporate identity gelegt wird. Und dazu gehören auch definitiv Schriftarten. Das geht so weit, dass VW seine eigene Schrift entwickelt hat (VAG rounded). Und wehe, die wird nicht benutzt in Internet, TV oder Zeitschriften. Das gibt viel Ärger und Rechnungsabzug. Das ist genauso schlimm, wie wenn Du für ne Marlboro-Reklame das falsche Rot benutzt.

Insofern ist Font-Substitution zwar nett gemeint, führt aber zu fehlerhaften Resultaten. Die ganze Font-Implementierung in Delphi/Lazarus ist eine ziemliche Krücke.

Winni

Timm Thaler
Beiträge: 1201
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Fonts Lazarus QT

Beitrag von Timm Thaler »

Winni hat geschrieben:
So 2. Mai 2021, 14:45
Nun gibt es aber auch das graphische Gewerbe, bei dem viel Wert auf coporate identity gelegt wird. Und dazu gehören auch definitiv Schriftarten. Das geht so weit, dass VW seine eigene Schrift entwickelt hat (VAG rounded). Und wehe, die wird nicht benutzt in Internet, TV oder Zeitschriften.
Ja und? Dann sollte diese Schriftart auf allen VW-Rechnern in allen VW-Autohäusern als Default eingestellt sein und das Programm welches Default-Font verwendet hat automatisch die richtige Schriftart.

Im Internet muss man den Font halt mit der Webseite ausliefern. Und wenn ich Nachladen von Fonts unterbinde kann VW gar nix machen. Oder alles als Bilder ausliefern.

Benutzeravatar
theo
Beiträge: 8643
Registriert: Mo 11. Sep 2006, 19:01

Re: Fonts Lazarus QT

Beitrag von theo »

@Winni: Es geht hier aber um das User Interface und nicht um Drucksachen.
Wenn du mit Lazarus eine Textverarbeitungs- oder DTP Software entwickeln willst, muss du sowieso anders herangehen.
Und Font Substitution findet nicht in der LCL statt.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 4591
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Niederösterreich
Kontaktdaten:

Re: Fonts Lazarus QT

Beitrag von af0815 »

Vielleicht dürfen die bei VW nur VindoWs verwenden SCNR.

Es ist bei den Reportingtools relativ schlimm, weil die manchmal nicht einmal Substituieren, sondern gleich abstürzen, wenn der Font nicht gefunden wird. War bei FPReport mal. (Ich glaube das ist gefixt inzwischen)
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

nevermore2k
Beiträge: 42
Registriert: Sa 1. Mai 2021, 15:39

Re: Fonts Lazarus QT

Beitrag von nevermore2k »

Links ist die Anwendung mit Python Qt5, Standard System Fonts, und rechts dieselbe, mit Lazarus und den Default Fonts. Nur Unterscheiden die sich :) Das ist das Ursprüngliche Problem. Wäre halt nett, wenn das Systemfont korrekt genommen wird, aber da scheint es wohl Probleme zu geben wie ich herausgelesen habe.

Bild

Das Bild nochmal aber als Direkt link, da des nicht richtig angezeigt wird hier irgendwie
https://ibb.co/bzxn8mj

Benutzeravatar
theo
Beiträge: 8643
Registriert: Mo 11. Sep 2006, 19:01

Re: Fonts Lazarus QT

Beitrag von theo »

Ich weiß nicht, ob es einen Unterschied macht, aber hast du als LCLWidgeType "qt" oder "qt5"?
Hast du mal beides ausprobiert?

nevermore2k
Beiträge: 42
Registriert: Sa 1. Mai 2021, 15:39

Re: Fonts Lazarus QT

Beitrag von nevermore2k »

Wo kann ich das einstellen ? ( bastel erst seit 3 Tagen mit Lazarus)

Benutzeravatar
theo
Beiträge: 8643
Registriert: Mo 11. Sep 2006, 19:01

Re: Fonts Lazarus QT

Beitrag von theo »

Projekt -> Projekteinstellungen > "Hinzufügungen und Beeinflussungen" -> setze LCLWidgetType.
S.a .https://wiki.lazarus.freepascal.org/Qt5_Interface

Antworten