文字組みアキ設定の効率的な編集方法

[10674]文字組みアキ設定の効率的な編集方法 投稿者:(-_-メ) 投稿日:2007/01/23(Tue) 18:38
文字組みをかなり細かくコントロールしたいため、文字組みアキ設定をかなり細かくいじりたいんですが、
編集項目が多岐にわたっているため、何とか簡略化できないかと思っています。

試行錯誤して、設定すべき項目は確定したのですが、それでもかなりの項目数です。
で、目をつけたのはタグ付きテキストなんですが、このヘッダの定義部分をエディタで編集して
それを読み込みオプションの「タグ付きファイルの定義」を利用して読み込むことで
編集を簡略化できないかと思いました。

しかし、ヘッダの文字組みアキ設定の行を見てみると

<DefineMojikumiStyle:10Q/0.5Hツメ=
<MojikumiElement:0,0,0,0,0>


(便宜的に改行を入れてあります)

2行目が延々と繰り返されていて、これでは文字種の組み合わせが特定できません。
#組み合わせは676通りあります(^^;)
また、組み合わせがわかったとして、数値の意味がわかりません。
「最適値」などの数値なのでしょうが、仮にそうだとして
「最小値, 最適値, 最大値, 優先度, ?」といちばん右側の数値は
いったい何を表しているんでしょう。
(基本的には0のようですが、どういうときに、
どう変化するのか。何かのオン・オフ?)

どなたかこれらを特定した方はいらっしゃるでしょうか。

----------ここからは余談------------
ところで、この文字組みアキ設定ダイアログ。
よくなってきているとはいえ、頻繁にいじる者としては
とても褒められたインターフェイスではありません。
タブ区切りのテキストかなんかでファイルを作って
それを簡単に読み込めるようにするとか、
せめて項目間をタブ移動できるようにはしてほしい。
鬱陶しいなと思うのは、最小値、最適値、最大値で、
入れる数値によっては蹴られることがあるということ。
間違った動作でないとは思いますが、数値を入れただけで
こちらとしてはまだ確定したつもりはないのですが。
あとは、確定(保存)する前(数値がまだ赤字の状態)、
ダイアログを開いた状態で、文字組みがどう変わるかプレビュー
できてほしいです。
» 1
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:梅花藻 投稿日:2007/01/24(Wed) 10:59
興味深かったので、アプローチしてみました。
JavaScriptだと、日本語機能の説明がなく探すのが大変なので、AppleScriptでトライ。

文字組アキ設定を新規に作った場合、文字組テーブルの最後に追加されるので、そのアキ設定をスクリプトエディタの結果ウィンドウに表示するスクリプト

tell application "Adobe InDesign CS2_J"
set myDocumentMojikumiTables to mojikumi tables of active document
set aMojikumiTable to last item of myDocumentMojikumiTables
override mojikumi aki list of aMojikumiTable
end tell

この「override mojikumi aki list」はlist of list of 8 small integers, booleans or fixed.ということで

{{5, 1, false, 0.25, 0.25, 0.25, 1, false}, ……}

というような形で帰って来ます。
最初の項目は「後ろの文字のクラス」、「5」は「中点類」の「中黒」。
2番目の項目は「前の文字のクラス」、「1」は「始め括弧類」のどれか(すいません。細かくまだ見ていないのです。1、26、27の3つが「始め括弧類」の3つに対応しているようです)
3番目のbooleanは不明
4~6番目が最少、最適、最大のアキ量設定値
7番目が優先度
8番目のbooleanは不明

「override mojikumi aki list」はroではないので書き込み可能です。
新規にアキ量設定を作るには
tell application "Adobe InDesign CS2_J"
make new mojikumi table in active document with properties {based on mojikumi set:one em indent line end uke one half em enum, name:"てすと"}
end tell

というようにしてできます。
propertiesの初期値としてoverride mojikumi aki list:{作成したアキ量のリスト}を含めれば出来そうかなと思います。
» 2
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:梅花藻 投稿日:2007/01/24(Wed) 11:15
1番目と2番目の項目は3番目のbooleanで変わりました。
3番目の項目がtrueのときは1番目が「前の文字のクラス」、2番目が「後ろの文字のクラス」です。

調べてまとまってから書き込みしないといけないですね。
» 3
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:(-_-メ) 投稿日:2007/01/24(Wed) 11:22
お返事ありがとうございます。
こんなマニアックな内容で、
正直、誰からも返事が来ないと思っていました(^^;)

AppleScriptでは、文字クラスを数字で表しているんですねぇ。へぇ。
といっても、私はAppleScriptが操れないので、他力本願になってしまうのですが……。

それと、エディタ等で編集するのはいいんですが、ある項目の数値をいじると
関連している別項目の数値が自動的に変更されたりすることもあるので、
それらを考えていじらないと、ぐちゃぐちゃの定義ができあがってしまいますね(^^;)

最終的にはFileMakerなどで管理できるといいかなと思っています。
» 4
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:梅花藻 投稿日:2007/01/24(Wed) 12:14
Macのアプリケーション:AppleScriptフォルダにある「スクリプトエディタ」を起動して、上記スクリプトを貼付けて試していただければ分かるとおもいますが、「元とするセット」との差分がoverride mojikumi aki listですので、変更箇所が少ない程リストは少なくなります。

また、3番目のtrue/falseとも関係していると思いますが、関連項目との関係も大丈夫だと思います。基本的にスクリプトは手でする作業を記述した順番に従って実行するだけですので(command-Zで前にさかのぼれます)、そんなに危険ではありません。上手くいかなければエラーを返しますしね。

アキ量の設定が矛盾した場合(最適>最大など)はまだ試していませんが、エラーで止まるか、最適を最大以下に上書きされるかどちらかだと思います。

調べて判った数字の意味ですが(前の文字、後ろの文字共通)
1 その他の始め括弧
2 その他の終わり括弧
3 行頭禁則和字
4 区切り約物
5 中黒
6 句点
7 分離禁止文字
8 前置省略記号
9 後置省略記号
10 和字間隔
11 平仮名
12 上記以外の和字
(13~17 不明)
18 欧文
(19,20 不明)
21 読点
22 行末
23 段落先頭
24 全角数字
25 半角数字
26 始めかぎ括弧
27 始め丸括弧
28 終わりかぎ括弧
29 終わり丸括弧
30 コンマ類
31 ピリオド類
32 コロン類
33 カタカナ

3番目がtrue/falseのどちらをとるのかの基準は不明。

AppleScriptはそれほど難しくないです。というほど慣れていないのですが……始めてまだ2ヶ月しないので。
ネット上にある入門ページだけで十分勉強出来ます。
» 5
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:(-_-メ) 投稿日:2007/01/24(Wed) 13:08
ありがとうございます。
22 行末 となっていますが、
3番目がfalseのときは「行末」、
trueのときは「行頭」のようですね。
不明の数字は何なんでしょうね。
ただ、ここに挙げてもらったものが、
InDesignのダイアログ上で直接いじれるすべての項目なので、
不明の部分は無視しても、大きな問題にはならなそうですけどね。
» 6
[10674へのレス]Re: 文字組みアキ設定の効率的な編集方法 投稿者:梅花藻 投稿日:2007/01/24(Wed) 14:05
どうも、どうもです。
22 行頭/行末
ですね。
アキ量の設定が矛盾した場合(最適>最大など)はエラーで止まるか上書きされるだろうと書きましたが、試してみた所
●矛盾していてもエラーで止まらず、上書きもされない。
でした。優先度は最少>最適>最大のようです。

一番問題なのは、3番目のtrue/falseは決まっていて、前と後ろの文字クラスの数字を逆にしてtrue/falseを反転させて入力しても、アキ量設定に反映されない!

予め、(26×26=)676通り(実際には約半分)すべてtrue/falseを調べておかなくてはならないらしいのです。
(間違えました。約半分じゃないです。起こりえない組み合わせを除外して約600通りくらいですね。true/falseには規則性というか優先順位があるようです。現在1/5くらいをチェック。17:00時点)

この辺りがクリアできれば、タブ区切りテキスト等で作成したアキ量設定ファイルを読み込んで新規アキ量設定を作るスクリプトを作れそうです。

ただ、ファイルからタブ区切りテキスト等を読み込んで、リストを生成する部分のAppleScriptの書き方を、私の場合は勉強しないといけないのですが。
この記事の書き込み元へのリンク (コメントや質問などはこちらへどうぞ)

このページをシェア