2010-06-10 8 views

Répondre

4

This helpful article suggère qu'en regardant la clé de Registre

HKLM\Software\Microsoft\Windows NT\CurrentVersion\Fonts 

Vous obtiendrez une liste de FontName, paires de noms de fichiers. Ouvrez la clé de registre, parcourez les noms jusqu'à ce que vous trouviez une correspondance, puis la valeur contient le nom du fichier (sans chemin).

+0

Merci! En fait, quelques-uns d'entre eux dans ma Ruche ont un chemin complet. Il semble donc qu'il soit supposé se trouver dans le dossier des polices système, à moins qu'il ne comporte un chemin d'accès complet, auquel cas c'est ce chemin. De toute façon, c'est exactement ce dont j'avais besoin. – Nick

+0

@Nick: Une chose à noter est que ceux dans la ruche de registre ne correspondent pas réellement à Font.Name - ils sont généralement ajoutés avec quelque chose dans la clé de Registre comme "(TrueType)" comme dans Arial (TrueType) ". Cela fonctionne, la plupart du temps, d'utiliser simplement un RegEx pour normaliser un nom de police en supprimant le descripteur annexe, mais pas toujours.Mon besoin était similaire au vôtre, mais j'avais besoin d'exactitude, y compris les noms de langues potentiellement étrangers pour les polices. Je l'ai fait a attrapé tous les noms de fichiers de police de la ruche et lire chaque fichier d'en-tête de ttf ou de ttc pour extraire le nom pour le faire correspondre à un nom de police installé. –

Questions connexes