汉字笔画数据_把所有汉字叠起来会怎样?
本文基于對此話題的知乎回答補(bǔ)充而成:
https://www.zhihu.com/question/394175264/answer/1221223455
背景介紹
「把所有漢字疊寫起來會怎么樣呢?」這個(gè)問題源于知乎網(wǎng)友 @閉眼唱歌 腦洞大開的起名方式:
來源:怎樣看待 papi 醬因?yàn)楹⒆与S父姓被某些網(wǎng)友辱罵?-?知乎(https://www.zhihu.com/question/394004713/answer/1215083944)雖然看起來非常無厘頭,但對理解中文字體設(shè)計(jì)是有一些幫助的。
首先介紹中文字體設(shè)計(jì)中的兩個(gè)概念:字身框和字面框。字身框是漢字字形最外側(cè)的方框,在金屬活字時(shí)代指的是鉛字鉛塊的尺寸,在數(shù)字化時(shí)代指的是漢字字符形最外面的邊界框,其默認(rèn)高度與字號相同。字面框是一個(gè)字體中漢字筆畫實(shí)際可以覆蓋到的空間,在相同字號下,能夠間接觀察出整套字體每個(gè)字的視覺大小和默認(rèn)字間距。然而在數(shù)字化時(shí)代,有的中文字體僅將字面框作為一種邊界參考線,不少尖銳的筆畫往往會突破設(shè)計(jì)師設(shè)定的字面框,有時(shí)候甚至?xí)黄谱稚砜颉?/p>來源:字型設(shè)計(jì)自己來——中文字型設(shè)計(jì)的第一課 - justfont(https://blog.justfont.com/2012/12/hanzi-type-design-1/)
一般來說,把所有漢字疊加起來,即使字面框有可能會被填滿,但字身框內(nèi)無論如何都還會留有一點(diǎn)空間,否則排版時(shí)所有的漢字都有可能會連在一起,沒有「呼吸的感覺」(笑)。
實(shí)驗(yàn)報(bào)告——整體疊加
中文字庫常用的 GB2312 字符集一共有 6763 個(gè)漢字,而 Unicode 13.0 里面的漢字已經(jīng)積累到了 92856 個(gè)[1],全部拿來疊加比較麻煩且意義不大。經(jīng)過實(shí)驗(yàn),使用幾千個(gè)漢字和幾百個(gè)漢字來疊加效果差別很小(只要控制好透明度什么的)。所以,下面的實(shí)驗(yàn)我們都是從 GB2312 中隨機(jī)挑選一個(gè)子集來疊加,實(shí)際使用的字?jǐn)?shù)我們標(biāo)注在了括號里。
首先從最基本的宋體和黑體開始。為了突出對比,我們各選擇了兩種風(fēng)格的字體:方正筑紫老明朝和華文黑體字面較小、結(jié)構(gòu)緊湊;而報(bào)宋和微軟雅黑字面較大、結(jié)構(gòu)寬松。前者代表了比較傳統(tǒng)的漢字審美,可以使文本更有精氣神。后者則主要出于使用場景的考量,無論是為了報(bào)紙印刷設(shè)計(jì)的報(bào)宋,還是為了屏幕顯示設(shè)計(jì)的雅黑,較為夸張的字面可以大幅提升易讀性。
接著我們來看思源系列的情況。思源宋體和黑體是 Adobe 和 Google 聯(lián)合推出的一款泛中日韓現(xiàn)代字體。它們各有 7 個(gè)字重,因此也可以有更多發(fā)現(xiàn)。此外,思源字體本身就提供了字面大小的信息(OpenType BASE 表中的 icft 和 icfb 條目)[2],我們這里也標(biāo)記了出來。下圖紅色為宋體,黑色為黑體。很明顯,從細(xì)到粗,字面率逐漸增大,到了 Heavy 字重幾乎與字面框只留下了一條縫隙,可以想象排版結(jié)果將有強(qiáng)烈的視覺沖擊力。這種隨著字重的增加,不斷擴(kuò)大的文字的方式,也頗似西文字體中,同一套字體家族隨著字重增加而加大 x 高度的做法。另一方面,如果縱向?qū)Ρ?#xff0c;可以看到相同字重的宋體和黑體有著幾乎一致的字面框大小,而這正是中文字體設(shè)計(jì)中跨越字體風(fēng)格(宋 / 黑)時(shí)需要考慮的要點(diǎn)之一。
除了分析字面率,疊加實(shí)驗(yàn)還可以幫助我們理解筆畫的分布。上面的幾張圖都不是一片均勻的黑色,而是有濃淡分布的。顯然,黑色較深的地方對應(yīng)著筆畫的集中分布。我們可以看出來,大多數(shù)字體中左側(cè)都有明顯的一豎,右側(cè)下面則有一橫,而且右下角有一處格外明顯的黑色區(qū)域;有些字體的右側(cè)還有一些橫豎筆畫構(gòu)成的「格子紋樣」。加上根據(jù) 6763 個(gè)漢字的數(shù)據(jù)統(tǒng)計(jì),我們由此可以得出以下幾個(gè)結(jié)論:
漢字中左右(左中右)結(jié)構(gòu)的字的數(shù)量占據(jù)絕對統(tǒng)治地位
左側(cè)的形旁大多以一豎作為主筆(如:亻彳犭扌忄礻衤钅饣讠丬)
半包圍、全包圍結(jié)構(gòu)的字也較多,且筆畫大都位于接近字面框四個(gè)邊緣的位置
漢字筆畫中,橫和豎的比例較高,造成了字面框中部的「格子」紋理
我們還能看到,方正筑紫老明朝、微軟雅黑和思源宋體、黑體都有較為明顯的筆畫界線,而漢儀報(bào)宋和華文黑體的整體筆畫分布規(guī)律則相對模糊。后面這兩個(gè)歷史比較久遠(yuǎn)的字體都是在前數(shù)字化時(shí)代設(shè)計(jì)出來的,沒辦法很方便地「Ctrl+C、Ctrl+V」,只能依靠多位設(shè)計(jì)師手工繪制出所有字形,即使相同部件也存在一定的差別,相對數(shù)字化字體來說,整體筆畫分布的規(guī)律性便顯得較弱了。當(dāng)然,這樣也賦予了每個(gè)字形不盡相同的特質(zhì),有著區(qū)別于數(shù)字化時(shí)代字體的獨(dú)特風(fēng)味,反而得到一些人的青睞。
中文常用的排版字體還有仿宋和楷體。下圖測試了方正的基礎(chǔ)四款字體,盡管我們常常將「宋黑仿楷」并稱,然而光從字面率來看它們未必能很好地搭配起來。如果要設(shè)計(jì)一款跨越宋、黑、仿、楷的超級中文字體家族,顯然在字面率的統(tǒng)一上還要多做一些研究和基礎(chǔ)設(shè)定。另外從形狀來看,圖中的宋體和黑體的疊加結(jié)果基本呈現(xiàn)為一個(gè)正方形,而仿宋的疊加結(jié)果則是長方形,而楷體是一個(gè)不規(guī)則的多邊形,說明測試的仿宋和楷體的真實(shí)字面框并不是方的。
實(shí)際上,這一規(guī)律早在七十年代就被日本的字體研究者佐藤敬之輔發(fā)現(xiàn)了。他對宋體和楷體也做了一些疊加的實(shí)驗(yàn),和我們的疊加圖類似,宋體疊加后是一個(gè)方框,而楷體則是一個(gè)類似?的不規(guī)則形狀。
來源:《漢字》(下),佐藤敬之輔
楷體脫胎于書法,帶有強(qiáng)烈的手寫感。這個(gè)像 Q 的小尾巴一樣的突出部分,也正是源于傳統(tǒng)書法美學(xué)中捺要舒展的要求。便于雕刻的仿宋有接近楷體的筆畫特征和類似的筆畫傾角,不過整體字面已經(jīng)變得方正起來。再往后,宋體和黑體伴隨著現(xiàn)代字體技術(shù)的成熟逐漸成為主流,筆形規(guī)整統(tǒng)一、字面較大的特征一直延續(xù)到了今天。
這里,我們把幾款流行的刻本字體疊加起來,便可以清晰地看出上文所述印刷字體的演變史。
實(shí)驗(yàn)報(bào)告——更多的疊加
漢字根據(jù)結(jié)構(gòu)大致可以分為上下、左右、包圍、獨(dú)體。據(jù)此,我們還分別對這四種結(jié)構(gòu)的漢字進(jìn)行了單獨(dú)的疊加,有一些有趣的發(fā)現(xiàn):
草字頭(艸)、木字旁(木)、三點(diǎn)水(氵)、走之底(?)這幾個(gè)偏旁部首可謂是獨(dú)占鰲頭,因?yàn)樽謹(jǐn)?shù)的優(yōu)勢,在結(jié)果中一眼就能分辨出來;
對于上下、左右、包圍結(jié)構(gòu)的字,形旁和聲旁應(yīng)當(dāng)控制一定的距離,并且在整個(gè)字體里面保持統(tǒng)一。這也印證了謝培元和徐學(xué)成等前輩提出的第二中心線理論[3];
獨(dú)體字和上下結(jié)構(gòu)的字中,都能明顯看到一條筆直的中軸線。這或許與漢字的豎排傳統(tǒng)和對稱審美有關(guān)[4]。
接下來看看最近特別流行的書法字體。總體來說書法字體的實(shí)際字面率都較低。隸書字形較扁,楷書比較端正,草書、行書則充滿了曲線的味道。而作為創(chuàng)意字體的尚巍手書,疊加起來看也出現(xiàn)我們上面提到過的「Q」形狀,可見中文字體即使看起來充滿創(chuàng)意,也得遵循一定的規(guī)律。
漢字還有相當(dāng)數(shù)量的衍生文字,在中國少數(shù)民族地區(qū)和泛東亞文化圈都被廣泛使用。包括日文平假名、片假名(網(wǎng)友評論:平假名像個(gè)球 2333):
諺文音節(jié)、注音符號(可以看出思源宋體的設(shè)計(jì)明顯有問題):
以及西夏文、契丹小字和女書:
這些文字總體上保留了漢字的一些特征,但又有所不同。比如女書整體造型呈橄欖形,完全不同于漢字的方塊造型[5]。西夏文和漢字類似,存在大量肉眼可見的左右結(jié)構(gòu)的字,但和漢字相比,左右部分的大小基本相同,結(jié)構(gòu)更加對稱,變化也不如漢字豐富(不過 Noto 這個(gè)西夏文字體被噴得很慘[6])。
最后,知乎網(wǎng)友?@韓泳思 提到了點(diǎn)陣字體的問題,所以我們也來玩一玩:
以上三個(gè)字體分別是 16×15 像素的 GNU Unifont、9×9?丁卯點(diǎn)陣體、7×7?丁卯點(diǎn)陣體。由于點(diǎn)陣字體本身的限制,它們在整個(gè)字身框中都故意留出了一像素的縫隙,以防止密排時(shí)文字連在一起??梢钥吹?#xff0c;在 Unifont 中左上角和右上角仍留有一些空白;而在「小至極限」的丁卯點(diǎn)陣點(diǎn)里面,設(shè)計(jì)師就不得不充分利用除了預(yù)留空間外每一個(gè)能用的像素,因而最終疊加出了一個(gè)幾乎實(shí)心的黑塊。
參考文獻(xiàn):[1]?2019 “State of the Unification” Report?https://blogs.adobe.com/CCJKType/2019/07/2019-sotu.html[2]?Baseline tags?https://docs.microsoft.com/en-us/typography/opentype/otspec160/baselinetags[3]?厲致謙?漢字設(shè)計(jì)中的度量標(biāo)準(zhǔn)(二)[4]?蔣勛 漢字書法之美:舞動行草 https://books.google.com.sg/books?id=8Rq9AAAAQBAJ&pg=PA235#v=onepage&q&f=false[5]?Noto Sans Nushu?https://github.com/LisaHuang2017/noto-sans-nushu[6]?https://twitter.com/BabelStone/status/1106903314690686986
—?過往內(nèi)容?—
他們?nèi)绾蝿?chuàng)造字體?
??????????????|藏區(qū)街頭文字實(shí)錄
海報(bào)字體氣突蘇!
如何在《動物森友會》中設(shè)計(jì)字體?
征稿啟動|3typezine 一周年,邀你再續(xù)字體故事
TypeScrolls?#01?漢字設(shè)計(jì)中的度量標(biāo)準(zhǔn)(一)
TypeScrolls?#02?漢字設(shè)計(jì)中的度量標(biāo)準(zhǔn)(二)
TypeScrolls?#03?漢字設(shè)計(jì)中的度量標(biāo)準(zhǔn)(三)
西文字體設(shè)計(jì)高階課冷靜??招生中(仍可報(bào)名)中文字體設(shè)計(jì)高階課火熱?招生中(試聽福利)丁卯點(diǎn)陣體開放試用:小至極限的像素風(fēng)格字體
總結(jié)
以上是生活随笔為你收集整理的汉字笔画数据_把所有汉字叠起来会怎样?的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机中出现“你需要计算机管理员提供的权
- 下一篇: 利用json-lib实现将json字符串