Difference between revisions of "Font"

From Free Pascal wiki
Jump to navigationJump to search
(Categorisation)
(Categorisation)
Line 47: Line 47:
  
 
[[Category:GUI]]
 
[[Category:GUI]]
 +
[[Category:LCL]]

Revision as of 19:04, 29 March 2020

TFont class describes a typographic font information

Height

The height property specifies the font height in Pixels.

However, due to Windows and Delphi compatibility, height might be described in 2 values, negative and positive.

font height.png

Negative value takes into account only the height of font characters.

Positive value takes into account height of font characters plus additional space on top of the font. (So, it would be possible to write a line of the text right after another, without adding any extra space, and the font would not look too densed).

Normally, you want to use Negative font height.

Size

Is the size of the font in Typographic points.

In order to convert from Typographic points to Pixels one should use a device (Screen or Printer) dots per point value (DPI)

The size is also using Positive and Negative values, but in reverse order.

Positive value takes into account only the height of font characters. (it's a typographic standard)

Negative value takes into account height of font characters plus additional space on top of the font. (So, it would be possible to write a line of the text right after another, without adding any extra space, and the font would not look too dense).

Normally, you want to use Positive font size values.


It might be useful to note, that User Interface is typically presenting the size in typographs points.

toto

In this example, the selected font would have Font.Size=16

Size to Height

Once should use the following formal to convert from Size to height

Font.Height := -Font.Size * DPI / 72

and from Height to Size

Font.Size := -Font.Height / DPI * 72

Note, the use of negative , due to reverse logic.