/** * @fileoverview 左右ページのツメ見出しを指定のマスタページに設定する。各見出しは適当なオブジェクトとしてラベルを定義しておく。Y座標はそのまま使われる * @author Kenshi Muto <kmuto@debian.org> * @requires libCommon.jsx * @version 2,3 */ /* Copyright: 2008-2011 Kenshi Muto ---------------------------------------------------------------------- ソフトウェア使用許諾同意書 本ソフトウェアの利用・変更・再配布にあたっては、下記の使用許諾同意書に 同意する必要があります。 1. 本使用許諾同意書における「ソフトウェア」とは、機械可読の資料 (ライブ ラリ、スクリプト、ソースファイル、データファイル)、実行形式、および 文書を意味します。 2. 本ソフトウェアの使用許諾同意書に同意する限りにおいて、使用者は 本ソフトウェアを自由に利用、変更することができます。 3. 本ソフトウェアに変更を加えない限りにおいて、使用者は本ソフトウェアを 自由にコピー、再配布することができます。 4. 本ソフトウェアは無保証です。作者およびそれに関連する組織、配布者は、 本ソフトウェアの使用に起因する一切の直接損害、間接損害、偶発的損害、 特別損害、懲戒的損害、派生的損害について何らの責任・保証も負いません。 5. 本ソフトウェアを変更した上で再配布するときには、下記の事項すべてに 従わなければなりません。 - 使用許諾同意書の内容に変更を加えてはなりません。技術上の理由で 文字エンコーディングの変換を行うことは許可しますが、その使用者が 特殊な技術的措置なしに可読な形でなければなりません。 - 技術上の理由でバイナリ化・難読化を行う場合も、変更箇所を含めた ソフトウェアを、その使用者が可読可能な形式の形で同一のメディアで 提供しなければなりません。本使用許諾同意書の2条および3条により、 使用者が可読形式の該当ソフトウェアを変更、コピー、再配布することを 妨げてはなりません。 - ソフトウェア構成物の所定の作者名の欄に、変更者のクレジット (個人名、企業名、所属、連絡先など)を「追加」しなければなりません。 6. 本ソフトウェアを変更した上で再配布するときには、変更理由および その内容を明記することが推奨されます。 7. 使用者がソフトウェアに適用可能な特許に対して特許侵害にかかわる何らか の行動を開始した時点で、この使用許諾同意書は自動的に終了し、以降 使用者はこの使用許諾書によって与えられた一切の権利を放棄するものと します。 著作権所有者 Copyright (C) 2008-2011 Kenshi Muto. All rights reserved. 使用許諾同意書バージョン1.0 著作権所有者による書面での事前の許可がない限り、この使用許諾同意書 に変更を加えてはなりません。 ---------------------------------------------------------------------- */ #include "../libs/libCommon.jsx" /** * 指定のlabelを持つオブジェクトをマスターページの左右ツメ見出しとして配置する * @param {Document} document ドキュメントオブジェクト * @param {Spread} master マスタースプレッドオブジェクト * @param {String} leftlabel 左ページツメ見出しにコピーするグループ/テキスト/グラフィックオブジェクト名。nullの場合は使わない * @param {Float} leftwidth 左ページに対して小口から右方向に差し込む幅 * @param {String} rightlabel 右ページツメ見出しにコピーするグループ/テキスト/グラフィックオブジェクト名。nullの場合は使わない * @param {Float} rightwidth 右ページに対して小口から左方向に差し込む幅 * @type Object[2] * @return 左ツメ見出しのオブジェクトと右ツメ見出しのオブジェクトを格納した配列 */ function putSideMarker(document, master, leftlabel, leftwidth, rightlabel, rightwidth) { var leftobj = null; var rightobj = null; var backunit = toMmMode(document); var backruler = document.viewPreferences.rulerOrigin; document.viewPreferences.rulerOrigin = RulerOrigin.spreadOrigin; if (master.pageItems.item("tmp-sidemarker-left") != null) master.pageItems.item("tmp-sidemarker-left").remove(); if (master.pageItems.item("tmp-sidemarker-right") != null) master.pageItems.item("tmp-sidemarker-right").remove(); if (leftlabel != null) { var obj = master.pageItems.item(leftlabel); if (obj != null) { var unit = obj.geometricBounds; var width = unit[3] - unit[1]; if (getCSVersion() == 2) { leftobj = obj.duplicate([-unit[1] - (width - leftwidth) , 0]); } else { // XXX: CS3 leftobj = obj.duplicate(master); leftobj.move([width - leftwidth, unit[0]]); } leftobj.label = "tmp-sidemarker-left"; if (getCSVersion() > 3) { leftobj.name = "tmp-sidemarker-left"; } } } if (rightlabel != null) { var obj = master.pageItems.item(rightlabel); if (obj == null) obj = master.groups.item(rightlabel); if (obj != null) { var unit = obj.geometricBounds; var width = unit[3] - unit[1]; if (getCSVersion() == 2) { rightobj = obj.duplicate([document.documentPreferences.pageWidth * 2 - unit[1] - rightwidth, 0]); } else { // XXX: CS3 rightobj=obj.duplicate(master); rightobj.move([document.documentPreferences.pageWidth * 2 - rightwidth, unit[0]]); } rightobj.label = "tmp-sidemarker-right"; if (getCSVersion() > 3) { rightobj.name = "tmp-sidemarker-right"; } } } revertMmMode(document, backunit); document.viewPreferences.rulerOrigin = backruler; return [ leftobj, rightobj ]; }