
一、直接解密
就是這麼一行css:
font-variant-east-asian: traditional;
表示目前文字使用繁體變體。
再加粗顯示一下:
font-variant-east-asian: traditional;
例如:
body {
font-variant-east-asian: traditional;
}
就可以讓整個頁面的簡體中文變成繁體。
二、需要字型支援-OS X和iOS有效
卧槽,css居然有這麼炫酷的能力,那為何沒幾個人知道呢?
關鍵問題就在于這種效果需要字型本身包含繁體變體。
而在Windows系統中的幾個預設字型都沒有包含繁體變體,而OS X,也就是iMac或者 Mac Pro,以及iOS系統,也就是蘋果手機,iPad等裝置的預設中文字型是包含繁體變體的。
是以,目前,在沒有任何外界幹預的情況下,一行CSS讓網站轉變成繁體,隻在OS X和iOS系統中有效。
如果您通路本文的正好就是使用這些作業系統的裝置,可以點選下面這個按鈕,看看文章内容有沒有1鍵變繁體:
//zxx: 如果你看到這段文字,說明你現在通路是體驗糟糕的垃圾盜版網站,你可以通路原文獲得很好的體驗:https://www.zhangxinxu.com/wordpress/?p=9779(作者張鑫旭)
windows系統與蘋方字型
windows系統中其實是有些字型包含繁體特征的,可惜是日文字型,例如Windows系統内置的”Yu Gothic”(遊黑體日)字型,但是,能夠轉換的也僅僅是日語中的部分漢字。
什麼微軟雅黑、華文字型,各種宋體楷體全部都沒有繁體特征。
Android裝置的預設中文字型也沒有繁體變體,是以,Android裝置下 font-variant-east-asian:traditional 也是看不到效果的。
蘋方字型
好在有一個比較知名的中文字型是包含繁體變體的,這個字型就是“蘋方字型”,Apple公司目前很多系統的預設中文字型。
是以,如果Windows使用者安裝了蘋方字型,也是可以一鍵變成繁體的。
例如我自己的Windows 10電腦就安裝了蘋方字型,隻要設定字型是蘋方,然後設定字型特征是繁體,就可以讓簡體中文變成繁體中文了:
body {
font-family: 'PingFang SC';
font-variant-east-asian: traditional;
}
如果大家足夠細心,就會發現本部落格右側側邊欄(移動端則在文章評論的後面)新增了一個簡繁體轉換的功能,可以體驗下瞬間簡繁體轉換的效果:
如果沒有,說明你的裝置沒有安裝蘋方字型,因為此簡繁體轉換功能提前 判斷了目前系統是否安裝了PingFang SC字型 才呈現的。
這個功能剛加的,這就叫學以緻用,本身就是個增強的功能,可以讓Mac系統,iPhone以及安裝了蘋方字型的Windows系統使用者可以一鍵使用語言切換能力,關鍵成本極低,是非常劃算的買賣。
三、變化的隻是字形
傳統的簡體變繁體是通過改變文字本身字元内容實作的,例如起點中文網這裡的繁體:
而本文的 font-variant-east-asian 屬性實作的繁體效果則原始的字元還是簡體中文,隻是視覺呈現的是繁體而已,如下圖所示:
四、結語
如果可以讓使用者或者網站内置蘋方字型,那麼簡繁體轉換這個功能直接就可以大結局了。
不過,蘋方字型的體積太大了,一個字重字型就10M,總共有7個字重,完整的蘋方字型要70M。
APP内置這個字型?或者indexDB默默存下蘋方字型?
其實,默默加載一個10M的東西也不是不可行。
做好存儲即可,然後轉繁體就一行CSS事情,這可比搞語言包進行切換什麼的成本低多了。
尤其以後5G時代,幾十M東西都是秒下。
說不定,後生之年會見證Web中各種中文字型版式橫飛的場面。
本文完〜