默认值是"ü+0-10 FFFF",文档地址:https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/unicode-range unicode-range /* 支持的值 */ unicode-range: U+26; /* 单个字符编码 */ unicode-range: U+0-7F; unicode-range: U+0025 -00FF; /* 字符编码区间 */ unicode-range: U+4?? ; /* 通配符区间 */ unicode-range: U+0025-00FF, U+4?? ; /* 多个值 */ unicode-range的常用unicode值及获取 对于我们中文用户,最常用的有下面这些: 汉字:[0x4e00,0x9fa5](或十进制[19968,40869]) 数字
size-adjust+ unicode-range size-adjust 浏览器将调整字体大小,无论字体系列("宋体"性质值0.58) unicode-range 设置font-face特定的字符。 Source Han Sans CN'), local('Noto Sans CJK SC'), local("Microsoft Yahei"); size-adjust: 20%; unicode-range } .money { font-family: smallYuan; font-size: 24px; color: red; } 效果如下: size-adjust+ unicode-range
有关于unicode-range属性的介绍和实际应用可以看张鑫旭老师的下面这个相关文章: 简单来说就是: 统一码,也叫万国码、单一码(Unicode)是计算机科学领域里的一项业界标准,包括字符集、编码方案等 unicode-range是U+配上charCode值。 在知道unicode-range的作用以后,回到刚刚加载字体的问题上,如果你给字体设置了一个区间,只有当页面有字符匹配到了这个区间,就会去加载这个字体文件,这样就会极大到减少资源请求。 其中站酷高端黑只添加a,b,c,鹿这四个字符并设置unicode-range为U+61-64, U+9e7f(a-b, 鹿)。 杨任东竹石体-Bold只添加鹿,角这两个字符并设置unicode-range为U+9e7f, U+89d2(鹿,角)。
unicode-range unicode-range 属性虽然可以算作“字体截取”技术,但它是“软截取”,不是“硬截取”。它类似于一种快捷方式,而不能真正减少浏览器需要下载的字体文件大小。 更多 unicode-range 的内容,推荐大家看一看张鑫旭老师的文章 “CSS unicode-range特定字符使用font-face自定义字体”:(https://www.zhangxinxu.com /wordpress/2016/11/css-unicode-range-character-font-face/) 使用unicode-range的注意事项: unicode-range可以接收 单个码点 unicode-range 默认值为: U+0-10FFFF ,即全部Unicode字符编码 unicode-range 的值是码点的字面值或字面值列表, 不是字符串 unicode-range: u+ 关于 unicode-range 这种“软截取技术”的使用就介绍这些。接下来我们介绍“硬截取工具”:glyphhanger。
| <font-face-name> ]#; ] || [ unicode-range: <urange>#; ] || [ font-variant: <font-variant> unicode-range Unicode范围。
例如,预加载忽略了unicode-range的声明,如果谨慎使用,应该只用于加载单一的字体格式。 字体交付 更快的字体交付可以产生更快的文本渲染。 Unicode范围和字体子集:@font-face经常与 unicode-range 描述符一起使用。unicode-range通知浏览器一个字体可以用于哪些字符。 font-family: "Open Sans"; src: url("/fonts/OpenSans-Regular-webfont.woff2") format("woff2"); unicode-range unicode-range通常用于根据页面内容使用的语言提供不同的字体文件。 unicode-range经常与子集技术一起使用。一个子集字体包括原始字体文件中所包含的一小部分字形(即字符)。
默认是"normal" unicode-range unicode-range 可选。定义支持的UNICODE字符范围。
/github/open-sans-v17-latin-ext_latin-regular.woff2") format("woff2"); unicode-range: U+0000-00FF /github/open-sans-v17-latin-ext_latin-italic.woff2") format("woff2"); unicode-range: U+0000-00FF, /github/open-sans-v17-latin-ext_latin-700.woff2") format("woff2"); unicode-range: U+0000-00FF, U+ /github/open-sans-v17-latin-ext_latin-700italic.woff2") format("woff2"); unicode-range: U
待所有字体压缩完成后,我们在 CSS 中使用 unicode-range属性来调用对应 unicode 区域的字体文件。
但是当浏览器支持 font-family 的 unicode-range 配置后,这个问题就有了转机。 unicode-range 的引入使得我们可以指示浏览器只对特定字符使用特定的字体。 /font/logo.woff2") format("woff2"); unicode-range: U+7535,U+8111,U+661F,U+4EBA; } 很不巧的是 Google Fonts
any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING | DELIM | URI | HASH | UNICODE-RANGE
font-weight: 400; font-display: swap; src: url(/HarmonyOS_Sans_SC_Regular.4.woff2) format('woff2'); unicode-range font-weight: 400; font-display: swap; src: url(/HarmonyOS_Sans_SC_Regular.5.woff2) format('woff2'); unicode-range
any : [ IDENT | NUMBER | PERCENTAGE | DIMENSION | STRING | DELIM | URI | HASH | UNICODE-RANGE
OpenSans-Light.ttf") format("truetype"); } .font-osl { /* 使用字体 */ font-family: "Open Sans Light"; } 使用unicode-range 加载字体子集,如下面把Open Sans Light拆分成BasicLatin部分和Cyrillic部分,使用unicode-range定义字符范围,如果文字中只有BasicLatin部分那么只会下载上面的文字 format("embedded-opentype"), url("open-sans/OpenSans-Light-BasicLatin.ttf") format("truetype"); unicode-range format("embedded-opentype"), url("open-sans/OpenSans-Light-Cyrillic.ttf") format("truetype"); unicode-range
如何减小字体文件体积 unicode-range unicode-range 属性一般配合 @font-face 规则使用,它用于控制特定字符使用特定字体。 CSS unicode-range特定字符使用font-face自定义字体 fontmin fontmin 是一个纯 JavaScript 实现的字体子集化方案。
fonts.gstatic.com/s/pacifico/v7/Q_Z9mv4hySLTMoMjnk_rCfesZW2xOQ-xsNqO47m55DA.woff2) format('woff2'); unicode-range
unicode-range |unicode-range | 可选。定义字体支持的 UNICODE 字符范围。默认是 “U+0-10FFFF”。
unicode-range: 可选,定义字体支持的UNICODE字符范围,默认是U+0-10FFFF。
Abusing Unicode Range 当可以插入CSS的时候,可以使用 font-face 配合 unicode-range 获取目标网页对应字符集。