AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)
Thema durchsuchen
Ansicht
Themen-Optionen

Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

Ein Thema von Bernhard Geyer · begonnen am 20. Jun 2018 · letzter Beitrag vom 20. Jun 2018
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#1

Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 08:44
Wir haben vom Kunden einen Font bekommen und sollen diesen in der Anwendung unterstützen.
Jedoch schaut die Anwendung damit sehr schlecht aus. Wir der Font in MS Word/Excel verwendet, so ist die Darstellung erheblich besser.
Die Eigenschaften des Font (Schriftschnitt, Einbindbarkeit) unterscheidet sich auch von den üblicherweis (Tahoma, Segoe UI) verwendeten Schriftarten.

Kann es sein das manche Schriften in Word/Excel genau deshalb besser aussehen als in Delphi-VCL/Java-Swing?
Miniaturansicht angehängter Grafiken
darstellung_schrift.png   font-properties.png  
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 09:55
Ich weiß nicht, ob es hilft, aber mir fällt auf, dass rechts Subpixel-Antialiasing (ClearType) aktiviert ist und links nicht. Es sieht außerdem so aus, als ob Hinting im Spiel ist. Möglicherweise ist die Schriftart nicht wirklich auf Bildschirmdarstellung ausgelegt.

Du könntest mal versuchen, die Schrift manuell mit CreateFont zu erzeugen und mit den Quality- und OutputPrecision-Parametern herumzuspielen. Probier z.B. mal ANTIALIASED_QUALITY oder PROOF_QUALITY und OUT_PS_ONLY_PRECIS oder OUT_TT_ONLY_PRECIS.

Erfahrung habe ich damit keine, aber das wäre mein Ansatz.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 10:00
Ich weiß nicht, ob es hilft, aber mir fällt auf, dass rechts Subpixel-Antialiasing (ClearType) aktiviert ist und links nicht. Es sieht außerdem so aus, als ob Hinting im Spiel ist. Möglicherweise ist die Schriftart nicht wirklich auf Bildschirmdarstellung ausgelegt.
Beide Screenshots sind auf den gleichen Rechner gemacht. D.h. von Windows-Einstellung ist die gleiche. ClearType ist aktiviert.

Du könntest mal versuchen, die Schrift manuell mit CreateFont zu erzeugen und mit den Quality- und OutputPrecision-Parametern herumzuspielen. Probier z.B. mal ANTIALIASED_QUALITY oder PROOF_QUALITY und OUT_PS_ONLY_PRECIS oder OUT_TT_ONLY_PRECIS.
So wie ich das Beispiele sehe müsste man dann an vielen Stellen im Programm eingreifen.
Lohnt sich hier nicht. Wenn ich dem Kunde aufgrund sagen könnte "Font nicht nutzbar da ihm die Eigenschaft x/y/z für die Nutzung in Anwendungen fehlt" würde auch genügen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 10:09
Beide Screenshots sind auf den gleichen Rechner gemacht. D.h. von Windows-Einstellung ist die gleiche. ClearType ist aktiviert.
Ist das eine Vermutung? Fontauswahl-Dialog beinhaltet kein AntiAliased/ClearType etc.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 10:14
Habt ihr nur eine TTF dazu bekommen?
Ggf. müsst ihr noch die anderen zur Schriftfamilie zugehörigen Schriftschnitte/-Arten dazu installieren?
https://www.fontpalace.com/search.ph...arch_bt=search
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 10:23
So wie ich das Beispiele sehe müsste man dann an vielen Stellen im Programm eingreifen.
Eigentlich weist man eine Font ein Handle nur einmal zu, irgendwie verstehe ich die Aussage nicht.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Namenloser

Registriert seit: 7. Jun 2006
Ort: Karlsruhe
3.724 Beiträge
 
FreePascal / Lazarus
 
#7

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 11:08
Beide Screenshots sind auf den gleichen Rechner gemacht. D.h. von Windows-Einstellung ist die gleiche. ClearType ist aktiviert.
Ich meinte beim Rendern, nicht die Systemeinstellung. Der Dialog von Windows wird vermutlich eine andere API benutzen wie GDI+ oder DirectWrite.

Nicht alle Fonst werden auf die gleiche Weise gerendert. Man sieht das z.B. auch ab und zu im Webbrowser bei bestimmten OpenType-Fonts, die nur mit Graustufen-Antialiasing statt Subpixel-Antialiasing gerendert werden.

Font-Rendering ist eine Wissenschaft für sich und die Unterstützung von Features variiert von Format zu Format und Engine zu Engine. Es gibt außerdem noch Ersetzungsregeln. Z.B. wenn eine Schriftart fehlt, oder ein Symbol in der Schriftart fehlt, oder nicht kompatibel ist, dann wird die Schrift oftmals still durch eine "ähnliche" Schriftart ersetzt. Auch das könnte bei dir der Fall sein.

Wer schon mal unter Linux versucht hat, anständiges Font-Rendering zu konfigurieren, kennt das alles. Unter Windows bekommt man es nicht so mit.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 11:18
So wie ich das Beispiele sehe müsste man dann an vielen Stellen im Programm eingreifen.
Eigentlich weist man eine Font ein Handle nur einmal zu, irgendwie verstehe ich die Aussage nicht.
Du hast einen Font-Handle. Und dann. Um ihn zu nutzen musst du ihn mit SelectObject zuweisen. Und zwar überall wo du ihn benögist.
Bisher ist die Logik bei allen Controls Font.Name zu setzen (VCL). Auf Java-Ebene vermutlich was ähnliches.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 11:21
Du hast einen Font-Handle. Und dann. Um ihn zu nutzen musst du ihn mit SelectObject zuweisen. Und zwar überall wo du ihn benögist.
Bisher ist die Logik bei allen Controls Font.Name zu setzen (VCL). Auf Java-Ebene vermutlich was ähnliches.
Bei Vcl genügt es dem Parent ein Font zuzuweisen und alle Childs nutzen den dann.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#10

AW: Kundenspezifischer Font und schlechte Darstellung in der VCL (Swing)

  Alt 20. Jun 2018, 15:46
Bei Vcl genügt es dem Parent ein Font zuzuweisen und alle Childs nutzen den dann.
Nur wenn Parentfont = True ist.
Und selbst dann nich wenn Controls sowas wie "UseSystemFont" haben.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz