3 返信 最新の回答 日時: Sep 22, 2010 11:41 PM ユーザー:nobusann

    スクリプトから見たタブの自動発生文字は

    nobusann

      今回は、ちょっとスクリプトから情報を得るのは難しいことかもしれませんが、どなたかアドバイスいただけると

      嬉しく思います。

       

      InDesignのタブ設定で、リーダーを自動発生させる組版は、目次などで一般的に使いますが、このときに、リーダーの発生する隙間によって、リーダーが発生されずに、たんにアキの状態にな ってしまうことってありますね。

       

      自動発生文字として全角文字を与えた場合に、隙間が半角しかあいていないような場合です。

       

      スクリプトから、タブに関しての情報としては位置や自動発生文字などの設定してある情報などは得られることはできますが、そのParagraphの中で自動発生文字を設定してあるタブの箇所で 、自動発生文字がInDesign上に出現しているかどうかを得られるプロパティなどはあるのでしょうか?

       

      自動発生文字の箇所が2~3ページ程度でしたら、目でみても確認できますが、かなり文字サイズが小さく、大量ページにこういう自動発生文字がある場合には、その領域の幅が不足していて自動発生 文字が出現していない箇所がスクリプトから特定できるようでしたら、そこのみ文字に変形をかけて隙間をひろげて、自動発生文字が出現できるようにしたいのです。

       

      言語や、OSに関しては問いませんので、どなたかこの点に関しまして、知識をお持ちのかたがいましたら、アドバイスいただけると助かります。

       

       

      よろしくお願いいたします。

        • 1. Re: スクリプトから見たタブの自動発生文字は
          CS5 omachi Most Valuable Participant

          ストーリーをなめていって、タブ文字と、その次の文字との間隔を調べ、その間隔がリーダー文字の幅より小さければ入らないということでやってみてはどうでしょう。文字組アキ量も考慮しなければ ならないので簡単ではないですが。

          参考までに。

          http://omachi.blog.ocn.ne.jp/preopen/2008/10/post_54ef.html

          • 2. Re: スクリプトから見たタブの自動発生文字は
            milligramme Level 3

            基本的にoomachiさんと同じ考えで

            ストーリー中のタブの挿入点の両脇位置がわかれば幅がリーダーが発生するかどうか

            わかるはずなので、タブを検索してマッチしたものに下みたいな処理したらできないでしょうか

             

            var obj=app.activeDocument.selection[0];
            var ptSize = obj.pointSize;
            var tabW = obj.insertionPoints[1].horizontalOffset-obj.insertionPoints[0].horizontalOffset;
            alert(tabW >= ptSize); //falseならリーダーは発生しない
            
            1 人が役に立つと言っています
            • 3. Re: スクリプトから見たタブの自動発生文字は
              nobusann Level 1

              お~まちさん、アドバイスどうもありがとうございまし

              た!。


              とても嬉しかったです。

              なかなか解決策がみつけられなくて、相当悩んでも解決

              できないときに、このようにアドバイスしていただける

              と、道が開けてきます。


              今回、かなりの大量ページの処理で、このリーダーの問

              題にぶつかってしまいまして、なんとかしてよい方法は

              ないかと模索していました。

              考え始めた頃に、タブの前の文字の位置を得ることがで

              きるだろうか?などとほんの一瞬考えてみたりしたので

              すが、単純なベタ組みではないので、それは無理だろう

              …と判断してしまい、考えを、プロパティから、自動発

              生の文字がInDesign上に1つでも現れていることが判断

              できればそれを得て、長体処理を行う動きにつなげたい

              …と考えていました。


              文字の座標を扱うことは、今までいろいろと作ってきた
              処理のなかでありませんでしたので、今回、とてもよい

              勉強になりました。


              今までの処理の中でもこのプロパティを知っていれば、

              利用できたものがけっこうありましたので、それらにも

              活かすことができそうです。

              また、今作成中の他の処理に関しても、このプロパティ

              を利用できれば、理想の処理ができるものがあり、とて

              も感謝しています。


              ありがとうございました。


              今は複数の言語で処理を書いていますが、それぞれの言

              語で座標を使ってタブの箇所の領域を判定して、リーダ

              ー発生を確実にさせることができました。

               

              大量ページで、しかも文字サイズが小さく、行間も狭い

              ので、人の目では見落としやすく、しかも、何度も流し

              なおしがあるので、リーダーを完全に発生させておくこ

              とができるようになったことで、処理の安心感が相当ま

              しました。

               

               

              本当にありがとうございました。