[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Possible Wording Error on FreeType Tutorial 1 Page
From: |
Gary Townsend |
Subject: |
Possible Wording Error on FreeType Tutorial 1 Page |
Date: |
Wed, 14 Sep 2022 15:33:07 +0000 |
Hi There,
Please refer to your following page: FreeType Tutorial /
I<https://freetype.org/freetype2/docs/tutorial/step1.html>
Please confirm/explain if the part that I’ve highlighted in Red below, is in
error?
I mean... please kindly explain what it’s trying to say? “expressed in 1/64th
of a pixel”, but then specifically... for “a character size of 12 points”? What
about point sizes other than 12? (Sorry if I’m missing something, but that has
me quite confused 😊)
Thank you in advance, cheers, Gary.
FreeType 2 uses size objects to model all information related to a given
character size for a given face. For example, a size object holds the value of
certain metrics like the ascender or text height, expressed in 1/64th of a
pixel, for a character size of 12 points (however, those values are rounded to
integers, i.e., multiples of 64).
When the FT_New_Face function is called (or one of its siblings), it
automatically creates a new size object for the returned face. This size object
is directly accessible as face−>size.
NOTE: A single face object can deal with one or more size objects at a time;
however, this is something that few programmers really need to do. We have thus
decided to make this feature available through additional functions.
When a new face object is created, all elements are set to 0 during
initialization. To populate the structure with sensible values, you should call
FT_Set_Char_Size<https://freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_set_char_size>.
Here is an example, setting the character size to 16pt for a 300×300dpi device:
error = FT_Set_Char_Size(
face, /* handle to face object */
0, /* char_width in 1/64th of points */
16*64, /* char_height in 1/64th of points */
300, /* horizontal device resolution */
300 ); /* vertical device resolution */
Some notes.
* The character widths and heights are specified in 1/64th of points. A
point is a physical distance, equaling 1/72th of an inch. Normally, it is not
equivalent to a pixel.
* Value of 0 for the character width means ‘same as character height’,
value of 0 for the character height means ‘same as character width’. Otherwise,
it is possible to specify different character widths and heights.
* The horizontal and vertical device resolutions are expressed in
dots-per-inch, or dpi. Standard values are 72 or 96 dpi for display devices
like the screen. The resolution is used to compute the character pixel size
from the character point size.
* Value of 0 for the horizontal resolution means ‘same as vertical
resolution’, value of 0 for the vertical resolution means ‘same as horizontal
resolution’. If both values are zero, 72 dpi is used for both dimensions.
* The first argument is a handle to a face object, not a size object.
Sent from Mail<https://go.microsoft.com/fwlink/?LinkId=550986> for Windows
- Possible Wording Error on FreeType Tutorial 1 Page,
Gary Townsend <=