コンバートデータのアンカー付オブジェクトの修正方法

[9949]コンバートデータのアンカー付オブジェクトの修正方法 投稿者:ぴろし 投稿日:2006/09/13(Wed) 09:18
はじめまして。
Indesign CS2、Windows XPSP2を使用していて困ったことがあります。みなさまのお知恵をお貸しください。

CS1のデータをCS2にコンバートして入力をしています。そのとき、インライングラフィックの位置がずれます。ずれるのは、文字サイズよりも大きいイラストです。(文字高さと同等、もしくはそれ以下の高さのイラストはずれないようです。)
ずれてないところも、クリックして少しでも動かすと大幅にずれます。どうやら、基準が「インライン オフセット0mm」であると、一律でディセンダラインにそろえるようで、イラストがずれてしまうようです。
インラインにしている箇所を選び、段落スタイル[基本段落]を適用するか、[アンカー付オブジェクト]設定を[y軸の上]などにしてやると、直ります。
オブジェクトスタイルを作成して適用すると早いのですが…300ページ余りのほとんどをインライングラフィック付テキストで作成していますので、単純作業とはいえ大変です。そのほかの入力業務もあって、なかなか先に進みません。

おそらくインライングラフィックがCS2より、「アンカー付オブジェクト」に変わり、かつ、デフォルト設定が「インライン オフセット0mm」になったためなのだと思いますが…
環境設定でもアンカー付オブジェクトの項目はありませんし、、何か一括で直す方法ってないものでしょうか??
よろしくお願いします。
» 1
状況をよく理解できていませんので、思う通りになるものなのか分かりませんが、

>インラインにしている箇所を選び、段落スタイル[基本段落]を適用する

ということでしたら、「検索と置換」を利用して、「検索文字列」で「アンカー付きオブジェクトマーカー」を(▲マークをクリックして)選び、「置換形式の設定」で「段落スタイル」を「[基本段落]」にし、「全てを置換」でいっぱつで出来るのではないかとなと思います。
» 2
>梅花藻さん

ご返答ありがとうございます。そんな検索機能もあったんですね!!すごいです。いちおう、検索置換でも試してみました。基本的には直ってます!でも、前後のインライン関係によってはやっぱり変な位置にずれたりしてしまいます…。特に小さい表内などのものはだめみたいです。結局ひとつひとつつぶすしかないのでしょうか…。

ネットで検索してもあまり事例として上がってないみたいですが、同じような症状になった方はおられないのでしょうか??
» 3
CS→CS2の変換過程で、テキストエンジンのバージョンが違うので、正しく表示されない場合があります。
ドキュメントを開いたら、ストーリーの再計算(Ctrl+Alt+/キー)もお試しください。ダメなら、やはり検索して修正するしかないですね。
» 4
IndesignはCS2からですので、CSではどうであったのかわかりませんが、
CS2では1行の中に複数の高さの違うインライングラフィックがあった場合には、その最大のものの下端に他のインライングラフィックも揃ってしまいます。
Yオフセットを調整して合わせるしかないのですが、うちではスクリプトを書いて処理しています。

横組グリッド揃え用でドキュメント全体を処理するJavaスクリプトを書いてみました。
(縦組やグリッド揃えでない場合を考慮すると長くなりますので)

//インラインオブジェクトの行送りをフォントサイズと同じにし、
//中揃えにするスクリプト(横組グリッド揃え用、エラー処理なし)
var myDoc = app.activeDocument;
with (myDoc.viewPreferences){
var myOldYUnits = verticalMeasurementUnits;
var myOldTextUnits = textSizeMeasurementUnits;
var myOldTypographUnits = typographicMeasurementUnits;
verticalMeasurementUnits = MeasurementUnits.millimeters;
textSizeMeasurementUnits = MeasurementUnits.q;
typographicMeasurementUnits = MeasurementUnits.ha;
}
findPreferencesOld = app.findPreferences.properties;
changePreferencesOld = app.changePreferences.properties;
app.findPreferences = NothingEnum.nothing;
app.changePreferences = NothingEnum.nothing;
app.findPreferences.findText = "^a";
var findList = myDoc.search();
for (var i=0;i<findList.length;i++){
var myPageItems = findList[i].pageItems;
var myPointSize = findList[i].pointSize;
if (myPageItems.length == 1){
if(myPageItems[0].anchoredObjectSettings.anchoredPosition
== AnchorPosition.inlinePosition){
var Height = eval(myPageItems[0].visibleBounds[2]
- myPageItems[0].visibleBounds[0]);
myPageItems[0].anchoredObjectSettings.anchorYoffset
= - (Height - myPointSize / 4) / 2 / 25.4 * 72;
findList[i].leading = myPointSize;
}
}
}
// 退避しておいた検索・置換の設定を復帰
app.findPreferences.properties = findPreferencesOld;
app.changePreferences.properties = changePreferencesOld;
if (app.findPreferences.kerningMethod=="None"){
app.findPreferences.kerningMethod = 1851876449;}
if (app.changePreferences.kerningMethod=="None"){
app.changePreferences.kerningMethod = 1851876449;}
// 退避しておいた測定単位の設定を復帰
with (myDoc.viewPreferences){
verticalMeasurementUnits = myOldYUnits;
textSizeMeasurementUnits = myOldTextUnits;
typographicMeasurementUnits = myOldTypographUnits;
}
» 5
>梅花藻さん

わざわざスクリプトまで…
何から何まで、ありがとうございます!!

ただ、やっぱりインラインにしているイラストと文章の関係によって、正常になるかどうかはまちまちのようで、結局、全体を見直すしかなさそうです…。

でも、とても勉強になりました。
どうもありがとうございました!!
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア