mirror of
https://github.com/xiaoqidun/ofdgo.git
synced 2026-10-29 14:31:12 +08:00
1 parent
078b67ccf0
commit
8dfd610cd5
1 file changed
+7
-6
@@ -1355,16 +1355,17 @@ func adobeGB1CIDToUnicode(cid int) (rune, bool) {
|
||||
if row < 16 || row > 87 || cell < 1 || cell > 94 {
|
||||
return 0, false
|
||||
}
|
||||
gbk := []byte{byte(row + 0xA0), byte(cell + 0xA0)}
|
||||
decoded, err := simplifiedchinese.GBK.NewDecoder().Bytes(gbk)
|
||||
if err != nil || len(decoded) == 0 {
|
||||
gbk := [2]byte{byte(row + 0xA0), byte(cell + 0xA0)}
|
||||
var decoded [2 * utf8.UTFMax]byte
|
||||
nDst, nSrc, err := simplifiedchinese.GBK.NewDecoder().Transform(decoded[:], gbk[:], true)
|
||||
if err != nil || nDst == 0 || nSrc != len(gbk) {
|
||||
return 0, false
|
||||
}
|
||||
rs := []rune(string(decoded))
|
||||
if len(rs) != 1 {
|
||||
r, size := utf8.DecodeRune(decoded[:nDst])
|
||||
if size != nDst {
|
||||
return 0, false
|
||||
}
|
||||
return rs[0], true
|
||||
return r, true
|
||||
}
|
||||
|
||||
// getUnicodeFromName 根据字形名称获取对应的Unicode字符
|
||||
|
||||
Reference in new issue
Block a user