// ファイル名からノンブルを作成(一ページのみ)
//--------------------------2003.11.06 新瀬 進(http://www.os.rim.or.jp/~furu/)

// ノンブルをつけるページの画像を開いてから実行してください。
// 位置・フォント設定のテスト用に
// アクションに登録してバッチ処理などの応用も可能です。

// 単位系を保存して変更=======================================================
var strtRulerUnits = preferences.rulerUnits;
var strtTypeUnits = preferences.typeUnits;
preferences.rulerUnits = Units.MM; // CM INCHES MM PERCENT PICAS PIXELS POINTS
preferences.typeUnits = TypeUnits.POINTS;

// 初期設定===================================================================
// 本の綴じ方向===============================================================
var bindingLeft = false; // 綴じ方向(右綴じ:false、左綴じ:true)
var removeZero = false; // 桁揃えの'0'を消去

// 右ページ座標(ミリメートル)===============================================
var rightPagePosition = Array(183.4, 258.2);
var rightPageJustification = Justification.RIGHT; // 揃え

// 左ページ座標(ミリメートル)===============================================
var leftPagePosition = Array(9.8, 258.2);
var leftPageJustification = Justification.RIGHT; // 揃え

// フォント設定===============================================================
var fontName = "LucidaConsole"; // フォント名(ポストスクリプト名を指定)
var fontSize = 12; // ポイント
var fontBold = false; // 太字
var fontItalic = false; // 斜体
var fontAntiAlias = AntiAlias.NONE; // CRISP NONE SHARP SMOOTH STRONG

// 色設定=====================================================================
var fontColor = new SolidColor;
fontColor.gray.gray = 100;

// 処理=======================================================================
var page = activeDocument;

var pageName = page.name.replace(/\..+/, ""); // 拡張子を削除
var pageNumber = Number(pageName); // 文字列を数値に変換

if(removeZero){ pageName = pageName.replace(/^0+/, ""); } // 先頭の0を消去

var flag = 0;
if(bindingLeft){ flag = 1; } // 左綴じの場合左右ページ判定を反転

// テキストレイヤーを作成=====================================================
var nombreLayer = page.artLayers.add();
nombreLayer.kind = LayerKind.TEXT;
nombreLayer.textItem.font = fontName;
nombreLayer.textItem.size = fontSize;
nombreLayer.textItem.fauxBold = fontBold;
nombreLayer.textItem.fauxItalic = fontItalic;
nombreLayer.textItem.antiAliasMethod = fontAntiAlias;
nombreLayer.textItem.color = fontColor;

if((pageNumber + flag) % 2){ // 左右ページ判定
nombreLayer.textItem.position = rightPagePosition;
nombreLayer.textItem.justification = rightPageJustification;
}else{
nombreLayer.textItem.position = leftPagePosition;
nombreLayer.textItem.justification = leftPageJustification;
}
nombreLayer.textItem.contents = pageName;

// 単位系を元に戻して終了=====================================================
preferences.rulerUnits = strtRulerUnits;
preferences.typeUnits = strtTypeUnits;