請問CBETA漢字的建議Unicode使用範圍

您好,我最近在改進自製的跨平台(progressive web app)非官方CBETA閱讀器(第2代):

https://github.com/MrMYHuang/cbetar2

目前在開發"楷書"字型的支援,但遇到了一些困難。

首先Android、iOS沒有原生支援楷書字型,所以我測了cwtexkai:

@import url(https://fonts.googleapis.com/earlyaccess/cwtexkai.css);

確實可用,但它在macOS/iOS Safari會有一個問題就是括號,如【】,在直式顯示時不會順時針轉90度。當經文括號出現很多的地方,文章會變得像毛毛蟲囧

後來發現國發會有提供開放楷書字型:

https://data.gov.tw/dataset/5961

使用後Safari正常了,但Chrome (Windows, Android, Linux)反而出問題:

glyf: uncompressed length exceeds 30MB

不知為何Chrome限制字型檔無壓縮下,大小不能超過30MB(壓縮成WOFF,再解壓仍超過30MB也不行)。參考:

https://chromium.googlesource.com/external/ots/+/v6.1.1/src/ots.cc

後來找到一款可以編輯TTF字型檔的工具:

https://fontforge.org/en-US/

我用它編輯國發會的全字庫楷書字型檔TW-Kai-98_1.ttf,發現刪光"非CJK Unified Ideographs"的所有字,TTF字型檔大小仍超過30MB (33MB)。後來再刪CJK Unified Ideographs Extension A,才降到26MB。參考:

https://zh.wikipedia.org/wiki/%E4%B8%AD%E6%97%A5%E9%9F%93%E7%B5%B1%E4%B8%80%E8%A1%A8%E6%84%8F%E6%96%87%E5%AD%97#%E6%94%B6%E5%AD%97%E4%BE%86%E6%BA%90

此時Chrome也可以使用了!只是我不清楚CBETA的經文是否有用到CJK Unified Ideographs Extension A的字?請問有沒有比較建議刪除的Unicode字範圍?以下是全字庫楷書字型檔支援的Unicode字集範圍:

cbeta's picture

您可以參考這份資料,這是記錄了扣除 big5 字集之外所使用的文字。

https://github.com/cbeta-org/cbeta_gaiji

謝謝。

我分析了一下,根據目前CBETA缺字CSV檔,缺字的Unicode範圍大致是這3區:

U+2049 - U+9FA9
U+FA11 - U+FA23
U+20007 - U+30272

順便提供給大家參考。