mirror of
https://github.com/WordPress/WordPress.git
synced 2024-10-01 00:27:38 +02:00
8c4c35311b
Introducing Font Face, a server-side `@font-face` styles generator and printer. tl;dr: * Introduces Font Face. * Deprecates `_wp_theme_json_webfonts_handler()`. **Introduce Font Face** From an array of fonts (i.e. each font-family and its font variations to be processed), it: 1. Validates each `font-face` declaration, i.e. the CSS property and value pairing. If validation fails, processing stops with no font-face styles printed. 3. Generates the `@font-face` CSS for each font-family. 4. Prints the CSS within a `<style id="wp-fonts-local">` element. The entry point into Font Face is through a new global function called `wp_print_font_faces()`, which is automatically called: * when the `'wp_head'` hook runs (for the front-end). * when the `'admin_print_styles'` hook runs (for the back-end). * when `_wp_get_iframed_editor_assets()` runs to inject the `@font-face` styles into the iframed editor. Once called, it gets the fonts from Theme_JSON merged data layer, which includes theme defined fonts and user activated fonts (once the Font Library #59166 is introduced into Core). For classic sites, themes and plugins can directly call `wp_print_font_faces()` and pass their fonts array to it for processing. **Deprecates `_wp_theme_json_webfonts_handler()`.** As Font Face is a direct replacement, the stopgap code in `_wp_theme_json_webfonts_handler()` (introduced in 6.0.0 via [53282]) is deprecated and unused in Core. **Props note:** There's a long multiple year history baked into Font Face, which dates back to the early versions of a web font API (see #46370 and [https://github.com/WordPress/gutenberg/issues/41479 roadmap]. The props list includes those who contributed from those early versions up to this commit. **References:** * #46370 original (Web)Fonts API proposal for registering and enqueuing web fonts. * [https://github.com/WordPress/gutenberg/issues/41479 Gutenberg tracking issue] which includes the evolution from Webfonts API to Fonts API to Font Face. * [53282] / #55567 Added the stopgap code `_wp_theme_json_webfonts_handler()` in 6.0. * [https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face @font-face on mdn web docs] * #59166 Font Library: Font manager for WordPress Follow-up to [53282]. Props aristath, jonoaldersonwp, hellofromTonya, andraganescu, annezazu, antonvlasenko, arena, askdesign, azaozz, bph, bradley2083, colorful-tones, costdev, davidbaumwald, desrosj, dingo_d, djcowan, domainsupport, dryanpress, elmastudio, flixos90, francina, garrett-eclipse, gigitux, grantmkin, grapplerulrich, gziolo, ironprogrammer, jb510, jeffpaul, jeremyyip, jffng, joostdevalk, jorgefilipecosta, juanmaguitar, mamaduka, matveb, mburridge, mitogh, ndiego, ntsekouras, oandregal, ocean90, oglekler, paaljoachim, pagelab, peterwilsoncc, poena, priethor, scruffian, SergeyBiryukov, shiloey, simison, skorasaurus, soean, westonruter, wildworks, zaguiini. Fixes #59165. Built from https://develop.svn.wordpress.org/trunk@56500 git-svn-id: http://core.svn.wordpress.org/trunk@56012 1a063a9b-81f0-0310-95a4-ce76da25c4cd |
||
---|---|---|
.. | ||
css | ||
images | ||
includes | ||
js | ||
maint | ||
network | ||
user | ||
about.php | ||
admin-ajax.php | ||
admin-footer.php | ||
admin-functions.php | ||
admin-header.php | ||
admin-post.php | ||
admin.php | ||
async-upload.php | ||
authorize-application.php | ||
comment.php | ||
contribute.php | ||
credits.php | ||
custom-background.php | ||
custom-header.php | ||
customize.php | ||
edit-comments.php | ||
edit-form-advanced.php | ||
edit-form-blocks.php | ||
edit-form-comment.php | ||
edit-link-form.php | ||
edit-tag-form.php | ||
edit-tags.php | ||
edit.php | ||
erase-personal-data.php | ||
export-personal-data.php | ||
export.php | ||
freedoms.php | ||
import.php | ||
index.php | ||
install-helper.php | ||
install.php | ||
link-add.php | ||
link-manager.php | ||
link-parse-opml.php | ||
link.php | ||
load-scripts.php | ||
load-styles.php | ||
media-new.php | ||
media-upload.php | ||
media.php | ||
menu-header.php | ||
menu.php | ||
moderation.php | ||
ms-admin.php | ||
ms-delete-site.php | ||
ms-edit.php | ||
ms-options.php | ||
ms-sites.php | ||
ms-themes.php | ||
ms-upgrade-network.php | ||
ms-users.php | ||
my-sites.php | ||
nav-menus.php | ||
network.php | ||
options-discussion.php | ||
options-general.php | ||
options-head.php | ||
options-media.php | ||
options-permalink.php | ||
options-privacy.php | ||
options-reading.php | ||
options-writing.php | ||
options.php | ||
plugin-editor.php | ||
plugin-install.php | ||
plugins.php | ||
post-new.php | ||
post.php | ||
press-this.php | ||
privacy-policy-guide.php | ||
privacy.php | ||
profile.php | ||
revision.php | ||
setup-config.php | ||
site-editor.php | ||
site-health-info.php | ||
site-health.php | ||
term.php | ||
theme-editor.php | ||
theme-install.php | ||
themes.php | ||
tools.php | ||
update-core.php | ||
update.php | ||
upgrade-functions.php | ||
upgrade.php | ||
upload.php | ||
user-edit.php | ||
user-new.php | ||
users.php | ||
widgets-form-blocks.php | ||
widgets-form.php | ||
widgets.php |