newsence
來源篩選

Making a font with ligatures to display thirteenth-century monk numerals

Hacker News

I created a digital font that uses 9,999 ligatures to represent Cistercian monk numerals, allowing these complex historical symbols to be displayed and searched as standard numbers without JavaScript.

newsence

製作包含 9,999 個連字組合的字體以顯示 13 世紀僧侶數字

Hacker News
13 天前

AI 生成摘要

我製作了一款利用 9,999 個連字組合來呈現西妥教團僧侶數字的數位字體,讓這些複雜的歷史符號無需透過 JavaScript,就能像標準數字一樣被顯示、搜尋與複製貼上。

背景

這篇文章介紹了一項有趣的字型實驗,作者利用 OpenType 的連字(Ligature)技術,開發出一款能將阿拉伯數字自動轉換為十三世紀西多會修士(Cistercian monks)數字系統的字型。這種古老的計數方式能透過單一符號組合出 0 到 9,999 之間的任何整數,而作者透過暴力定義 9,999 組連字規則,讓使用者在輸入一般數字時,能在視覺上即時呈現為這種緊湊的修道院符號,同時保持文字底層的可搜尋性與可複製性。

社群觀點

在 Hacker News 的討論中,社群對於這種將古老符號與現代字型技術結合的創意給予了高度評價。許多討論聚焦於技術實現的優劣,特別是關於「暴力法」與「組合法」的權衡。有網友指出,雖然作者定義一萬組連字規則的做法非常直覺且易於實作,但在字型設計領域,其實存在更優雅的組合式做法。例如有人分享了名為 FRBCistercian 的專案,該專案並非預先定義所有可能的數字組合,而是透過 OpenType 的特性讓子符號動態疊加。不過,社群也認同作者的做法在開發初期更為省力,且能直接支援標準的阿拉伯數字輸入,而不需要使用者手動輸入特定的組合字元。

除了技術層面的討論,社群也對這類連字技術的應用場景展開了聯想。有開發者分享了自己在音樂專案中使用 MusGlyph 字型的經驗,該字型同樣利用連字功能,讓使用者透過輸入簡單的字母組合(如輸入四個 s)就能產生複雜的十六分音符連槓符號。這顯示出連字技術在特殊符號標記與專業排版中具有極大的潛力。然而,這類高度依賴連字的字型在網頁效能優化與子集化(Subsetting)方面也帶來了挑戰,如何在保留連字邏輯的同時縮減字型檔案大小,是實務上需要克服的技術難題。

此外,關於西多會數字系統本身的數學特性也引起了熱烈討論。有留言提到這種符號系統在某些特定情況下具有「視覺加法」的特性,即兩個數字的符號重疊後可能恰好等於其和。但經過網友細緻的推算,發現這種視覺加法僅限於少數不涉及進位的特定組合,例如 1 加上 4、6 或 8 等情況。雖然它無法成為一種通用的視覺運算系統,但這種獨特的結構仍讓不少人感到著迷。最後,也有人提醒這類技術可能帶來的安全隱憂,因為字型可以任意改變文字的視覺呈現而不改變其底層編碼,這種特性雖然有趣,但也可能被用於欺騙或誤導使用者,在享受技術創意的同時仍需保持警覺。

延伸閱讀

在討論中,網友提供了幾個與連字應用及西多會數字相關的進階資源。首先是 FRBCistercian 專案,展示了如何以組合式邏輯而非暴力列舉的方式來建構這套數字系統。其次是 MusGlyph,這是一個將連字技術應用於音樂記譜的實例。對於想深入了解字型技術細節的讀者,有開發者分享了關於連字字型子集化與效能優化的技術文章,探討了在網頁環境下處理這類複雜字型的實務經驗。