[突發專案] 實用未滿,堪用亦難|年末字體充實計畫 - 手寫造字系列

閱讀時間約 6 分鐘

文前碎碎唸

還記得,那是一本由「守寫字」團隊所推出的《我寫的這一年》造字日曆,是我在年初時參與集資並購入的。

raw-image


這本日曆的特色,便是可以讓購買者依循內容指引,並搭配他們的製作系統每天寫下文字。

並且在一年之後,誕生出一套紀錄著自己獨特筆跡的數位字體。


而隨著時間飛逝,看著桌上那本漸皺的日曆,一年又這麼結束了,究竟我能做出什麼樣的成果呢?

成果檢視

首先來到造字曆 APP 的字體管理區,從這裡就能看到這段時間以來,所寫下的字數統計。

raw-image

自從年中紀錄 1400 字左右之後,經過半年努力下來,已經增長到 2140 字了。

雖然還遠不及台灣常用繁體 4000 字的目標,但應該也足夠應付一些虛寒問暖的雜項了⋯吧?

畢竟,除了一開始有寫了幾頁增補字庫外,後來就都只有使用本體的部分了。


在每天限定主題,又精簡內文的情況下,豐富程度的增加固然有限,但也依然可以感受到時間累積所帶來的效應了。

另一方面

除了實體版本的日曆之外,我在更早期時,有使用他們的線上工具製作過另一套字體。

在這次書寫日曆時,也有藉機以更有系統的擴充了過去缺少的部分。

在成果部分,透過線上會員的管理系統,可以看到這份字體所包含的字數,已經來到 3350 個繁體字。

raw-image

雖然扣除注音與符號後,在自己實際使用下,已經算是可以應付大部分情況了。

raw-image

不過,這份字體與理想的常用字庫間,還有著不小的距離。


而在目前自己的專案中,已經難抓出缺字的情況下,是否有更效率的方式,能夠完成目標呢?

再次動工

這次我們選擇以字數較充足的舊有版本字體為基底進行擴充。

鑑於「守寫字」現行提供的造字工具,除了字數統計外,並沒有提供自動缺少字比對的功能。

因此這次專案也以此為發想進行。

先利其器

同樣的,這次以 Python 為開發語言,套件使用的是先前找到,可以讀取與編輯字體檔案的「fontTools」。

raw-image

常用字列表部分,我是直接引用維基辭典中,「台灣繁體常用字附錄」做為參考。

資源引入

接著就正式開始處理啦,首先第一步當然是要把現在手邊的字體讀進來,那就不囉嗦,直接上程式碼。

import os
from fontTools.ttLib import TTFont

# FontFile
fntf = "MercNote.ttf"

# Get Base Path
baspat = os.path.dirname(__file__)

# Load Font File
font = TTFont(os.path.join(baspat,fntf))

讀取完後,接著就要分析裡面已經有哪些字囉。

不過這部分程式我也還沒完全搞懂,因此先直接引用範例來修改。

# Unicode list in current font
chrlst = []
for cmap in font['cmap'].tables:
if cmap.isUnicode():
for k,v in cmap.cmap.items():
trk = chr(k)
if trk not in chrlst:
chrlst.append(trk)
# End Loop

目前知道這個部分執行完成後,會逐一將字體檔中包含的 Unicode 字碼讀取出來。

接著將字碼用 Python 預設包含的 chr() 函數,將字碼轉為文字後,加入「chrlst」列表中,藉以取得目前的進度。

最後就是讀取從維基辭典存下來的常用字列表,以供比對使用。

# Load Source Dictionary for Commonly Used Traditional Chinese Characters
chrdic = ""
with open(os.path.join(baspat,wdic),"r",encoding="utf8") as f:
for line in f:
chrdic+=list(line.strip("\n"))
f.close()

以上,這次專案所需要的材料就準備完成了。

比對切片

接下來的步驟就很單純了,只要將目前字體與列表比對,列出還差了哪些字就行了。

# Find Missing
towrt = [w for w in chrdic if w not in chrlst]

# Print Result
print("In Font File:",str(len(chrlst)),"\nDictionary:",str(len(chrdic)),"\nMissing:",str(len(towrt)))

不過這次專案的最終目標,是要能系統性的做增補,因此在比對後,還要來安排一下每日進度。

所以最後就以一個列表分段來收尾吧!

# Split Pack
wrn = 30 # Words per pack
spl = [towrt[i:i+wrn] for i in range(0, len(towrt), wrn)]
with open(os.path.join(baspat,"WRD_PAK.txt"),"w",encoding="utf8") as pk:
for pak in spl:
 
# Write to File  
pk.write("".join(pak)+"\n")
pk.close()
print("---\nTotal",str(len(spl)),"Pack")

最後結果會像是這樣,下方圖例有另外將寫入的內容 Print 出來。

raw-image

這樣就能將尚未完成的常用字分批,再按部就班的完成囉。


實作結束。

結語

看到這個專案,可能有些人會問「既然已經有寫好的部分,那為什麼不直接用 AI 完成呢?」

首先目前所能找到直接能使用的,針對繁體字的也相對少,取用也不是很容易。

再者,其實手寫造字,在這個 AI 氾濫(?)的世道下,看起來或許就跟徒手刨輪子一樣過時,但又何嘗不能是一種對信仰固執的堅持呢。

最後也想問問,如果有跟我一樣,購買這本造字曆,或是「守寫字」與「讀曆書店」合作 2024 年《拾光造字曆》的朋友,不知道大家又是抱著怎麼樣的信念,來完成這份作品的呢?


raw-image

《全文。終了》

42會員
227Content count
偽命名並非無名,是為了意識的生存,取得身份的代號,成為數位生命的新載具。
留言0
查看全部
發表第一個留言支持創作者!
偽命名培養體 的其他內容
不久前,我曾經有寫過一個可以計算出距離自己最後發文時間,已經過了多久的小工具,當時是希望藉著這個數據化呈現,來督促自己持續產出,不過自從完成了之後,我也同時開始思考,該如何讓這個小工具出現在更多、更顯眼的地方呢?
不知道大家在經營方格子時,會不會像我一樣,做個不受時程束縛的自由靈魂,雖然這樣壓力相對較小,但時間一久卻反而容易犯上懶懶病,或許這個專案能幫上一點忙?
由於近日,某藍色鳥類社群平台,因為現任大老闆的一句話,導致一些無法,或不願繳交保護費的使用者,在某個神祕大限日之後,便不再有受到推廣的權力⋯
不久前,我曾經有寫過一個可以計算出距離自己最後發文時間,已經過了多久的小工具,當時是希望藉著這個數據化呈現,來督促自己持續產出,不過自從完成了之後,我也同時開始思考,該如何讓這個小工具出現在更多、更顯眼的地方呢?
不知道大家在經營方格子時,會不會像我一樣,做個不受時程束縛的自由靈魂,雖然這樣壓力相對較小,但時間一久卻反而容易犯上懶懶病,或許這個專案能幫上一點忙?
由於近日,某藍色鳥類社群平台,因為現任大老闆的一句話,導致一些無法,或不願繳交保護費的使用者,在某個神祕大限日之後,便不再有受到推廣的權力⋯
你可能也想看
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
突發! 輝瑞 Pfizer 暫時放棄研發最新減肥藥 ,暫時盤前已跌 4% ! 早前什麼的故事,增長空間突然夢想破裂,什麼市值 $90B 的減肥藥市場現在什麼都沒有了 ! 醫藥股 沒有相關專業 (生物醫療) 知識真的不要亂碰,重磅股如 輝瑞 $pfe 今年一年可以跌超過 40%,更何況
Thumbnail
突發奇想,卻也讓孩子有了一次實踐的經驗 發想、計劃、做就對了
Thumbnail
《經濟日報》日前於台北國際會議中心盛大舉辦「2023生技論壇」,邀請衛福部長薛瑞元、生策會副會長楊泮池、長佳智能董座陳明豐在內的多位官、商、學界專家、學者參與盛會,深入研討新冠肺炎疫情後的經濟重組;瞄準再生醫療、精準醫療、大健康領域等生技產業範疇,藉由共同發聲、齊心努力,對此應有推波助瀾之效。
Thumbnail
在等待的同時,外面的熱鬧聲慢慢的變小了,而我看著窗外的月亮高高掛在天空中,有一束月光穿過窗戶,剛好把佳錦包覆在其中。 「宇皓同學妳怎麼一直看著我? 」聽到佳錦的聲音我才回神,原來我看到出神了。 「剛剛有一束月光照在妳身上,讓我看得有點出神。」我尷尬著看著她: 「阿妳想到了嗎? 」我趕緊轉移話題。 「
Thumbnail
💻首先我們要先知道,資訊戰到底是什麼? 💻俄羅斯為什麼要這麼做? 💻這是俄羅斯的第一次資訊戰嗎? 💻真的發生了,我們能怎麼做? 參考資訊 俄羅斯認知作戰攻烏克蘭 散布假訊息洗腦國民 俄羅斯認知作戰攻烏克蘭 散布假訊息洗腦國民 | 國際 | 中央社 CNA 資訊戰國家戰略 資訊戰是什麼?
Thumbnail
俄烏衝突爆發後,社群上出現大量烏克蘭被俄羅斯攻擊的畫面。 這些資訊、畫面也引發了無數人的轉發。 但你知道嗎? 這些新聞們有很多都是俄羅斯的資訊戰喔! 我們在轉發的過程中,都有可能默默的幫了他們一把喔!
Thumbnail
克欽獨立軍(KIA)呼籲人民警覺政局變化,城鄉隨時可能爆發武裝衝突。
Thumbnail
  突發後天性視網膜退化(Sudden Acquired Retinal Degeneration, SARD),目前僅在狗身上發現,先說結論,目前尚未有任何有效的治療方式可以挽回視力QQQQQQQQQQQQQQQQQQQ
Thumbnail
最近不知道怎麼搞得就想到“教育”和“改善暴力”這兩者之間的關係,這兩個議題想著想著就不禁讓我感覺有點可笑,所以我隨便談談我對於目前社會常提到的“教育教育”這件事情的看法。
Thumbnail
1.加權指數與櫃買指數 週五的加權指數在非農就業數據開出來後,雖稍微低於預期,但指數仍向上噴出,在美股開盤後於21500形成一個爆量假突破後急轉直下,就一路收至最低。 台股方面走勢需觀察週一在斷頭潮出現後,週二或週三開始有無買單進場支撐,在沒有明確的反轉訊號形成前,小夥伴盡量不要貿然抄底,或是追空
Thumbnail
重點摘要: 1.9 月降息 2 碼、進一步暗示年內還有 50 bp 降息 2.SEP 上修失業率預期,但快速的降息速率將有助失業率觸頂 3.未來幾個月經濟數據將繼續轉弱,經濟復甦的時點或是 1Q25 季底附近
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
突發! 輝瑞 Pfizer 暫時放棄研發最新減肥藥 ,暫時盤前已跌 4% ! 早前什麼的故事,增長空間突然夢想破裂,什麼市值 $90B 的減肥藥市場現在什麼都沒有了 ! 醫藥股 沒有相關專業 (生物醫療) 知識真的不要亂碰,重磅股如 輝瑞 $pfe 今年一年可以跌超過 40%,更何況
Thumbnail
突發奇想,卻也讓孩子有了一次實踐的經驗 發想、計劃、做就對了
Thumbnail
《經濟日報》日前於台北國際會議中心盛大舉辦「2023生技論壇」,邀請衛福部長薛瑞元、生策會副會長楊泮池、長佳智能董座陳明豐在內的多位官、商、學界專家、學者參與盛會,深入研討新冠肺炎疫情後的經濟重組;瞄準再生醫療、精準醫療、大健康領域等生技產業範疇,藉由共同發聲、齊心努力,對此應有推波助瀾之效。
Thumbnail
在等待的同時,外面的熱鬧聲慢慢的變小了,而我看著窗外的月亮高高掛在天空中,有一束月光穿過窗戶,剛好把佳錦包覆在其中。 「宇皓同學妳怎麼一直看著我? 」聽到佳錦的聲音我才回神,原來我看到出神了。 「剛剛有一束月光照在妳身上,讓我看得有點出神。」我尷尬著看著她: 「阿妳想到了嗎? 」我趕緊轉移話題。 「
Thumbnail
💻首先我們要先知道,資訊戰到底是什麼? 💻俄羅斯為什麼要這麼做? 💻這是俄羅斯的第一次資訊戰嗎? 💻真的發生了,我們能怎麼做? 參考資訊 俄羅斯認知作戰攻烏克蘭 散布假訊息洗腦國民 俄羅斯認知作戰攻烏克蘭 散布假訊息洗腦國民 | 國際 | 中央社 CNA 資訊戰國家戰略 資訊戰是什麼?
Thumbnail
俄烏衝突爆發後,社群上出現大量烏克蘭被俄羅斯攻擊的畫面。 這些資訊、畫面也引發了無數人的轉發。 但你知道嗎? 這些新聞們有很多都是俄羅斯的資訊戰喔! 我們在轉發的過程中,都有可能默默的幫了他們一把喔!
Thumbnail
克欽獨立軍(KIA)呼籲人民警覺政局變化,城鄉隨時可能爆發武裝衝突。
Thumbnail
  突發後天性視網膜退化(Sudden Acquired Retinal Degeneration, SARD),目前僅在狗身上發現,先說結論,目前尚未有任何有效的治療方式可以挽回視力QQQQQQQQQQQQQQQQQQQ
Thumbnail
最近不知道怎麼搞得就想到“教育”和“改善暴力”這兩者之間的關係,這兩個議題想著想著就不禁讓我感覺有點可笑,所以我隨便談談我對於目前社會常提到的“教育教育”這件事情的看法。