dav*_*ave 58 fonts adobe-photoshop
我有这个.psd(Photoshop 文件),我正在尝试将其转换为 HTML 和 CSS。
我唯一无法确定的是他们在 .psd
如何找出 Photoshop 文件中使用的字体?
ran*_*dom 65
取决于您想如何提取信息。
选择文本工具(带衬线的T图标)并单击文本区域进行编辑。它将显示字符窗口中正在使用的字体。
这将列出PSD 文件中使用的所有可嵌入字体,前提是您可以嵌入它们。
在字符工具中,转到字体选择下拉列表。列表末尾将是图像中使用但系统中缺少的字体。这些通常会变灰。
如果您看到任何需要字体外观的光栅化图像,您最好仅将该部分导出为清晰的独立图像,并使用像什么字体这样的服务来确定字体。
dav*_*rey 25
将此脚本另存为 Photoshop > Presets > Scripts 文件夹中的新文件。随意命名,例如“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.',);
}
Run Code Online (Sandbox Code Playgroud)

这实际上很容易使用 PS 脚本来完成,它可以遍历 PSD 的图层并提取文本图层数据。
我最近一直在试验基于 JavaScript 的脚本,以将字体信息直接覆盖在交付给开发人员的组件上。它还没有完成,但如果还有兴趣(我看到这已经很老了),我可以提供一个快速而肮脏的版本,它只是弹出窗口中使用的字体。
更新:我整理了我正在开发的脚本的一个粗略但有效的“精简版”版本。随意贡献 - https://github.com/davidklaw/completer。对于那些不熟悉脚本的人,只需将脚本文件放在您的 PS Presets/Scripts 文件夹下,它就会在 File -> Scripts 下可用。
| 归档时间: |
|
| 查看次数: |
157241 次 |
| 最近记录: |