Places information about available fonts, such as their names, into an array.
Tip: |
---|
You can also use AFONT(В ) to determine available font sizes or if a font is scalable. To display a dialog box containing available fonts, font sizes, and styles, use the GETFONT(В ) function. For more information, see GETFONT( ) Function. |
AFONT(ArrayName [, cFontName [, nFontSize | nFontCharSet [, nFlags]]]) |
Parameters
- ArrayName
- Specifies the variable array into which the names of available fonts are placed. If the array is not large enough to contain all the fonts, Visual FoxPro automatically increases the size of the array. If you specify an existing two-dimensional array, Visual FoxPro changes the array to a one-dimensional array.
- cFontName
- Specifies a font for which information is placed into the array. If the font you specify supports only discrete font sizes (8-point, 10-point, ...), the font sizes are stored to the array, and AFONT( ) returns True (.T.). If the font you specify in cFontName is scalable (supports fractional font size values), the array has a single element containing –1, and AFONT( ) returns True (.T.). If the font you specify is not available, the array is not created, and AFONT( ) returns False (.F.).
- nFontSize
- Specifies a size for the font specified in cFontName. If the font size nFontSize is available for the font specified in cFontName, the array has a single element containing a True (.T.) value, and AFONT(В ) returns True (.T.). If the font size is not available for the specified font, the array is not created, and AFONT(В ) returns False (.F.).
- nFontCharSet
- Specifies a character set for the font specified in cFontName. If the font character set specified is available for the font specified in cFontName, the array has a single element containing a True (.T.) value, and AFONT(В ) returns True (.T.). If the font character set is not available for the specified font, the array is not created, and AFONT(В ) returns False (.F.).
- nFlags
-
Controls whether the third parameter passed is treated as the font size or font character set.
The following table describes behavior for various nFlags values specified.
nFlags Description Omitted or 0 for the first bit
Third parameter is treated as a font size value.
If third parameter is -1, array is updated with all available font sizes for the font specified in cFontName for nonproportional fonts, such as MS Sans Serif, and AFONT( ) returns True (.T.). This behavior in Visual FoxPro 8.0 and later is equivalent to passing only the first two parameters.
Note: In versions prior to Visual FoxPro 8.0, if you specified any negative or positive font size for a non-proportional font, AFONT(В ) returned False (.F.). If the third parameter passed is 0, for nonproportional fonts, AFONT(В ) returns False (.F.) for Visual FoxPro 8.0 and later. However, the behavior for proportional fonts such as TrueType or OpenType (Arial) has not changed.
1
Third parameter is treated as a font character set. Array is populated with character sets available for the specified font.
If the third parameter passed is -1, array is updated with all available font character sets for the font specified in cFontName.
Return Value
Logical data type. AFONT( ) returns True (.T.) if array is successfully created. Otherwise, AFONT( ) returns False (.F.).
Remarks
If only ArrayName was passed in versions earlier than Visual FoxPro 8.0, the array populated in AFONT(В ) included extra fonts that were really part of a single font family. For example, the array might have included the following Arial fonts under Visual FoxPro 7.0:
-
Arial
-
Arial Baltic
-
Arial Black
-
Arial CE
-
Arial CYR
-
Arial Greek
-
Arial Narrow
-
Arial Tur
Many of these fonts are not included in a standard Font Picker dialog box such as the GETFONT(В ) function. In this version of Visual FoxPro, the array in AFONT(В ) excludes these extra fonts. For example, the array only includes the following fonts:
-
Arial
-
Arial Baltic
-
Arial Black
Example
The following example uses AFONT(В ) to create an array containing the names of all available fonts. The name of each font is displayed, along with an example of the font. If there are more than 10 fonts installed, only the first 10 are displayed.
В | Copy Code |
---|---|
CLEAR =AFONT(gaFontArray) && Array containS font names. gnNumFonts = ALEN(gaFontArray) && Number of fonts IF gnNumFonts > 10 gnNumFonts = 10 && Display first 10 fonts. ENDIF FOR nCount = 1 TO gnNumFonts ? ALLTRIM(gaFontArray(nCount)) && Display font name. ?? ' This is an example of ' ; + ALLTRIM(gaFontArray(nCount)) FONT gaFontArray(nCount), 8 ENDFOR |