为什么可以';my ExtendScript是否访问“app.activeDocument.fonts”返回给我的某些字体的“name”属性?
我正在制作一个ExtendScript脚本,它将遍历InDesign文档中使用的所有字体,并提醒它们的名称。这是密码为什么可以';my ExtendScript是否访问“app.activeDocument.fonts”返回给我的某些字体的“name”属性?,fonts,adobe,extendscript,adobe-indesign,Fonts,Adobe,Extendscript,Adobe Indesign,我正在制作一个ExtendScript脚本,它将遍历InDesign文档中使用的所有字体,并提醒它们的名称。这是密码 var usedFonts = app.activeDocument.fonts; var nbUsedFonts = usedFonts.length; var i; for (i = 0; i < nbUsedFonts; ++i) { alert(usedFonts.item(i).name); } var usedFonts=app.activeDocumen
var usedFonts = app.activeDocument.fonts;
var nbUsedFonts = usedFonts.length;
var i;
for (i = 0; i < nbUsedFonts; ++i) {
alert(usedFonts.item(i).name);
}
var usedFonts=app.activeDocument.font;
var nbUsedFonts=usedFonts.length;
var i;
对于(i=0;i
但是,对于某些字体,当我访问它们的name
属性时,脚本崩溃(对象无效)。对于所有字体,我可以访问的唯一属性是isValid
属性,该属性允许我确定无法访问name
属性的字体都具有isValid==false
,而所有使用name
不会导致问题的字体都有isValid===true
让我惊讶的是,如果我手动将光标放在使用某个有问题的字体的文本中,它的名称会出现在普通字体选择器中,或者不管它叫什么
为什么我不能访问app.activeDocument.font
返回给我的一些字体的name
属性
注意:
以下是一些有问题的字体:
- Electra LH,斜体
- Electra LH,粗体小帽和老式人物
- Electra LH,老式人物
- 海洋无山,轻OsF
- 海洋无MT,浅斜体OsF
- 海洋圣山酒店
- 海洋圣山,轻SC
- 海洋无山,光明
- Electra LH、小帽和老式人物
- 伊莱克特拉LH,草书
- Electra LH,大胆的老式人物
var usedFonts = document.fonts;
for(var i = 0; i < usedFonts.length; i++){
if(usedFonts[i].status != FontStatus.INSTALLED){
//You can't rely on font.name if the font is missing
var fontName = usedFonts[i].fontFamily+" "+usedFonts[i].fontStyleName;
}else{
var fontName = usedFonts[i].name;
}
}
var usedFonts=document.font;
对于(变量i=0;i
谢谢,我最后只为每种字体使用了fontFamily
和fontStyleName
。