#?SuikaWiki/0.9 *LATIN SMALL LETTER Q [4] [[Q]] の小文字。 - [7] [WEAK[2003-10-20 22:57:41 +00:00]] ''[[tor]]'': [[#comment]] * q 要素型 (HTML, XHTML 1) [11] [DFN[[CODE(HTMLe)[q]] [[要素型]]]]は、短い、[[段落]]区切りが要らないくらいの[[引用]] を表します。ここで、「短い」とは、 「長い」引用である [CODE(HTMLa)[[[blockquote]]]] 要素型との対比であり、 [[行内要素]]が[[内容]]であることを意味します。 [[HTML4]] では を参照。 [12] : [[開始タグ]]: 必須 : [[終了タグ]]: 必須 : [[内容模型]] : [CODE(SGML)[(%[[inline]];)*]] : [[属性]] : ,[CODE(HTMLa)[[[cite]]]] ,[[URI参照]],(なし),出典 ,[HTML4] ,[CODE(HTMLa)[[[class]]]] ,,,[[級]] ,[HTML4] %[[coreattr]] ,[CODE(HTMLa)[[[dir]]]] ,,,[[書字方向]] ,[HTML4] %[[i18n]] ,[CODE(HTMLa)[[[id]]]] ,,,一意識別子 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[lang]]]] ,,,[[自然言語]] ,[HTML4] %i18n ,[CODE(HTMLa)[[[xml]]:lang]],,,自然言語 ,[XHTML1] ,[CODE(HTMLa)[[[onclick]]]] ,,, ,[HTML4] %[[events]] ,[CODE(HTMLa)[[[ondblclick]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeydown]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeypress]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onkeyup]]]] ,,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmousedown]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseout]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseover]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[onmouseup]]]],,, ,[HTML4] %events ,[CODE(HTMLa)[[[style]]]] ,,,スタイル情報 ,[HTML4] %coreattr ,[CODE(HTMLa)[[[title]]]] ,,,注釈的題 ,[HTML4] %coreattr [[#comment]] ** 応用 [[#comment]] *** レンダリング [14] によると: - [[視覚UA]] は区切りの[[引用符]]で内容を囲んでレンダリングしなければなりません (must)。 - [[著者]]は、 [CODE(HTMLe)[q]] 要素の最初と最後に引用符を挿入するべきではありません (should not)。 - UA は、言語依存の方法で引用符をレンダリングするべき (should)。 - UA は、多くの言語で採用されている、入れ子度によった適切な引用符を使うべき (should)。 [[#comment]] ** 様々な言語・用字系の引用符 [8] 実際のところは引用符は言語, 地域, 用字系, 文脈によって様々に変わりえます。 一つの目安として : ,言語・地域 ,用字系 ,最外側,==,2番目,== ,[CODE(lang)[en]],[CODE(script)[Latn]],“,”,‘,’ ,[CODE(lang)[de]],[CODE(script)[Latn]],",,",” ,[CODE(lang)[fr]],[CODE(script)[Latn]],<<,>> ,[CODE(lang)[ja]],[CODE(script)[Japn]],「,」,『,』 ,[CODE(lang)[ja]],[CODE(script)[Latn]],“,”,‘,’ ,[CODE(lang)[ru]],キリル文字 ,<<,>>, ,[CODE(lang)[ru]],キリル文字 ,“,”, - [15] 現実には更に著者や編集者の好み、分野の慣習なんかにも依存しますね。たとえば日本語の仮名漢字混じり文でも [CODE[“]]〜[CODE[”]] を使うことはよくある。それから、[[書字方向]]が [CODE(CSS)[[[lr-tb]]]] 以外のときにはまた様相が変わってきたりもしますね。 [[#comment]] ** 実装について - [5] [[WebExplorer]] では [CODE(HTML)[Q]] 要素は [[blockquote]] 要素の別名で、既定スタイルが [CODE(CSS)[display:block]] です。 [[#comment]] *** Mozilla (Gecko) で [3] [[Mozilla]] 1.3b の既定スタイルは [CODE(HTML)[Q]] 要素の両側が常に [SAMP["]] になって寂しいので、文脈によって適切な引用符を使うようにしようと思ってみました。 重要なポイントは、引用符は一般に、引用の周り (地の文) の言語及びスクリプト (用字系) で決定されるということです。 例えばラテン語の英語で仮名漢字混じりの日本語文を引用するときは、 [PRE[ For example, “こんな風になります.” ]PRE] 逆の場合は、 [PRE[ 例えば「like this example,」となります。 (“comma style quotation mark”を使うこともありますが、 話がややこしくなるので黙ってましょう。) ]PRE] しかし、同じ英語と日本語の組み合わせでも、 [PRE[ ふぉあ えくざんぷる、「こんな風になります」。 Tatoe ba “like this example,” to narimasu. ]PRE] のようになります。 ところが、 [[CSS]]2 では言語の[[選択子]]はありますが、用字系で処理を振り分ける手段がありません。 しかも、 Mozilla は現時点では [CODE(CSS)[:[[lang]]]] 擬似級にすら対応していません。 その上、 [CODE(CSS)[[[quotes]]]] 属性には1組しか値を指定できないようです。 (それ以上指定しても無視される。) そういう現状を踏まえて、とりあえずのスタイル指定: [PRE[ @namespace xml 'http://www.w3.org/XML/1998/namespace'; q, q q q, [lang=en] q, [lang=en] q q q { quotes: "“" "”" "‘" "’"; } q q, q q q q, [lang=en] q q, [lang=en] q q q q { quotes: "‘" "’"; } [xml|lang=ja] q, [xml|lang=ja] q q q, [lang=ja] q, [lang=ja] q q q { quotes: "「" "」" "『" "』"; } [xml|lang=ja] q q, [xml|lang=ja] q q q q, [lang=ja] q q, [lang=ja] q q q q { quotes: "『" "』"; } ]PRE] テスト用 HTML 片: [PRE[ QuotedQuoted QuotedQuoted text texttext text 引用文引用引用引用文字列文字列文字列字列 QuotedQuoted Quoted引用引用引用QuotedQuoted text text文字列文字列文字列texttext text ]PRE] 問題点: -文書で言語指定が無かった場合は、とりあえず英語と同じにしてあります。 -深い入れ子の引用では正しく動作しません。4つ目の引用まで対応しています。 (実際には十分以上でしょう。) -日本語の引用文の中に英語の引用文があって、更に引用部がある場合に、正しく引用符がつきません (3つ目のテスト片)。選択子の詳細度の関係でしょう。うまい選択子を与えれば解決できそうですが、複雑になりそう。 -上述の通り、言語情報のみに頼っていて、スクリプトに応じた引用符を選択できません。 (日本語では問題になるのはローマ字書きくらいでしょう。) [[#comment]] ** 例 [13] ([[HTML4]] 仕様書より) [PRE[ John said, I saw Lucy at lunch, she told me Mary wants you to get some ice cream on your way home. I think I will get some at Ben and Jerry's, on Gloucester Road. ]PRE] レンダリング例: [PRE[ John said, "I saw Lucy at lunch, she told me 'Mary wants you to get some ice cream on your way home.' I think I will get some at Ben and Jerry's, on Gloucester Road." ]PRE] HTML 4 は、どちらの引用も米語だから、と言っていますが、 実際には引用言語だけではなく、引用のまわりの言語もはっきりしないと (むしろそっちがないと) 引用符は決定できないはずです。 [[#comment]] ** 参考文献 - [6] ''Q要素:インライン引用文のマークアップについて'' : 2001年のスレで、現在の事情からするとちょっと時代遅れの感がありますが。 (但し引用符補完 WinIE がまだ release されていないのは変わっていませんね。) [[#comment]] ** メモ [[#comment]] *品質値 -[2] [[HTTP]] などの[[内容折衝]]で [CODE(HTTP)[[[Accept]]]] などに使われる引数。 See [CODE(WikiPage)[[[qvalue]]]], [CODE(WikiPage)[[[品質値]]]]。 [[#comment]] * 長さの絶対量の単位 [9] [[組版]]の世界で使われている[[長さ]]の単位です。 [CODE[級]]とか [CODE[Q]] とか言ったりします。 [[#comment]] **JIS X 4052 組版指定交換形式において [1] >[[級]], [[Q]] (1q = 0.25[[mm]]) [INS[([[JISX4052]]:2000 5.3.2. b)5))]] [[#comment]] *メモ