FC2カウンター
ブログ内検索
プロフィール

流星光輝

Author:流星光輝
InDesignを仕事で使っています。
まんどい作業をScriptで解決すべく
精進の日々を過ごしております。

カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -

スポンサーサイト
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
スポンサー広告  

InDesignのDocument Fontsあれこれ
今回、色々と弄っていて、わかったことがあるので、ポストしておきます。
tenてんてーの「Document fontsに関する問題」を読まれると、何それオイシーの?から脱却できまし(お

■テスト用のドキュメントの作り方
1)InDesignで新規ドキュメントを作成
2)最初のページにテキストフレームを作成
3)上記2)のテキストフレームに文字を入力
4)保存します。
5)inddを保存した階層にDocument Fontsフォルダを作成
6)システムフォントに無いフォントを用意し、上記5)にコピー
7)上記4)のinddを開いて、上記6)のフォントを上記3)の文字に適用

さて、ここまでの手順で、ドキュメントフォントの使用されたinddが準備できたと思います。
下記の適当なコードをESTKで実行します。
#target indesign
if (app.documents.length!=0){
    var doc=app.activeDocument;
    var a1=doc.fonts[0];
    var a2=doc.textFrames[0].characters[0].appliedFont;
    $.bp();
    }
6行目でブレークポイントを設定しているので、止まります。
データブラウザパネルに変数a1とa2が見えると思います。
変数a1とa2は共にfontsへの参照ですが、最初に変数a1をダブルクリックすると正しく見えます。
次に変数a2をダブルクリックすると、ほとんどのプロパティで値が正しくない状態になります。
変数a2にアクセスするときに何かが起こってるのですが、何が起きているかは分かりません。
改めて、6行目のブレークポイントをlocationプロパティの内容をjavaScriptコンソールに書き出すように書き換えます。
    $.writeln(a1.location);
    $.writeln(a2.location);
書き換えたら再度、実行します。 a2.locationをコンソールに出力するコードでエラーが発生しますね。

Document Fontsフォルダのフォントが使用されているinddに対してScriptingするときは、
この辺りに注意して書いてあげれば、なんとかなったりすると思います。
InDesign Scripting TB(0) CM(0) 

三島梅花藻さんの「そのままアンカー付きオブジェクト化.jsx」をCS6で動かすための書き換えメモ
三島梅花藻さんが公開してくださっている
「そのままアンカー付きオブジェクト化.jsx」を
InDesignCS6で使うための書き換えメモ


とても便利なScriptなのですが、茶尾さんのツイートで、
どうやらCCで動かないとのこと。
せうぞーさんの記事を提案したところ、これも動かないとのことなので、
ソースコードを書き換えることでCS6で動かせるように修正したので、
そのメモ書きになります。

梅花藻さんの所(InDesignスクリプト配給所)からDLしていただいて、
下記3点について書き換えを行うことで、CS6でも動くようになると思います。
CCの環境の方もお時間ありましたら、試してみてくださいね。

※ 変更する部分は長くなってしまうので、追記に記載しました。
続きを読む...
InDesign Scripting TB(0) CM(0) 

InDesignからのDB戻し(表関係)
表組をDBに戻すっていう要求は結構あると思います。
んで、下図のような表の場合、どーやってDBに戻すかというと、
連結されたセルを前処理してDBに戻すと思います。

■InDesign組版の表(セルが連結されてます)
20131103_table1.png

■とりあえず表を連結解除します
20131103_table2.png

■Script実行後
20131103_table3.png

こんな感じでDBに戻すための前処理をScriptで書いてあげれば、
戻し作業は簡単になりますね。

下記のてきとーなScriptで、空セルに情報を引き継ぐことができます。
#target indesign
//横組:空セルに文字を引き継ぐScript
(function(){
if(app.selection.length==1){
    if(app.selection[0].constructor.name.match(/Table|Cell/)){
        var s=app.selection[0];
        for (var i=0;i<s.columns.length;i++){ //列でループ
            for (var j=0;j<s.columns[i].cells.length;j++){
                if (s.columns[i].cells[j].contents==""){ //空セル発見
                    s.columns[i].cells[j].texts[0].contents=s.columns[i].cells[j-1].texts[0].contents; //上のセル内容を引き継ぐ
                    }
                }
            }
        }
    }
})();

InDesign Scripting TB(0) CM(0) 

お返事ちょうだいあどびさん
えー全然お返事頂けないので、晒しますよ。
【フォーラムに質問したのはこちら】

どういう不具合なのかというと、ざっくり言うならば「重大なミス」です。(バッサリ

普通は入力範囲のチェックって不適切な値をはじくための仕組みですから、
有効になるべき値がはじかれてしまうのは、あってはならないことなのです。

UI.png

画像のように表示倍率は、5~4000%になっています。
フォーラムで書いたコードだと、3001%以上ではエラーになります。
ということは、画像で見えるとおり、3200%と4000%に設定したい場合は、
Scriptから処理できないということになります。(重要なんですよ。)

で、過去バージョンはどうだったかというと…
ちゃんと設定できるわけですよ。
ということで、こういう風に考えました。

suisoku_code.png

書き換えちゃってるからこんなことになってるんだよねー(しろめ
※厳密に言えば、CSくらいだと8000%でも「余裕」で受け付けてくれたので、
入力値チェックは毎回見直しされてるのかも知れませんが、これは明らかに間違いです。

ということで、さっさとパッチしてくださいな。困ってるんで。
未分類 TB(0) CM(0) 

Illustratorのプレビューって挙動不審?
■IllustratorCS

1)適当に矩形を作成
0101_CS1_rectangle_add.png

2)効果→スタイライズ→角を丸くする を選択
0102_CS1_effect_select.png

3)プレビューをカチ=ON(反映される)
0103_CS1_effect_on.png

4)プレビューをカチ=OFF(反映される)
0104_CS1_effect_off.png

で、上記3)と4)をカチカチカチカチしていても、その都度プレビューがON/OFFされてくれるのですが、
IllustratorCS2・IllustratorCS3・IllustratorCS4(いずれも画像は省略。ごめんね)で、
同じ作業をしても、特に問題ありませんでした。
では、次にAdobeさんイチオシの最近のVersionで同じ事をやってみましょう。ドキドキ

■IllustratorCS6

1)適当に矩形を作成
0601_CS6_rectangle_add.png

2)効果→スタイライズ→角を丸くする を選択
0602_CS6_effect_select.png

3)プレビューをカチ=ON(反映される)
0603_CS6_effect_on.png

4)プレビューをカチ=OFF(反映されない!!!)
0603_CS6_effect_off.png

Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)Σ(゚Д゚)
これは完全な不具合(バグ)ですよね?
ちなみにIllustratorCC体験版でも同じことを試しましたが(例によって画像は省略)、
やっぱり同様の挙動でした。

Adobeさんは真面目にバッチリナイスなパッチ作って(早急に)配ってください。

※IllustratorCS~CS4までは、WindowsXP環境で確認
※IllustratorCS6~CC体験版は、Windows7(x64)環境で確認
未分類 TB(0) CM(0) 



上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。