diff --git a/scripts/slice_font.py b/scripts/slice_font.py index 1d6e6169..9bd708cd 100644 --- a/scripts/slice_font.py +++ b/scripts/slice_font.py @@ -72,7 +72,6 @@ def subset_font(font_path, output_path, codepoints): options = Options() options.flavor = 'woff2' - options.desubroutinize = True subsetter = Subsetter(options=options) subsetter.populate(unicodes=codepoints) @@ -81,7 +80,7 @@ def subset_font(font_path, output_path, codepoints): font.save(output_path) font.close() -def generate_css(slices_info, font_dir_rel='../font/slices'): +def generate_css(slices_info, font_dir_rel='/font/slices'): """生成 CSS 文件""" css_parts = [] @@ -92,7 +91,7 @@ def generate_css(slices_info, font_dir_rel='../font/slices'): */ @font-face { font-family: 'zql'; - src: url('../font/zql-v2.woff2') format('woff2'); + src: url('/font/zql-v2.woff2') format('woff2'); font-display: swap; unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+FF00-FFEF; } diff --git a/themes/Ying/assets/css/font-slices.css b/themes/Ying/assets/css/font-slices.css index 9b36d104..3270e90d 100644 --- a/themes/Ying/assets/css/font-slices.css +++ b/themes/Ying/assets/css/font-slices.css @@ -1,85 +1,6 @@ -/** - * 字体分片 - 按需加载 - * 浏览器会根据页面实际使用的字符自动加载对应的分片 - * 首屏通常只需要加载 ASCII + 1-3 个常用字分片(约 100-200KB) - */ - -/* ASCII + 常用标点(基础,总是加载) */ @font-face { font-family: 'zql'; - src: url('/font/zql-v2.woff2') format('woff2'); + src: url('/font/zql-v2-subset.woff2') format('woff2'), + url('/font/zql-v2-subset.woff') format('woff'); font-display: swap; - unicode-range: U+0000-00FF, U+2000-206F, U+3000-303F, U+FF00-FFEF; -} - -/* 常用字分片 01: U+4E00-U+56FF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-01.woff2') format('woff2'); - font-display: swap; - unicode-range: U+4E00-56FF; -} - -/* 常用字分片 02: U+5700-U+5FFF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-02.woff2') format('woff2'); - font-display: swap; - unicode-range: U+5700-5FFF; -} - -/* 常用字分片 03: U+6000-U+68FF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-03.woff2') format('woff2'); - font-display: swap; - unicode-range: U+6000-68FF; -} - -/* 常用字分片 04: U+6900-U+71FF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-04.woff2') format('woff2'); - font-display: swap; - unicode-range: U+6900-71FF; -} - -/* 常用字分片 05: U+7200-U+7AFF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-05.woff2') format('woff2'); - font-display: swap; - unicode-range: U+7200-7AFF; -} - -/* 常用字分片 06: U+7B00-U+83FF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-06.woff2') format('woff2'); - font-display: swap; - unicode-range: U+7B00-83FF; -} - -/* 常用字分片 07: U+8400-U+8CFF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-common-07.woff2') format('woff2'); - font-display: swap; - unicode-range: U+8400-8CFF; -} - -/* 生僻字分片 01: U+8D00-U+95FF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-rare-01.woff2') format('woff2'); - font-display: swap; - unicode-range: U+8D00-95FF; -} - -/* 生僻字分片 02: U+9600-U+9FFF */ -@font-face { - font-family: 'zql'; - src: url('/font/slices/zql-rare-02.woff2') format('woff2'); - font-display: swap; - unicode-range: U+9600-9FFF; -} +} \ No newline at end of file diff --git a/themes/Ying/static/font/slices/zql-common-01.woff2 b/themes/Ying/static/font/slices/zql-common-01.woff2 index e0a5ebe8..1a0bba27 100644 Binary files a/themes/Ying/static/font/slices/zql-common-01.woff2 and b/themes/Ying/static/font/slices/zql-common-01.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-02.woff2 b/themes/Ying/static/font/slices/zql-common-02.woff2 index 4d957ef7..4576e5e0 100644 Binary files a/themes/Ying/static/font/slices/zql-common-02.woff2 and b/themes/Ying/static/font/slices/zql-common-02.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-03.woff2 b/themes/Ying/static/font/slices/zql-common-03.woff2 index 822cf64d..c6405f06 100644 Binary files a/themes/Ying/static/font/slices/zql-common-03.woff2 and b/themes/Ying/static/font/slices/zql-common-03.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-04.woff2 b/themes/Ying/static/font/slices/zql-common-04.woff2 index 8413a09f..6a2a858f 100644 Binary files a/themes/Ying/static/font/slices/zql-common-04.woff2 and b/themes/Ying/static/font/slices/zql-common-04.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-05.woff2 b/themes/Ying/static/font/slices/zql-common-05.woff2 index b84bf11f..780bd492 100644 Binary files a/themes/Ying/static/font/slices/zql-common-05.woff2 and b/themes/Ying/static/font/slices/zql-common-05.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-06.woff2 b/themes/Ying/static/font/slices/zql-common-06.woff2 index 6e325853..dcdc8717 100644 Binary files a/themes/Ying/static/font/slices/zql-common-06.woff2 and b/themes/Ying/static/font/slices/zql-common-06.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-common-07.woff2 b/themes/Ying/static/font/slices/zql-common-07.woff2 index 9c271ee0..9d95412f 100644 Binary files a/themes/Ying/static/font/slices/zql-common-07.woff2 and b/themes/Ying/static/font/slices/zql-common-07.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-rare-01.woff2 b/themes/Ying/static/font/slices/zql-rare-01.woff2 index 658d5147..0450703c 100644 Binary files a/themes/Ying/static/font/slices/zql-rare-01.woff2 and b/themes/Ying/static/font/slices/zql-rare-01.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-rare-02.woff2 b/themes/Ying/static/font/slices/zql-rare-02.woff2 index ffe2979a..995c42e4 100644 Binary files a/themes/Ying/static/font/slices/zql-rare-02.woff2 and b/themes/Ying/static/font/slices/zql-rare-02.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-rare-03.woff2 b/themes/Ying/static/font/slices/zql-rare-03.woff2 new file mode 100644 index 00000000..ef95c021 Binary files /dev/null and b/themes/Ying/static/font/slices/zql-rare-03.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-rare-04.woff2 b/themes/Ying/static/font/slices/zql-rare-04.woff2 new file mode 100644 index 00000000..4be4294f Binary files /dev/null and b/themes/Ying/static/font/slices/zql-rare-04.woff2 differ diff --git a/themes/Ying/static/font/slices/zql-rare-05.woff2 b/themes/Ying/static/font/slices/zql-rare-05.woff2 new file mode 100644 index 00000000..893bf8d0 Binary files /dev/null and b/themes/Ying/static/font/slices/zql-rare-05.woff2 differ