-
Notifications
You must be signed in to change notification settings - Fork 4
/
827.txt
374 lines (311 loc) · 21.7 KB
/
827.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
[11]
[SAMP(CSS)[font: -moz-field;]]
([[名無しさん]] [sage])
[12]
[SAMP(CSS)[font: medium -moz-fixed;]]
([[名無しさん]] [sage])
[13]
[SAMP(CSS)[font: -moz-list;]]
([[名無しさん]] [sage])
[14]
[SAMP(CSS)[font: -moz-button;]]
([[名無しさん]] [sage])
[15]
[CODE(CSS example)@en[font: [[-webkit-small-control]];]]
([[名無しさん]] [sage])
[16]
[CODE(CSS example)@en[font: [[-webkit-small-control]];]]
([[名無しさん]] [sage])
[19]
テスト用:
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20font%3A%20menu%3B%0D%0A%7D%0D%0A%0D%0A%0D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20sd%20()%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3ECSSOM%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element>
([[名無しさん]])
[20]
[[WinIE 6]] の[[構文解析]]:
= [[空白]]を0以上読み飛ばします。
= 次の値として[[システム・フォント]]
([[ASCII]] [[大文字]]/[[小文字]][[一致]]) が指定されていれば
(そしてそれ以降に[[空白]]以外何もなければ)、
それを [CODE(DOMa)@en[[[font]]]] に設定します
([[escape]] は除去しますが、[[大文字]]・[[小文字]]はそのままです)。
以降の処理は行いません (関連 [[longhand]] についても何もしません)。
= まず、[CODE(CSS)@en[[[font-weight]]]],
[CODE(CSS)@en[[[font-style]]]],
[CODE(CSS)@en[[[font-variant]]]] の部分です。
== 3つのうちいずれか1つで ([[WinIE 6]] が) 解釈可能な値なら、
該当する[[特性]]にその値を設定します。
=== これによって3つの[[特性]]がすべて明示的に設定されれば、
次へ進みます。
=== [CODE(CSS)[[[100]]]]〜[CODE(CSS)[[[900]]]] は
[CODE(CSS)@en[[[font-weight]]]] の値とみなされますが、
[[小数点]]が含まれる場合やそれ以外の [CODE(CSS)@en[<[[number]]>]]
の場合には [CODE(CSS)@en[[[font-weight]]]] とはみなされません。
== [CODE(CSS)@en[[[normal]]]] なら無視します。
== それ以外の値の場合は次へ進みます。
== [[空白]]を読み飛ばし、繰り返します。ただし1つも[[空白]]がなければ構文エラーです。
= [[空白]]を読み飛ばします (これ以前になにかあったら1つ以上必要で、
なければ構文エラーです)。
= 次の値を [CODE(CSS)@en[[[font-size]]]] として解釈します。
== [[奇癖モード]]では[[単位]]なしの [CODE(CSS)@en[<[[number]]>]]
は [CODE(CSS)@en[[[px]]]] [[単位]]とみなされます
([[CSSOM]] に現れる値は[[単位]]補完済み)。
== 解釈できなければ構文エラーです。
= [[空白]]を0以上読み飛ばします。
= [CODE(CSS)@en[[[/]]]] があれば、
== 注意: ここで[[空白]]を読み飛ばしません ([[注釈]]は通常通り読み飛ばします)。
== [CODE(CSS)@en[[[line-height]]]] として解釈します。
=== [CODE(CSS)@en[<[[number]]>]] の場合、その直後にごみがあれば読み飛ばします。
例えば [CODE(CSS)[20em/1""s""eeearaaaaaaa""a"a"]]
なら [CODE(CSS)@en[font-size: 20em; line-height: 1]] で、
それ以降の部分は読み飛ばします。 (この部分の正確な動作は不明です。)
== 解釈できなければ [CODE(CSS)@en[[[line-height]]]] には何も
([[初期値]]すら!) 設定しません。これは構文エラーではありません。
== [[空白]]を読み飛ばします。1つ以上なければ構文エラーです。
= 残りを [CODE(CSS)@en[[[font-family]]]] として解釈します。
解釈できなければ構文エラーです。
= 以上で設定しなかった [[longhand]] には[[初期値]]を設定します。
= ただし、構文エラーがあるときは通例通り[[宣言]]ごと[[無視]]されます。
= また、他の[[特性]]同様、[[注釈]]は値の途中だろうと無視されます。
([[名無しさん]])
[21]
[[Opera]] 9 の[[構文解析]]:
- おそらくほぼ [[CSS 2.1]] 通りです。
- [CODE(CSS)@en[[[font-family]]]]、
[CODE(CSS)@en[[[font-weight]]]] が[[CSSOM]] に現れる値が[[使用値]] (?)
になるのは [[longhand]] のときと同じです。
- [[システム・フォント]]が指定されたときには
[CODE(CSS)@en[[[font-family]]]] にその値が入ります。
他の [[longhand]] はそのままです ([[初期値]]を設定しません)。
-- なお、 [CODE(CSS)@en[[[font-family]]: [[menu]]]] や
[CODE(CSS)@en[[[font]]: 1[[px]] [[menu]]]]
のように [CODE(CSS)@en[<'[[font-family]]'>]]
として[[システム・フォント]]を指定しようとしても、
[[システム・フォント]]ではなく、実際の[[フォント名]]として解釈しようとするらしく、
(システム上に存在しないので) [[空文字列]]になります。
- [[無奇癖モード]]、[[奇癖モード]]とも、
[CODE(CSS)@en[[[font-size]]]] として
[CODE(CSS)@en[<[[number]]>]] を指定できません ([CODE(CSS)[[[0]]]]
も駄目です)。
- [CODE(CSS)@en[[[font-weight]]]] で [CODE(CSS)[[[100]]]] [[以上]]
[CODE(CSS)[[[900]]]] [[以下]]のどんな値も指定できるのは
[[longhand]] と同じ。
([[名無しさん]])
[22]
>>21 [CODE(CSS)@en[[[font-weight]]]] で [[CSSOM]]
に現れる値は[[使用値]]ではなく、指定されている値を丸めたものですが、
なぜか 100 の倍数だと 100 少ない値になるようです。
[CODE(CSS)[[[100]]]] のときは [CODE(CSS)[[[400]]]] になります。
;; <http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0D%0A%20%20font%3A%20900%201em%20serif%3B%0D%0A%7D;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20sd%20()%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3ECSSOM%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0D%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0D%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0D%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0D%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0D%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element> は [CODE(CSS)[[[900]]]] のはずがなぜか
[CODE(CSS)[[[800]]]]。
また、 [CODE(CSS)@en[[[font]]: 1[[em]] [[serif]]]]
のような[[共通族名]]は[[使用値]] (?) に置き換えられます。
[CODE(CSS)@en[[[font-family]]: [[serif]]]]
と [[longhand]] で指定したときはそのままなのに。
([[名無しさん]])
[23]
[[Firefox]] 2:
- ほぼ [[CSS 2.1]] 通りのようです。
- [CODE(CSS)@en[[[small-caps]] [[normal]] <'[[font-weight]]'> (以下略)]]
はなぜか[[宣言]]ごと[[無視]]されます (順序を入れ替えたり、
他の値の組み合わせにしたりしても[[無視]]されませんが、
なぜかこれだけ)。
;; <http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%20small-caps%20normal%20bolder%201em%20serif%3B%0A%7D%0A;h=%3Cp%3E%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20sd%20()%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3ECSSOM%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20getComputedStyle%20(el%2C%20null)%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3E%3Ccode%3EgetComputedStyle%3C%2Fcode%3E%3C%2Fbutton%3E%0A%3Cbutton%20type%3Dbutton%20onclick%3D%22%0A%20%20var%20el%20%3D%20document.getElementsByTagName%20('p')%5B0%5D%3B%0A%20%20var%20s%20%3D%20el.currentStyle%3B%0A%20%20w%20(%5B'font'%2C%20s.font%2C%20'font-family'%2C%20s.fontFamily%2C%20'font-style'%2C%20s.fontStyle%2C%20'font-variant'%2C%20s.fontVariant%2C%20'font-weight'%2C%20s.fontWeight%2C%20'font-size'%2C%20s.fontSize%2C%20'line-height'%2C%20s.lineHeight%5D)%3B%0A%22%3E%3Ccode%3EcurrentStyle%3C%2Fcode%3E%3C%2Fbutton%3E;p=n;x=style-element>
- [[奇癖モード]]では [CODE(CSS)@en[<'[[font-size]]'>]]
の[[単位]]がないと [CODE(CSS)@en[[[px]]]] が補完されますが、
[CODE(CSS)[[[100]]]]〜[CODE(CSS)[[[900]]]] の100の[[倍数]]で、
かつ[[小数点]]が入っていない値 ([[先導0]]おk) は
[CODE(CSS)@en[<'[[font-weight]]'>]] とみなされますので、
[CODE(CSS)@en[[[font]]: 100 serif]] のような[[宣言]]は[[無視]]されます。
- [[WinIE 6]] や [[Opera]] 9 とは異なり、 [[CSS 2]] にあって
[[CSS 2.1]] にない [CODE(CSS)@en[[[font-size-adjust]]]] や
[CODE(CSS)@en[[[font-stretch]]]] も[[初期値]]にします。
- [[システム・フォント]]が指定された場合、
[CODE(CSS)@en[[[font-family]]]] にその値 ([[ASCII]]
[[小文字]]、[[escape]] 除去済み) が設定されます。
それ以外の [[longhand]] には[[空文字列]]が設定されます。
-- [CODE(CSS)@en[[[font-family]]]] に直接[[システム・フォント]]名を指定しても、
その名前の[[フォント]]を探すだけで、[[システム・フォント]]とは解釈されないようです。
([[名無しさん]])
[24]
[[DOM属性]] [CODE(DOMa)@en[[[font]]]]:
- [[Opera]] 9
-- ([[初期値]]だろうと) 値が指定されているもの ([[算出値]]の場合は全部)
を全部書き出します。
-- 最初の3つは [CODE(CSS)@en[[[font-style]]]]、
[CODE(CSS)@en[[[font-variant]]]]、
[CODE(CSS)@en[[[font-weight]]]] の順。
-- [CODE(CSS)@en[[[font-size]]]] の値が与えられていないと、
その前の[[空白]]と
後ろの [CODE(CSS)@en[[[/]]]] も含めてなくなってしまいます
([CODE(CSS)@en[[[font-size]]]] の値がない時点で[[非妥当]])。
-- [CODE(CSS)@en[[[line-height]]]] の値が与えられていないと、
その前の [CODE(CSS)[[[/]]]] がなくなるのはよいとして、
その後ろの ([CODE(CSS)@en[[[font-family]]]] の前の)
[[空白]]までなくなってしまいます。
-- [CODE(CSS)@en[[[font-family]]]] が指定されていないと、
その前の[[空白]]も含めてなくなってしまいます
([CODE(CSS)@en[[[font-family]]]] 部がないのは[[非妥当]])。
-- 従ってどの [[longhand]] もなければ[[空文字列]]になります。
-- それぞれの値は [[longhand]] に対応する [[DOM属性]]の値のようです
(例えば [CODE(DOMa)@en[[[currentStyle]]]] や
[CODE(DOMm)@en[[[getComputedStyle]]]] のとき
[CODE(CSS)@en[[[font-family]]]] は[[使用値]]、
[CODE(CSS)@en[[[bolder]]]] を指定したら普通のは
[CODE(CSS)@en[[[bolder]]]]、
[CODE(DOMa)@en[[[currentStyle]]]] は
[CODE(CSS)@en[[[bold]]]]、
[CODE(DOMm)@en[[[getComputedStyle]]]] は
[CODE(CSS)@en[[[700]]]])。
-- [CODE(CSS)@en[[[font-family]]]] の値が実は[[システム・フォント]]だとしても気にしない。
([[名無しさん]])
[25]
>>24
[[Firefox]] 2
- ([[初期値]]だろうと) 値が与えられているものを書くのは >>24 と同じ。
- 順序も >>24 と同じ。
- [CODE(CSS)@en[[[font-size]]]] と [CODE(CSS)@en[[[font-family]]]]
が最低限指定されていないと[[空文字列]]になる。
- [CODE(CSS)@en[[[font-family]]]] の値が実は[[システム・フォント]]だとしても気にしない。
- [CODE(DOMm)@en[[[getComputedStyle]]]] では常に[[空文字列]]。
([[名無しさん]])
[26]
>>24 [[WinIE 6]]
- 5[[特性]]すべてに値が与えられていない限り、[[空文字列]]。
- [[初期値]]以外の値なら現れる。
[CODE(CSS)@en[[[font-size]]]] と [CODE(CSS)@en[[[font-family]]]]
は常に現れる。
- 順序は [CODE(CSS)@en[[[font-weight]]]]、
[CODE(CSS)@en[[[font-style]]]]、
[CODE(CSS)@en[[[font-variant]]]]。
- [CODE(DOMa)@en[[[currentStyle]]]] には存在しない
([CODE(JS)@en[[[undefined]]]])。
- 各値を [CODE(charname)@en[[[SPACE]]]] 1つで区切る。
([CODE(CSS)@en[[[font-size]]]]と[CODE(CSS)@en[[[line-height]]]]
の間は [CODE(CSS)[[[/]]]] 1つ。)
([[名無しさん]])
[27]
全体的にどのブラウザもどこかがおかしいですが、
そのなかで一番まともそうに見えるのが [[WinIE 6]]
だという稀有な例です。
([[名無しさん]])
[28]
やっぱり >>27 は取り消し ([[構文解析]]のあれはひどいだろう)。
([[名無しさん]])
[29]
[[longhand]] は[[カスケーディング]]の前に [[shorthand]]
に分解する (最低でも分解したかのように扱う) 必要があるのですが、
[[システム・フォント]]が指定されるとそういうわけにもいかなくなります。
内部的な特殊な値で ([CODE(CSS example)@en[font-family: -x-menu-font-family; font-size: -x-menu-font-size]] のように)
扱うとしても、[[算出値]]の算出時に実際の値に置換する必要があります
([CODE(CSS)@en[[[font-size]]]] は [CODE(CSS)@en[[[em]]]]
の基準になるので)。
([[名無しさん]])
[30]
[[システム・フォント]]が指定されたら [[longhand]] はすべて[[空文字列]]になるらしい (ただし [[should]])。
;;
<http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html#CSS-CSS2Properties>
どのブラウザも違うけど、 [[Firefox]] 2 が一番近いか。
([[名無しさん]])
[31]
[CODE(CSS)@en[<'[[font-family]]'>]] が [CODE(CSS)@en[[[inherit]]]]
:
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20inherit%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div>
([[名無しさん]])
[32]
[CODE(CSS)@en[<'[[font-weight]]'>]] が省略された時の値は
[[Opera]] 9 では [CODE(CSS)[[[400]]]]、[[WinIE 6]] と
[[Firefox]] 2 では [CODE(CSS)@en[[[normal]]]] です。
([[名無しさん]])
[33]
>>31 [[Firefox]] 2 は[[宣言]]ごと[[無視]]しますが、
[[Opera]] 9 では (そういう[[フォント]]はないので)
[CODE(CSS)@en[[[font-family]]]] を[[空文字列]]にします。
([[名無しさん]])
[34]
>>31
後に別の[[フォント名]]
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20inherit%2C%20a%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div>
結果は >>33 と同じ。
前に別の[[フォント名]]
<http://suika.fam.cx/gate/2007/cssom/viewer?c=p%20%7B%0A%20%20font%3A%2016px%20a%2C%20inherit%3B%0A%7D%0A;h=;p=n;x=style-element;i=html-div>
[[Firefox]] 2 は[[無視]]しなくなります。 [[Opera]] 9 は >>33 と同じ。
([[名無しさん]])
[35]
[[Opera]] 9 も [[WinIE 6]] も [CODE(CSS)@en[[[font-stretch]]]]
や [CODE(CSS)@en[[[font-size-adjust]]]] には対応していないようなので、
[[Firefox]] 2 や [[CSS 2]] との不整合はありません。
([[名無しさん]])
[36]
>>35 訂正、[[Opera]] 9 は [CODE(CSS)@en[[[font-size-adjust]]]]
を実装しています。なので、
[PRE(CSS example code)[
p {
font-size-adjust: 3;
font: 12px serif;
}
]PRE]
は [[Firefox]] と [[Opera]] で違った結果になります。
;; なお、 [[Opera]] は [CODE(CSS)@en[[[font-size-adjust]]]]
を実際に[[レンダリング]]に使っているのか不明。
([[名無しさん]])
[37]
[[Firefox]] 2 の [CODE(DOMa)@en[[[font]]]]
[[DOM属性]]は、
[CODE(CSS)@en[[[font-size-adjust]]]] や
[CODE(CSS)@en[[[font-stretch]]]] と無関係に値を返すようです。
([[名無しさん]])
[38]
[[CSS 2]] は [CODE(CSS)@en[[[font]]]] に [CODE(CSS)@en[[[inherit]]]]
を指定したら
[CODE(CSS)@en[[[font-size-adjust]]]] や
[CODE(CSS)@en[[[font-stretch]]]]
がどうなるのか明記していませんが、
[[Firefox]] 2 は [CODE(CSS)@en[[[inherit]]]] を設定します。
([[名無しさん]])
[901] [CITE[User Interface Enhancements]]
( ([TIME[1999-09-16 05:07:02 +09:00]] 版))
<http://www.w3.org/TR/1999/WD-css3-userint-19990916#font>
[902] [CITE@en[User Interface for CSS3]]
( ([TIME[2000-06-23 03:09:21 +09:00]] 版))
<http://www.w3.org/TR/2000/WD-css3-userint-20000216#font>
[903] [CITE@en[CSS3 module: Basic User Interface]]
( ([[Tantek Çelik]] 著, [TIME[2002-08-03 07:13:43 +09:00]] 版))
<http://www.w3.org/TR/2002/WD-css3-ui-20020802/#system0>
[904] [CITE@en[CSS3 Basic User Interface Module]]
( ([[Tantek Çelik]] 著, [TIME[2003-07-04 02:51:33 +09:00]] 版))
<http://www.w3.org/TR/2003/WD-css3-ui-20030703/#system0>
[905] [CITE@en[CSS3 Basic User Interface Module]]
( ([[Tantek Çelik]] 著, [TIME[2004-05-12 02:17:47 +09:00]] 版))
<http://www.w3.org/TR/2004/CR-css3-ui-20040511/#system0>
[906] [CITE@en[CSS Basic User Interface Module Level 3 (CSS3 UI)]]
( ([[Tantek Çelik]] 著, [TIME[2011-09-29 17:32:08 +09:00]] 版))
<http://dev.w3.org/csswg/css3-ui/#system-fonts>
[907] [CITE@en[CSS Basic User Interface Module Level 3 (CSS3 UI)]]
( ([[Tantek Çelik]] 著, [TIME[2012-01-13 20:03:30 +09:00]] 版))
<http://www.w3.org/TR/2012/WD-css3-ui-20120117/#changes-list>
[908] [[Chrome]] だと [CODE[12 serif]] みたいなので [CODE(CSS)@en[[[font-size]]: 12px]] になる。
一方 [[Firefox]] と [[Quirks Mode Standard]] によれば [CODE(CSS)@en['[[font]]']] では無単位の奇癖は適用されない。 [TIME[2013-09-02T09:00:15.000Z]]
[909] [[Chrome]] では [CODE(DOMa)@en[[[cssText]]]] にまとめられるのは[[システムフォント]]が指定されている時だけで、
それ以外のときは個別の[[プロパティー]]になります。 [TIME[2013-09-08T06:48:21.100Z]]
[910] [[Chrome]] の [CODE(DOMa)@en[[[font]]]] では元の指定された値に近いものが、
[[Chrome]] の [CODE(DOMm)@en[[[getComputedStyle]]]] の [CODE(DOMa)@e[[[font]]]]
では省略なしのものが、 [[Firefox]] の [CODE(DOMa)@en[[[font]]]] では省略なしのものが返ってきます。
[TIME[2013-09-08T06:49:44.700Z]]
[911] [[Firefox]] では[[システムフォント]]の指定は [CODE(CSS)@en[[[-x-system-font]]]]
という直接指定できない[[プロパティー]]への指定とみなされ、他の [[longhand]]
は [CODE(CSS)@en[[[-moz-use-sysyem-font]]]] という値になります。なのでそれより前に
[[longhnad]] の値を指定していても上書きされます。 [[Chrome]]
では[[システムフォント]]を指定したとき(だけ)は [[longhand]] が上書きされず、
他の指定があれば残ります。 [TIME[2013-09-08T06:51:50.300Z]]
[912] [[Firefox]] は [CODE(CSS)@en[[[font-stretch]]]] も [[longhand]] として初期値を設定するようですが、
[CODE(CSS)@en[<[[font-stretch]]>]] を [CODE(CSS)@en[[[font]]]] の値として設定するのには対応していないようです。[TIME[2013-09-08T07:02:57.500Z]]
[913] [[Firefox]] は [CODE(CSS)@en[[[inherit]]]] や [CODE(CSS)@en[[[initial]]]]
でも [CODE(CSS)@en[[[-x-system-font]]]] を [CODE(CSS)@en[[[none]]]] にします。 [TIME[2013-09-08T08:36:59.600Z]]
[FIG(quote)[
[FIGCAPTION[
[1] [CITE@en[Re: ''''''[''''''css-fonts'''''']'''''' "system" generic font name]]
([[Dean Jackson]] 著, [TIME[2015-07-15 07:54:23 +09:00]] 版)
<https://lists.w3.org/Archives/Public/www-style/2015Jul/0181.html>
]FIGCAPTION]
> Aside: on iOS we do have similar font keywords like your -mozilla-foo. For example, -apple-system-headline1, which provides a family, weight, style, size, etc. These also dynamically respond to what the user chooses in their accessibility settings.
]FIG]