كيف يمكنني العثور على المسار الكامل إلى خط من اسم العرض على ماك ؟
سؤال
أنا أستخدم فوتوشوب جافا سكريبت API للعثور على الخطوط في مديرية الأمن العام.
إعطاء اسم الخط إرجاعها بواسطة الدالة API, أريد أن أجد المادية الفعلية ملف الخط هذا الخط اسم يناظر على القرص.
هذا هو كل شيء يحدث في بيثون برنامج يعمل على OSX لذا أعتقد أنا أبحث عن أحد:
- بعض فوتوشوب جافا سكريبت
- الثعبان وظيفة
- وهو OSX API التي يمكن أن أدعو من الثعبان
المحلول
للأسف فقط API التي ليس إهمال يقع في ApplicationServices الإطار الذي لا يملك جسر ملف الدعم ، وبالتالي لا يتوفر في الجسر.إذا كنت ترغب في استخدام ctypes ، يمكنك استخدام ATSFontGetFileReference بعد البحث عن ATSFontRef.
الكاكاو لا تملك أي دعم أصلي, على الأقل من 10.5, من أجل الحصول على مكان الخط.
نصائح أخرى
فتح محطة (تطبيقات->الأدوات->Terminal) ثم اكتب هذا في:
locate InsertFontHere
هذا سوف يبصقون كل ملف له اسم تريد.
تحذير:قد يكون هناك الكثير لويد من خلال.
يجب أن يكون هناك طريقة في الكاكاو للحصول على قائمة من الخطوط, ثم سيكون لديك لاستخدام PyObjC الارتباطات أن نسميها..
اعتمادا على ما كنت في حاجة إليها ل ، ربما يمكن فقط استخدام شيء من هذا القبيل التالية..
import os
def get_font_list():
fonts = []
for font_path in ["/Library/Fonts", os.path.expanduser("~/Library/Fonts")]:
if os.path.isdir(font_path):
fonts.extend(
[os.path.join(font_path, cur_font)
for cur_font in os.listdir(font_path)
]
)
return fonts
لم أكن قادرة على العثور على أي شيء أن يفعل ذلك مباشرة.أعتقد سيكون لديك للتنقل من خلال مختلف المجلدات الخط على نظام: /System/Library/Fonts
, /Library/Fonts
, و هناك ربما يمكن أن يكون على مستوى المستخدم دليل كذلك ~/Library/Fonts
.