Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Schrifthöhe einer Font ohne TextHeight('Wdyg') (https://www.delphipraxis.net/150577-schrifthoehe-einer-font-ohne-textheight-wdyg.html)

s.h.a.r.k 21. Apr 2010 07:57


Schrifthöhe einer Font ohne TextHeight('Wdyg')
 
Habe mal wieder ein nettes typographisches Problem mit Delphi: wie kann ich eigentlich die maximale Schrifthöhe einer Font in Pixel ermitteln, ohne über den Weg Canvas.TextHeight('Wdyg') gehen zu müssen?

Der gegebene Code funktioniert, klar, garantiert mir aber nicht für jede Font das korrekt Ergebnis, da ich ja nur auf einen Auszug teste, was ich nicht will. Sowas muss doch irgendwie auch sinnvoller gehen, oder? :gruebel:

himitsu 21. Apr 2010 08:09

Re: Schrifthöhe einer Font ohne TextHeight('Wdyg')
 
Es ist egal welche Zeichen du damit testest.
Es kommt immer das selbe Ergebnis raus, solange mindestens ein Zeichen angegeben ist,
da hier die Zeilenhöhe und nicht die Zeichenhöhe gemessen wird.

Delphi-Quellcode:
Caption := Format('x=%d X=%d y=%d X|X=%d nix=%d', [Canvas.TextHeight('x'), Canvas.TextHeight('X'),
  Canvas.TextHeight('y'), Canvas.TextHeight('X'#13#10'X'), Canvas.TextHeight('')]);
Code:
x=13   X=13   y=13   X|X=13   nix=0
[add]
Zeilenumbrüche werden ignoriert
Delphi-Quellcode:
Caption := Format('X=%d I=%d X|X=%d nix=%d', [Canvas.TextWidth('X'),
  Canvas.TextWidth('I'), Canvas.TextWidth('X'#13#10'X'), Canvas.TextWidth('')]);
Code:
X=6 I=4 X|X=34 nix=0

s.h.a.r.k 21. Apr 2010 08:25

Re: Schrifthöhe einer Font ohne TextHeight('Wdyg')
 
Ui, das hätte ich jetzt aber nicht erwartet, herzlichsten Dank :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 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