1# Purpose: codepage handling 2# Created: 21.07.2012, taken from my ezdxf project 3# Copyright (C) 2012, Manfred Moitzi 4# License: MIT License 5from __future__ import unicode_literals 6__author__ = "mozman <mozman@gmx.at>" 7 8codepages = { 9 '874': 'cp874', # Thai, 10 '932': 'cp932', # Japanese 11 '936': 'gbk', # UnifiedChinese 12 '949': 'cp949', # Korean 13 '950': 'cp950', # TradChinese 14 '1250': 'cp1250', # CentralEurope 15 '1251': 'cp1251', # Cyrillic 16 '1252': 'cp1252', # WesternEurope 17 '1253': 'cp1253', # Greek 18 '1254': 'cp1254', # Turkish 19 '1255': 'cp1255', # Hebrew 20 '1256': 'cp1256', # Arabic 21 '1257': 'cp1257', # Baltic 22 '1258': 'cp1258', # Vietnam 23} 24 25 26def toencoding(dxfcodepage): 27 for codepage, encoding in codepages.items(): 28 if dxfcodepage.endswith(codepage): 29 return encoding 30 return 'cp1252' 31 32 33def tocodepage(encoding): 34 for codepage, enc in codepages.items(): 35 if enc == encoding: 36 return 'ANSI_'+codepage 37 return 'ANSI_1252' 38