Obtient les paramètres métriques de texte d'une police TrueType
#include <WinAPIGdi.au3>
_WinAPI_GetOutlineTextMetrics ( $hDC )
$hDC | Handle du contexte de périphérique. |
Succès: | Retourne une structure $tagOUTLINETEXTMETRIC qui contient les paramètres texte. |
Échec: | Définit @error <> 0. |
La structure $tagOUTLINETEXTMETRIC contient beaucoup d'informations métriques de texte fournies pour les polices TrueType (y compris la structure TEXTMETRIC). Les tailles retournées dans $tagOUTLINETEXTMETRIC sont en unités logiques; elles dépendent du mode de mappage courant.
Consultez GetOutlineTextMetrics dans la librairie MSDN.
#include <FontConstants.au3> #include <WinAPIGdi.au3> #include <WinAPIGdiDC.au3> #include <WinAPIHObj.au3> #include <WinAPIMisc.au3> ; Sélectionne la police "Arial" du DC et récupére la structure $tagOUTLINETEXTMETRIC Local $hDC = _WinAPI_GetDC(0) Local $hFont = _WinAPI_CreateFont(24, 0, 0, 0, $FW_NORMAL, 0, 0, 0, $DEFAULT_CHARSET, $OUT_DEFAULT_PRECIS, $CLIP_DEFAULT_PRECIS, $ANTIALIASED_QUALITY, $DEFAULT_PITCH, 'Arial') Local $hSv = _WinAPI_SelectObject($hDC, $hFont) Local $tOLTM = _WinAPI_GetOutlineTextMetrics($hDC) _WinAPI_SelectObject($hDC, $hSv) _WinAPI_ReleaseDC(0, $hDC) If IsDllStruct($tOLTM) Then ConsoleWrite('Family name: '& _otm($tOLTM, 'otmFamilyName') & @CRLF) ConsoleWrite('Typeface name: '& _otm($tOLTM, 'otmFaceName') & @CRLF) ConsoleWrite('Style name '& _otm($tOLTM, 'otmStyleName') & @CRLF) ConsoleWrite('Full name: '& _otm($tOLTM, 'otmFullName') & @CRLF) EndIf Func _otm(ByRef $tOLTM, $sName) Return _WinAPI_GetString(DllStructGetPtr($tOLTM) + DllStructGetData($tOLTM, $sName)) EndFunc ;==>_otm