كيف يمكنني العثور على المسار الكامل إلى خط من اسم العرض على ماك ؟

StackOverflow https://stackoverflow.com/questions/469

  •  08-06-2019
  •  | 
  •  

سؤال

أنا أستخدم فوتوشوب جافا سكريبت 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.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top