J'essaie d'obtenir par programme une liste des polices installées en C ou en Python. Je dois être capable de faire cela sur OS X, est-ce que quelqu'un sait comment?Liste des polices installées OS X/C
Répondre
Python avec PyObjC installé (ce qui est le cas pour Mac OS X 10.5+, de sorte que ce code fonctionne sans avoir à installer quoi que ce soit):
import Cocoa
manager = Cocoa.NSFontManager.sharedFontManager()
font_families = list(manager.availableFontFamilies())
(basé sur la réponse de HTW)
Voulez-vous écrire un programme pour le faire, ou voulez-vous utiliser un programme pour le faire? Il y a beaucoup de programmes qui listent les polices, xlsfonts me vient à l'esprit.
Pas exactement C, mais en Objective-C, vous pouvez facilement obtenir une liste des polices installées via le framework Cocoa:
// This returns an array of NSStrings that gives you each font installed on the system
NSArray *fonts = [[NSFontManager sharedFontManager] availableFontFamilies];
// Does the same as the above, but includes each available font style (e.g. you get
// Verdana, "Verdana-Bold", "Verdana-BoldItalic", and "Verdana-Italic" for Verdana).
NSArray *fonts = [[NSFontManager sharedFontManager] availableFonts];
Vous pouvez accéder au framework Cocoa de Python via PyObjC, si vous voulez. En C, je pense que vous pouvez faire quelque chose de similaire dans Carbon avec la bibliothèque ATSUI, bien que je ne sois pas tout à fait sûr de la façon de le faire, puisque je n'ai jamais travaillé avec des polices dans Carbon. Néanmoins, de la navigation sur les documents ATSUI, je recommande de regarder dans les ATSUGetFontIDs
et les fonctions ATSUGetIndFontName
. Voici un lien vers le ATSUI documentation pour plus d'informations.
Vous pouvez obtenir un tableau de polices disponibles en utilisant Objective-C et Cocoa. La méthode que vous cherchez est NSFontManager
's availableFonts
. Je ne crois pas qu'il existe un moyen standard pour déterminer ce que les polices système utilisent pur C. Cependant, vous pouvez mélanger librement C et Objective-C, il ne devrait donc pas être difficile d'utiliser cette méthode faire ce que vous voulez.
Pourquoi ne pas utiliser le terminal?
Fonts système:
ls -R /System/Library/Fonts | grep ttf
polices utilisateur:
ls -R ~/Library/Fonts | grep ttf
Mac OS X Polices par défaut:
ls -R /Library/Fonts | grep ttf
Si vous avez besoin de l'exécuter dans votre programme C:
void main()
{
printf("System fonts: ");
execl("/bin/ls","ls -R /System/Library/Fonts | grep ttf", "-l",0);
printf("Mac OS X Default fonts: ");
execl("/bin/ls","ls -R /Library/Fonts | grep ttf", "-l",0);
printf("User fonts: ");
execl("/bin/ls","ls -R ~/Library/Fonts | grep ttf", "-l",0);
}
Ce n'est pas le seul endroit où vous pouvez trouver des polices: il y a aussi '/ System/Library/Fonts' et' ~/Library/Fonts' ... – hbw
Je sais. Je pensais qu'il le savait déjà. –
mis à jour avec d'autres emplacements de police –
- 1. Comment obtenez-vous une liste de toutes les polices installées?
- 2. Comment puis-je obtenir une liste des polices installées sur Windows, en utilisant du C++ non géré?
- 3. Comment trouver la liste complète des extensions installées dans VS2008?
- 4. Polices manquantes dans WinForms.FontDialog
- 5. Liste déroulante des noms de polices en C# .Net
- 6. Obtenez une liste de toutes les applications installées sur Blackberry
- 7. Intégrer des polices
- 8. Rendu des polices Mac sous Windows
- 9. Trouver des applications installées dans le cacao
- 10. emplacement des extensions Firefox dans Mac OS?
- 11. Comment puis-je accéder à la liste des applications installées sur l'appareil iPhone?
- 12. Utilisation des polices bitmap GLUT
- 13. Personnalisation des polices d'étiquettes dans Swing
- 14. Comment distribuer un Mac OS X avec des bibliothèques dépendantes?
- 15. Y at-il un moyen de vérifier quelles polices sont installées sur les machines via le web?
- 16. Comment puis-je installer des instances de serveur sql installées?
- 17. Applications installées dans Django - qu'en est-il des versions?
- 18. Détermination des structures compactes (et SP) installées Version
- 19. Liaison de données WPF - Affichage de la liste des polices système
- 20. Définir les propriétés des polices dans RichTextBox
- 21. Rendu des polices pour les pages Web
- 22. Charger dynamiquement des polices dans Flex/AS3
- 23. Rendu des polices sous Mac et Windows
- 24. Comment: test de lissage des polices
- 25. Réglage des polices par défaut en C#
- 26. NMBLookup OS X retourne des résultats inconsistants
- 27. Comment puis-je faire des polices sifr3 à partir de polices .otf?
- 28. Liste et recherche de fenêtres sur OS X
- 29. Java, unicode et polices
- 30. Routines graphiques de polices
il a dit * * programme, donc je suppose qu'il veut écrire un programme pour le faire. – hbw