无码av一区二区三区无码,在线观看老湿视频福利,日韩经典三级片,成 人色 网 站 欧美大片在线观看

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

我對XeTeX還是很不爽??!

2022-03-15 23:37 作者:clerk_ma  | 我要投稿

雖然我是個TeX開發(fā)者,但是這幾年的TeX使用已經(jīng)已經(jīng)進(jìn)入化境。說人話的話,那就是我經(jīng)常用TeX干一些普通用戶很少干的事。比如用TiKZ畫圖,尤其是字體數(shù)據(jù)的可視化。

過年的時候跟朋友說了一下《普林斯頓應(yīng)用數(shù)學(xué)指南》的一些事。這書很有意思,我看了大半之后發(fā)覺,應(yīng)用數(shù)學(xué)的大部分領(lǐng)域,基本上都涉及計算機(jī)。這書里面有幾節(jié)對于LaTeX相關(guān)內(nèi)容的描述。比如TiKZ,這東西是DSL中的DSL。

DSL中的DSL。怎么理解呢?第一層DSL,其實(shí)指的是TeX。TeX雖然圖靈完備。但是很顯然它不是干所有的東西都很內(nèi)行。比如我很久之前大概講過Lisp on TeX。但是,能做和特別擅長于做還是很不一樣的。

之所以說TiKZ是DSL中的DSL,我轉(zhuǎn)換一下說法,就是說,TiKZ用TeX的宏系統(tǒng)實(shí)現(xiàn)了一個特定領(lǐng)域的東西。比如說,如果我做了一個字體描述的東西,它也是個DSL。

從TiKZ的話題上折回來。為啥我還在用XeTeX呢?主要是API穩(wěn)定。這個穩(wěn)定,也只是部分API。比如XeTeX的Shaping API,就隨著Harfbuzz的變化而變化,不算穩(wěn)定的API。穩(wěn)定的API指的是,XeTeX對于glyph的讀取的相關(guān)API。

為什么不提LuaTeX呢?主要是我比較懶。LuaTeX雖然底層提供的API比較豐富,甚至可以通過Lua的callback來給排版流程掛鉤子。但是它封裝的那套fontforge的API的文檔是真的很蹩腳。我雖然知道Type 1,TrueType,OpenType的細(xì)節(jié),但是涉及glyph的東西,我懶得搞的。

我對XeTeX的不爽,主要還是在字體的查找上。

眾所周知,XeTeX的字體查找,在mac上面是用的系統(tǒng)API,但是在Linux和win上面都是使用的fontconfig。

我們也知道,另一個眾所周知,就是開源軟件界有一個KISS原則,但是讀經(jīng)人讀不懂經(jīng)的時候,就麻煩了,想把經(jīng)燒了。模塊是可以接模塊的。但是一旦出問題,可是得按模塊debug的。這一點(diǎn)就很痛苦。

fontconfig的令人痛苦之處,它是一個開源的基礎(chǔ)組件,但是API使用上,需要用戶了解一定的字體知識。這就很麻煩了。更麻煩的地方,是它的文檔其實(shí)寫的不太好。這個痛苦就跟呼叫轉(zhuǎn)移一樣,轉(zhuǎn)移到XeTeX上去了。

希望今年有時間把我想做的類似的庫搞出來。

回家的這三四天,睡覺是真舒服。主要還是村里面比較安靜,雖然傍晚的時候能聽到村里面的狗叫雞叫鴨叫鵝叫??諝獬睗袂仪逍拢梢詴裰柊l(fā)呆。吃得少,睡得好,心情也是好。

所以這是一個特別理想的開發(fā)環(huán)境。當(dāng)然,美中不足的地方就是炕比較硬,我沒有買墊子,不能久坐。所以這樣看來,實(shí)際上是我在北京的生活環(huán)境影響我寫代碼的狀態(tài)。比如,今天回到家,屋里就熱的夠嗆,這樣大的溫差,出門不感冒果然得算是奇跡。


我對XeTeX還是很不爽?。〉脑u論 (共 條)

分享到微博請遵守國家法律
海南省| 黄冈市| 岳阳市| 石屏县| 马公市| 新蔡县| 阜平县| 隆昌县| 康定县| 临清市| 咸阳市| 北安市| 舞钢市| 绥棱县| 安图县| 土默特左旗| 罗城| 江源县| 南丹县| 荃湾区| 东丰县| 郯城县| 唐河县| 璧山县| 织金县| 昂仁县| 洛南县| 灵武市| 和田县| 乌审旗| 杭锦后旗| 宝清县| 庄河市| 高阳县| 蒙自县| 新乡市| 商丘市| 黑龙江省| 阳城县| 皮山县| 丰原市|