最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

用METAFONT做字體的一些感受(2022/06/14)

2022-06-14 17:09 作者:clerk_ma  | 我要投稿

最近在做的一個(gè)字體項(xiàng)目里面用了METAPOST畫圖。這東西的核心算法和METAFONT是一樣的,區(qū)別只在于METAPOST出的是矢量圖,且去掉了一些輸出字體相關(guān)的代碼。

使用METAPOST的感覺就是,這東西上來直接學(xué)會(huì)非常難受。但是如果用過字體編輯軟件,就會(huì)發(fā)現(xiàn)METAPOST非常好用。這個(gè)好用,雖然大部分是邏輯上的,但是在琢磨透了之后,會(huì)發(fā)現(xiàn)邏輯想象和最后等視覺呈現(xiàn),差異不大。這在LaTeX中都很難做到。

字體的數(shù)字化呈現(xiàn),最早是點(diǎn)陣(bitmap)。后來隨著PostScript和TrueType的出現(xiàn),變成了矢量描述形式的。

但是,套用一下編譯原理的術(shù)語體系,設(shè)計(jì)層面的東西,屬于前端,PostScript/TrueType屬于中端,bitmap屬于后端。

而METAFONT體系的東西,屬于前端和中端的復(fù)合體。

前幾年,OpenType更新specification,把AAT中的Variable Font加進(jìn)去了。當(dāng)時(shí)有幾篇英語的文章就提了METAFONT幾次。中文的文章,也亦步亦趨地翻譯過來。

但是呢,在互聯(lián)網(wǎng)上寫博客的,說這倆都沒說明白。

當(dāng)然,我在這也說不明白,因?yàn)檫@倆東西的細(xì)節(jié),需要寫50張以上的A4紙。我能說的只是感覺和一些體會(huì)。

感覺的第一個(gè),就是Variable Font不是什么復(fù)雜的技術(shù),就是圖形學(xué)中常見的插值算法。這些個(gè)算法可以通過METAFONT定義宏來模擬出來。

更重要的區(qū)別,也是本質(zhì)的區(qū)別,就是METAFONT可以定義pen結(jié)構(gòu),這是一種凸多邊形的描述結(jié)構(gòu)。這個(gè)pen可以沿著貝塞爾曲線移動(dòng),進(jìn)而填充出包絡(luò)(envelop)。這個(gè)包絡(luò)相當(dāng)于現(xiàn)在的字體中填充了的contour的概念。

第三點(diǎn),就是METAFONT中的向量和標(biāo)量運(yùn)算功能十分豐富。雖然,我依然不太滿意,寫了一些新函數(shù)(中間使用了maxima運(yùn)算)。這一點(diǎn)就導(dǎo)致了,在設(shè)計(jì)字形的時(shí)候,向量運(yùn)算非常重要。這些運(yùn)算功能,也不完全是聲明式的,能用等式推導(dǎo)出來。這個(gè)特性在設(shè)計(jì)字形的時(shí)候,可以聚焦于局部的特征。

第四點(diǎn),就是METAPOST中存在貝塞爾曲線的自動(dòng)推導(dǎo)。這個(gè)算法,形象一點(diǎn),就像吹氣球一樣,把輪廓填充得很圓滑。不過,這個(gè)算法是半自動(dòng)的,比如說可以通過角度控制(畢竟對(duì)于設(shè)計(jì)師來說,具體的參數(shù)點(diǎn)對(duì)他們來說屬于無意義的)。當(dāng)然,直接丟控制點(diǎn)進(jìn)去也可以出曲線。這個(gè)算法的推導(dǎo),需要做一些練習(xí)才能理解。

雖然在TeX社區(qū)里面,METAFONT的用戶并不多,甚至METAPOST是定義為畫圖的,但是這個(gè)東西確實(shí)很重要。學(xué)習(xí)起來難度是不小,但是還是可以學(xué),學(xué)起來大有好處。學(xué)不起來,那就很可能是方法和場(chǎng)景不匹配。


用METAFONT做字體的一些感受(2022/06/14)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
崇仁县| 怀化市| 茶陵县| 嘉峪关市| 广宗县| 梅河口市| 札达县| 仪陇县| 通化市| 北海市| 苍梧县| 五台县| 鸡泽县| 昆明市| 武邑县| 镇安县| 泽库县| 高淳县| 都兰县| 福泉市| 棋牌| 三穗县| 江山市| 娄底市| 共和县| 诏安县| 通城县| 卓尼县| 汉源县| 渭南市| 安仁县| 北宁市| 叶城县| 皋兰县| 延安市| 宜章县| 余干县| 黄大仙区| 江门市| 航空| 来凤县|