2008-08-02 23 views
35

मैं किसी दिए गए PSD में फ़ॉन्ट ढूंढने के लिए फ़ोटोशॉप की जावास्क्रिप्ट एपीआई का उपयोग कर रहा हूं।मैक पर अपने डिस्प्ले नाम से फ़ॉन्ट का पूरा पथ कैसे ढूंढ सकता हूं?

एपीआई द्वारा दिए गए फ़ॉन्ट नाम को देखते हुए, मैं वास्तविक भौतिक फ़ॉन्ट फ़ाइल ढूंढना चाहता हूं जो फ़ॉन्ट नाम डिस्क पर मेल खाता है।

यह सब एक अजगर कार्यक्रम पर OSX चलाने में हो रहा है तो मुझे लगता है मैं एक के लिए देख रहा हूँ:

  • कुछ फ़ोटोशॉप जावास्क्रिप्ट
  • एक अजगर समारोह
  • एक OSX एपीआई कि मैं यह कर सकते हैं अजगर से फोन

उत्तर

19

दुर्भाग्यवश एकमात्र एपीआई जिसे बहिष्कृत नहीं किया गया है, एप्लिकेशन सर्विसेज फ्रेमवर्क में स्थित है, जिसमें पुल समर्थन फ़ाइल नहीं है, और इस प्रकार पुल में उपलब्ध नहीं है। यदि आप ctypes का उपयोग करना चाहते हैं, तो आप ATSFontRef को देखने के बाद ATSFontGetFileReference का उपयोग कर सकते हैं।

कोको के पास फ़ॉन्ट का स्थान प्राप्त करने के लिए कम से कम 10.5 के रूप में कोई मूल समर्थन नहीं है।

7

एक टर्मिनल (अनुप्रयोगों> उपयोगिताओं> टर्मिनल) खुल जाएगा और इस टाइप करें:

locate InsertFontHere 

यह आपके द्वारा इच्छित नाम वाली प्रत्येक फ़ाइल को थूक देगा।

चेतावनी: वहां से गुजरने के लिए बहुत कुछ हो सकता है।

5

मैं ऐसा कुछ भी नहीं ढूंढ पाया जो इसे सीधे करता है। मुझे लगता है कि आपको सिस्टम पर विभिन्न फ़ॉन्ट फ़ोल्डर्स के माध्यम से पुन: प्रयास करना होगा: /System/Library/Fonts, /Library/Fonts, और शायद उपयोगकर्ता स्तर की निर्देशिका भी हो सकती है ~/Library/Fonts

5

, तो आप .. इसे कहते हैं 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 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^