亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > CSS > 正文

CSS 字體新玩法之彩色字體的實現

2024-07-11 08:59:20
字體:
來源:轉載
供稿:網友

如果你們設計師想在某些特別的專題活動中使用下圖的字體作為標題字體進行展現,怎么辦呢?做成圖片咯。然后你可能會遇到這幾個問題:不同屏幕下的適配,要是只做一種尺寸的圖,放大或縮小后的效果都不太好。直接做成 SVG?好像不能復制到 Word 里面加粗啊,也就是說,這種做法使得這些“文字”本身失去了真實文字該有的能力。

此時彩色字體的好處就顯現出來了。既能達到視覺效果上的要求,還擁有常規文字的功能,能夠復制,能夠粘貼,還可以被屏幕閱讀器閱讀,絲毫不妨礙常規操作。

Playbox by Matt Lyon

什么是彩色字體(Color Font)

初識彩色字體

在我們所熟知的傳統字體中,字體文件本身僅僅描述了字體的外形特征,這些特征一般包含著矢量的輪廓數據或是單色調位圖數據。在瀏覽器渲染單色字體時,渲染引擎使用設定的字體顏色填充字形區域,最后繪制出對應文字及其設定的顏色。而彩色字體中,不僅僅存儲了字體的外形特征,還保存了顏色信息,甚至還能在字體中提供不同的配色,增加了靈活性的同時也更具豐富的外形細節。

日常使用中最常見的彩色字體要數 Emoji 表情了。例如在 Windows 10 上,Segoe UI Emoji 就屬于一款彩色字體。

通常彩色字體還會包含一些兼容信息,這些兼容信息包含 Unicode 編碼的單色字形數據,使得在一些不支持彩色字體的平臺上,仍然能夠像渲染普通字體一樣將彩色字體的字形渲染出來,達到一種向后兼容的效果。

 

彩色字體的實現標準

在彩色字體設計的發展歷史上,由于各家有自己的實現方案,導致在 OpenType 字體中嵌入的色彩信息標準也不盡相同。在最新的OpenType 標準中  ,就有多達四種彩色字體數據的描述格式。

  1. SVG,由 Adobe 和 Mozilla 主導的矢量字體標準。其中不僅包含了標準的 TrueType 或 CFF 字形信息,還包含了可選的 SVG 數據,允許為字體定義顏色、漸變甚至是動畫效果。SVG 標準中的配色信息也將存儲在 CPAL 中。
  2. COLR + CPAL,由微軟主導的矢量字體標準。其中包含 COLR 即 字形圖層數據 和 CPAL 配色信息表 ,對其的支持集成在 Windows 8.1 及之后的版本中。
  3. CBDT + CBLC,由 Google 主導的位圖字體標準。其中包含了 CBDT 彩色外形位圖數據 和 CBLC 位圖定位數據 ,對其的支持集成在 Android 中。
  4. SBIX,由 Apple 主導的位圖字體標準。SBIX 即 標準位圖圖像表 其中包含了 PNG、JPEG 或 TIFF 的圖片信息,對其的支持集成在 macOS 和 iOS 中。

瀏覽器對各種標準的支持

瀏覽器 支持標準
Microsoft Edge (38+, Win 10) SVG, SBIX, COLR, CBDT
Firefox (26+) SVG, COLR
Safari SBIX, COLR
Chrome CBDT
Internet Explorer (Win 8.1) COLR

數據來源 www.colorfonts.wtf

看到這么多種標準,參差不齊的瀏覽器支持,你可能會想難道又要根據UA派發不同格式字體做兼容么?告辭!

少俠且慢!

在 2016 年的時候,各大廠商最終同意使用 OpenType SVG 作為彩色字體的標準,也就是上面提到的 SVG, 也是 W3C 目前所用的標準 。相信在不久各大廠家瀏覽器將逐步支持 W3C 所用的 SVG 標準。

字體模塊標準的現狀

CSS Fonts Module Level 3  :目前處于候選推薦狀態,是主流瀏覽器都已大部分實現的標準,最新一版候選標準發表于今年的 6 月 26 日。Level 3 標準基于之前的 CSS3 Fonts 以及 CSS3 Web Fonts,并將字體加載事件相關的標準移入CSS Font Loading  模塊中。

CSS Fonts Module Level 4:Level 3 的下一代標準,目前處于工作組草案狀態,最近一次草案更新于 4 月 10日。該版本草案基于 Level 3,新增的屬性中比較新穎的功能,也就是本文將要介紹彩色字體(Color Font)的支持。

CSS 彩色字體相關標準

在支持彩色字體的瀏覽器中,雖然能夠正確渲染,但是你卻無法控制使用字體中內置的其他配色。那么在 Level 4 標準中,就新增了一些彩色字體相關的標準讓我們能夠更好地使用。接下來我們就來看看吧。

選擇字體配色:font-palette

前面我們了解到,彩色字體通過 CPAL 表是可以擁有多種不同的配色方案的。 font-palette 有三個內置的參數以及支持自定義配色來達到修改配色方案的效果。

  1. normal:瀏覽器盡可能地將該字體當作非彩色字體進行渲染,并選擇一個最適合閱讀的配色方案。瀏覽器在做決策時還可能將當前設定的字體顏色color加入決策條件中。還有可能自動生成一組未內置在字體中的配色方案進行渲染。
  2. light:一些彩色字體在其元數據中標明某個配色方案適用于亮色(接近于白色)背景中。使用此數值,瀏覽器將會直接使用標記了該特性的首個配色方案進行渲染。如果字體文件格式無元數據或時元數據中未標記相應的配色方案,那么此時該數值的行為與 normal 相同。
  3. dark:正好與light 相反。
  4. 自定義:上面我們介紹了三種基本的配色選擇,那么如果要使用其他的配色方案或是要自定義,我們將要借助接下來介紹的@font-palette-values的幫助。

示例:

h1 {    font-family: Segoe UI Emojil    font-palette: light}

自定義字體配色:@font-palette-values

@font-palette-values 用于定義指定字體的配色規則。它允許開發者不僅可以自由選擇字體內置的各種配色方案,還能自定義配色方案。而 font-palette 選擇自定義配色方案也是通過本規則設置。

它的基本定義規則是 @font-palette-values name , name 為本配色規則的自定義名稱。

下面通過其中的三個關鍵屬性進行解釋。

font-family

首先,在為字體設置配色時,我們先要指定這些配色信息是設定在哪個字體上的。通過 font-family 即可將當前配色配置綁定到某個字體上。

@font-palette-values Snow {    font-family: TriColor;}

base-palette

在作者制作彩色字體時,往往內置了很多種字體配色,存儲這些信息時,每個不同的配色方案有自己對應的 id ,或者叫做 index 。使用 base-palette 進行選擇。

@font-palette-values Snow {    font-family: TriColor;    base-palette: 5;}

color-x

圖片來源 typography.guru

上圖展示了 COLR 對字形的分層。 COLR 將字形的多個部分分為多個圖層,并按照特定的順序將圖層合并成為一個完整的字體。每一個圖層都由 CPAL 中的配色信息進行上色。為了達到更強大的自定義效果,標準中使用 color-x 屬性提供對特定圖層顏色進行復寫的能力。其中的 x 即為圖層 id 。

@font-palette-values RedSnow {    font-family: TriColor;    base-palette: 5;    color-1: rgb(255, 0, 0);}

上述例子展示了如何通過 color-x 對圖層顏色進行復寫。通過 base-palette: 5 選取自帶的配色,并通過 color-1: rgb(255, 0, 0) 將該配色中 id 為1的圖層顏色修改為紅色。

Level 4 其他值得注意的新屬性

font-min-size, font-max-size

與屬性名稱描述的一樣,這兩個屬性將限制 font-size 最終的數值。如果 font-size 的計算值超出設定的最大和最小值, font-size 的最終數值將會被直接修改為 font-min-sizefont-max-size 。 這對于響應式設計來說是比較有用的,將字體大小限制在一個范圍,使得字體不會變的過大或過小。

總結

Fonts Module Level 4 中有趣的新功能還是挺多的,具體效果和標準改進得等各大瀏覽器開始慢慢支持才能知道,讓我們拭目以待吧。

文內鏈接

https://docs.microsoft.com/en-us/typography/opentype/spec/otff
https://www.w3.org/TR/2018/CR-css-fonts-3-20180626/
https://www.w3.org/TR/css-font-loading/
https://www.w3.org/TR/css-fonts-4/

參考資料

https://www.w3.org/TR/css-fonts-4/
https://docs.microsoft.com/en-us/typography/opentype/spec/
https://typography.guru/journal/windows-color-fonts/
https://www.colorfonts.wtf/

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品生活片| 亚洲综合色av| 国自产精品手机在线观看视频| 欧美在线中文字幕| 51久久精品夜色国产麻豆| 九九九久久久久久| 欧美激情精品久久久久| 欧美精品少妇videofree| 国色天香2019中文字幕在线观看| 5566成人精品视频免费| 亚洲一区二区三区在线免费观看| 亚洲国产婷婷香蕉久久久久久| 欧美超级乱淫片喷水| 欧美成人精品在线播放| 91国产精品视频在线| 136fldh精品导航福利| 久久五月天综合| 精品国产91久久久久久老师| 91黄色8090| 国产一区二区三区毛片| 日本在线观看天堂男亚洲| 91在线观看免费观看| 91精品国产91久久久久久不卡| 国产精品美女www爽爽爽视频| 国内精品免费午夜毛片| 欧美一性一乱一交一视频| 成人做爽爽免费视频| 精品亚洲国产视频| 97在线精品国自产拍中文| 国产拍精品一二三| 欧美一区在线直播| 国产精品第一页在线| 日韩欧美国产成人| 91成人在线观看国产| 中文国产成人精品久久一| 久久亚洲私人国产精品va| 色综合91久久精品中文字幕| 成人美女av在线直播| 久久亚洲精品一区| 亚洲国产日韩欧美在线99| 欧美性高潮在线| 国产精品日韩欧美综合| 欧美视频专区一二在线观看| 欧美成人免费全部观看天天性色| 成人天堂噜噜噜| 欧美日韩亚洲天堂| 亚洲精品白浆高清久久久久久| 亚洲精品久久久一区二区三区| www.日韩系列| 欧美肥老太性生活视频| 青草青草久热精品视频在线观看| 亚洲欧美日本伦理| 国产精品永久免费观看| 国产欧美精品日韩精品| 国产精品日韩欧美| 国产97在线|亚洲| 欧美在线xxx| 欧美自拍视频在线| 中文欧美日本在线资源| 久久久成人精品视频| 精品国产一区二区三区久久狼黑人| 亚洲乱亚洲乱妇无码| 中文字幕亚洲自拍| 欧美在线激情视频| 国产精品美乳一区二区免费| 伊人伊人伊人久久| 最近2019中文字幕在线高清| 久久久久久国产三级电影| 亚洲福利视频网| 4p变态网欧美系列| 欧美情侣性视频| 成人免费在线网址| 91po在线观看91精品国产性色| 国产精品美女久久久免费| 欧美又大粗又爽又黄大片视频| 日韩中文字幕视频在线| 久久久国产一区二区三区| 日韩av理论片| 美女撒尿一区二区三区| 91在线色戒在线| 色悠悠久久久久| 成人午夜在线观看| 亚洲一区二区三区视频播放| 欧美成人免费大片| 亚洲无限乱码一二三四麻| 日韩综合中文字幕| 国产综合香蕉五月婷在线| 96精品久久久久中文字幕| 国产欧美日韩亚洲精品| 国产精品亚洲аv天堂网| 国产做受69高潮| 456国产精品| 高清一区二区三区日本久| 国产精品视频一| 欧美黄色片视频| 国产精品一区二区电影| 国产精品国内视频| 国产成人精彩在线视频九色| 日韩激情视频在线| 美女视频黄免费的亚洲男人天堂| 91精品国产自产在线老师啪| 午夜精品一区二区三区在线播放| 久久久最新网址| 久久琪琪电影院| 国产一区二区三区四区福利| 69av在线播放| 欧美日韩国产影院| 色樱桃影院亚洲精品影院| 在线播放国产一区中文字幕剧情欧美| 欧美激情伊人电影| 黑人极品videos精品欧美裸| 26uuu亚洲国产精品| 亚洲最新av在线| 国产精品69精品一区二区三区| 国产欧美日韩精品丝袜高跟鞋| 97碰碰碰免费色视频| 久久精品99久久香蕉国产色戒| 97在线视频免费观看| 日韩av在线免费播放| 亚洲人成电影网| 在线看欧美日韩| 久久久日本电影| 欧美视频中文在线看| 国产在线日韩在线| 高清在线视频日韩欧美| 色婷婷亚洲mv天堂mv在影片| 国产精品在线看| www.亚洲人.com| 尤物九九久久国产精品的分类| 成人羞羞国产免费| 5278欧美一区二区三区| 国产欧美在线播放| 成人黄在线观看| 欧美疯狂做受xxxx高潮| 国产成人avxxxxx在线看| 精品久久久久久久久久| 九色成人免费视频| 色婷婷久久av| 欧美高跟鞋交xxxxxhd| 国产精品久久久久久网站| 97av在线视频| 国产精品久久久久高潮| 亚洲一区美女视频在线观看免费| 国产精品久久久久久久久男| 在线亚洲国产精品网| 欧美精品videosex极品1| 色综合天天狠天天透天天伊人| 亚洲男人天堂2019| 日韩电影在线观看永久视频免费网站| 亚洲欧美日韩一区在线| 97涩涩爰在线观看亚洲| 国产精品久久久久久av下载红粉| 最近2019中文免费高清视频观看www99| 日韩精品在线观看网站| 精品av在线播放| 97人人做人人爱| 欧美另类交人妖| 92国产精品久久久久首页| 国产日韩在线免费| 欧美黑人xxxⅹ高潮交| 欧美性高跟鞋xxxxhd| 美女福利精品视频| 欧美日韩成人在线视频| 成人在线视频福利|