[web-php] master: Add woff2 fonts and other font related tweaks (#752)

From: Date: Wed, 19 Jul 2023 11:14:45 +0000
Subject: [web-php] master: Add woff2 fonts and other font related tweaks (#752)
Groups: php.webmaster 
Request: Send a blank email to php-webmaster+get-30927@lists.php.net to get a copy of this message
Author: Javier Eguiluz (javiereguiluz) Committer: GitHub (web-flow) Pusher: Girgias Date: 2023-07-19T12:01:23+01:00 Commit: https://github.com/php/web-php/commit/f71b6c7396f5ccc1f5e93eac89c644734da084c5 Raw diff: https://github.com/php/web-php/commit/f71b6c7396f5ccc1f5e93eac89c644734da084c5.diff Add woff2 fonts and other font related tweaks (#752) The following changes are made in this commit: **(1)** Add the WOFF2 variant of web fonts. [WOFF2 standard](https://w3c.github.io/woff/woff2/) reduces the file sizes significantly. This is important to make our website more accessible to folks with limited Internet connections. 96% of browsers support WOFF2 ([source](https://caniuse.com/?search=woff2)) and we still have WOFF and TTF/OTF/EOT formats for those edge-cases which don't support it. Real examples of the file size reductions for php.net: ``` Fira Sans Regular: 183 KB (woff) -> 129 KB (woff2) --> 30% reduction in size Fira Mono Regular: 87 KB (woff) -> 65 KB (woff2) --> 35% reduction in size ``` **(2)** Use font-display: swap for web fonts (see [MDN Docs for font-display](https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display)) This is recommended to not block the rendering the page for a long time if the web font is not available. Again, this is important for folks with suboptimal network connections. The swap value is also the default option in popular font services like [Google Fonts](https://fonts.google.com/). **(3)** Update the list of alternative font families. I updated the sans-serif and mono font stack used in the design. The new stacks are much longer (not a problem in practice thanks to CSS variables) but they cover all common browsing devices (including smartphones). I crafted the list from the recommended font stacks of the most popular CSS frameworks and the most popular websites for developers. Changed paths: A fonts/Fira/woff2/FiraMono-Bold.woff2 A fonts/Fira/woff2/FiraMono-Regular.woff2 A fonts/Fira/woff2/FiraSans-Bold.woff2 A fonts/Fira/woff2/FiraSans-BoldItalic.woff2 A fonts/Fira/woff2/FiraSans-Book.woff2 A fonts/Fira/woff2/FiraSans-BookItalic.woff2 A fonts/Fira/woff2/FiraSans-Eight.woff2 A fonts/Fira/woff2/FiraSans-EightItalic.woff2 A fonts/Fira/woff2/FiraSans-Four.woff2 A fonts/Fira/woff2/FiraSans-FourItalic.woff2 A fonts/Fira/woff2/FiraSans-Hair.woff2 A fonts/Fira/woff2/FiraSans-HairItalic.woff2 A fonts/Fira/woff2/FiraSans-Heavy.woff2 A fonts/Fira/woff2/FiraSans-HeavyItalic.woff2 A fonts/Fira/woff2/FiraSans-Light.woff2 A fonts/Fira/woff2/FiraSans-LightItalic.woff2 A fonts/Fira/woff2/FiraSans-Medium.woff2 A fonts/Fira/woff2/FiraSans-MediumItalic.woff2 A fonts/Fira/woff2/FiraSans-Regular.woff2 A fonts/Fira/woff2/FiraSans-RegularItalic.woff2 A fonts/Fira/woff2/FiraSans-SemiBold.woff2 A fonts/Fira/woff2/FiraSans-SemiBoldItalic.woff2 A fonts/Fira/woff2/FiraSans-Thin.woff2 A fonts/Fira/woff2/FiraSans-ThinItalic.woff2 A fonts/Fira/woff2/FiraSans-Two.woff2 A fonts/Fira/woff2/FiraSans-TwoItalic.woff2 M fonts/Fira/fira.css M images/supported-versions.php M styles/theme-base.css Diff: diff --git a/fonts/Fira/fira.css b/fonts/Fira/fira.css index 6ef47b5120..ec17749838 100644 --- a/fonts/Fira/fira.css +++ b/fonts/Fira/fira.css @@ -3,11 +3,13 @@ src: url('/fonts/Fira/eot/FiraSans-Book.eot'); src: local('Fira Sans Book'), local('FiraSans-Book'), - url('/fonts/Fira/eot/FiraSans-Book.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraSans-Book.woff2') format('woff2'), url('/fonts/Fira/woff/FiraSans-Book.woff') format('woff'), + url('/fonts/Fira/eot/FiraSans-Book.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraSans-Book.ttf') format('truetype'); font-weight: 400; font-style: normal; + font-display: swap; } @font-face{ @@ -15,11 +17,13 @@ src: url('/fonts/Fira/eot/FiraSans-BookItalic.eot'); src: local('Fira Sans Book Italic'), local('FiraSans-BookItalic'), - url('/fonts/Fira/eot/FiraSans-BookItalic.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraSans-BookItalic.woff2') format('woff2'), url('/fonts/Fira/woff/FiraSans-BookItalic.woff') format('woff'), + url('/fonts/Fira/eot/FiraSans-BookItalic.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraSans-BookItalic.ttf') format('truetype'); font-weight: 400; font-style: italic; + font-display: swap; } @font-face{ @@ -27,11 +31,13 @@ src: url('/fonts/Fira/eot/FiraSans-Medium.eot'); src: local('Fira Sans Medium'), local('FiraSans-Medium'), - url('/fonts/Fira/eot/FiraSans-Medium.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraSans-Medium.woff2') format('woff2'), url('/fonts/Fira/woff/FiraSans-Medium.woff') format('woff'), + url('/fonts/Fira/eot/FiraSans-Medium.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraSans-Medium.ttf') format('truetype'); font-weight: 500; font-style: normal; + font-display: swap; } @font-face{ @@ -39,11 +45,13 @@ src: url('/fonts/Fira/eot/FiraSans-MediumItalic.eot'); src: local('Fira Sans Medium Italic'), local('FiraSans-MediumItalic'), - url('/fonts/Fira/eot/FiraSans-MediumItalic.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraSans-MediumItalic.woff2') format('woff2'), url('/fonts/Fira/woff/FiraSans-MediumItalic.woff') format('woff'), + url('/fonts/Fira/eot/FiraSans-MediumItalic.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraSans-MediumItalic.ttf') format('truetype'); font-weight: 500; font-style: italic; + font-display: swap; } @font-face{ @@ -51,11 +59,13 @@ src: url('/fonts/Fira/eot/FiraMono-Regular.eot'); src: local('Fira Mono'), local('FiraMono-Regular'), - url('/fonts/Fira/eot/FiraMono-Regular.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraMono-Regular.woff2') format('woff2'), url('/fonts/Fira/woff/FiraMono-Regular.woff') format('woff'), + url('/fonts/Fira/eot/FiraMono-Regular.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraMono-Regular.ttf') format('truetype'); font-weight: 400; font-style: normal; + font-display: swap; } @font-face{ @@ -63,9 +73,11 @@ src: url('/fonts/Fira/eot/FiraMono-Bold.eot'); src: local('Fira Mono Bold'), local('FiraMono-Bold'), - url('/fonts/Fira/eot/FiraMono-Bold.eot') format('embedded-opentype'), + url('/fonts/Fira/woff2/FiraMono-Bold.woff2') format('woff2'), url('/fonts/Fira/woff/FiraMono-Bold.woff') format('woff'), + url('/fonts/Fira/eot/FiraMono-Bold.eot') format('embedded-opentype'), url('/fonts/Fira/ttf/FiraMono-Bold.ttf') format('truetype'); font-weight: 700; font-style: normal; + font-display: swap; } diff --git a/fonts/Fira/woff2/FiraMono-Bold.woff2 b/fonts/Fira/woff2/FiraMono-Bold.woff2 new file mode 100755 index 0000000000..832aaabbb2 Binary files /dev/null and b/fonts/Fira/woff2/FiraMono-Bold.woff2 differ diff --git a/fonts/Fira/woff2/FiraMono-Regular.woff2 b/fonts/Fira/woff2/FiraMono-Regular.woff2 new file mode 100755 index 0000000000..9fa44b7cc2 Binary files /dev/null and b/fonts/Fira/woff2/FiraMono-Regular.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Bold.woff2 b/fonts/Fira/woff2/FiraSans-Bold.woff2 new file mode 100755 index 0000000000..4c550c7d42 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Bold.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-BoldItalic.woff2 b/fonts/Fira/woff2/FiraSans-BoldItalic.woff2 new file mode 100755 index 0000000000..9e66901467 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-BoldItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Book.woff2 b/fonts/Fira/woff2/FiraSans-Book.woff2 new file mode 100755 index 0000000000..9d5db65829 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Book.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-BookItalic.woff2 b/fonts/Fira/woff2/FiraSans-BookItalic.woff2 new file mode 100755 index 0000000000..84f272c44c Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-BookItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Eight.woff2 b/fonts/Fira/woff2/FiraSans-Eight.woff2 new file mode 100755 index 0000000000..b5b1dfebc2 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Eight.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-EightItalic.woff2 b/fonts/Fira/woff2/FiraSans-EightItalic.woff2 new file mode 100755 index 0000000000..48dc9f935a Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-EightItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Four.woff2 b/fonts/Fira/woff2/FiraSans-Four.woff2 new file mode 100755 index 0000000000..95ebb7e6d6 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Four.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-FourItalic.woff2 b/fonts/Fira/woff2/FiraSans-FourItalic.woff2 new file mode 100755 index 0000000000..cf408094da Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-FourItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Hair.woff2 b/fonts/Fira/woff2/FiraSans-Hair.woff2 new file mode 100755 index 0000000000..10e728784b Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Hair.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-HairItalic.woff2 b/fonts/Fira/woff2/FiraSans-HairItalic.woff2 new file mode 100755 index 0000000000..6027bad83a Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-HairItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Heavy.woff2 b/fonts/Fira/woff2/FiraSans-Heavy.woff2 new file mode 100755 index 0000000000..b61bf0d816 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Heavy.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-HeavyItalic.woff2 b/fonts/Fira/woff2/FiraSans-HeavyItalic.woff2 new file mode 100755 index 0000000000..f12daf3000 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-HeavyItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Light.woff2 b/fonts/Fira/woff2/FiraSans-Light.woff2 new file mode 100755 index 0000000000..5c0e34d6bc Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Light.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-LightItalic.woff2 b/fonts/Fira/woff2/FiraSans-LightItalic.woff2 new file mode 100755 index 0000000000..0e9b453ee6 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-LightItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Medium.woff2 b/fonts/Fira/woff2/FiraSans-Medium.woff2 new file mode 100755 index 0000000000..7a1e5fc548 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Medium.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-MediumItalic.woff2 b/fonts/Fira/woff2/FiraSans-MediumItalic.woff2 new file mode 100755 index 0000000000..2d08f9f7d4 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-MediumItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Regular.woff2 b/fonts/Fira/woff2/FiraSans-Regular.woff2 new file mode 100755 index 0000000000..e766e06ccb Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Regular.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-RegularItalic.woff2 b/fonts/Fira/woff2/FiraSans-RegularItalic.woff2 new file mode 100755 index 0000000000..3f63664fee Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-RegularItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-SemiBold.woff2 b/fonts/Fira/woff2/FiraSans-SemiBold.woff2 new file mode 100755 index 0000000000..bafabb5a18 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-SemiBold.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-SemiBoldItalic.woff2 b/fonts/Fira/woff2/FiraSans-SemiBoldItalic.woff2 new file mode 100755 index 0000000000..a256463b49 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-SemiBoldItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Thin.woff2 b/fonts/Fira/woff2/FiraSans-Thin.woff2 new file mode 100755 index 0000000000..73e2d82dda Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Thin.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-ThinItalic.woff2 b/fonts/Fira/woff2/FiraSans-ThinItalic.woff2 new file mode 100755 index 0000000000..c8d3b364b7 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-ThinItalic.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-Two.woff2 b/fonts/Fira/woff2/FiraSans-Two.woff2 new file mode 100755 index 0000000000..6b389c706a Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-Two.woff2 differ diff --git a/fonts/Fira/woff2/FiraSans-TwoItalic.woff2 b/fonts/Fira/woff2/FiraSans-TwoItalic.woff2 new file mode 100755 index 0000000000..479ca9f739 Binary files /dev/null and b/fonts/Fira/woff2/FiraSans-TwoItalic.woff2 differ diff --git a/images/supported-versions.php b/images/supported-versions.php index 3c28e29a61..772a8cc091 100644 --- a/images/supported-versions.php +++ b/images/supported-versions.php @@ -67,7 +67,7 @@ function date_horiz_coord(DateTime $date) { text { fill: #333; - font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; + font-family: var(--font-family-sans-serif); font-size: <?php echo (2 / 3) * $header_height; ?>px; } diff --git a/styles/theme-base.css b/styles/theme-base.css index a894d7df7b..4158e73134 100644 --- a/styles/theme-base.css +++ b/styles/theme-base.css @@ -10,6 +10,8 @@ */ :root { + --font-family-sans-serif: "Fira Sans", "Source Sans Pro", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; + --font-family-mono: "Fira Mono", "Source Code Pro", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --dark-grey-color: #333; --dark-blue-color: #4F5B93; --medium-blue-color: #7A86B8; @@ -295,14 +297,14 @@ textarea { } body, input, textarea { - font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; + font-family: var(--font-family-sans-serif); font-weight: 400; } code, pre.info, .docs .classsynopsis, .docs .classsynopsis code { - font: normal 0.875rem/1.5rem "Fira Mono", "Source Code Pro", monospace; + font: normal 0.875rem/1.5rem var(--font-family-mono); overflow-x: auto; } p code, @@ -745,7 +747,7 @@ table.standard th.subr { #layout .cse .gsc-control-cse, #layout .gsc-control-cse, #layout .gsc-control-cse .gsc-table-result { - font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; + font-family: var(--font-family-sans-serif); font-size: 1rem; margin: 0; padding: 0; @@ -1157,11 +1159,11 @@ fieldset { } .content-box .md5sum:before { content: "md5: "; - font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; + font-family: var(--font-family-sans-serif); } .content-box .sha256:before { content: "sha256: "; - font-family: "Fira Sans", "Source Sans Pro", Helvetica, Arial, sans-serif; + font-family: var(--font-family-sans-serif); } .content-box .releasedate { float: right;

« previous php.webmaster (#30927) next »