我正在尝试相当于选择一些文本并单击 Small Caps 按钮。以下是一些尝试:
app.activeDocument.textFrames[0].texts.appliedCharacterStyle.capitalization = Capitalization.SMALL_CAPS;
不起作用:“根样式上的请求无效”
var myCharacterStyle = new CharacterStyle();
myCharacterStyle.capitalization = Capitalization.SMALL_CAPS;
app.activeDocument.textFrames[0].texts[0].applyCharacterStyle(myCharacterStyle);
不起作用:“参数'使用'的方法'applyCharacterStyle'的值无效。预期的CharacterStyle,但什么都没收到。”
我该怎么做?
答案 0 :(得分:2)
如果要更改默认的“[无]”
,则需要先创建新的字符样式//First create a new character style
var newCharacterStyle = document.characterStyles.add(text.appliedCharacterStyle);
if(text.appliedCharacterStyle!=null){
newCharacterStyle.basedOn = text.appliedCharacterStyle;
}
text.appliedCharacterStyle = newCharacterStyle;
//then apply capitalization
newCharacterStyle.capitalization = Capitalization.SMALL_CAPS;
答案 1 :(得分:0)
我找到了一种 buggy 方式在文字上设置 Small Caps :
app.activeDocument.textFrames[0].texts[0].appliedParagraphStyle.capitalization = Capitalization.SMALL_CAPS;
我说错误因为不是仅在想要的文字上设置 Small Caps ,所以整个段落都是样式化的。情况就是这样,因为我使用的是appliedParagraphStyle
而不是appliedCharacterStyle
。但是当我使用appliedCharacterStyle
时,我得到“根样式的无效请求”。因为当前CharacterStyle
是一个特殊的名为“[无]”。 “[无]”CharacterStyle不允许写入其appliedCharacterStyle属性,也不允许复制(使用duplicate()
)。