फ़ोटोशॉप फ़ाइल में उपयोग किए गए सभी फोंट खोजें


54

मेरे पास यह .psd(फ़ोटोशॉप फ़ाइल) है और मैं इसे HTML और CSS में बदलने की कोशिश कर रहा हूं।

केवल एक चीज जो मैं निर्धारित नहीं कर सकता कि वे किस फ़ॉन्ट का उपयोग करते हैं .psd

मैं कैसे पता लगा सकता हूं कि फ़ोटोशॉप फ़ाइल में कौन से फोंट का उपयोग किया गया था?


CC2018 के अनुसार, नीचे दी गई स्क्रिप्ट्स में से 2 और jsx प्लगइन टूट गए हैं। मैंने प्रत्येक के लिए विशेष रूप से टिप्पणी की।
ड्रू

जवाबों:


63

निर्भर करता है कि आप जानकारी कैसे निकालना चाहते हैं।

प्रति अनुभाग या पाठ क्षेत्र

टेक्स्ट टूल ( सेरिफ़ के साथ टी आइकन) का चयन करें और इसे संपादित करने के लिए टेक्स्ट क्षेत्र पर क्लिक करें। यह दिखाएगा कि चरित्र विंडो में किस फ़ॉन्ट का उपयोग किया जा रहा है।

सभी फ़ॉन्ट एक नज़र में इस्तेमाल किया

  1. एक पीडीएफ के रूप में छवि दस्तावेज़ को सहेजें या निर्यात करें
  2. एडोब रीडर में पीडीएफ संस्करण खोलें
  3. फ़ाइल → गुण → फ़ॉन्ट्स का चयन करें

यह PSD फ़ाइल में उपयोग किए जाने वाले सभी एम्बेड किए गए फोंट की सूची देगा , बशर्ते आप उन्हें एम्बेड कर सकते हैं।

फोंट गुम

चरित्र उपकरण में, फ़ॉन्ट चयन ड्रॉप डाउन पर जाएं। सूची के अंत में वे फोंट होंगे जो छवि में उपयोग किए जाते हैं लेकिन आपके सिस्टम से गायब हैं। ये आमतौर पर बाहर निकाला जाएगा।

विचित्र चित्र

यदि आप किसी भी रेखापुंज छवियों को देखते हैं जिसकी आपको फॉन्ट फेस की आवश्यकता है, तो आप उस अनुभाग को एक स्पष्ट, स्टैंडअलोन छवि के रूप में निर्यात करेंगे और फ़ॉन्ट को निर्धारित करने के लिए व्हाट्सएप जैसी सेवा का उपयोग करें ।


23

इस स्क्रिप्ट को अपने फ़ोटोशॉप> प्रीसेट्स> स्क्रिप्स फ़ोल्डर में एक नई फ़ाइल के रूप में सहेजें। इसे आप जो चाहें नाम दें, जैसे "फ़ॉन्ट्स का पता लगाएं ।jsx"

var p = new ActionReference();

function arrayUnique(a){
    var t = []
        i = a.length;

    while(i--) {
        var f = false,
        n = t.length;

        while (n--) {
            if(a[i] === t[n]) {
                f = true;
            }
        }

        if(!f) {
            t.push(a[i]);
        }
    }
    return t;
}

function findFonts() {
    p.putEnumerated( charIDToTypeID('Dcmn'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt') );

    var c = executeActionGet(p).getInteger(charIDToTypeID('NmbL'))+1,
        fonts = [];

    while(c--) {
        var r = new ActionReference(),
            descLayer,
            layerStyles,
            countStyles;

        r.putIndex( charIDToTypeID( 'Lyr ' ), c );

        try {
            descLayer = executeActionGet(r);
        } catch (e) {
            continue;
        }

        if(!descLayer.hasKey(stringIDToTypeID( 'textKey' ))) continue;

        layerStyles = descLayer.getObjectValue(stringIDToTypeID('textKey')).getList(stringIDToTypeID('textStyleRange'));
        countStyles = layerStyles.count;

        while(countStyles--) {
            var n = layerStyles.getObjectValue(countStyles).getObjectValue(stringIDToTypeID('textStyle')).getString(stringIDToTypeID('fontPostScriptName'));
            fonts.push(n);
        }
    }

    return arrayUnique(fonts).sort();
}

if (documents.length) {
    var d = findFonts();
    alert(d.length +' fonts found\n'+d.join('\n'));
} else {
    alert('No fonts used in the active document.',);
}

यहाँ छवि विवरण दर्ज करें


1
+500000 अंक। अतुल्य।
हाफ क्रेजेड


क्लिपबोर्ड में टेक्स्ट लिखने के लिए इस उत्तर का उपयोग करें: stackoverflow.com/a/13983268/1578857
Dima Kurilo

(फ़ोटोशॉप CC2018) त्रुटि 8500: अनुरोधित संपत्ति मौजूद नहीं है। पंक्ति 53: var n = layerStyles.getObjectValue (countStyles) .getObjectValue (stringIDToTypeID ('textStyle'))। GetString (stringIDToTypeID ('fontPostScriptName'));
ड्रू

@ ड्रू मैं स्क्रिप्ट के एक निश्चित संस्करण के साथ एक अपडेटेड उत्तर पोस्ट करने वाला
हूं

8

PSD फ़ाइल प्रारूप एडोब द्वारा प्रलेखित है - आप पढ़ सकते हैं कि यह फ़ॉन्ट जानकारी कैसे संग्रहीत करता है।

फिर आप फ़ाइल के हेक्स डंप की जांच कर सकते हैं और फोंट खोजने के लिए फ़ाइल प्रारूप विनिर्देश का उपयोग कर सकते हैं।

वैकल्पिक रूप से, फ़ॉन्ट नाम stringsलिनक्स / यूनिक्स सिस्टम पर पाई गई उपयोगिता के आउटपुट में दिखाई देना चाहिए ।


2
+1: मैं एक ही समाधान के साथ आया था। किसी कारण से GIMP ने PSD को सही तरीके से आयात नहीं किया और मुझे नहीं पता था कि यह किस फ़ॉन्ट का उपयोग किया गया था। मैंने इसे खोजने के लिए एक HEX संपादक में PSD फ़ाइल का विश्लेषण किया (इसे खोजें: TEXT के रूप में "फ़ॉन्ट")। पुनरावर्ती संपादक: "आशीर्वाद"।
लेप

5

पीएस स्क्रिप्ट का उपयोग करना वास्तव में बहुत आसान है, जो आपके PSD की परतों के माध्यम से पुनरावृति कर सकता है और पाठ परत डेटा को खींच सकता है।

मैं हाल ही में एक जावास्क्रिप्ट-आधारित स्क्रिप्ट के साथ प्रयोग कर रहा हूं ताकि सीधे डेवलपर्स को वितरित की जाने वाली comps पर फ़ॉन्ट जानकारी ओवरले किया जा सके। यह समाप्त नहीं हुआ है लेकिन अगर अभी भी रुचि है (मुझे लगता है कि यह काफी पुराना है) मैं एक त्वरित और गंदा संस्करण डाल सकता हूं जो बस एक विंडो में उपयोग किए गए फोंट को पॉप करता है।

अद्यतन: मैं स्क्रिप्ट का एक मोटा, लेकिन "लाइट" काम कर रहा हूं, जिसे मैं विकसित कर रहा हूं। योगदान करने के लिए स्वतंत्र महसूस - https://github.com/davidklaw/completer । स्क्रिप्ट से अपरिचित लोगों के लिए, बस स्क्रिप्ट फ़ाइल को ले जाएं और इसे अपने PS प्रीसेट्स / स्क्रिप्ट फ़ोल्डर के नीचे रखें और यह फ़ाइल -> स्क्रिप्ट्स के तहत उपलब्ध होगा।


सवाल पुराना हो सकता है, लेकिन इसमें लगभग 6,000 विचार हैं। यदि आप एक स्क्रिप्ट प्रदान कर सकते हैं, तो बहुत सराहना की जाएगी! सुपर उपयोगकर्ता में आपका स्वागत है, वैसे!
१२

अच्छा निर्णय। ओपन-सोर्स GitHub प्रोजेक्ट है। यदि कोई मूल जावास्क्रिप्ट से परिचित है, तो उन्हें घर पर सही महसूस करना चाहिए।
डेविड

वाह यह वास्तव में बहुत अच्छा काम करता है: डी (y)!
एजाज़

4

त्वरित और आसान तरीका लापता फ़ॉन्ट्स खोजने के लिए

  1. विंडोज -> चरित्र एक छोटे चरित्र बॉक्स फोंट जानकारी के साथ प्रदर्शित करेगा।

  2. फ़ॉन्ट नाम ड्रॉपडाउन का चयन करें और अंत तक स्क्रॉल करें।

  3. आप फ़ॉन्ट सूची के अंत में हल्के भूरे रंग में लापता फोंट की सूची देखेंगे।

यहाँ छवि विवरण दर्ज करें

प्रेषक: http://www.bala-krishna.com/how-to-find-fonts-used-in-psd-file/


उस पैनल को सक्षम करने के कई तरीके हैं: एक अतिरिक्त एक प्रकार है -> पैनल -> चरित्र।
मार्टिक्स

3

यदि पाठ पहले से ही रस्टीज़ हो गया है, तो आसान तरीका यह होगा कि आप जिस टाइपफेस को पहचानना चाहते हैं, उस क्षेत्र को क्रॉप करें। एक के रूप में सहेजें और इसे व्हाट्सएप पर अपलोड करें , जहां यह आपको यह बताने में सक्षम होना चाहिए कि यह क्या है, जब तक कि यह क्या है। एक अस्पष्ट या एक बात है।

Identifont एक और साइट है जिसका आप उपयोग कर सकते हैं, जहाँ आप टाइपफेस की विशेषताओं का वर्णन करते हैं।


पाठ को अलग नहीं किया गया है, जिसका अर्थ है एक अलग परत में।
डेव

2
@ क्या: यदि पाठ अभी भी संपादन योग्य है, तो आपको बस इतना करना है कि इसे चुनें और देखें कि फ़ॉन्ट ड्रॉपडाउन मेनू में या सूचना पैलेट पर क्या दिखाई देता है। यह वास्तव में स्पष्ट है!
पैराडायरायड

1

मुझे आपके द्वारा आवश्यक पाठ का एक स्नैप लेना चाहिए (अधिमानतः ज़ूम इन) और कुछ अनुमान प्राप्त करने के लिए WhatTheFont का उपयोग करें । (जब आप PSD खोलते हैं और संबंधित पाठ का चयन करते हैं, तो टाइपफेस नहीं दिखाया जाना चाहिए?)

और हां, अगर यह वेब-सुरक्षित फ़ॉन्ट नहीं है, तो आपको इसे बदलने, या फ़ॉलबैक स्टैक प्रदान करने का एक उपयुक्त तरीका खोजने की आवश्यकता होगी।


1

क्रिएटिव क्लाउड एक्सट्रैक्ट का उपयोग करें

इसमें इस्तेमाल किए जाने वाले सभी फोंट (अन्य उपयोगी चीजों के बीच) की सूची होगी।


ऐसा लगता है कि इसमें कुछ क्षमता है, लेकिन इसके लिए ड्रीमविवर को स्थापित करने की आवश्यकता है ..
ड्रू

1

डेविड के मूल उत्तर (DetectFonts.jsx) के आधार पर, मैंने ड्रू द्वारा टिप्पणियों में बताए गए मुद्दे को ठीक करने के लिए स्क्रिप्ट को संशोधित किया है: फ़ोटोशॉप फ़ाइल में उपयोग किए गए सभी फ़ॉन्ट ढूंढें

मूल निर्देशों का पालन करें लेकिन इसके बजाय इस स्क्रिप्ट बॉडी का उपयोग करें - केवल अंतर कुछ अशक्त जांच है (संभवतः या तो फ़ोटोशॉप संस्करण अंतर या विशेष वस्तु प्रकार, लापता डिजाइनर या ऑपरेटिंग सिस्टम विशिष्ट पर लापता डेटा के साथ कुछ करने के लिए)

मैं https://github.com/dcondrey/DetectFontsinPSD पर एक पुल अनुरोध भी प्रस्तुत करूंगा

var p = new ActionReference();

function arrayUnique(a) {
    var t = []
    i = a.length;

    while (i--) {
        var f = false,
            n = t.length;

        while (n--) {
            if (a[i] === t[n]) {
                f = true;
            }
        }

        if (!f) {
            t.push(a[i]);
        }
    }
    return t;
}

function findFonts() {
    p.putEnumerated(charIDToTypeID('Dcmn'), charIDToTypeID('Ordn'), charIDToTypeID('Trgt'));

    var c = executeActionGet(p).getInteger(charIDToTypeID('NmbL')) + 1,
        fonts = [];

    while (c--) {
        var r = new ActionReference(),
            descLayer,
            layerStyles,
            countStyles;

        r.putIndex(charIDToTypeID('Lyr '), c);

        try {
            descLayer = executeActionGet(r);
        } catch (e) {
            continue;
        }

        if (!descLayer.hasKey(stringIDToTypeID('textKey'))) continue;

        layerStyles = descLayer.getObjectValue(stringIDToTypeID('textKey')).getList(stringIDToTypeID('textStyleRange'));
        if(!layerStyles) continue;

        countStyles = layerStyles.count;

        while (countStyles--) {
            var textStyle = layerStyles.getObjectValue(countStyles).getObjectValue(stringIDToTypeID('textStyle'));
            if(!textStyle || !textStyle.hasKey(stringIDToTypeID('fontPostScriptName'))) continue;

            var n = textStyle.getString(stringIDToTypeID('fontPostScriptName'));
            fonts.push(n);
        }
    }

    return arrayUnique(fonts).sort();
}

if (documents.length) {
    var d = findFonts();
    alert(d.length + ' fonts found\n' + d.join('\n'));
} else {
    alert('No fonts used in the active document.');
}

0

फ़ोटोशॉप खोलें। विंडोज »चरित्र पर जाएं । एक छोटा बॉक्स पॉप अप होगा। बस टेक्स्ट लेयर का चयन करें और बॉक्स आपको फ़ॉन्ट परिवार, आकार, वगैरह बताएगा।



0

डेवलपर ने मुझसे लगभग वैसा ही सोचने को कहा जैसा आपको चाहिए। मैं लेयर प्रॉपर्टीज (टेक्स्ट, फॉन्ट नेम, फॉन्ट साइज, फॉन्ट कलर) को एक्सपोर्ट करने के लिए सिंपल स्क्रिप्ट के साथ आया था, जिसे डेवलप करने के लिए आपको जरूरत है, एक सिंगल txt फाइल (विंडोज मशीन पर काम करने की) की।

बस इसे "ExportTexts.js" की तरह सेव करें और Adobe Photoshop> प्रीसेट्स> लिपियों में डालें।

उसके बाद, फ़ोटोशॉप चलाएं (या पुनरारंभ करें) और स्क्रिप्ट चलाएँ (फ़ाइल -> स्क्रिप्ट -> ExportTexts)। यह भी सुनिश्चित करें कि ऐसा करने से पहले आप सभी परतों को अनग्रुप कर लें। निर्यात की गई फ़ाइल psd फ़ाइल के समान डीआईआर में होनी चाहिए।

if (documents.length > 0)
{
    var docRef = activeDocument;
    CurrentFolder = activeDocument.path;
    var outputFile = new File(CurrentFolder + "/" + activeDocument.name + "fonts.txt" );
    outputFile.open("w");
    for (var i = docRef.layers.length-1 ; i >=0 ; i--)
    {
        docRef.activeLa`enter preformatted text here`yer = docRef.layers[i]
        if (docRef.activeLayer.kind == LayerKind.TEXT)
        {
            outputFile.write( 
            docRef.activeLayer.textItem.contents + "\n" + 
            docRef.activeLayer.textItem.font +"," +
            docRef.activeLayer.textItem.size +"," +
            docRef.activeLayer.textItem.color.rgb.hexValue  + "\n\n\n");
        }
    }
    outputFile.close();
    alert("Finished");
}
else
{
    alert("You must have at least one open document to run this script!");
}
docRef = null

आपकी स्क्रिप्ट लाइन 8 पर टूटी है
davidcondrey

और लाइन 12. त्रुटि 8500 पर, संपत्ति मौजूद नहीं है: outputFile.write (;
ड्रू

0

एक मुफ्त फ़ोटोशॉप एक्सटेंशन / पैनल है जो आपके लिए यह काम कर सकता है, मुफ्त फ़ोटोशॉप फ़ॉन्ट डिटेक्टर ( http://www.layerhero.com/photoshop-font-detector/ ), और यदि आप सिस्टम से फ़ॉन्ट फ़ाइलों को इकट्ठा / कॉपी करना चाहते हैं फ़ोल्डर, फ़ोटोशॉप आर्ट पैकर आज़माएं ( http://www.layerhero.com/photoshop-art-packer/ )


"फ्री फ़ोटोशॉप फ़ॉन्ट डिटेक्टर" अब मुफ्त डाउनलोड के रूप में उपलब्ध नहीं है और अब $ 39 के लिए एक महंगे एक्सटेंशन FontHero का हिस्सा है ।
पउल्मज़

उनमें से कोई भी उपलब्ध नहीं हैं। LayerHero मर चुका है .. आश्चर्यजनक रूप से, आप WayBack मशीन से फ़ॉन्ट डिटेक्टर डाउनलोड कर सकते हैं: web.archive.org/web/20171211184218/http://www.layerhero.com/… हालाँकि मैं इसे स्थापित करने में सक्षम नहीं हूं, न ही अनास्तासी के एक्सटेंशन मैनेजर और न ही एडोब एक्समैन के साथ।
ड्रू

0

परत टैब पर एक विकल्प है जो आपको केवल फोंट दिखाने के लिए सभी परतों को फ़िल्टर करने देता है। आपको वास्तव में उन्हें देखने के लिए प्रत्येक परत का चयन करना होगा और यह तभी उपयोगी होगा जब आपको उन पर त्वरित नज़र की आवश्यकता होगी

आशा है कि यह पूछे जाने के तीन साल बाद किसी की मदद करता है।


0

मैं वेब विकास और सीएसएस उद्देश्यों के लिए उनकी शैली, आकार, रंग, स्वरूपण आदि के साथ दस्तावेज़ के फॉन्ट जानना चाहता था, इसलिए यहां मैं क्या कर रहा हूं:

  1. केवल पाठ परतों को फ़िल्टर / देखने के लिए Layers पैनल में "T" आइकन पर क्लिक करें
  2. Shift + left लेयर्स पैलेट में सबसे ऊपरी टेक्स्ट लेयर पर क्लिक करें
  3. लेयर्स पैलेट के नीचे की तरफ सभी तरह से स्क्रॉल करें और Shift + लेफ्ट टेक्स्ट टेक्स्ट लेयर पर क्लिक करें
  4. लेयर्स पैलेट में चयनित परतों पर राइट क्लिक करें और "डुप्लीकेट लेयर्स" चुनें।
  5. गंतव्य दस्तावेज़ के तहत, नया चुनें
  6. अपने नए दस्तावेज़ पर जाएं जिसमें आपकी सभी पाठ परतें होनी चाहिए
  7. पाठ की सभी परतों को फिर से चुनें (चरण # 2 और # 3 देखें)
  8. सभी टेक्स्ट लेयर्स को एक समूह में बनाने के लिए लेयर्स पैलेट के नीचे स्थित फ़ोल्डर आइकन पर क्लिक करें
  9. समूह के सम्मिश्रण मोड (परतों पैलेट में ड्रॉपडाउन) को "सामान्य" में बदलें
  10. अपने नए समूह पर राइट क्लिक करें
  11. "कॉपी सीएसएस" चुनें
  12. एक दस्तावेज़ में पेस्ट करें और आवश्यकतानुसार अपनी शैलियों की सूची को प्रारूपित करें!

-1

फोंट की जानकारी प्राप्त करने के लिए एक PSD फ़ाइल का उपयोग करें आप ऑनलाइन टूल का उपयोग कर सकते हैं यदि आप फ़ोटोशॉप का उपयोग नहीं कर सकते हैं या नहीं (या यदि आप जिम्प का उपयोग करना पसंद करते हैं, तो यह PSD फोंट को बेहतर बनाता है)।

उदाहरण के लिए आप इस html5 PSD फ़ॉन्ट ऑनलाइन एक्सट्रैक्टर "गेट PSD फ़ॉन्ट्स" को आज़मा सकते हैं ।

मेलिटिसिस जीथब प्रोजेक्ट psd.js पर आधारित यह एक PSD फ़ॉन्ट सूचना चिमटा है जिसे आपके ब्राउज़र पृष्ठ में स्थानीय रूप से काम करने वाली फ़ाइलों को अपलोड करने की आवश्यकता नहीं है


यह फ़ाइल को जावास्क्रिप्ट में खोलता है, बिना सर्वर पर भेजे, अपने ब्राउज़र पेज में! आपको फ़ाइल पथ निर्दिष्ट करने के लिए फ़ाइल को छोड़ना होगा ...
Giovazz89

हो सकता है कि आपके द्वारा बताई गई परियोजनाओं के साथ आपके द्वारा किए गए किसी भी संबंध का खुलासा हो, भले ही वह मुफ्त में हो।
जर्नीमैन गीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.