Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110

    [VB.NET] Ottenere il nome del font da un file TTF

    Ciao a tutti!
    Ho necessità di ottenere il nome di vari font partendo dal loro file .TTF.
    Ho trovato un metodo che mi sembrava valido ma sto incontrando qualche intoppo.


    Il metodo è il seguente:




    codice:
     Dim p As New Text.PrivateFontCollection
            p.AddFontFile("D:\Fonts\13588.TTF")
            Dim f As New Font(p.Families(0), 12)
            MsgBox(f.name)

    Diciamo che in linea di massima funziona.
    Dico in linea di massima perchè mi capitano alcuni file dello stesso font (per esempio MICRA) dove cambia lo stile (grassetto, italico, ecc) ma il nome che ottengo è sempre lo stesso (MICRA).


    Mi spiego meglio:


    ho 2 file:

    • File01.ttf
      • Nome Font: MICRA

    • File02.ttf
      • Nome Font: MICRA BOLD



    Però quando li leggo da VB.NET ottengo sempre MICRA e quindi mi sovrascrive il precedente...


    Una cosa che ho notato con il visualizzatore font di win10 è che il nome del titolo del form è corretto, ma quello nella descrizione del font è sempre MICRA. (vedi screenshot allegato)




    come posso fare a leggere MICRA BOLD invece che solo MICRA????


    Grazie a tutti!
    Immagini allegate Immagini allegate
    Ultima modifica di Veronica80; 02-04-2024 a 00:09

  2. #2

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,110
    Grazie 1000 Optime!
    Guardando uno dei tuoi link ho capito che quello che dovevo recuperare era il titolo (title) cosa che con l'oggetto font non si pu� fare.
    Cercando un po' sulla base di questo dato ho trovato un modo di recuperare il titolo usando le librerie Shell.
    Dopo aver installato il relativo pacchetto nuGet ho usato questo codice:

    codice:
    Imports Microsoft.WindowsAPICodePack.Shell
    codice:
     Dim fiInfo As New IO.FileInfo("D:\Fonts\13588.ttf")        Dim sFile As ShellFile = ShellFile.FromFilePath(fiInfo.FullName)
            Dim title As String = sFile.Properties.System.Title.Value
            MsgBox(title)
    ed ora mi recupera il nome completo (titolo) del font!!

    Grazieeee

  4. #4

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.