[KoCo-CVS] [Commit] cjkcodecs/tools genmap_japanese.py
Brought to you by:
perky
From: Hye-Shik C. <pe...@us...> - 2003-05-14 08:15:26
|
perky 03/05/14 01:15:22 Modified: tools genmap_japanese.py Log: - Allocate new memory block if needed. - Block falling through to shiftjis for some characters. Revision Changes Path 1.3 +8 -3 cjkcodecs/tools/genmap_japanese.py Index: genmap_japanese.py =================================================================== RCS file: /cvsroot/koco/cjkcodecs/tools/genmap_japanese.py,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- genmap_japanese.py 22 Apr 2003 21:04:36 -0000 1.2 +++ genmap_japanese.py 14 May 2003 08:15:22 -0000 1.3 @@ -26,7 +26,7 @@ # IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE # POSSIBILITY OF SUCH DAMAGE. # -# $Id: genmap_japanese.py,v 1.2 2003/04/22 21:04:36 perky Exp $ +# $Id: genmap_japanese.py,v 1.3 2003/05/14 08:15:22 perky Exp $ # from genmap_support import * @@ -118,9 +118,14 @@ print "Generating CP932 Tweaks..." if difmap: print >> omap, "#define CP932_TWEAKUNIMAP(umap)", + checked = {} for uni in difmap: - print >> omap, "\\" - print >> omap, "\t(umap)[0x%02x][0x%02x] = NOCHAR;" % ( + if not checked.has_key(uni >> 8): + print >> omap, "\\\n\tif ((umap)[0x%02x] == NULL) " \ + "(umap)[0x%02x] = PyMem_Malloc(sizeof(DBCHAR) * 256);" % ( + uni >> 8, uni >> 8), + checked[uni >> 8] = True + print >> omap, "\\\n\t(umap)[0x%02x][0x%02x] = DBCINV;" % ( uni >> 8, uni & 0xFF), print >> omap |