Suchen Sie alle in einer Photoshop-Datei verwendeten Schriftarten

54

Ich habe diese .psd(Photoshop-Datei) und ich versuche, sie in HTML & CSS zu konvertieren.

Ich kann nur nicht feststellen, welche Schriftart sie in der Schrift verwendet haben .psd

Wie kann ich herausfinden, welche Schriftarten in der Photoshop-Datei verwendet wurden?

Dave
quelle
Ab CC2018 sind 2 der folgenden Skripte und das jsx-Plugin fehlerhaft. Ich habe speziell für jeden kommentiert.
Drew

Antworten:

63

Hängt davon ab, wie Sie die Informationen extrahieren möchten.

Pro Abschnitt oder Textbereich

Wählen Sie das Textwerkzeug ( T- Symbol mit Serifen) und klicken Sie auf den Textbereich, um ihn zu bearbeiten. Es wird angezeigt, welche Schriftart im Zeichenfenster verwendet wird.

Alle verwendeten Schriften auf einen Blick

  1. Speichern oder exportieren Sie das Bilddokument als PDF
  2. Öffnen Sie die PDF-Version in Adobe Reader
  3. Wählen Sie Datei → Eigenschaften → Schriftarten

Daraufhin werden alle einbettbaren Schriftarten aufgelistet, die in der PSD-Datei verwendet werden, sofern Sie sie einbetten können.

Fehlende Schriftarten

Wechseln Sie im Zeichenwerkzeug zur Dropdown-Liste für die Schriftauswahl. Am Ende der Liste stehen die Schriftarten, die im Bild verwendet werden, aber auf Ihrem System fehlen. Diese sind normalerweise ausgegraut.

Rastergroße Bilder

Wenn Sie gerasterte Bilder sehen, für die Sie die Schriftart benötigen, exportieren Sie am besten nur diesen Abschnitt als klares, eigenständiges Bild und verwenden Sie einen Dienst wie What the Font , um die Schriftart zu bestimmen.

zufällig
quelle
23

Speichern Sie dieses Skript als neue Datei in Ihrem Ordner Photoshop> Vorgaben> Skripte. Nennen Sie es, wie Sie möchten "Detect Fonts.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.',);
}

Bildbeschreibung hier eingeben

Davidcondrey
quelle
1
+500000 Punkte. Unglaublich.
Half Crazed
Verwenden Sie diese Antwort, um Text in die Zwischenablage zu schreiben: stackoverflow.com/a/13983268/1578857
Dima Kurilo
(Photoshop CC2018) Fehler 8500: Die angeforderte Eigenschaft ist nicht vorhanden. Zeile 53: var n = layerStyles.getObjectValue (countStyles) .getObjectValue (stringIDToTypeID ('textStyle')). GetString (stringIDToTypeID ('fontPostScriptName'));
Drew
@Drew Ich bin dabei, eine aktualisierte Antwort mit einer festen Version des Skripts zu veröffentlichen
agrath
8

Das PSD-Dateiformat ist von Adobe dokumentiert. Sie können lesen, wie darin Schriftinformationen gespeichert werden .

Sie können dann einen hexadezimalen Speicherauszug der Datei untersuchen und anhand der Dateiformatspezifikation die Schriftarten suchen.

Alternativ sollten die Schriftnamen in der Ausgabe des stringsDienstprogramms auf Linux / Unix-Systemen sichtbar sein.

RedGrittyBrick
quelle
2
+1: Ich habe die gleiche Lösung gefunden. Aus irgendeinem Grund importierte GIMP die PSD nicht richtig und ich wusste nicht, welche Schriftart verwendet wurde. Ich habe die PSD-Datei in einem HEX-Editor analysiert, um sie zu finden (Suche nach: "Schriftart" als TEXT). Empfohlener Redakteur: "segne".
Lepre
5

Mit PS-Skripten, die die Ebenen Ihrer PSD durchlaufen und Textebenendaten abrufen können, ist dies eigentlich sehr einfach.

Ich habe in letzter Zeit mit einem JavaScript-basierten Skript experimentiert, um Schriftinformationen direkt auf Comps zu überlagern, die Entwicklern bereitgestellt werden. Es ist noch nicht fertig, aber wenn es immer noch Interesse gibt (ich sehe, dass dies ziemlich alt ist), kann ich eine schnelle und schmutzige Version erstellen, die einfach die in einem Fenster verwendeten Schriftarten anzeigt.

UPDATE: Ich habe eine grobe, aber funktionierende "Lite" -Version des Skripts zusammengestellt, das ich entwickle. Sie können gerne einen Beitrag leisten - https://github.com/davidklaw/completer . Für diejenigen, die mit Skripten nicht vertraut sind, nehmen Sie einfach die Skriptdatei und legen Sie sie in Ihrem PS Presets / Scripts-Ordner ab. Sie finden sie unter Datei -> Skripten.

David
quelle
Die Frage mag alt sein, hat aber fast 6.000 Aufrufe. Wenn Sie ein Skript zur Verfügung stellen könnten, wäre das sehr dankbar! Willkommen bei Super User übrigens!
Slhck
Guter Anruf. Open-Source-GitHub-Projekt ist aktiv. Wenn jemand mit grundlegendem JavaScript vertraut ist, sollte er sich wie zu Hause fühlen.
David
wow das funktioniert eigentlich ganz gut: D (y)!
Ejaz
4

Schnelle und einfache Möglichkeit, fehlende Schriftarten zu finden

  1. Windows -> Zeichen Ein kleines Zeichenfeld mit Informationen zu Schriftarten wird angezeigt.

  2. Wählen Sie das Dropdown-Menü für den Schriftnamen und scrollen Sie bis zum Ende.

  3. Sie werden am Ende der Schriftenliste eine hellgraue Liste fehlender Schriften bemerken.

Bildbeschreibung hier eingeben

Von: http://www.bala-krishna.com/how-to-find-fonts-used-in-psd-file/

Praveen Vijayan
quelle
Es gibt zahlreiche Möglichkeiten, dieses Bedienfeld zu aktivieren: Ein weiteres ist Typ -> Bedienfelder -> Zeichen.
Martixy
3

Wenn der Text bereits gerastert wurde, können Sie den Bereich auf einfache Weise mit der zu identifizierenden Schriftart zuschneiden , als PNG speichern und auf WhatTheFont hochladen ist eine obskure oder maßgeschneiderte.

Identifont ist eine weitere Website, auf der Sie die Eigenschaften der Schrift beschreiben können.

paradroid
quelle
Der Text wird nicht gerastert, dh er befindet sich in einer separaten Ebene.
Dave
2
@ Dave: Wenn der Text noch bearbeitet werden kann, müssen Sie ihn nur auswählen und sehen, was im Dropdown-Menü für Schriftarten oder in der Informationspalette angezeigt wird. Das ist wirklich offensichtlich!
Paradroid
1

Ich würde einen Ausschnitt des benötigten Textes nehmen (am besten vergrößert) und WhatTheFont verwenden , um einige Vermutungen anzustellen . (Sollte die Schriftart nicht angezeigt werden, wenn Sie die PSD öffnen und den entsprechenden Text auswählen?)

Und wenn es sich nicht um eine websichere Schriftart handelt, müssen Sie natürlich eine geeignete Methode zum Ersetzen oder Bereitstellen eines Ersatzstapels finden.

Roguesys
quelle
1

Verwenden Sie Creative Cloud Extract

Es werden alle verwendeten Schriften aufgelistet (unter anderem nützliche Dinge).

Skube
quelle
Sieht so aus, als hätte es einiges Potenzial, aber dafür muss DreamWeaver installiert werden.
Drew,
1

Basierend auf Davids ursprünglicher Antwort (DetectFonts.jsx) habe ich das Skript geändert, um das von Drew in den Kommentaren angegebene Problem zu beheben: Finden Sie alle in einer Photoshop-Datei verwendeten Schriftarten .

Befolgen Sie die Originalanweisungen, aber verwenden Sie stattdessen diesen Skripttext. Der einzige Unterschied sind ein paar Nullprüfungen (vermutlich entweder ein Unterschied in der Photoshop-Version oder etwas, das mit fehlenden Daten zu bestimmten Objekttypen, wahrscheinlich einem bestimmten Designer oder Betriebssystem zusammenhängt).

Ich werde auch eine Pull-Anfrage an https://github.com/dcondrey/DetectFontsinPSD senden

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.');
}
agrath
quelle
0

Öffnen Sie Photoshop. Gehen Sie zu Windows »Character . Eine kleine Box wird auftauchen. Wählen Sie einfach die Textebene aus und das Feld zeigt Ihnen die Schriftfamilie, die Größe usw. an.

Jack
quelle
0

Verwenden Sie das Online-Tool, um die Schriften der PSD-Datei abzurufen

http://psdfonts.com/

Ahsan Idrisi
quelle
Seite ist nicht mehr aktiv
Michiel van der Blonk
0

Der Entwickler hat mich fast genauso gefragt, wie Sie es wollten. Ich habe mir ein einfaches Skript ausgedacht, um Layereigenschaften (Text, Schriftname, Schriftgröße, Schriftfarbe), die Sie beim Entwickeln benötigen, in eine einzige txt-Datei zu exportieren (sollte auf einem Windows-Computer funktionieren).

Speichern Sie dies einfach wie "ExportTexts.js" und fügen Sie es in Adobe Photoshop> Vorgaben> Skripte ein.

Führen Sie danach Photoshop aus (oder starten Sie es neu) und führen Sie das Skript aus (Datei -> Skripts -> ExportTexts). Stellen Sie außerdem sicher, dass Sie alle Ebenen aufgelöst haben, bevor Sie dies tun. Die exportierte Datei sollte sich in demselben Verzeichnis wie die PSD-Datei befinden.

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
van
quelle
Dein Drehbuch ist in Zeile 8
kaputt
Und in Zeile 12. Fehler 8500, Eigenschaft existiert nicht: outputFile.write (.
Drew
0

Mit Free Photoshop Font Detector ( http://www.layerhero.com/photoshop-font-detector/ ) gibt es eine kostenlose Photoshop-Erweiterung / ein kostenloses Bedienfeld, mit dem Sie diese Aufgabe erledigen können Ordner, versuchen Sie Photoshop Art Packer ( http://www.layerhero.com/photoshop-art-packer/ )

user3110420
quelle
Der "Free Photoshop Font Detector" ist nicht mehr als kostenloser Download verfügbar und ist jetzt Teil einer teuren Erweiterung FontHero für 39 US-Dollar .
Paulmz
Keines davon ist verfügbar. LayerHero ist tot. Erstaunlicherweise können Sie Font Detector von der WayBack-Maschine herunterladen: web.archive.org/web/20171211184218/http://www.layerhero.com/… Allerdings konnte ich es auch nicht installieren mit Anastasiy's Extension Manager oder Adobe ExMan.
Drew
0

Auf der Registerkarte Ebenen gibt es eine Option, mit der Sie alle Ebenen filtern können, um nur die Schriftarten anzuzeigen. Sie müssen jede Ebene auswählen, um sie tatsächlich zu sehen. Dies ist nur dann sinnvoll, wenn Sie einen kurzen Blick darauf werfen möchten

Hoffe es hilft jemandem drei Jahre nachdem dies gefragt wurde.

edrpls
quelle
0

Ich wollte die Schriftarten von Dokumenten zusammen mit ihren Stilen, Größen, Farben, Formatierungen usw. für Webentwicklungs- und CSS-Zwecke kennen. Deshalb habe ich mir Folgendes ausgedacht:

  1. Klicken Sie im Ebenenbedienfeld auf das Symbol "T", um nur Textebenen zu filtern / anzuzeigen
  2. Klicken Sie mit gedrückter Umschalttaste und der linken Maustaste auf die oberste Textebene in der Ebenen-Palette
  3. Scrollen Sie ganz nach unten in der Ebenen-Palette und klicken Sie bei gedrückter Umschalttaste mit der linken Maustaste auf die untere Textebene
  4. Klicken Sie mit der rechten Maustaste auf die ausgewählten Ebenen in der Ebenen-Palette und wählen Sie "Ebenen duplizieren".
  5. Wählen Sie unter Zieldokument die Option Neu aus
  6. Wechseln Sie zu Ihrem neuen Dokument, das alle Textebenen enthalten soll
  7. Wählen Sie alle Textebenen erneut aus (siehe Schritt 2 und 3).
  8. Klicken Sie auf das Ordnersymbol unten in der Ebenen-Palette, um alle Textebenen zu einer Gruppe zusammenzufassen
  9. Ändere den Mischmodus der Gruppe (das Dropdown-Menü in der Ebenen-Palette) auf "Normal"
  10. Klicken Sie mit der rechten Maustaste auf Ihre neue Gruppe
  11. Wähle "CSS kopieren"
  12. Fügen Sie sie in ein Dokument ein und formatieren Sie die Liste der Stile nach Bedarf!
cfx
quelle
-1

Um die Schriftarteninformationen aus einer PSD-Datei abzurufen, können Sie Online-Tools verwenden, wenn Sie Photoshop nicht verwenden können oder nicht möchten (oder wenn Sie Gimp bevorzugen, mit dem PSD-Schriftarten gerastert werden).

Zum Beispiel können Sie diesen HTML5-PSD-Font-Online-Extraktor "Get PSD Fonts" ausprobieren .

Es ist ein PSD-Font-Informationsextraktor, der auf dem Melitingice Github-Projekt psd.js basiert und kein Hochladen von Dateien erfordert und lokal auf Ihrer Browserseite arbeitet

Giovazz89
quelle
Es öffnet die Datei in Javascript, ohne sie an einen Server zu senden, in Ihrer eigenen Browserseite! Sie müssen die Datei
löschen
Möglicherweise möchten Sie Ihre Zugehörigkeit zu den genannten Projekten offenlegen, auch wenn diese kostenlos sind.
Geselle Geek