fixed: encoding problem with vertical characters.
parent
e927bd307e
commit
8a70a9f657
|
@ -47,6 +47,7 @@ class CMapConverter(object):
|
|||
if not line: continue
|
||||
values = line.split('\t')
|
||||
if encs is None:
|
||||
assert values[0] == 'CID'
|
||||
encs = values
|
||||
continue
|
||||
|
||||
|
@ -84,16 +85,12 @@ class CMapConverter(object):
|
|||
(c,_) = chars[0]
|
||||
return c
|
||||
|
||||
cid = None
|
||||
cid = int(values[0])
|
||||
unimap_h = {}
|
||||
unimap_v = {}
|
||||
for (enc,value) in zip(encs, values):
|
||||
if enc == 'CID':
|
||||
cid = int(value)
|
||||
continue
|
||||
assert cid is not None
|
||||
if value == '*':
|
||||
continue
|
||||
if enc == 'CID': continue
|
||||
if value == '*': continue
|
||||
|
||||
# hcodes, vcodes: encoded bytes for each writing mode.
|
||||
hcodes = []
|
||||
|
@ -128,7 +125,9 @@ class CMapConverter(object):
|
|||
# Determine the "most popular" candidate.
|
||||
if unimap_h:
|
||||
self.cid2unichr_h[cid] = pick(unimap_h)
|
||||
if unimap_v or unimap_h:
|
||||
self.cid2unichr_v[cid] = pick(unimap_v or unimap_h)
|
||||
|
||||
return
|
||||
|
||||
def dump_cmap(self, fp, enc):
|
||||
|
|
Loading…
Reference in New Issue