?? ???????? ?????? ?????????? ???????????????? ??????????
最近幾天,有人在朋友圈裡面發了這段文字。
這段話的含義先不提,不過乍一看,字體和平常用的字體有區別。我起初以為是朋友圈的新功能——可以自定義字體,但是我並沒有找到這個功能。
我還有論文要寫,於是就沒有探究下去。直到後來有一天,同樣的句子在別的地方出現——還是那熟悉的字體。
我開始覺得這不是特殊的字體,而是一種字元。於是我查了一下,果然如此。
這類字元是Unicode中的數學字母數字元號(Mathematical Alphanumeric Symbols)。對於大小寫拉丁字母,襯線體、無襯線體、手寫體、等寬體、哥特體、雙線體什麼的都有,而且對於襯線體、無襯線體、手寫體、哥特體,還有粗體;對於襯線體、無襯線體,還有斜體和粗斜體:
除了拉丁字母,這類字元還有希臘字母和數字,不過支持的字形就少了:
另外說一下,上面的圖中,紅色背景的字元是在以前的Unicode中就有自己的碼位,所以在這個區段不重新編碼。
這些字元在Unicode 3.1中被支持,最常用的用途就是和其他字元一起呈現數學公式。如:
??=????2
當然,如果單純地使用普通的文本編輯器或閱讀器,並不能很好地呈現公式,有條件的話還是使用公式編輯器或者是諸如LaTeX這樣的語言來書寫公式。
當然,Unicode支不支持是一方面,字體支不支持是另一方面了。就算字體支持了,軟體支不支持又是另一方面。
在我的電腦上,我通過BabelMap(使用系統自帶的字元映射表看不到這些區域的字元)發現,只有四種字體支持這一區段的字元,甚至連Helvetica、Source Sans Pro、Source Serif Pro、思源黑體這樣的字體都不支持這個區段的字元。不過好在有一個可免費商用的字體(Noto Sans Symbols)有這一區段的字元(我的電腦上安裝的字體非常多)。但是奇怪的是,如果你使用記事本、VS Code的話,就算使用別的字體,還是能夠正常顯示這些字元。應該是有一種回滾機制吧。
在手機上,我使用基於Android 9的EMUI 9.0.1,使用默認字體(但我不知道有什麼字體——應該是有Noto Sans Symbols吧),是能夠顯示這些字元的。
在我使用過的軟體中,TIM的PC版沒法顯示這樣的字元(不過不知道是軟體的原因還是字體的原因)。QQ的Android版在聊天窗口中可以正常顯示這樣的字元,但是顯示文本文件時,仍然無法顯示這樣的字元。不知道是軟體原因還是字體原因。
說起來,實際上Unicode的新字形還挺有意思的。除了大家都知道的emoji外,還有各種各樣的字元,甚至有古埃及文字、楔形文字、麻將牌、撲克牌這樣的符號。它們中有些字元早已消亡,有些字元默默無聞,更多的字元,則在異國他鄉活在了顏文字中。
???? ???? ??????????????????????.
以下就給出了該區段全部的字形,供大家複製(如果可以的話)使用,或者是測試一下能不能正常顯示。對於該區段中沒有編碼的碼位,使用其他區段已有字元代替。
????????????????????????????????????????????????????
???????????????????????????????????????????????????
????????????????????????????????????????????
?????????????????????????????????????????????????
???????????????????????????????????????????????
?????????????????????????????????????????????
????
????????????????????????????????????????????????????????????????
????????????????????
Mathematical Alphanumeric Symbols - Wikipedia
推薦閱讀: