Skip to content

Commit

Permalink
[css-fonts-4] Define the font hierarchy (installed; preinstalled; sys…
Browse files Browse the repository at this point in the history
…tem; etc.)

#2019
  • Loading branch information
Litherum committed Mar 6, 2018
1 parent cd64ae1 commit a6ef2d9
Showing 1 changed file with 37 additions and 0 deletions.
37 changes: 37 additions & 0 deletions css-fonts-4/Overview.bs
Expand Up @@ -3637,6 +3637,43 @@ the variation selector is ignored.
</pre>
</div>

<h2 id="font-taxonomy">
Font Taxonomy</h2>

A given font may belong in one or more of the following categories:

<h3 id="installed-fonts">
Installed Fonts</h3>

A font may be installed globally on a device. Such fonts are generally accessible in any application, even applications which have no concept of CSS. The file or files backing the font object exist on the user's device, not as a remote resource.

Installed Fonts must not be Web Fonts, and Web Fonts must not be Installed Fonts.

<h3 id="web-fonts">
Web Fonts</h3>
A font may be backed by a remote resource, which must be requested using the User Agent's resource fetching infrastructure. Web Fonts are represented by one of two mechanisms:

- ''@font-face'' rules
- A ''FontFace'' member of the Document's ''FontFaceSet''

A Web Font must not be accessible in any other Document from the one which either is associated with the ''@font-face'' rule or owns the ''FontFaceSet''. Other applications on the device must not be able to access Web Fonts.

Installed Fonts must not be Web Fonts, and Web Fonts must not be Installed Fonts.

Web Fonts shadow Installed Fonts, so if an Installed Font has the same family name as a Web Font, the Installed Font is not accessible.

<h3 id="preinstalled-and-user-installed-fonts">
Preinstalled Fonts and User-Installed Fonts</h3>

Users may choose to install fonts on their devices. User-Installed Fonts are installed by an explicit action by the user, such as clicking an "Install" button or copying a file into a particular directory on their device. Such fonts are User-Installed Fonts and also are Installed Fonts. Web content authors should not expect the presence of user-installed fonts, because there is no guarantee any user will have performed the action to install a specific font. User Agents may choose to ignore User-Installed Fonts for the purpose of the <a href="#font-matching-algorithm">Font Matching Algorithm</a>.

Any Installed Font which is not a User-Installed font is a Preinstalled Font. It is likely that all users of a particular version of a particular Operating System will have the same set of Preinstalled Fonts installed. As such, Web content authors targetting these Operating Systems may wish to use these fonts' family names inside ''font-family'' properties.

<h3 id="system-font">
System Font</h3>

The System Font is the font which is used by the ''system-ui'' <a href="#system-ui-def">generic font family name</a>. It is an example of a Preinstalled Font.

<h2 id="object-model">
Object Model</h2>

Expand Down

0 comments on commit a6ef2d9

Please sign in to comment.