ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 16.10.2000

Diese Seite wurde zuletzt aktualisiert am 16.10.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Namensfindung

Zurück...


Anzeige

(-hg) mailto:hg_ttfontname@aboutvb.de

Einer TrueType-Font-Datei können Sie leider nicht den tatsächlichen Namen des darin enthaltenen Fonts ansehen und auf einfache Weise entnehmen. Mit nur einer einzigen API-Funktion und mit Hilfe einer temporären Datei können Sie den gesuchten Namen auf recht einfache Weise in Erfahrung bringen.

Diese API-Funktion heißt MSDN Library - API CreateScalableFontResourceCreateScalableFontResource und legt zu einer gegebenen TTF-Datei eine Ressourcen-Datei an, die an einer mit InStr auffindbaren Position den Font-Namen im Klartext enthält. Da wir diese Ressourcen-Datei nur vorübergehend brauchen, legen wir sie, ordentlich wie wir doch immer sind, als temporäre Datei im Temp-Verzeichnis an. Dies erledigt die Hilfsfunktion CreateTempFile (siehe Kurzlebige Dateien"Kurzlebige Dateien") - wir brauchen nur noch die Dateierweiterung dieser Datei von "TMP" in "FOT" zu ändern, damit die besagte API-Funktion damit etwas anfangen kann. Nach Gebrauch der Datei sollten wir sie natürlich genau so ordentlich wieder löschen.

Die ganze Arbeit lassen wir am besten von einer weiteren Hilfsfunktion erledigen. Sie übergeben der Funktion TTFontName den Pfadnamen der TTF-Datei und erhalten von ihr den Namen des darin enthaltenen Fonts zurückgegeben.

Private Declare Function CreateScalableFontResource Lib "gdi32" _
 Alias "CreateScalableFontResourceA" (ByVal fHidden As Long, _
 ByVal lpszResourceFile As String, ByVal lpszFontFile As String, _
 ByVal lpszCurrentPath As String) As Long

Public Function TTFontName(FileName As String) As String
  Dim nFNr As Integer
  Dim nContents As String
  Dim nTempFile As String
  Dim nPos As Long
  
  nTempFile = CreateTempFile()
  nTempFile = Left$(nTempFile, Len(nTempFile) - 3) & "FOT"
  If CreateScalableFontResource(1, nTempFile, FileName, _
   vbNullString) Then
    nFNr = FreeFile
    On Error GoTo TTFontName_Error
    Open nTempFile For Binary Access Read As #nFNr
      nContents = Space(LOF(nFNr))
      Get #nFNr, , nContents
    Close #nFNr
    Kill nTempFile
    nPos = InStr(nContents, "FONTRES:") + 8
    If nPos Then
      TTFontName = Mid(nContents, nPos, InStr(nPos, nContents, _
       vbNullChar) - nPos)
    End If
  End If
  Exit Function
  
TTFontName_Error:
  Resume
End Function

Beispiel-Projekt und Modul TTFontName (ttfontname.zip - ca. 5,6 KB)


Artikel
Zum Download-Bereich dieses Artikel
Mail an den Autor dieses Artikels

KnowHow
Zur KnowHow-Übersicht

KnowHow-Themen
Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer