2010-09-10 6 views
0

Il y a un fichier de police dans le dossier Windows (le nom de la police est Lucida Sans). J'essaie de charger cette police en utilisant le code suivant, mais je ne peux pas créer l'objet de policeImpossible de charger la police en utilisant le nom du fichier de police

 PrivateFontCollection c = new PrivateFontCollection(); 
     c.AddFontFile("c:\\windows\\LSANSDI.TTF"); 
     FontFamily fa = c.Families[0]; //This line succeeds 
     Font fn = new Font(fa, 10); //I get Exception here and it says that it does not support Regular style 

Même si u vérifier tous les styles en utilisant la fonction fa.IsStyleAvailable, je reçois pas de style disponible. Quelle est l'utilité de créer un tel fichier ttf qui ne peut pas être chargé. Comment puis-je utiliser cette police? Mais je peux voir que la police a tous les styles disponibles lorsque je l'utilise dans MS Word Quelqu'un peut-il fournir la solution?

+0

Avez-vous essayé d'installer la police dans windows \ fonts et de la lire à partir de là? – mamoo

+1

Je ne veux pas l'installer dans le dossier Windows. Je dois l'utiliser temporairement et ensuite le supprimer – kumar

+0

En ce qui concerne vos commentaires supprimés ci-dessous, si vous pouvez utiliser les librairies WPF en C#, vous pouvez obtenir le nom de la police et le nom du visage. Vous aurez besoin d'une référence à 'System.Windows.Media'. Mais si c'est ce que vous cherchez, vous devriez probablement changer la question pour refléter cela. –

Répondre

3

Je suppose que la police est en gras et en italique, ce qui signifie que vous devez vérifier (FontStyle.Bold | FontStyle.Italic) étant disponible, et créer la nouvelle police en conséquence.

Questions connexes