UDF > WinAPIEx > GDI > Font & Text >


_WinAPI_GetFontResourceInfo

Obtient le nom de la police à partir d'un fichier de ressources de police spécifié

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

Paramètres

$sFont La chaîne qui contient le nom d'un fichier de ressource de police.
Pour récupérer un nom de police dont les informations proviennent de plusieurs fichiers de ressources, ils doivent être séparés par un "|".
Par exemple, abcxxxxx.pfm | abcxxxxx.pfb.
$bForce [optionnel] Spécifie s'il faut ajouter le fichier à la table des polices, les valeurs valides sont:
    True - Ajout forcé du fichier spécifié à la table de polices système et le retire après avoir récupéré le nom de la police.
    False - Ne pas ajouter (par défaut).
$iFlag [optionnel] Une valeur entière. Consultez _WinAPI_GetFontMemoryResourceInfo() pour la définition de cette valeur.

Valeur de retour

Succès: Retourne le nom de la police ou des informations sur la policesuivant $iFlag.
Échec: Retourne une chaîne vide et définit @error <> 0, appelez _WinAPI_GetLastError() pour obtenir des informations sur l'erreur.

Remarque

Fonction non documentée dans MSDN

Exemples

Exemple 1

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

Example()

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

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

    _ArrayDisplay($aFontList, '_WinAPI_GetFontResourceInfo')

EndFunc   ;==>Example


Exemple 2

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

Example()

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

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

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

EndFunc   ;==>Example


Exemple 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