diff --git a/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 b/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 new file mode 100644 index 00000000..b6b603d5 Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-cyrillic-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 b/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 new file mode 100644 index 00000000..def40a4f Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-cyrillic.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 b/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 new file mode 100644 index 00000000..e070c3d3 Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-greek-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-greek.woff2 b/src/client/theme-default/fonts/inter-italic-greek.woff2 new file mode 100644 index 00000000..a3c16ca4 Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-greek.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 b/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 new file mode 100644 index 00000000..2210a899 Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-latin-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-latin.woff2 b/src/client/theme-default/fonts/inter-italic-latin.woff2 new file mode 100644 index 00000000..790d62dc Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-latin.woff2 differ diff --git a/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 b/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 new file mode 100644 index 00000000..1eec0775 Binary files /dev/null and b/src/client/theme-default/fonts/inter-italic-vietnamese.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 b/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 new file mode 100644 index 00000000..2cfe6153 Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-cyrillic-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 b/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 new file mode 100644 index 00000000..e3886dd1 Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-cyrillic.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 b/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 new file mode 100644 index 00000000..36d67487 Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-greek-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-greek.woff2 b/src/client/theme-default/fonts/inter-roman-greek.woff2 new file mode 100644 index 00000000..2bed1e85 Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-greek.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 b/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 new file mode 100644 index 00000000..9a8d1e2b Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-latin-ext.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-latin.woff2 b/src/client/theme-default/fonts/inter-roman-latin.woff2 new file mode 100644 index 00000000..07d3c53a Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-latin.woff2 differ diff --git a/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 b/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 new file mode 100644 index 00000000..57bdc22a Binary files /dev/null and b/src/client/theme-default/fonts/inter-roman-vietnamese.woff2 differ diff --git a/src/client/theme-default/fonts/inter-variable-cyrillic-ext.woff2 b/src/client/theme-default/fonts/inter-variable-cyrillic-ext.woff2 deleted file mode 100644 index 5d6746fc..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-cyrillic-ext.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-cyrillic.woff2 b/src/client/theme-default/fonts/inter-variable-cyrillic.woff2 deleted file mode 100644 index f7ae6893..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-cyrillic.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-devanagari.woff2 b/src/client/theme-default/fonts/inter-variable-devanagari.woff2 deleted file mode 100644 index 8408bc45..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-devanagari.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-greek-ext.woff2 b/src/client/theme-default/fonts/inter-variable-greek-ext.woff2 deleted file mode 100644 index e22601b8..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-greek-ext.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-greek.woff2 b/src/client/theme-default/fonts/inter-variable-greek.woff2 deleted file mode 100644 index 1d9a553f..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-greek.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-latin-ext.woff2 b/src/client/theme-default/fonts/inter-variable-latin-ext.woff2 deleted file mode 100644 index d261d6d0..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-latin-ext.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-latin.woff2 b/src/client/theme-default/fonts/inter-variable-latin.woff2 deleted file mode 100644 index 77957dee..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-latin.woff2 and /dev/null differ diff --git a/src/client/theme-default/fonts/inter-variable-vietnamese.woff2 b/src/client/theme-default/fonts/inter-variable-vietnamese.woff2 deleted file mode 100644 index 541bf0e4..00000000 Binary files a/src/client/theme-default/fonts/inter-variable-vietnamese.woff2 and /dev/null differ diff --git a/src/client/theme-default/styles/fonts.css b/src/client/theme-default/styles/fonts.css index 20c8d261..11671237 100644 --- a/src/client/theme-default/styles/fonts.css +++ b/src/client/theme-default/styles/fonts.css @@ -1,77 +1,151 @@ /* webfont-marker-begin */ -@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap'); +@import url(https://fonts.googleapis.com/css2?family=Inter:wght@100..900&display=swap); html body { font-synthesis: style; } /* webfont-marker-end */ +/* cyrillic-ext */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-latin.woff2') format('woff2'); - unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, - U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2212, U+2215; + font-display: swap; + src: url(../fonts/inter-roman-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, + U+FE2E-FE2F; } - +/* cyrillic */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-latin-ext.woff2') format('woff2'); - unicode-range: U+0100-024F, U+0259, U+1E00-1EFF, U+20A0-20CF, U+2C60-2C7F, - U+A720-A7FF; + font-display: swap; + src: url(../fonts/inter-roman-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; } - +/* greek-ext */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-cyrillic.woff2') format('woff2'); - unicode-range: U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; + font-display: swap; + src: url(../fonts/inter-roman-greek-ext.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; } - +/* greek */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-cyrillic-ext.woff2') format('woff2'); - unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, - U+FE2E-FE2F; + font-display: swap; + src: url(../fonts/inter-roman-greek.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, + U+03A3-03FF; } - +/* vietnamese */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-greek.woff2') format('woff2'); - unicode-range: U+0370-03FF; + font-display: swap; + src: url(../fonts/inter-roman-vietnamese.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; } - +/* latin-ext */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-greek-ext.woff2') format('woff2'); - unicode-range: U+1F00-1FFF; + font-display: swap; + src: url(../fonts/inter-roman-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; } - +/* latin */ @font-face { - font-family: 'Inter Var'; + font-family: Inter; font-style: normal; font-weight: 100 900; - src: url('../fonts/inter-variable-devanagari.woff2') format('woff2'); - unicode-range: U+0900-097F, U+1CD0-1CF6, U+1CF8-1CF9, U+200B-200D, U+20A8, - U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FB; + font-display: swap; + src: url(../fonts/inter-roman-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } +/* cyrillic-ext */ @font-face { - font-family: 'Inter Var'; - font-style: normal; + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-cyrillic-ext.woff2) format('woff2'); + unicode-range: U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, + U+FE2E-FE2F; +} +/* cyrillic */ +@font-face { + font-family: Inter; + font-style: italic; font-weight: 100 900; - src: url('../fonts/inter-variable-vietnamese.woff2') format('woff2'); - unicode-range: U+0102-0103, U+0110-0111, U+1EA0-1EF9, U+20AB; + font-display: swap; + src: url(../fonts/inter-italic-cyrillic.woff2) format('woff2'); + unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; +} +/* greek-ext */ +@font-face { + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-greek-ext.woff2) format('woff2'); + unicode-range: U+1F00-1FFF; +} +/* greek */ +@font-face { + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-greek.woff2) format('woff2'); + unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, + U+03A3-03FF; +} +/* vietnamese */ +@font-face { + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-vietnamese.woff2) format('woff2'); + unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, + U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, + U+1EA0-1EF9, U+20AB; +} +/* latin-ext */ +@font-face { + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-latin-ext.woff2) format('woff2'); + unicode-range: U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, + U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; +} +/* latin */ +@font-face { + font-family: Inter; + font-style: italic; + font-weight: 100 900; + font-display: swap; + src: url(../fonts/inter-italic-latin.woff2) format('woff2'); + unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, + U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, + U+2193, U+2212, U+2215, U+FEFF, U+FFFD; } /* Chinese quotes rendering fix. 中英文弯引号共享 Unicode 码位,确保引号使用中文字体渲染 */ @@ -81,3 +155,22 @@ html body { local('Source Han Sans SC'); unicode-range: U+2018, U+2019, U+201C, U+201D; /* 分别是 ‘’“” */ } + +/* +Generate the subsetted fonts with the following commands: + +pyftsubset InterVariable.woff2 --unicodes="U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F" --output-file="inter-roman-cyrillic-ext.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116" --output-file="inter-roman-cyrillic.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+1F00-1FFF" --output-file="inter-roman-greek-ext.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF" --output-file="inter-roman-greek.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB" --output-file="inter-roman-vietnamese.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF" --output-file="inter-roman-latin-ext.woff2" --flavor=woff2 +pyftsubset InterVariable.woff2 --unicodes="U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD" --output-file="inter-roman-latin.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F" --output-file="inter-italic-cyrillic-ext.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116" --output-file="inter-italic-cyrillic.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+1F00-1FFF" --output-file="inter-italic-greek-ext.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF" --output-file="inter-italic-greek.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB" --output-file="inter-italic-vietnamese.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0100-02AF, U+0304, U+0308, U+0329, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF" --output-file="inter-italic-latin-ext.woff2" --flavor=woff2 +pyftsubset InterVariable-Italic.woff2 --unicodes="U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD" --output-file="inter-italic-latin.woff2" --flavor=woff2 +*/ diff --git a/src/client/theme-default/styles/vars.css b/src/client/theme-default/styles/vars.css index 16d1b3ad..cf503368 100644 --- a/src/client/theme-default/styles/vars.css +++ b/src/client/theme-default/styles/vars.css @@ -261,12 +261,13 @@ * -------------------------------------------------------------------------- */ :root { - --vp-font-family-base: 'Chinese Quotes', 'Inter var', 'Inter', ui-sans-serif, - system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, - 'Helvetica Neue', Helvetica, Arial, 'Noto Sans', sans-serif, - 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'; - --vp-font-family-mono: ui-monospace, SFMono-Regular, 'SF Mono', Menlo, Monaco, - Consolas, 'Liberation Mono', 'Courier New', monospace; + --vp-font-family-base: 'Chinese Quotes', Inter, ui-sans-serif, system-ui, + sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', + 'Noto Color Emoji'; + --vp-font-family-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, + 'Liberation Mono', 'Courier New', monospace; + font-optical-sizing: auto; } /**