* 表構成要素系要素 char 属性 (HTML 4, XHTML 1)
[8] [[HTML]] の要素型 [CODE(HTMLe)[[[tbody]]]],
[CODE(HTMLe)[[[thead]]]], [CODE(HTMLe)[[[tfoot]]]], [CODE(HTMLe)[[[colgroup]]]],
[CODE(HTMLe)[[[col]]]], [CODE(HTMLe)[[[tr]]]], [CODE(HTMLe)[[[th]]]],
[CODE(HTMLe)[[[td]]]] で定義されている
[DFN[[CODE(HTMLa)[char]] 属性]]は、
こま内での文字揃えの軸となる[[文字]]を指定します。
仕様書: [[HTML 4]]
[17]
adult dating laugh loveblack adult butthole clipsadult nude pictureall adult
([[jerrytd]] [jerryqs@yahoo.com])
[[#comment]]
** スタイル・シート代替
[9] この属性は HTML 4 では'''非推奨'''とされてはいませんが、
[[スタイル・シート]]を使って指定するべきでしょう。
[10] [[CSS]] では [CODE(CSS)[[[text-align]]]] [[特性]]が使えます。
[[#comment]]
** 属性値
[5] この属性は [CODE(SGML)[%[[Character]]]] 型、すなわち何か1文字です。
[[SGML]] 的には [CODE(SGML)[[[CDATA]]]] です。
[13] HTML 4 仕様書には [Q[CN]] (大文字・小文字中立)
と書いてありますが、大文字も小文字も指定できるのに中立もへったくれもないでしょう。
区別されるのか、されないのか、はっきりしていただきたい。
[6] HTML 4 [[DTD]] 的には既定値はありません。 HTML 4
仕様書によれば既定値は [CODE(HTMLa)[[[lang]]]] 依存の[[小数点]]記号
(例えば英語では [CODE[.]], 仏蘭西語では [CODE[,]]) です。
それとは別に継承規則があります。
(おそらく継承しても得られないときの既定値が小数点なのでしょう。)
継承規則については [CODE(SGML)[%[[cellhalign]]]]
の説明をみてください。
[[#comment]]
** 他との関係
[4] この属性は HTML 4 [[DTD]] では属性集合
[CODE(SGML)[%[[cellhalign]]]] に属しています。
[11] HTML 4 仕様書には明記されていませんが、この属性は
[CODE(HTMLa)[[[align]]]] 属性が [CODE(HTML)[char]] のときのみ有効なはずです。
[12] 揃え文字のこま中の位置を指定する
[CODE(HTMLa)[[[charoff]]]] 属性があります。
[[#comment]]
** 文字揃え効果
[15] こま内の文字データは、 [CODE(HTMLa)[char]]
によって揃えられることになります。
HTML 4 仕様書によれば、複数個 [CODE(HTMLa)[char]]
の文字を含むときやこま内で[[折返し]]がある時の結果は未定義です。
ですから著者は注意するべきだとされています。
1つも [CODE(HTMLa)[char]] を含まないときについては
[CODE(HTMLa)[[[charoff]]]] に規定があって、
揃え位置にお尻を合わせることになっています。
[16]
>>15 HTML 4 の仕様書は1つも [CODE(HTMLa)[char]]を含まないときが [CODE(HTMLa)[charoff]] の規定の中に入っていてわかりにくいです。
[CODE(HTMLa)[charoff]] が省略されていたら1つもないときの挙動が未定義みたいに読めてしまう (けどそんなんじゃ困る)。
[[#comment]]
** 実装
[12] HTML 4 はこの属性は実装しなくても良いとしています。
実際ほとんどの [[WWWブラウザ]]は[[属性名]]の省略に対応していません。
対応している UA があったら教えてください。
[[#comment]]
** 例
[14]
[PRE(HTML)[
Vegetable | Cost per kilo
|
Lettuce | $1
|
Silver carrots | $10.50
|
Golden turnips | $100.30
|
]PRE]
(HTML 4 仕様書より)
レンダリング例:
[PRE[
------------------------------
| Vegetable |Cost per kilo|
|--------------|-------------|
|Lettuce | $1 |
|--------------|-------------|
|Silver carrots| $10.50|
|--------------|-------------|
|Golden turnips| $100.30|
------------------------------
]PRE]
[[#comment]]
** メモ
[[#comment]]
* 文字 (char) 級 (VTN 特性集合)
[1] [[VTN]] [[特性集合]]の[[級]] [DFN[[RUBYB[character] [文字]] ([CODE(SGML)[char]])]]
は、文字 ([CODE(SGML)[char]]) 型 (の特性値) に対応します。
仕様書: [[ISO/IEC 10744]]:1997 A.4.4.1 Value-To-Node (VTN) grove construction
[2]
:[[規格参照具象構文名]]:[CODE(SGML)[char]]
:[[応用名]]:[CODE(SGML)[char]]
:[[完全名]]:[CODE(SGML)[character]]
:[[特性]]:
,特性番号 ,規格参照具象構文名 ,応用名 ,完全名 ,型 ,値
,1〜12 ,[[内在特性]] ,== ,== ,== ,==
,13 (内在特性) ,[CODE(SGML)[source]] ,== ,[RUBYB[source] [原始]] ,[CODE(SGML)[[[node]]]] ([CODE(SGML)[[[urefnode]]]]) ,原始グローブの節
,14 ,[CODE(SGML)[[[srcprop]]]] ,[RUBYB[source property] [原始特性]] ,== ,[CODE(SGML)[[[compname]]]] ,原始グローブの特性名
,15 {[[内容特性]]} ,[CODE(SGML)[[[value]]]] ,== ,[RUBYB[value] [値]] ,[CODE(SGML)[[char]] ,特性値
[3] ある節 [VAR[n]] の特性 [VAR[p]] (型は [CODE(SGML)[char]] で、
値は [VAR[c]]) について VTN
グローブを構築すると、次のようになります。
- 節 (級: [CODE(SGML)[char]])
-- 特性 [CODE(SGML)[source]] = [VAR[n]]
-- 特性 [CODE(SGML)[srcprop]] = [VAR[p]] の名前
-- 特性 [CODE(SGML)[value]] = [VAR[c]]
(もちろん、このほかに内在特性が適当な値を取ります。)
[[#comment]]
* メモ