Savoir si police est TrueType

Résolu
yan35 Messages postés 185 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 20 juin 2013 - 20 avril 2005 à 18:17
yan35 Messages postés 185 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 20 juin 2013 - 18 janv. 2010 à 10:54
Bonjour,

Comment peut-on savoir si la police en cours est TrueType ?

6 réponses

Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
18 janv. 2010 à 09:55
Bonjour,
"ucfoutu" m'a apporté la réponse (encore merci à lui )
Ici
Je poste ici aussi pour que sa soit plus simple à trouver pour les autres
'Module Code
' Only allow declared variables
Option Explicit
' Declare constants
Public Const TMPF_TRUETYPE = &H4
Public Const LF_FACESIZE = 32
' Declare types
Public Type LOGFONT
    lfHeight As Long
    lfWidth As Long
    lfEscapement As Long
    lfOrientation As Long
    lfWeight As Long
    lfItalic As Byte
    lfUnderline As Byte
    lfStrikeOut As Byte
    lfCharSet As Byte
    lfOutPrecision As Byte
    lfClipPrecision As Byte
    lfQuality As Byte
    lfPitchAndFamily As Byte
    lfFaceName(1 To LF_FACESIZE) As Byte
End Type
Public Type TEXTMETRIC
    tmHeight As Long
    tmAscent As Long
    tmDescent As Long
    tmInternalLeading As Long
    tmExternalLeading As Long
    tmAveCharWidth As Long
    tmMaxCharWidth As Long
    tmWeight As Long
    tmOverhang As Long
    tmDigitizedAspectX As Long
    tmDigitizedAspectY As Long
    tmFirstChar As Byte
    tmLastChar As Byte
    tmDefaultChar As Byte
    tmBreakChar As Byte
    tmItalic As Byte
    tmUnderlined As Byte
    tmStruckOut As Byte
    tmPitchAndFamily As Byte
    tmCharSet As Byte
End Type
' Declare Windows API functions
Public Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" (lpLogFont As LOGFONT) As Long
Public Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, ByVal hObject As Long) As Long
Public Declare Function GetTextMetrics Lib "gdi32" Alias "GetTextMetricsA" (ByVal hdc As Long, lpMetrics As TEXTMETRIC) As Long
'La fonction DeleteObject supprime un objet (logical pen, brush, font, bitmap, region, or palette), ce qui libère toutes les ressources système associé à l'objet. Après que l'objet soit supprimé, le handle spécifié n'est plus valide.
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long

Public Function IsFontTrueType(sFontName As String, ByVal HdcSruface As Long) As Boolean
    Dim lf As LOGFONT
    Dim tm As TEXTMETRIC
    Dim oldfont As Long, newfont As Long
    Dim tmpArray() As Byte
    Dim dummy As Long
    Dim i As Integer
    'need to convert font name to byte array...
    tmpArray = StrConv(sFontName & vbNullString, vbFromUnicode)
    For i = 0 To UBound(tmpArray)
        lf.lfFaceName(i + 1) = tmpArray(i)
    Next
    'create the font object
    newfont = CreateFontIndirect(lf)
    'save the current font object and use the new font object
    oldfont = SelectObject(HdcSruface, newfont)
    'get the new font object's info
    dummy = GetTextMetrics(HdcSruface, tm)
    'determine whether new font object is TrueType
    IsFontTrueType = CBool(tm.tmPitchAndFamily And TMPF_TRUETYPE)
    'restore the original font object - !!!THIS IS IMPORTANT!!!
    dummy = SelectObject(HdcSruface, oldfont)
    'Supprime la police crée
    DeleteObject newfont
End Function



Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
3
robapt Messages postés 114 Date d'inscription mardi 6 juillet 2004 Statut Membre Dernière intervention 4 décembre 2009
20 avril 2005 à 18:21
Truetype c'est a dire
0
yan35 Messages postés 185 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 20 juin 2013
20 avril 2005 à 19:12
Qui peuvent s'orienter comme Arial par exemple. Polices avec extension .ttf, alors que les autres sont .fon
Mais comment savoir si la police sélectionnée dans le programme d'impression VB est de type TT ?
Il existe surement 1 API mais laquelle ?

Merci
0
Polack77 Messages postés 1098 Date d'inscription mercredi 22 mars 2006 Statut Membre Dernière intervention 22 octobre 2019 1
15 janv. 2010 à 17:06
Bonjour,
Je sait que ce sujet date un peut (un peut plus même) mais a tu fini par trouver (si oui c'est quoi cette API) ?
Je suis à la recherche de la même chose (si je trouve je poste ici ).

Amicalement
1000 recherches sur Google = 1Km de voiture en CO² (réfuté par Google )
1000 recherches sur Forestle = 100 m² de forêt tropicale sauvé .
Surfez écolo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yan35 Messages postés 185 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 20 juin 2013
16 janv. 2010 à 11:28
Bonjour Polack77,
Non, je n'ai pas trouvé, désolé. Et comme depuis j'ai eu d'autres urgences, j'ai abandonné mes recherches sur ce sujet, mais si tu trouves, je suis preneur.
Cordialement
0
yan35 Messages postés 185 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 20 juin 2013
18 janv. 2010 à 10:54
Merci à toi et ucfoutu.
0
Rejoignez-nous