import sys
import os
-in_fn=sys.argv[1]
-out_fn=os.path.splitext(in_fn)[0]+".table"
+in_fn = sys.argv[1]
+out_fn = os.path.splitext(in_fn)[0]+".table"
-data=[]
+data = []
for line in file(in_fn):
- line=line.strip()
+ line = line.strip()
if line[0]=='#':
continue
- parts=line.split(None, 3)
- code=eval(parts[1])-0x2020
- code2=(code&0xFF)+((code>>8)&0xFF)*94-95
+ parts = line.split(None, 3)
+ code = eval(parts[1])-0x2020
+ code2 = (code&0xFF)+((code>>8)&0xFF)*94-95
data.append((code, eval(parts[2]), code2))
-out=file(out_fn, "w")
+out = file(out_fn, "w")
out.write("namespace {\n\n")
data.sort(lambda x,y: cmp(x[0],y[0]))
out.write("const unsigned short jisx0208_to_ucs_table[94*94] =\n{\n\t")
-i=0
+i = 0
for code in xrange(94*94):
if code>0:
out.write(", ")
out.write("\n\t")
if i<len(data) and data[i][2]==code:
out.write("0x%04X"%data[i][1])
- i+=1
+ i += 1
else:
out.write("0 ")
out.write("\n};\n\n")