I have this .psd
(Photoshop file) and I'm trying to convert it to HTML & CSS.
Only thing I can't determine is what font they used in the .psd
How can I find out what fonts were used in the Photoshop file?
I have this .psd
(Photoshop file) and I'm trying to convert it to HTML & CSS.
Only thing I can't determine is what font they used in the .psd
How can I find out what fonts were used in the Photoshop file?
Depends on how you want to extract the information.
Select the Text tool (T icon with serifs) and click on the text area to edit it. It will show what font is being used in the Character window.
This will list all the embeddable fonts used in the PSD file, provided you can embed them.
In the Character tool, go to the font selection drop down. At the end of the list will be the fonts that are used in the image but are missing from your system. These will typically be greyed out.
If you see any rasterized images you need the font face of, you'd best export just that section as a clear, standalone image and use a service like What the Font to determine the font.
Save this script as a new file in your Photoshop > Presets > Scripts folder. Name it whatever you want, such as "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.',);
}
The PSD file format is documented by Adobe - you can read how it stores font information.
You could then examine a hex dump of the file and use the file format specification to find the fonts.
Alternatively, the font names ought to be visible in the output of the strings
utility found on Linux/Unix systems.
This is actually very easy to do using PS scripts, which can iterate through the layers of your PSD and pull text layer data.
I've been experimenting lately with a JavaScript-based script to overlay font information directly on comps that get delivered to developers. It's not finished but if there's still interest (I see this is quite old) I can put up a quick-and-dirty version that simply pops up the fonts used in a window.
UPDATE: I put together a rough but working "lite" version of the script I'm developing. Feel free to contribute - https://github.com/davidklaw/completer. For those unfamiliar with scripts just take the script file and put it under your PS Presets/Scripts folder and it'll be available under File -> Scripts.
Quick and Easy Way To Find Missing Fonts
Windows -> Character A small character box will display with fonts information.
Select font name dropdown and scroll down till end.
You will notice list of missing fonts in light grey color at the end of font list.
From : http://www.bala-krishna.com/how-to-find-fonts-used-in-psd-file/
If the text has already been rasterized, the easy way would be to crop the area with the typeface you want to identify, save as a .png and upload it to WhatTheFont, where it should be able to tell you what it is, unless it is an obscure or bespoke one.
Identifont is another site you can use, where you describe characteristics of the typeface.
I would take a snap of the text you need (preferably zoomed in) and use WhatTheFont to get some guesses. (Shouldn't the typeface be shown when you open the PSD and select the respective text, though?)
And of course, if it's not a web-safe font, you'll need to find an appropriate way of replacing it, or providing a fallback stack.
It will list all fonts used (among other handy things).
Based on David's original answer (DetectFonts.jsx), I have modified the script to fix the issue reported by Drew in the comments: Find all the fonts used in a Photoshop file.
Follow the original instructions but use this script body instead - only difference is a few null checks (presumably either a photoshop version difference or something to do with missing data on particular object types, likely designer or operating system specific)
I will also submit a pull request to 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.');
}
Open Photoshop. Go to Windows » Character. A small box will pop up. Just select the text layer and the box will tell you the font family, size, et cetera.
Use online tool to get fonts of psd file
Developer asked me almost the same think like you needed. I came up with editing simple script, to export layer properties (text, font name, font size, font color) which you need when developing, to a single txt file (should work on Windows machine).
Just save this like "ExportTexts.js" and put in Adobe Photoshop > Presets > Scripts.
After that, run (or restart) Photoshop and run script (File -> Scripts -> ExportTexts). Also make sure you ungrouped all layers before doing this. Exported file should be in a same dir as psd file.
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
There's a free Photoshop Extension/Panel which can do this job for you, Free Photoshop Font Detector (http://www.layerhero.com/photoshop-font-detector/), and if you want to collect/copy font files from system folder, try Photoshop Art Packer(http://www.layerhero.com/photoshop-art-packer/)
There is an option on the Layers tab that lets you filter all of the layers to show only the fonts. You have to select each layer to actually see them and it is useful only if you need a quick glance at them
Hope it helps someone three years after this was asked.
I wanted to know document fonts along with their styles, sizes, colors, formatting, etc. for web development and CSS purposes, so here's what I came up with:
To get the fonts information form a PSD file you can use online tools if you can't or won't use Photoshop (or if you prefer using Gimp, that rasterizes PSD fonts).
For example you can try out this html5 PSD font online extractor "Get PSD Fonts".
It's a PSD font information extractor based on Melitingice Github project psd.js that does not require uploading files, working locally in your browser page