Re: [問題] 一個奇怪的漢字編碼問題(Unihan?)

看板Perl作者 (啊)時間8年前 (2015/09/16 06:44), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串3/5 (看更多)
Unicode 方面的檢索,可直接使用 unicode.org,其中有一頁是 漢字相關的: http://www.unicode.org/charts/unihan.html 雖然 CTA 做得好像不存在似的,但"Lookup" 鈕旁邊可以輸入漢字,並 查到各重資料。以下是「行」字 ( U+884C ) http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=%E8%A1%8C 在這頁最下面可以看到這碼位有個對應的 kZVariant 是 U+FA08。 關於 z variant 其奇妙無比的解釋,請詳閱 http://www.unicode.org/reports/tr38/index.html#N10211 http://www.unicode.org/reports/tr38/index.html#kZVariant 摘錄如下: ... Briefly, however, the three-dimensional model uses the x-axis to represent meaning, and the y-axis to represent abstract shape. The z-axis is used for stylistic variations. 簡譯如下: ... 不過簡單地說, 就是以三維模型來表示變種。X 軸表意,Y 軸象型。Z 軸則用來區別風格。 也就是說,如果有兩個碼位互為 Z 變種,表示那兩碼位對應的字是同意同型,但「書寫風格」不同。 不過由許多例子看來,同型倒也不是指筆劃完全相同,實在是很奇妙。)像「說」與「説」這對是 Z 變種, 「貓」與「猫」則是 Y 變種。 要得知哪些碼位有 Z 變種,可下載 Unihan.zip (在頁面左方可找到連結) ftp://ftp.unicode.org/Public/UNIDATA/Unihan.zip 解開在找 Unihan_Variants.txt 檔案中找 kZVariant > grep kZVariant Unihan_Variants.txt | perl -CO -aE 'say join " ", map { ($_, chr(hex($_ =~ s/^U\+//r)))} @F[0,2]' U+3588 U+439B U+363D U+39B3 U+39B3 U+363D U+3ADA U+66F6 曶 U+418B U+9F9D 龝 U+439B U+3588 U+4E04 丄 U+4E0A 上 U+4E05 U+4E0B 下 U+4E0A 上 U+4E04 丄 U+4E0B 下 U+4E05 U+4E0C 丌 U+5176 其 U+4E0D 不 U+F967 不 U+4E16 世 U+4E17 丗 U+4E17 丗 U+4E16 世 U+4E18 丘 U+4E20 U+4E21 両 U+5169 兩 U+4E23 U+9149 酉 U+4E26 並 U+5E77 U+4E2C 丬 U+723F 爿 .... (ptt 可能無法儲存某些字,會變問號,請自已試試) Dan Kogai 曾經釋出 Unicode::Unihan ,基本上是處理這個檔案,但已經七年沒更新了, 自行處理一下可能較為適合。 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 77.163.137.207 ※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1442357056.A.EDE.html

09/16 17:41, , 1F
哇~~
09/16 17:41, 1F

09/20 10:02, , 2F
哇+1
09/20 10:02, 2F
文章代碼(AID): #1L-9z0xU (Perl)
討論串 (同標題文章)
文章代碼(AID): #1L-9z0xU (Perl)