3行以上の段落の背景を段落境界線で塗りつぶせるでしょうか

[6332]3行以上の段落の景を段落境界線で塗りつぶせるでしょうか | 投稿者:五月 貴 | 投稿日:2011/11/30(Wed) 10:07:15
OS10.6.8 CS5(7.0.4)を使用しております。

新規の案件で,ある体裁の段落全体にアミを敷く指定を受けました。
また,角丸を指定されています。

以前どこかで作例があったと思いサイト検索をしたところ,市川せうぞーさんの「書籍組での平網角丸」( *http://d.hatena.ne.jp/seuzo/20080715/1216100960 )というページを見つけました。

ただ,こちらの作例では中身全てが1行毎に改行できるので段落罫線を使って景に網を敷くことができますが,こちらで請け負っている案件では1行毎に改行できない連続した内容のため,改行をすることができません。
試したところ,添付画像のように開始・最後の行にしか罫を引けないようで,段やページをまたぐ可能性もあるため表組やアンカーオブジェクトで中を塗りつぶすと泣き別れ時の作業が難しくなります。

もし文章量を問わず段落境界線で景に網を敷くノウハウをご存知の方がいらっしゃいましたらご教示頂ければ幸いです。
attached image
» 1
[6333]Re: 3行以上の段落の背景を段落境界線で塗りつぶせるでしょうか | 投稿者:オメガ | 投稿日:2011/11/30(Wed) 11:06:52
ちゃんと検証していませんが、段落境界線と下線を併用してみてはいかがでしょう?
角丸部分を段落境界線で、本文は下線を使って設定すればできませんかね?
ただ下線は文字の数や文字揃え、ベースラインシフトなどで影響を受けてしまうので、うまく行かない場合もあるとは思いますが。。。
» 2
[6334]Re: 3行以上の段落の背景を段落境界線で塗りつぶせるでしょうか | 投稿者:オメガ | 投稿日:2011/11/30(Wed) 11:26:53
下線だとテキスト幅に固定されてしまい左右のオフセットが設定できないですね。。。
さっきの方法では実用的ではありませんね。失礼しました。。。
» 3
普通には出来ないですね。

手動だと、仰るとおり表組機能で努力してますけど。

Script書けば良いんじゃないでしょうか?

似たような内容の作業をInDesignCSでScriptで対応したことあるので、出来ると思いますよ。
» 4
先程のレス、時間が無くて、言葉が足らずでした。

段落境界線を使わずに、Scriptで座標を求めて、
Rectangles.Addしてあげたりすれば、良いんだと思います。

このデザインだと、対象段落の前後に改行があるようですので、
前の改行に段落スタイル(囲み前)
後の改行に段落スタイル(囲み後)
をマッピングしておいて、

2つの段落スタイルをキーにして、2回検索します。

検索結果(条件:2つあるので、個数一致なら処理)を
元にページ位置と座標を求め、

またいでいる場合は、
開始部分は配当されているフレームの終端座標visibleBounds[2]を
終了部分は配当されているフレームの開始座標Visiblebounds[0]を
使用して、生成したRectanglesのVisibleBoundsを計算してあげれば良いです。
またいでいなければ、処理は簡単ですよね。

あと、色々複雑な処理があるので、
その辺りも書かないといけませんが...

こういう感じのScriptで400頁ほど修正でズレても
簡単に修正できるようにしてました。
» 5
[6338]Re: 3行以上の段落の背景を段落境界線で塗りつぶせるでしょうか | 投稿者:五月 貴 | 投稿日:2011/11/30(Wed) 23:03:45
オメガ様

「下線」を試したところ,おっしゃるとおり文字列にしか線が引けず,周囲にインデントがある今回の案件には使えませんでした。ちょっとトリッキーかとは我ながら思っていましたけれども,お試し頂きありがとうございました。

流星光輝様
アップした画像の通り,本文は段落境界線を引くだけのダミー改行で挟んでいるため,この2つのスタイルを持つ行の座標を割り出し,修正の都度位置はズレますが消しては再描画した方が早いかもしれません。
平網専用のレイヤーを作る→描く→修正時にレイヤー削除→レイヤー再作成→文字修正→スクリプトを走らせて矩形再描画...という手順を検討してみます。

今までは自動化ゆえに単純で直線的な品物ばかりを作っていましたが,そういうわけにもいきません。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)