JIS X 4168:2004 段階スタイルシート 水準1(CSS1) | ページ 13

58
X 4168 : 2004
nmchar [-a-z0-9]|[{latin1}]|[{escape}]
ident [{nmstrt}][{nmchar}]*
name [{nmchar}]+
d [0-9]
notnm [^-a-z0-9]|[{latin1}]
w [ tn]*
num [{d}]+|[{d}]*.[{d}]+
string "([{stringchar}]|')*"|'([{stringchar}]|")*'
%x COMMENT
%s AFTERIDENT
%%
"" [{BEGIN(0);}]
<COMMENT>n [{}]
<COMMENT>. [{}]
@import [{BEGIN(0); return IMPORTSYM;}]
"!"[{w}]important [{BEGIN(0); return IMPORTANTSYM;}]
[{ident}] [{BEGIN(AFTERIDENT); return IDENT;}]
[{string}] [{BEGIN(0); return STRING;}]
[{num}] [{BEGIN(0); return NUMBER;}]
[{num}]"%" [{BEGIN(0); return PERCENTAGE;}]
[{num}]pt/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]mm/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]cm/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]pc/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]in/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]px/[{notnm}] [{BEGIN(0); return LENGTH;}]
[{num}]em/[{notnm}] [{BEGIN(0); return EMS;}]
[{num}]ex/[{notnm}] [{BEGIN(0); return EXS;}]
<AFTERIDENT>":"link [{return LINKPSCLASSAFTERIDENT;}]
<AFTERIDENT>":"visited [{return VISITEDPSCLASSAFTERIDENT;}]
<AFTERIDENT>":"active [{return ACTIVEPSCLASSAFTERIDENT;}]
<AFTERIDENT>":"first-line [{return FIRSTLINEAFTERIDENT;}]
<AFTERIDENT>":"first-letter [{return FIRSTLETTERAFTERIDENT;}]
<AFTERIDENT>"#"[{name}] [{return HASHAFTERIDENT;}]
<AFTERIDENT>"."[{name}] [{return CLASSAFTERIDENT;}]

――――― [JIS X 4168 pdf 61] ―――――

                                                                                             59
X 4168 : 2004
":"link [{BEGIN(AFTERIDENT); return LINKPSCLASS;}]
":"visited [{BEGIN(AFTERIDENT); return VISITEDPSCLASS;}]
":"active [{BEGIN(AFTERIDENT); return ACTIVEPSCLASS;}]
":"first-line [{BEGIN(AFTERIDENT); return FIRSTLINE;}]
":"first-letter [{BEGIN(AFTERIDENT); return FIRSTLETTER;}]
"#"[{name}] [{BEGIN(AFTERIDENT); return HASH;}]
"."[{name}] [{BEGIN(AFTERIDENT); return CLASS;}]
url([{w}][{string}][{w}]) |
url([{w}]([^ n'") ]| |'|"|))+[{w}]) [{BEGIN(0); return URL;}]
rgb([{w}][{num}]%・[{w}],[{w}][{num}]%・[{w}],[{w}][{num}]%・[{w}]) [{BEGIN(0); return RGB;}]
[-/+[{}];,#:] [{BEGIN(0); return *yytext;}]
[ t]+ [{BEGIN(0);}]
n [{BEGIN(0);}]
<!-- [{BEGIN(0); return CDO;}]
--> [{BEGIN(0); return CDC;}]
. [{fprintf(stderr, "%d: Illegal character (%d) n",
lineno, *yytext);}]

――――― [JIS X 4168 pdf 62] ―――――

60
X 4168 : 2004
附属書C(規定)符号化
HTML文書は,Unicodeで定義する約3万の文字を含んでよい。多くの文書では,数100文字だけを必
要とする。多くのフォントも,数100のグリフだけを含む。5.2と合わせて,この附属書は,文書中の文
字及びフォント中のグリフを合致させる方法を示す。

C.1 文字符号化

 HTML文書の内容は,文字の並び及びマーク付けとする。"回線上を"送るために,幾
つかの利用可能な 符号化の一つを利用し,バイトの並びとして符号化する。HTML文書は,文字を見つ
けるためには復号しなければならない。例えば,西ヨーロッパ語では,a-with-grave-accent(a)にはバイト224
を,ヘブライ語では,普通,Alephに224を使う。日本語では,一つのバイトの意味は,普通,それに先
行するバイト群に依存する。ある符号化では,1文字は,2(又はそれ以上の)バイトとして符号化される。
UAは,HTTPヘッダ内の"charset"パラメタを見ることによって,バイトを復号する。典型的な符号化(文
字集合値)には,"ASCII"(英語),"ISO-8859-1"(西ヨーロッパ語),"ISO-8859-8"(ヘブライ語),"Shift-JIS"
(日本語)などがある。
HTML(8.の[2],[4]を参照)は,Unicodeで定義した3万の文字を許容する。これらの多くの文字を使う
文書は多くなく,普通は,適切な符号化を選択すれば,1文字に1バイトだけを必要とする。符号化領域
の外の臨時の文字を,数値的文字参照として入れることもできる。'&#928;'は,どの符号化を使用しても,
常にギリシャ文字の大文字Piを意味する。このために,UAが少しの符号化だけを扱っている場合でも,
あらゆるUnicode文字を準備しなくてはならないことに注意。

C.2 フォント符号化

 フォントは,文字を含まず,グリフとして知られる文字の図を含む。グリフは,
アウトライン又はビットマップの形式で,文字の特定の表現を構成する。明示的に又は暗黙的に,各フォ
ントは,それに対応する表,フォント符号化表をもつ。この表は,各グリフに対して,それが表現となる
文字を示す。タイプ1フォントでは,符号化ベクトルとして表を参照する。
実際には,多くのフォントは同じ文字に対して複数のグリフを含む。これらグリフのどれを使うのがよ
いかは,言語の規則又は設計者の好みに依存してよい。
例えばアラビア文字では,すべての字は,四つの異なる形状をもつ。これは,字が,語の最初,語の中
程,語の最後又は語とは孤立して用いられたかに依存する。これらは,すべての場合において同じ文字で
あって,HTML文書の中ではただ一つの文字だけが存在するが,印刷された時には,それぞれに違って見
える。
提供された様々な代替の形状の中からの選択が,グラフィック設計者に任されたフォントもある。残念
なことに,CSS1は,これらの代替を選択する手段をまだ提供していない。現在では,これらフォントか
ら選択されるものは,常に,特定のデフォルト形状とする。

C.3 フォント集合

 一つのフォントが,一つの文書又は一つの要素の中のすべての文字を表示するには
十分でないという問題を処理するために,CSS1は,フォント集合を使うことができる。
CSS1におけるフォント集合は,フォントのリストであって,ある文字のグリフを含むかどうかを順番
に見ることが可能な,同じスタイル及びサイズすべてとする。数学記号が混在する英文テキストを含む要
素は,文字及び数字を含むフォントと数学記号を含むフォントとの,二つのフォント集合を必要とするか
もしれない。フォント集合の選択機構の詳細については,5.2を参照のこと。
ラテン文字,日本語文字及び数学記号を含むことが期待されるテキストに適したフォント集合の例を,

――――― [JIS X 4168 pdf 63] ―――――

                                                                                             61
X 4168 : 2004
次に示す。
BODY [{ font-family: Baskerville, Mincho, Symbol, serif}]
Baskervilleフォント(ラテン文字だけをもつフォント)で利用可能な文字にはこのフォントを,日本語
には明朝を,数学記号にはSymbolを使用する。他の文字には,一般的なフォントファミリの'serif'を,(恐
らく)使用する。'serif'フォントファミリは,他の複数のフォントが使用可能でない場合にも使用する。

――――― [JIS X 4168 pdf 64] ―――――

62
X 4168 : 2004
附属書D(参考)ガンマ補正
この附属書(参考)は,本体及び附属書(規定)に関連する事柄を補足するもので,規定の一部ではな
い。
ガンマに関することをよく知らない場合には,PNG規定(8.の[12]を参照)の中の ガンマの解説(Gamma
Tutorial)を参照すること。
計算上では,CRT上に表示をするUAは,理想的なCRTを仮定し,ディザによって生じる見かけのガン
マの影響を無視してよい。このことは,現在のプラットフォーム上で必要とする最小限の操作が,次のも
のだけとなることを意味する。
a) S-Windowsを用いたPC なし
b) 11を用いたUNIX なし
c) uickDrawを用いたMac ガンマ1.39を適用する(8.の[13]を参照)。(ColorSync-savvy応用は,正し
いカラー補正を実行するために,sRGB ICCプロファイル (8.の[14]を参照)を,単にColorSyncに渡
す。)
d) を用いたSGI /etc/config/system.glGammaValからの値を適用する。(デフォルト値は,1.70。Irix 6.2
又はそれ以上の版で動作する応用は,sRGB ICCプロファイルを,単にカラー管理システムに渡す。)
e) eXTStepを用いたNeXT ガンマ2.22を適用する。
"ガンマを適用する"の意味は,三つのR,G及びBのそれぞれを,OSへと処理を渡す前に,R'=Rgamma,
G'=Ggamma及びB'=Bgammaに変換することを意味する。
これは,256要素のルックアップ表を構成することによって,ブラウザを呼び出す度に1回行ってもよ
い。
for i := 0 to 255 do
raw := i / 255;
corr := pow (raw, gamma);
table[i] := trunc (0.5 + corr * 255.0)
end
これによって,1画素当たりのカラー属性の指数関数計算(pow) の回数を劇的に減らすことができる。

――――― [JIS X 4168 pdf 65] ―――――

次のページ PDF 66

JIS X 4168:2004の国際規格 ICS 分類一覧

JIS X 4168:2004の関連規格と引用規格一覧

規格番号
規格名称