[問題] Unicode文字顯示

看板Programming作者 (還在想)時間10年前 (2014/10/28 14:34), 10年前編輯推噓5(5020)
留言25則, 6人參與, 最新討論串1/1
其實我不知道這算不算是跟程式有關的問題 我在做的事情是要把Big5碼轉換成Unicode 那因為裡面有一大堆外字,也就是Big5沒有的字 所以轉換時我參考網路上用iconv逐字,能轉的就轉,不能轉的就去查表 我有一份三千多字的對應表可供查詢 這樣轉很多字都可以轉換成功 可是有些字轉完出來還是方框 像是Unicode編碼為 0x2F9D0 跟諭長得很像,讀音一樣都是 ㄩˋ 的字 我如果直接把這個方框拿去Google,就會找到 諭 的相關搜尋結果 如果貼到Skype上,就會被自動轉換成 諭 所以我想這其實是同一個字,只是是諭的異體字或錯別字 但因為目前要處理的是人名 不能隨便把他換成另外一個字 所以終究得尋找能讓它顯示出來的方法 我的最終目的是要輸出PDF檔 轉換以及輸出PDF檔都已經成功了 一部分的外字也已經可以呈現在PDF中 就剩下一些字還不能正確顯示 我用的是PHP的mpdf 因為它可以輕易的改變字型 所以我在想是不是會有個字型是能夠顯示這些有編碼無字型的字? 這樣我只要引入這個字型就解決了 還是我想太多了,終究只能自己造字? 謝謝各位 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.134.18.8 ※ 文章網址: http://www.ptt.cc/bbs/Programming/M.1414478045.A.444.html ※ 編輯: Peruheru (220.134.18.8), 10/28/2014 14:34:55 ※ 編輯: Peruheru (220.134.18.8), 10/28/2014 14:36:07

10/28 14:35, , 1F
方框是字型的問題 他沒有這個字
10/28 14:35, 1F

10/28 14:36, , 2F
免費的可用noto sans cjk
10/28 14:36, 2F
我後來發現他只收TTF或非postscript的otf orz 試著用各種方式轉換,都沒成功過...

10/28 16:56, , 3F
全字庫
10/28 16:56, 3F
看不太懂這個要怎麼做 我只缺TTF,但是他好像是安裝後掛上造字檔的方式 對象伺服器不能隨便裝東西的說

10/28 22:21, , 4F
U+F900~U+FAFF 這一塊字都是來源字碼裡的重
10/28 22:21, 4F

10/28 22:22, , 5F
碼字, 所以其實照理說應該要用回正確的字
10/28 22:22, 5F

10/28 22:22, , 6F
你的"諭"字(U+FABE)是北韓的編碼中的重碼字
10/28 22:22, 6F

10/28 22:23, , 7F
至於它們正確的字是什麼字可以查詢官方表格
10/28 22:23, 7F

10/28 22:23, , 8F
www.unicode.org/charts/PDF/UF900.pdf
10/28 22:23, 8F

10/28 22:24, , 9F
裡面有標記≡某碼就表示此字該用這個碼替代
10/28 22:24, 9F

10/28 22:24, , 10F
U+FABE 標記的是 ≡8AED 表示 U+8AED 就是
10/28 22:24, 10F

10/28 22:24, , 11F
正確的"諭"字
10/28 22:24, 11F
我打錯編碼了,真虧LPH66前輩還找出正確的編碼 我去查過紙本字典,加上綜合網路上查詢2F9D0的結果 的確如您所述,基本上2F9D0、FABE、8AED都被當成是同一個字 只有些網站會顯示右下角是ㄍ的字型,其他甚至都只顯示 諭 老實說我也很想直接轉換成8AED就可以顯示了orz ※ 編輯: Peruheru (220.134.18.8), 10/29/2014 11:18:50

10/29 12:00, , 12F
所以必須顯示2F9D0 應該就只能找個含
10/29 12:00, 12F

10/29 12:00, , 13F
2F9D0的字型檔 那麼 為什麼轉換沒成功
10/29 12:00, 13F

10/29 12:01, , 14F
呢? 你用什麼工具來轉?
10/29 12:01, 14F
我用網路上找的很多轉檔網站 如: http://everythingfonts.com/otf-to-ttf http://www.freefontconverter.com/ http://onlinefontconverter.com/ 等等 有些是有上傳檔案大小限制,傳不上去(這種字體檔案都很大,十幾MB起跳) 有些則是上傳完,也顯示轉換完,但根本沒有出現下載檔案 有個網站我重整後有出現下載一個ttf檔,但結果是無法打開的損壞檔案 然後用了FontForge這套軟體 打開以後選擇Generate Fonts,然後選擇TTF(有好幾個,我選擇副檔名是ttf的) 然後我關掉了Validate Before Saving選項 結果它產生的是一個損壞的字型檔(僅7k大小) 另一個Type light這套軟體比較慘,開了字型檔就會停止回應沒轍 我想轉換的是 https://www.google.com/get/noto/#/family/noto-sans-hant 這邊下載回來裡面的Thin字體,這就是一樓推文中所提到的字體 我有注意到開啟這個檔案時說需要cidmap檔 我也有照指示去下載然後讓他讀取 不過讀出來除了最下面英文區以外 其他的字都看不到實際字體內容 我猜這就是轉出只有7K的壞檔的原因 但我不知道何解orz ※ 編輯: Peruheru (220.134.18.8), 10/29/2014 13:46:30

10/29 14:36, , 15F
我試了 情況跟你一樣, 找不到含2F9D0
10/29 14:36, 15F

10/29 14:37, , 16F
的ttf免費字型檔, 你們沒有買商業版
10/29 14:37, 16F

10/29 14:37, , 17F
的字型檔嗎? 或許有, 不確定
10/29 14:37, 17F

10/29 14:38, , 18F
或許商業版的ttf字型檔有2F9D0
10/29 14:38, 18F
我找到了! http://tinyurl.com/mfvyfas NotoSansCJK-DemiLight 有提供TTF檔案 而且它的 02F9D0 是有字型的!! 這樣一來就不用為了轉檔弄得焦頭爛額 其實真的已經在考慮要請金蝶幫忙,他們說有辦法 但是開價就要25萬 可以用免費的方法解決真是太好了... 謝謝各位的意見,對我幫助很大! ※ 編輯: Peruheru (220.134.18.8), 10/29/2014 17:01:56

10/29 17:19, , 19F
恭喜,另外不只DemiLight 其他也有ttc
10/29 17:19, 19F

10/29 17:31, , 20F
http://goo.gl/3UTNRz 還有兩套字型有
10/29 17:31, 20F
發現文泉驛的字體支援的字更多,感謝樓上提供搜尋方法 只是他的字體實在不太好看 囧 ※ 編輯: Peruheru (220.134.18.8), 10/31/2014 16:14:09

10/31 18:03, , 21F
要小心 文泉驛有些字採用大陸寫法
10/31 18:03, 21F

10/31 18:04, , 22F
譬如 別、吳、骨、角、過、這、草、放
10/31 18:04, 22F

10/31 19:05, , 23F
文泉驛正黑的2F9D0 右下角不是 ㄍ
10/31 19:05, 23F

10/31 19:27, , 24F
NotoSans CJK 要注意一下 locale
10/31 19:27, 24F

10/31 19:28, , 25F
不同 locale 字會長不一樣
10/31 19:28, 25F
文章代碼(AID): #1KJpZTH4 (Programming)