Function Reference


_WinAPI_GetFontResourceInfo

Retrieves the fontname from the specified font resource file

#include <WinAPIGdi.au3>
_WinAPI_GetFontResourceInfo ( $sFont [, $bForce = False [, $iFlag = Default]] )

Parameters

$sFont String that names a font resource file.
To retrieve a fontname whose information comes from several resource files, they must be separated by a "|" .
For example, abcxxxxx.pfm | abcxxxxx.pfb.
$bForce [optional] Specifies whether adds a file to the font table, valid values:
    True - Forced add the specified file to the system font table and remove it after retrieving the fontname.
    False - Don't add and remove (Default).
$iFlag [optional] An integer value. See _WinAPI_GetFontMemoryResourceInfo() for value definition.

Return Value

Success: The name of the font or Font information according to $iFlag.
Failure: Empty string and sets the @error flag to non-zero, call _WinAPI_GetLastError() to get extended error information.

Remarks

not documented in MSDN

Example

Example 1

#include <Array.au3>
#include <File.au3>
#include <WinAPIGdi.au3>
#include <WinAPIShellEx.au3>

Example()

Func Example()
        Local $aFileList = _FileListToArray(_WinAPI_ShellGetSpecialFolderPath($CSIDL_FONTS), '*.ttf', 1)
        Local $aFontList[UBound($aFileList) - 1][2]

        For $i = 1 To $aFileList[0]
                $aFontList[$i - 1][0] = $aFileList[$i]
                $aFontList[$i - 1][1] = _WinAPI_GetFontResourceInfo($aFileList[$i], 1)
        Next

        _ArrayDisplay($aFontList, '_WinAPI_GetFontResourceInfo')

EndFunc   ;==>Example

Example 2

#include <Array.au3>
#include <File.au3>
#include <WinAPIGdi.au3>
#include <WinAPIShellEx.au3>

Example()

Func Example()
        Local $aFileList = _FileListToArray(_WinAPI_ShellGetSpecialFolderPath($CSIDL_FONTS), '*.ttf', 1)
        Local $aFontList[UBound($aFileList) - 1][2]

        For $i = 1 To $aFileList[0]
                $aFontList[$i - 1][0] = $aFileList[$i]
                $aFontList[$i - 1][1] = _WinAPI_GetFontResourceInfo($aFileList[$i], Default, 1)
        Next

        _ArrayDisplay($aFontList, '_WinAPI_GetFontResourceInfo (Font Family name)')

EndFunc   ;==>Example

Example 3

#include <WinAPIGdi.au3>

Example()

Func Example()
        Local $sFile = "Extras\SF Square Head Bold.ttf"

        ConsoleWrite(_WinAPI_GetFontResourceInfo($sFile, True) & @CRLF)
        ConsoleWrite(@CRLF)

        FontGetInfoFromFile($sFile, 0, "Copyright")
        FontGetInfoFromFile($sFile, 1, "Font Family name")
        FontGetInfoFromFile($sFile, 2, "Font SubFamily name")
        FontGetInfoFromFile($sFile, 3, "Unique font identifier")
        FontGetInfoFromFile($sFile, 4, "Font full name")
        FontGetInfoFromFile($sFile, 5, "Version string")
        FontGetInfoFromFile($sFile, 6, "Postscript name")
        FontGetInfoFromFile($sFile, 7, "Trademark")
        FontGetInfoFromFile($sFile, 8, "Manufacturer Name")
        FontGetInfoFromFile($sFile, 9, "Designer")
        FontGetInfoFromFile($sFile, 10, "Description")
        FontGetInfoFromFile($sFile, 11, "URL Vendor")
        FontGetInfoFromFile($sFile, 16, "Preferred Family (Windows only)")
        FontGetInfoFromFile($sFile, 17, "Preferred SubFamily (Windows only)")
        FontGetInfoFromFile($sFile, 18, "Compatible Full (Mac OS only)")
        FontGetInfoFromFile($sFile, 19, "Sample text")
        FontGetInfoFromFile($sFile, 20, "PostScript CID findfont name")

        FontGetInfoFromFile($sFile, 256, "Font-specific names")

EndFunc   ;==>Example

Func FontGetInfoFromFile($sFile, $n, $sElement)
        Local $s = _WinAPI_GetFontResourceInfo($sFile, Default, $n)
        If Not @error And $s Then ConsoleWrite($sElement & " = " & $s & @CRLF)
EndFunc   ;==>FontGetInfoFromFile