JustoFitホーム JustoFitバージョン1.4.1使用説明書


メタ書式

メタ書式とは、テキストが収まらない等の体裁上の不具合を、書式やレイアウトの調整によってどのように解決するかを指定した、「書式のための書式」です。

具体的には、CSSの拡張モジュールとして定義された「メタ書式モジュール」の仕様に従い、CSS形式で記述されます。

JustoFitはInDesignでメタ書式を解釈し、それに従って、自動的に組版調整を行います。

※ver1.4.0より前のJustoFitで設定したメタ書式は、記述形式がまったく異なるため、今バージョンでは使えません。ver1.4.0より前のJustoFitからバージョンアップをされる場合は、お手数ですが再度設定していただくようお願いいたします。

メタ書式を適用する

文書のメタ書式を適用するには、文書を開いた状態で、「段落メタ」パレットのメニューで「文書のメタ書式を適用」コマンドを選択します。

すると、InDesign文書全体に、すべてのメタ書式が適用されます(パレット名は「段落メタ」ですが、段落以外にも)。

なぜCSSか

メタ書式がCSS形式で記述されることには、以下のような利点があります。

習得者の多さと習得コストの低さ

CSSという形式は、それ以外の各種の書式・レイアウト記述言語に比べてはるかに、世界で普及しています。

メタ書式は、CSSに完全に準拠して記述されるほか、プロパティの名称といった記述の細部においても、CSSの慣習を徹底的に踏襲して設計されています。ですので、すでにCSSに慣れ親しんでいるたくさんのデザイナーやウェブマスターが、あまり苦労することなく、メタ書式の記述法を習得することができます。

徹底した下位互換性

CSSの規定により、メタ書式といった新たなモジュールを解しない一般のブラウザ等においては、その理解できない記述部分は単に無視されることになっています。

ですので、たとえメタ書式を含めたまま文書・データを各フェーズへ展開しても、各所でそれによる不具合を起こすことがありません。いわばその間、メタ書式の情報は文書の中で「眠っている」と言うことができます。しかしひとたびそのメタ書式を含む文書が、メタ書式を解する環境(本プラグイン等)へ戻ってくれば、再びメタ書式は解釈されて、組版調整が行われることになります。

メタ書式の記述

メタ書式の意味的な基本構造は、「○○なとき」→「○○せよ」という形になっています。たとえば、

テキストがセルからあふれているとき、
収まるまで長体をかけなさい

というのが一つのメタ書式です。つまり「条件」→「操作」の対になっています。

メタ書式のCSS記述

具体的にメタ書式をCSSで表すには、条件を擬似クラスセレクタ(:abcde)で、操作を宣言(プロパティ:;)で表すことになっています。また必要に応じて、操作対象を擬似要素セレクタ(::abcde)で指定することもできます。メタ書式モジュールには、想定されうるさまざまな体裁調整を表現するため、いろいろなセレクタやプロパティが独自に定義されています。

たとえば上の例をCSS形式(メタ書式モジュールによる拡張)で表すと次のようになります。

:-un-in-overset-cell
{ -un-font-stretch-step: -1; }

頭の「-un-」は単にユニット社独自拡張であることを表しますので除いて読めば、なんとなく何を言っているか、直感的に読み取れるのではないでしょうか。

これを書いておくだけで、あふれの恐怖や、面倒なあふれ処理作業から解放されることができます。

メタ書式モジュールのすべてのセレクタ・プロパティの一覧は、メタ書式モジュールの仕様書に定義されています。自分が指示したい条件と操作をその中から探して、記述してください。

もちろんこれらに加えて、CSSの既存のセレクタを使って条件をしぼりこんだり、CSSの既存のプロパティを使って普通の書式適用をしたりすることも可能です。

※擬似クラスセレクタと擬似要素セレクタは、どちらも先頭に「:」を1個つけるのがCSS2.1までの方式ですが、CSS3では、擬似要素セレクタには「:」を2個つけるよう改められています。メタ書式のCSS記述もこのCSS3の方式に従っています。

ヘッダCSSと要素CSS

CSSの規定では、CSSの記述は、文書内の次の2種類の箇所に書くことができます。

前者は文書全体(の中の、おのおの条件にマッチした箇所)に影響を及ぼし、後者はその要素にのみ影響を及ぼします。メタ書式についても同様です。詳しくはCSSの仕様をごらんください。

以下、本説明書では便宜的に、前者をヘッダCSS、後者を要素CSSと呼びます。

スタイル名クラスと組版種別クラス

JustoFitは各要素のxhtml:class属性に、折にふれ、その組版種別クラスとスタイル名クラスを空白で区切った値を、自動的に設定しています。

組版種別クラスとは

InDesign上の組版種別に応じて以下のように決まるクラスを考え、組版種別クラスと呼びます。

スタイル名クラスとは

InDesignスタイルの名前を、そのままCSSクラスとして扱ったものを、スタイル名クラスと呼びます。

例:

段落スタイル「header1」なら →

スタイル名クラスは「header1

スタイル名クラスと組版種別クラスのはたらき

InDesignの世界では、ルールはスタイルに定義されますが、CSSの世界では、ルールはセレクタに定義されます。

InDesignでCSSを利用しようというJustoFitにおいて、両者を結びつけるのがスタイル名クラスと組版種別クラスです。

例:

段落スタイル「header1」が適用されている段落なら

<xhtml:p xhtml:class="-un-p header1">或る平凡な見出し</xhtml:p>

ヘッダCSS内に、クラスセレクタ「.header1」の規則があれば、それはこの段落に適用されます。

しかしInDesignには段落スタイル以外にも、さまざまな種類のスタイルがあります。その中にもし段落スタイルと同名のスタイルがあったとすると、クラスセレクタ「.header1」はそちらにもマッチしてしまいます。またこれ以外にも、スタイルとは関係のないheader1クラスがもしあれば、それともかぶってしまいます。

これを避けるために、組版種別クラスを利用します。クラスセレクタが「.-un-p.header1」なら、その規則は段落スタイルheader1の段落にだけ適用されます。

また逆に、組版種別クラスだけを指定することも可能です。クラスセレクタが「.-un-p」なら、その規則はすべての段落に適用されます。

スタイルにメタ書式を持たせる

以上述べた機能を利用すれば、簡単に、段落スタイルにメタ書式を持たせることができます。たとえば段落スタイル「header1」に、

段落の属するストーリーの中身があふれていたら、収まるまで段落の文字サイズを下げること。

というメタ書式を持たせるには、ヘッダCSS内に

.-un-p.header1:-un-in-overset-story
{ -un-font-size-step: -5%; }

と記述してください。こうすれば、文書の中で段落スタイル「header1」が適用されている段落はすべて、ストーリーあふれ時には自動的に文字サイズ調整されます。

※上の例で「-5%」は調整の幅を示します。小さい値を与えると、よりきめ細かな調整ができます。大きい値を与えると、迅速な調整ができます。とりうる値について詳しくは、メタ書式モジュールの仕様を参照してください。

名前空間とセレクタ

JustoFitでは、XMLの名前空間に対応しています。CSS2.1は名前空間に対応していないので、この部分だけは、JustoFitはCSS3を次のように先取り実装しています。

style属性内にセレクタを書く

メタ書式では、条件をセレクタとして表す必要があるので、xhtml:style属性内に記すときも、CSS3のSyntax of CSS rules in HTML's "style" attributeモジュールの規定に従って、セレクタを書くことができます。

例:

<xhtml:p xhtml:style=":-un-in-overset-story {-un-line-height-step: -1pt;}">
この段落の属するストーリーの中身があふれていたら、収まるまでこの段落の行送りを1ptずつ縮めます。
</xhtml:p>

規格準拠状況

本バージョンは、まだCSSや「メタ書式モジュール」のすべての仕様内容に対応しているわけではありません。需要の高い仕様から順に実装しています。

以下に本バージョンの準拠状況を示します。

CSS

本プラグインの準拠するCSSのレベルはCSS2.1です。しかし一部、CSS3を先取り実装している部分がありますので、それは本説明書の中で都度その旨特記します。

本バージョンは以下のCSS2.1仕様には未対応です。将来のバージョンで順次対応する予定です。

メタ書式モジュール

メタ書式モジュールで定義された仕様内容のうち、対応しているのは以下の仕様のみです。これら以外は、将来のバージョンで順次対応する予定です。

調整順番

段落の擬似クラス

段落のプロパティ

ストーリーの擬似クラス

ストーリーの擬似要素

テキストフレームのプロパティ



Copyright (C) 2007-2008 UNIT, Ltd. All Rights Reserved.