Skip to content

Commit 4443ab9

Browse files
committed
[css-fonts-4] Not all generic font families have to map to a font
Closes w3c#4442 (comment)
1 parent 3278ec4 commit 4443ab9

1 file changed

Lines changed: 33 additions & 23 deletions

File tree

css-fonts-4/Overview.bs

Lines changed: 33 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ Relationship Between Faces and Families
233233
<h4 id="generic-font-families">
234234
Generic font families</h4>
235235

236-
Each generic font family must always map to at least one matched font face.
237236
A generic font family is a font family which has a standard name (as defined by CSS), but which is an alias for an existing installed font family present on the system.
238237
However, a single generic font family may be a composite face
239238
combining different typefaces based on such things as
@@ -270,6 +269,13 @@ Generic font families</h4>
270269
Any font that fits this typographic role
271270
may be used to represent the generic ''serif'' family.
272271

272+
''serif'' must always map to at least one matched font face.
273+
274+
Note: ''serif'' must always map to at least one matched font face.
275+
However, no guarantee is placed on the character coverage of that font
276+
face. Therefore, the font ''serif'' is mapped to may not end up being
277+
used for all content.
278+
273279
<figure>
274280
<img alt="sample serif fonts" src="images/serifexamples.png" >
275281
<figcaption>Sample serif fonts</figcaption>
@@ -294,6 +300,13 @@ Generic font families</h4>
294300
Any font that fits this typographic role
295301
may be used to represent the generic ''sans-serif'' family.
296302

303+
''sans-serif'' must always map to at least one matched font face.
304+
305+
Note: ''sans-serif'' must always map to at least one matched font face.
306+
However, no guarantee is placed on the character coverage of that font
307+
face. Therefore, the font ''sans-serif'' is mapped to may not end up being
308+
used for all content.
309+
297310
<figure>
298311
<img alt="sample sans-serif fonts" src="images/sansserifexamples.png" >
299312
<figcaption>Sample sans-serif fonts</figcaption>
@@ -329,6 +342,13 @@ Generic font families</h4>
329342
The sole criterion of a monospace font is that all glyphs have the same fixed width.
330343
This is often used to render samples of computer code.
331344

345+
''monospace'' must always map to at least one matched font face.
346+
347+
Note: ''monospace'' must always map to at least one matched font face.
348+
However, no guarantee is placed on the character coverage of that font
349+
face. Therefore, the font ''monospace'' is mapped to may not end up being
350+
used for all content.
351+
332352
<figure>
333353
<img alt="sample monospace fonts" src="images/monospaceexamples.png" >
334354
<figcaption>Sample monospace fonts</figcaption>
@@ -399,35 +419,16 @@ Generic font families</h4>
399419
and there is less variation in stroke width,
400420
compared to a Song style.
401421
Fang Song is often used for official Chinese Government documents.
402-
</dl>
403422

404-
<h4 id="standard-font-families">
405-
Standard font families</h4>
406-
407-
Standard font families are font families which are expected to be
408-
interoperable between browsers, but which may not exist on every platform
409-
or operating system. They are not required to map to a concrete font
410-
face. Just like generic font families, standard font families may be a
411-
composite face combining different typefaces based on such things as the
412-
Unicode range of the character, the content language of the containing
413-
element, user preferences, system settings, etc.
414-
415-
Note: These standard font families are expected to exist on different
416-
platforms, but be backed by different fonts. However, some CSS authors might
417-
prefer to handle this kind of platform-specific fallback themselves using
418-
the 'font-family!!property' property. Therefore, user agents are encouraged
419-
to also expose these standard font families by other, platform-specific,
420-
font-family names, in addition to the standard names given here. Authors can
421-
use these additional names to control font fallback themselves between different
422-
platforms.
423-
424-
<dl dfn-for="font-family,<generic-family>" dfn-type=value>
425423
<dt id="ui-serif-def"><dfn>ui-serif</dfn>
426424
<dd>
427425
This font family is used for the serif variant of the system's
428426
user interface. The purpose of ''ui-serif'' is to allow web
429427
content to integrate with the look and feel of the native OS.
430428

429+
Note: ''ui-serif'' is not expected to map to any font on platforms
430+
without an appropriate system font.
431+
431432
<div class="example">
432433
<figure>
433434
<img alt="sample ui-serif font" src="images/ui-serif.png" >
@@ -441,6 +442,9 @@ Standard font families</h4>
441442
user interface. The purpose of ''ui-sans-serif'' is to allow web
442443
content to integrate with the look and feel of the native OS.
443444

445+
Note: ''ui-sans-serif'' is not expected to map to any font on platforms
446+
without an appropriate system font.
447+
444448
<div class="example">
445449
<figure>
446450
<img alt="sample ui-sans-serif font" src="images/ui-sans-serif.png" >
@@ -455,6 +459,9 @@ Standard font families</h4>
455459
allow web content to integrate with the look and feel of the
456460
native OS.
457461

462+
Note: ''ui-monospace'' is not expected to map to any font on platforms
463+
without an appropriate system font.
464+
458465
<div class="example">
459466
<figure>
460467
<img alt="sample ui-monospace font" src="images/ui-monospace.png" >
@@ -468,6 +475,9 @@ Standard font families</h4>
468475
user interface. The purpose of ''ui-rounded'' is to allow web
469476
content to integrate with the look and feel of the native OS.
470477

478+
Note: ''ui-rounded'' is not expected to map to any font on platforms
479+
without an appropriate system font.
480+
471481
<div class="example">
472482
<figure>
473483
<img alt="sample ui-rounded font" src="images/ui-rounded.png" >

0 commit comments

Comments
 (0)