JS/GlyphFormの指定の仕方
[2104]JS/GlyphFormの指定の仕方 |
投稿者:りょう |
投稿日:2008/12/17(Wed) 21:21:43
CS3でJSに初めて取り組んでる超初心者です。
(ASとVBSならやってるのですが……)
文字スタイルで半角数字を「等幅半角字形」にすると、「?」や「 , 」も半角になってしまいます。
「等幅半角字形」を検索して「標準字形」に置換したいのですが、
以下のようにするとfindTextPreferences.GlyphFormでエラーになってしまいます。
GlyphFormはどのように指定すれば良いのでしょうか……お助け下さい……
var keyword = "?"; // 置換元の文字
var repWord = "?"; // 置換後の文字
app.findTextPreferences.GlyphForm = 1247897453; //等幅半角字形
app.changeTextPreferences.GlyphForm = 1852796517; //標準字形
app.findTextPreferences.findWhat = keyword;
app.changeTextPreferences.changeTo = repWord;
for (var j=0; j<app.activeDocument.pages.length; j++){
var pageObj = app.activeDocument.pages[j];
for (var i=0; i<pageObj.textFrames.length; i++){
if (pageObj.textFrames[i].parentStory.contents.length > 0) {
pageObj.textFrames[i].parentStory.changeText();
}
}
}
» 1
(ASとVBSならやってるのですが……)
文字スタイルで半角数字を「等幅半角字形」にすると、「?」や「 , 」も半角になってしまいます。
「等幅半角字形」を検索して「標準字形」に置換したいのですが、
以下のようにするとfindTextPreferences.GlyphFormでエラーになってしまいます。
GlyphFormはどのように指定すれば良いのでしょうか……お助け下さい……
var keyword = "?"; // 置換元の文字
var repWord = "?"; // 置換後の文字
app.findTextPreferences.GlyphForm = 1247897453; //等幅半角字形
app.changeTextPreferences.GlyphForm = 1852796517; //標準字形
app.findTextPreferences.findWhat = keyword;
app.changeTextPreferences.changeTo = repWord;
for (var j=0; j<app.activeDocument.pages.length; j++){
var pageObj = app.activeDocument.pages[j];
for (var i=0; i<pageObj.textFrames.length; i++){
if (pageObj.textFrames[i].parentStory.contents.length > 0) {
pageObj.textFrames[i].parentStory.changeText();
}
}
}
[2105]Re: JS/GlyphFormの指定の仕方 |
投稿者:せうぞー |
投稿日:2008/12/17(Wed) 21:40:28
GlyphFormではなくて、glyphFormを使ってください
余計なことかもしれませんが、ドキュメントすべてに対して置換したければ、forで繰り返さなくても
document_object.changeText();
でいいですよ。
あと、オブジェクトの階層として、ストーリーはテキストフレームの上位階層です。ページも考慮する必要はありません。
» 2
余計なことかもしれませんが、ドキュメントすべてに対して置換したければ、forで繰り返さなくても
document_object.changeText();
でいいですよ。
あと、オブジェクトの階層として、ストーリーはテキストフレームの上位階層です。ページも考慮する必要はありません。
[2106]Re: JS/GlyphFormの指定の仕方 |
投稿者:りょう |
投稿日:2008/12/17(Wed) 21:57:37
せうぞーさん、ありがとうございます
InDesign・JSと言えばせうぞーさんなので、最初せうぞーさんのボードに書き込もうと思ったのですが
いつの間にかBBSなくなってたんですね……
> GlyphFormではなくて、glyphFormを使ってください
ひえ?、そんな些細なことなんですか……。明日会社で試してみます。
(ファイアウォールのせいか会社からはこのボードに書き込みできないんです)
> 余計なことかもしれませんが、ドキュメントすべてに対して置換したければ、forで繰り返さなくても
> document_object.changeText();
> でいいですよ。
> あと、オブジェクトの階層として、ストーリーはテキストフレームの上位階層です。ページも考慮する必要はありません。
むむむ……
上記のスクリプトはある方のサンプルを引用させてもらたのですが……そうなんですか……
でもドキュメント内で一括置換の方が納得できますね
InDesign・JSと言えばせうぞーさんなので、最初せうぞーさんのボードに書き込もうと思ったのですが
いつの間にかBBSなくなってたんですね……
> GlyphFormではなくて、glyphFormを使ってください
ひえ?、そんな些細なことなんですか……。明日会社で試してみます。
(ファイアウォールのせいか会社からはこのボードに書き込みできないんです)
> 余計なことかもしれませんが、ドキュメントすべてに対して置換したければ、forで繰り返さなくても
> document_object.changeText();
> でいいですよ。
> あと、オブジェクトの階層として、ストーリーはテキストフレームの上位階層です。ページも考慮する必要はありません。
むむむ……
上記のスクリプトはある方のサンプルを引用させてもらたのですが……そうなんですか……
でもドキュメント内で一括置換の方が納得できますね
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)