X-Git-Url: http://git.tdb.fi/?p=libs%2Fcore.git;a=blobdiff_plain;f=jis.py;fp=jis.py;h=d28cd8094f51b6e28d7233777e8269a36dff560e;hp=0000000000000000000000000000000000000000;hb=58384e355b4a78730d69243f1092e47591f2f384;hpb=b101019451f8df95f1f31065d163b2a07ee73a3e diff --git a/jis.py b/jis.py new file mode 100755 index 0000000..d28cd80 --- /dev/null +++ b/jis.py @@ -0,0 +1,48 @@ +#!/usr/bin/python + +import sys +import os + +in_fn=sys.argv[1] +out_fn=os.path.splitext(in_fn)[0]+".table" + +data=[] +for line in file(in_fn): + line=line.strip() + if line[0]=='#': + continue + parts=line.split(None, 3) + code=eval(parts[1]) + code2=((code&0xFF)-0x21)+(((code>>8)&0xFF)-0x21)*94 + data.append((code, eval(parts[2]), code2)) + +out=file(out_fn, "w") +out.write("namespace {\n\n") + +out.write("const unsigned short jisx0208_to_ucs_table[94*94] =\n{\n\t") +i=0 +for code in xrange(94*94): + if code>0: + out.write(", ") + if (code%94%12)==0 or (code%94)==0: + out.write("\n\t") + if i0: + out.write(", ") + if (i%6)==0: + out.write("\n\t") + out.write("{ 0x%04X, 0x%04X }"%(data[i][1], data[i][0])) +out.write("\n};\n\n") + +out.write("unsigned ucs_to_jisx0208_table_size=%d;\n\n"%len(data)) + +out.write("}\n")