Created
July 15, 2016 20:17
-
-
Save SonOfLilit/2a144d525b32978fd3ae1adddd27d621 to your computer and use it in GitHub Desktop.
Extract a gcgid2unicode conversion table from IBM's cdctables.zip
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
AA010000 | 0625 | |
---|---|---|
AA010002 | FE88 | |
AA010006 | F8FB | |
AA010009 | 0627 | |
AA020000 | 0649 | |
AA020002 | FEF0 | |
AA020009 | 0649 | |
AA050000 | 064E | |
AA050004 | FE77 | |
AA050009 | 064E | |
AA070000 | 064B | |
AA070004 | FE71 | |
AA070009 | 064B | |
AA210000 | 0622 | |
AA210002 | FE82 | |
AA210006 | F8FA | |
AA210009 | 0622 | |
AA310000 | 0623 | |
AA310002 | FE84 | |
AA310006 | F8F9 | |
AA310009 | 0623 | |
AA310400 | 0625 | |
AA310402 | FE88 | |
AA310409 | 0625 | |
AB010000 | 0628 | |
AB010003 | FE91 | |
AB010009 | 0628 | |
AC210000 | FB7A | |
AC210003 | FB7C | |
AC210009 | 0686 | |
AC470000 | 0639 | |
AC470002 | FECA | |
AC470003 | FECB | |
AC470004 | FECC | |
AC470009 | 0639 | |
AD010000 | 062F | |
AD010009 | 062F | |
AD030000 | FB88 | |
AD030009 | 0688 | |
AD450000 | 0636 | |
AD450003 | FEBF | |
AD450006 | 0636 | |
AD450009 | 0636 | |
AD470000 | 0630 | |
AD470009 | 0630 | |
AE050000 | 0652 | |
AE050004 | FE7F | |
AE050009 | 0652 | |
AF010000 | 0641 | |
AF010003 | FED3 | |
AF010009 | 0641 | |
AG010000 | FB92 | |
AG010003 | FB94 | |
AG010009 | 06AF | |
AG230000 | 062C | |
AG230003 | FE9F | |
AG230009 | 062C | |
AG310000 | 063A | |
AG310002 | FECE | |
AG310003 | FECF | |
AG310004 | FED0 | |
AG310009 | 063A | |
AH010000 | 0647 | |
AH010003 | FEEB | |
AH010004 | FEEC | |
AH010009 | 0647 | |
AH020000 | FBA6 | |
AH020003 | FBA8 | |
AH020004 | FBA9 | |
AH020009 | 06C1 | |
AH030000 | FBAA | |
AH030009 | 06BE | |
AH210000 | FBA4 | |
AH450000 | 062D | |
AH450003 | FEA3 | |
AH450009 | 062D | |
AH470000 | 062E | |
AH470003 | FEA7 | |
AH470009 | 062E | |
AI050000 | 0650 | |
AI050004 | FE7B | |
AI050009 | 0650 | |
AI070000 | 064D | |
AI070009 | 064D | |
AK010000 | 0643 | |
AK010003 | FEDB | |
AK010006 | FB8E | |
AK010009 | 0643 | |
AK020009 | 06A9 | |
AL010000 | 0644 | |
AL010003 | FEDF | |
AL010004 | FEE0 | |
AL010006 | FEDF | |
AL010009 | 0644 | |
AL020000 | FEF9 | |
AL020003 | FEFA | |
AL220000 | FEF5 | |
AL220003 | FEF6 | |
AL320000 | FEF7 | |
AL320003 | FEF8 | |
AL320400 | FEF9 | |
AL320402 | FEFA | |
AM010000 | 0645 | |
AM010003 | FEE3 | |
AM010009 | 0645 | |
AN010000 | 0646 | |
AN010003 | FEE7 | |
AN010009 | 0646 | |
AN020000 | FB9E | |
AN020009 | 06BA | |
AP010000 | FB56 | |
AP010003 | FB58 | |
AP010009 | 067E | |
AQ010000 | 0642 | |
AQ010003 | FED7 | |
AQ010009 | 0642 | |
AR010000 | 0631 | |
AR010009 | 0631 | |
AR030000 | FB8C | |
AR030009 | 0691 | |
AS010000 | 0633 | |
AS010003 | FEB3 | |
AS010006 | 0633 | |
AS010009 | 0633 | |
AS230000 | 0634 | |
AS230003 | FEB7 | |
AS230006 | 0634 | |
AS230009 | 0634 | |
AS450000 | 0635 | |
AS450003 | FEBB | |
AS450006 | 0635 | |
AS450009 | 0635 | |
AT010000 | 062A | |
AT010003 | FE97 | |
AT010009 | 062A | |
AT020000 | 0629 | |
AT020009 | 0629 | |
AT030000 | FB66 | |
AT030003 | FB68 | |
AT030009 | 0679 | |
AT450000 | 0637 | |
AT450001 | FEC1 | |
AT450002 | FEC3 | |
AT450009 | 0637 | |
AT470000 | 062B | |
AT470003 | FE9B | |
AT470009 | 062B | |
AU050000 | 064F | |
AU050004 | FE79 | |
AU050009 | 064F | |
AU070000 | 064C | |
AU070009 | 064C | |
AW010000 | 0648 | |
AW010009 | 0648 | |
AW310000 | 0624 | |
AW310009 | 0624 | |
AX100000 | 0651 | |
AX100004 | FE7D | |
AX100009 | 0651 | |
AX300000 | 0621 | |
AX300009 | 0621 | |
AY010000 | 064A | |
AY010002 | FEF2 | |
AY010003 | FEF3 | |
AY010009 | 064A | |
AY020000 | FBFC | |
AY020002 | FBFD | |
AY020003 | FBFE | |
AY040000 | FBAE | |
AY040009 | 06D2 | |
AY310000 | 0626 | |
AY310002 | FE8A | |
AY310006 | 0626 | |
AY310009 | 0626 | |
AY320000 | FE89 | |
AY320002 | FE8A | |
AY320003 | FE8B | |
AY340000 | FBB0 | |
AZ010000 | 0632 | |
AZ010009 | 0632 | |
AZ210000 | FB8A | |
AZ210009 | 0698 | |
AZ450000 | 0638 | |
AZ450001 | FEC5 | |
AZ450002 | FEC7 | |
AZ450009 | 0638 | |
BA100000 | 0E31 | |
BA200000 | 0E30 | |
BA300000 | 0E32 | |
BA400000 | 0E33 | |
BA500000 | 0E43 | |
BA600000 | 0E44 | |
BA700000 | 0E45 | |
BB100000 | 0E1A | |
BC100000 | 0E08 | |
BD100000 | 0E0E | |
BD200000 | 0E14 | |
BE100000 | 0E47 | |
BE200000 | 0E40 | |
BE300000 | 0E41 | |
BE400000 | 0E4E | |
BF100000 | 0E1D | |
BF200000 | 0E1F | |
BH100000 | 0E2B | |
BH200000 | 0E2E | |
BI100000 | 0E34 | |
BI200000 | 0E35 | |
BK100000 | 0E01 | |
BK200000 | 0E02 | |
BK300000 | 0E03 | |
BK400000 | 0E04 | |
BK500000 | 0E05 | |
BK600000 | 0E06 | |
BL100000 | 0E25 | |
BL200000 | 0E26 | |
BL300000 | 0E2C | |
BM100000 | 0E21 | |
BN100000 | 0E07 | |
BN200000 | 0E13 | |
BN300000 | 0E19 | |
BN400000 | 0E4D | |
BO100000 | 0E2D | |
BO200000 | 0E42 | |
BP100000 | 0E1B | |
BP200000 | 0E1C | |
BP300000 | 0E1E | |
BP400000 | 0E20 | |
BQ100000 | 0E46 | |
BQ200000 | 0E2F | |
BQ300000 | 0E3A | |
BQ400000 | 0E4F | |
BQ500000 | 0E5A | |
BQ600000 | 0E5B | |
BR100000 | 0E23 | |
BR200000 | 0E24 | |
BS100000 | 0E0A | |
BS200000 | 0E28 | |
BS300000 | 0E29 | |
BS400000 | 0E2A | |
BT100000 | 0E0F | |
BT200000 | 0E10 | |
BT300000 | 0E11 | |
BT400000 | 0E12 | |
BT500000 | 0E15 | |
BT600000 | 0E16 | |
BT700000 | 0E17 | |
BT800000 | 0E18 | |
BU100000 | 0E36 | |
BU200000 | 0E37 | |
BU300000 | 0E38 | |
BU400000 | 0E39 | |
BW100000 | 0E27 | |
BX100000 | 0E09 | |
BX200000 | 0E0B | |
BX300000 | 0E0C | |
BY100000 | 0E0D | |
BY200000 | 0E22 | |
BZ100000 | 0E48 | |
BZ200000 | 0E49 | |
BZ300000 | 0E4A | |
BZ400000 | 0E4B | |
BZ500000 | 0E4C | |
GA010000 | 03B1 | |
GA020000 | 0391 | |
GA110000 | 03AC | |
GA120000 | 0386 | |
GB010000 | 03B2 | |
GB020000 | 0392 | |
GD010000 | 03B4 | |
GD020000 | 0394 | |
GE010000 | 03B5 | |
GE020000 | 0395 | |
GE110000 | 03AD | |
GE120000 | 0388 | |
GE310000 | 03B7 | |
GE320000 | 0397 | |
GE710000 | 03AE | |
GE720000 | 0389 | |
GF010000 | 03C6 | |
GF010001 | 03C6 | |
GF020000 | 03A6 | |
GG010000 | 03B3 | |
GG020000 | 0393 | |
GH010000 | 03C7 | |
GH020000 | 03A7 | |
GI010000 | 03B9 | |
GI020000 | 0399 | |
GI110000 | 03AF | |
GI120000 | 038A | |
GI170000 | 03CA | |
GI180000 | 03AA | |
GI730000 | 0390 | |
GK010000 | 03BA | |
GK020000 | 039A | |
GL010000 | 03BB | |
GL020000 | 039B | |
GM010000 | 03BC | |
GM020000 | 039C | |
GN010000 | 03BD | |
GN020000 | 039D | |
GO010000 | 03BF | |
GO020000 | 039F | |
GO110000 | 03CC | |
GO120000 | 038C | |
GO310000 | 03C9 | |
GO320000 | 03A9 | |
GO710000 | 03CE | |
GO720000 | 038F | |
GP010000 | 03C0 | |
GP011000 | F8F3 | |
GP020000 | 03A0 | |
GP610000 | 03C8 | |
GP620000 | 03A8 | |
GR010000 | 03C1 | |
GR020000 | 03A1 | |
GS010000 | 03C3 | |
GS020000 | 03A3 | |
GS610000 | 03C2 | |
GT010000 | 03C4 | |
GT020000 | 03A4 | |
GT610000 | 03B8 | |
GT620000 | 0398 | |
GT630000 | 03D1 | |
GU010000 | 03C5 | |
GU020000 | 03A5 | |
GU110000 | 03CD | |
GU120000 | 038E | |
GU170000 | 03CB | |
GU180000 | 03AB | |
GU730000 | 03B0 | |
GX010000 | 03BE | |
GX020000 | 039E | |
GZ010000 | 03B6 | |
GZ020000 | 0396 | |
HB010000 | 05D1 | |
HD010000 | 05D3 | |
HG010000 | 05D2 | |
HH010000 | 05D4 | |
HH450000 | 05D7 | |
HK010000 | 05DB | |
HK610000 | 05DA | |
HL010000 | 05DC | |
HM010000 | 05DE | |
HM610000 | 05DD | |
HN010000 | 05E0 | |
HN610000 | 05DF | |
HP010000 | 05E4 | |
HP610000 | 05E3 | |
HQ010000 | 05E7 | |
HR010000 | 05E8 | |
HS010000 | 05E1 | |
HS210000 | 05E9 | |
HS450000 | 05E6 | |
HS610000 | 05E5 | |
HT010000 | 05EA | |
HT450000 | 05D8 | |
HW010000 | 05D5 | |
HW610000 | 05F0 | |
HW630000 | 05F1 | |
HX330000 | 05D0 | |
HX350000 | 05E2 | |
HY010000 | 05D9 | |
HY610000 | 05F2 | |
HZ010000 | 05D6 | |
JA000000 | FF71 | |
JA010000 | FF67 | |
JE000000 | FF74 | |
JE010000 | FF6A | |
JH100000 | FF8A | |
JH200000 | FF8B | |
JH300000 | FF8C | |
JH400000 | FF8D | |
JH500000 | FF8E | |
JI000000 | FF72 | |
JI010000 | FF68 | |
JK100000 | FF76 | |
JK200000 | FF77 | |
JK300000 | FF78 | |
JK400000 | FF79 | |
JK500000 | FF7A | |
JM100000 | FF8F | |
JM200000 | FF90 | |
JM300000 | FF91 | |
JM400000 | FF92 | |
JM500000 | FF93 | |
JN000000 | FF9D | |
JN100000 | FF85 | |
JN200000 | FF86 | |
JN300000 | FF87 | |
JN400000 | FF88 | |
JN500000 | FF89 | |
JO000000 | FF75 | |
JO010000 | FF6B | |
JQ700000 | FF61 | |
JQ710000 | FF62 | |
JQ720000 | FF63 | |
JQ730000 | FF64 | |
JQ740000 | FF65 | |
JR100000 | FF97 | |
JR200000 | FF98 | |
JR300000 | FF99 | |
JR400000 | FF9A | |
JR500000 | FF9B | |
JS100000 | FF7B | |
JS200000 | FF7C | |
JS300000 | FF7D | |
JS400000 | FF7E | |
JS500000 | FF7F | |
JT100000 | FF80 | |
JT200000 | FF81 | |
JT300000 | FF82 | |
JT310000 | FF6F | |
JT400000 | FF83 | |
JT500000 | FF84 | |
JU000000 | FF73 | |
JU010000 | FF69 | |
JW100000 | FF9C | |
JW500000 | FF66 | |
JX700000 | FF70 | |
JX710000 | FF9E | |
JX720000 | FF9F | |
JY100000 | FF94 | |
JY110000 | FF6C | |
JY300000 | FF95 | |
JY310000 | FF6D | |
JY500000 | FF96 | |
JY510000 | FF6E | |
KA010000 | 0430 | |
KA020000 | 0410 | |
KA150000 | 044F | |
KA160000 | 042F | |
KB010000 | 0431 | |
KB020000 | 0411 | |
KC010000 | 0446 | |
KC020000 | 0426 | |
KC110000 | 045B | |
KC120000 | 040B | |
KC210000 | 0447 | |
KC220000 | 0427 | |
KD010000 | 0434 | |
KD020000 | 0414 | |
KD610000 | 0452 | |
KD620000 | 0402 | |
KE010000 | 0435 | |
KE020000 | 0415 | |
KE130000 | 044D | |
KE140000 | 042D | |
KE150000 | 0454 | |
KE160000 | 0404 | |
KE170000 | 0451 | |
KE180000 | 0401 | |
KE670000 | 04D9 | |
KE680000 | 04D8 | |
KF010000 | 0444 | |
KF020000 | 0424 | |
KG010000 | 0433 | |
KG020000 | 0413 | |
KG110000 | 0453 | |
KG120000 | 0403 | |
KG210000 | 045F | |
KG220000 | 040F | |
KG290000 | 0491 | |
KG300000 | 0490 | |
KG610000 | 0493 | |
KG620000 | 0492 | |
KH010000 | 0445 | |
KH020000 | 0425 | |
KH630000 | 04BB | |
KH640000 | 04BA | |
KI010000 | 0438 | |
KI020000 | 0418 | |
KI110000 | 0456 | |
KI120000 | 0406 | |
KI170000 | 0457 | |
KI180000 | 0407 | |
KJ010000 | 0458 | |
KJ020000 | 0408 | |
KJ110000 | 0439 | |
KJ120000 | 0419 | |
KK010000 | 043A | |
KK020000 | 041A | |
KK110000 | 045C | |
KK120000 | 040C | |
KK450000 | 049B | |
KK460000 | 049A | |
KL010000 | 043B | |
KL020000 | 041B | |
KL410000 | 0459 | |
KL420000 | 0409 | |
KM010000 | 043C | |
KM020000 | 041C | |
KN010000 | 043D | |
KN020000 | 041D | |
KN110000 | 045A | |
KN120000 | 040A | |
KN450000 | 04A3 | |
KN460000 | 04A2 | |
KO010000 | 043E | |
KO020000 | 041E | |
KO670000 | 04E9 | |
KO680000 | 04E8 | |
KP010000 | 043F | |
KP020000 | 041F | |
KR010000 | 0440 | |
KR020000 | 0420 | |
KS010000 | 0441 | |
KS020000 | 0421 | |
KS150000 | 0449 | |
KS160000 | 0429 | |
KS210000 | 0448 | |
KS220000 | 0428 | |
KT010000 | 0442 | |
KT020000 | 0422 | |
KU010000 | 0443 | |
KU020000 | 0423 | |
KU150000 | 044E | |
KU160000 | 042E | |
KU210000 | 044A | |
KU220000 | 042A | |
KU230000 | 045E | |
KU240000 | 040E | |
KU670000 | 04AF | |
KU680000 | 04AE | |
KU690000 | 04B1 | |
KU700000 | 04B0 | |
KV010000 | 0432 | |
KV020000 | 0412 | |
KX110000 | 044C | |
KX120000 | 042C | |
KY010000 | 044B | |
KY020000 | 042B | |
KZ010000 | 0437 | |
KZ020000 | 0417 | |
KZ150000 | 0455 | |
KZ160000 | 0405 | |
KZ210000 | 0436 | |
KZ220000 | 0416 | |
LA010000 | 0061 | |
LA020000 | 0041 | |
LA110000 | 00E1 | |
LA120000 | 00C1 | |
LA130000 | 00E0 | |
LA140000 | 00C0 | |
LA150000 | 00E2 | |
LA160000 | 00C2 | |
LA170000 | 00E4 | |
LA180000 | 00C4 | |
LA190000 | 00E3 | |
LA200000 | 00C3 | |
LA230000 | 0103 | |
LA240000 | 0102 | |
LA270000 | 00E5 | |
LA280000 | 00C5 | |
LA310000 | 0101 | |
LA320000 | 0100 | |
LA430000 | 0105 | |
LA440000 | 0104 | |
LA480000 | F8F1 | |
LA510000 | 00E6 | |
LA520000 | 00C6 | |
LB010000 | 0062 | |
LB020000 | 0042 | |
LB480000 | F8EF | |
LC010000 | 0063 | |
LC020000 | 0043 | |
LC110000 | 0107 | |
LC120000 | 0106 | |
LC150000 | 0109 | |
LC160000 | 0108 | |
LC210000 | 010D | |
LC220000 | 010C | |
LC290000 | 010B | |
LC300000 | 010A | |
LC410000 | 00E7 | |
LC420000 | 00C7 | |
LC480000 | F8ED | |
LD010000 | 0064 | |
LD020000 | 0044 | |
LD210000 | 010F | |
LD220000 | 010E | |
LD480000 | F8EB | |
LD600000 | 0110 | |
LD610000 | 0111 | |
LD620000 | 00D0 | |
LD630000 | 00F0 | |
LD640000 | 00D0 | |
LE010000 | 0065 | |
LE020000 | 0045 | |
LE110000 | 00E9 | |
LE120000 | 00C9 | |
LE130000 | 00E8 | |
LE140000 | 00C8 | |
LE150000 | 00EA | |
LE160000 | 00CA | |
LE170000 | 00EB | |
LE180000 | 00CB | |
LE210000 | 011B | |
LE220000 | 011A | |
LE290000 | 0117 | |
LE300000 | 0116 | |
LE310000 | 0113 | |
LE320000 | 0112 | |
LE430000 | 0119 | |
LE440000 | 0118 | |
LE480000 | F8E9 | |
LF010000 | 0066 | |
LF020000 | 0046 | |
LF480000 | F8E7 | |
LF530000 | FB01 | |
LF550000 | FB02 | |
LG010000 | 0067 | |
LG020000 | 0047 | |
LG150000 | 011D | |
LG160000 | 011C | |
LG230000 | 011F | |
LG240000 | 011E | |
LG290000 | 0121 | |
LG300000 | 0120 | |
LG410000 | 0123 | |
LG420000 | 0122 | |
LG480000 | F8E5 | |
LH010000 | 0068 | |
LH020000 | 0048 | |
LH150000 | 0125 | |
LH160000 | 0124 | |
LH480000 | F8E3 | |
LH610000 | 0127 | |
LH620000 | 0126 | |
LI010000 | 0069 | |
LI020000 | 0049 | |
LI110000 | 00ED | |
LI120000 | 00CD | |
LI130000 | 00EC | |
LI140000 | 00CC | |
LI150000 | 00EE | |
LI160000 | 00CE | |
LI170000 | 00EF | |
LI180000 | 00CF | |
LI190000 | 0129 | |
LI200000 | 0128 | |
LI300000 | 0130 | |
LI310000 | 012B | |
LI320000 | 012A | |
LI430000 | 012F | |
LI440000 | 012E | |
LI480000 | F8E1 | |
LI510000 | 0133 | |
LI610000 | 0131 | |
LJ010000 | 006A | |
LJ020000 | 004A | |
LJ150000 | 0135 | |
LJ160000 | 0134 | |
LJ480000 | F8DF | |
LK010000 | 006B | |
LK020000 | 004B | |
LK410000 | 0137 | |
LK420000 | 0136 | |
LK480000 | F8DD | |
LK610000 | 0138 | |
LL010000 | 006C | |
LL020000 | 004C | |
LL110000 | 013A | |
LL120000 | 0139 | |
LL210000 | 013E | |
LL220000 | 013D | |
LL410000 | 013C | |
LL420000 | 013B | |
LL480000 | F8DB | |
LL610000 | 0142 | |
LL620000 | 0141 | |
LM010000 | 006D | |
LM020000 | 004D | |
LM480000 | F8D9 | |
LN010000 | 006E | |
LN011000 | 207F | |
LN020000 | 004E | |
LN110000 | 0144 | |
LN120000 | 0143 | |
LN190000 | 00F1 | |
LN200000 | 00D1 | |
LN210000 | 0148 | |
LN220000 | 0147 | |
LN410000 | 0146 | |
LN420000 | 0145 | |
LN480000 | F8D7 | |
LN610000 | 014B | |
LN620000 | 014A | |
LO010000 | 006F | |
LO020000 | 004F | |
LO110000 | 00F3 | |
LO120000 | 00D3 | |
LO130000 | 00F2 | |
LO140000 | 00D2 | |
LO150000 | 00F4 | |
LO160000 | 00D4 | |
LO170000 | 00F6 | |
LO180000 | 00D6 | |
LO190000 | 00F5 | |
LO200000 | 00D5 | |
LO250000 | 0151 | |
LO260000 | 0150 | |
LO310000 | 014D | |
LO320000 | 014C | |
LO480000 | F8D5 | |
LO510000 | 0153 | |
LO520000 | 0152 | |
LO610000 | 00F8 | |
LO620000 | 00D8 | |
LO910000 | 01A1 | |
LO920000 | 01A0 | |
LP010000 | 0070 | |
LP020000 | 0050 | |
LP480000 | F8D3 | |
LQ010000 | 0071 | |
LQ020000 | 0051 | |
LQ480000 | F8D1 | |
LR010000 | 0072 | |
LR020000 | 0052 | |
LR110000 | 0155 | |
LR120000 | 0154 | |
LR210000 | 0159 | |
LR220000 | 0158 | |
LR410000 | 0157 | |
LR420000 | 0156 | |
LR480000 | F8CF | |
LS010000 | 0073 | |
LS020000 | 0053 | |
LS110000 | 015B | |
LS120000 | 015A | |
LS150000 | 015D | |
LS160000 | 015C | |
LS210000 | 0161 | |
LS220000 | 0160 | |
LS410000 | 015F | |
LS420000 | 015E | |
LS480000 | F8CD | |
LS610000 | 00DF | |
LT010000 | 0074 | |
LT020000 | 0054 | |
LT210000 | 0165 | |
LT220000 | 0164 | |
LT410000 | 0163 | |
LT420000 | 0162 | |
LT480000 | F8CB | |
LT610000 | 0167 | |
LT620000 | 0166 | |
LT630000 | 00FE | |
LT640000 | 00DE | |
LU010000 | 0075 | |
LU020000 | 0055 | |
LU110000 | 00FA | |
LU120000 | 00DA | |
LU130000 | 00F9 | |
LU140000 | 00D9 | |
LU150000 | 00FB | |
LU160000 | 00DB | |
LU170000 | 00FC | |
LU180000 | 00DC | |
LU190000 | 0169 | |
LU200000 | 0168 | |
LU230000 | 016D | |
LU240000 | 016C | |
LU250000 | 0171 | |
LU260000 | 0170 | |
LU270000 | 016F | |
LU280000 | 016E | |
LU310000 | 016B | |
LU320000 | 016A | |
LU430000 | 0173 | |
LU440000 | 0172 | |
LU480000 | F8C9 | |
LU910000 | 01B0 | |
LU920000 | 01AF | |
LV010000 | 0076 | |
LV020000 | 0056 | |
LV480000 | F8C7 | |
LW010000 | 0077 | |
LW020000 | 0057 | |
LW480000 | F8C5 | |
LX010000 | 0078 | |
LX020000 | 0058 | |
LX480000 | F8C3 | |
LY010000 | 0079 | |
LY020000 | 0059 | |
LY110000 | 00FD | |
LY120000 | 00DD | |
LY170000 | 00FF | |
LY180000 | 0178 | |
LY480000 | F8C1 | |
LZ010000 | 007A | |
LZ020000 | 005A | |
LZ110000 | 017A | |
LZ120000 | 0179 | |
LZ210000 | 017E | |
LZ220000 | 017D | |
LZ290000 | 017C | |
LZ300000 | 017B | |
LZ480000 | F8BF | |
ND010000 | 0031 | |
ND010001 | 0661 | |
ND010002 | 0E51 | |
ND011000 | 00B9 | |
ND012000 | 2081 | |
ND020000 | 0032 | |
ND020001 | 0662 | |
ND020002 | 0E52 | |
ND021000 | 00B2 | |
ND022000 | 2082 | |
ND030000 | 0033 | |
ND030001 | 0663 | |
ND030002 | 0E53 | |
ND031000 | 00B3 | |
ND032000 | 2083 | |
ND040000 | 0034 | |
ND040001 | 0664 | |
ND040002 | 0E54 | |
ND040003 | 0664 | |
ND040004 | 0664 | |
ND041000 | 2074 | |
ND042000 | 2084 | |
ND050000 | 0035 | |
ND050001 | 0665 | |
ND050002 | 0E55 | |
ND050004 | 0665 | |
ND051000 | 2075 | |
ND052000 | 2085 | |
ND060000 | 0036 | |
ND060001 | 0666 | |
ND060002 | 0E56 | |
ND060003 | 0666 | |
ND061000 | 2076 | |
ND062000 | 2086 | |
ND070000 | 0037 | |
ND070001 | 0667 | |
ND070002 | 0E57 | |
ND070004 | 06F7 | |
ND071000 | 2077 | |
ND072000 | 2087 | |
ND080000 | 0038 | |
ND080001 | 0668 | |
ND080002 | 0E58 | |
ND081000 | 2078 | |
ND082000 | 2088 | |
ND090000 | 0039 | |
ND090001 | 0669 | |
ND090002 | 0E59 | |
ND091000 | 2079 | |
ND092000 | 2089 | |
ND100000 | 0030 | |
ND100001 | 0660 | |
ND100002 | 0E50 | |
ND100003 | 0660 | |
ND100008 | F8B3 | |
ND101000 | 2070 | |
ND102000 | 2080 | |
NF010000 | 00BD | |
NF040000 | 00BC | |
NF050000 | 00BE | |
NF180000 | 215B | |
NF190000 | 215C | |
NF200000 | 215D | |
NF210000 | 215E | |
OA000000 | FFC2 | |
OA200000 | FFC3 | |
OB000000 | FFB2 | |
OB100000 | FFB3 | |
OB200000 | FFB4 | |
OC200000 | FFBA | |
OD000000 | FFA7 | |
OD100000 | FFA8 | |
OE000000 | FFC7 | |
OE200000 | FFC6 | |
OE300000 | FFDA | |
OE400000 | FFDB | |
OG000000 | FFA1 | |
OG100000 | FFA2 | |
OG200000 | FFA3 | |
OH000000 | FFBE | |
OI000000 | FFDC | |
OJ000000 | FFB8 | |
OJ100000 | FFB9 | |
OK000000 | FFBB | |
OL000000 | FFA9 | |
OL100000 | FFAC | |
OL200000 | FFAA | |
OL300000 | FFB0 | |
OL400000 | FFAB | |
OL500000 | FFAF | |
OL600000 | FFAD | |
OL700000 | FFAE | |
OM000000 | FFB1 | |
ON000000 | FFA4 | |
ON100000 | FFA6 | |
ON150000 | FFA5 | |
ON200000 | FFB7 | |
OO000000 | FFCC | |
OO100000 | FFCD | |
OO200000 | FFCE | |
OO300000 | FFCF | |
OP000000 | FFBD | |
OS000000 | FFB5 | |
OS100000 | FFB6 | |
OT000000 | FFBC | |
OU000000 | FFD3 | |
OU200000 | FFD5 | |
OU300000 | FFD4 | |
OU400000 | FFD6 | |
OY200000 | FFC4 | |
OY250000 | FFC5 | |
OY300000 | FFCB | |
OY400000 | FFCA | |
OY500000 | FFD2 | |
OY600000 | FFD7 | |
SA010000 | 002B | |
SA011000 | 207A | |
SA020000 | 00B1 | |
SA030000 | 003C | |
SA040000 | 003D | |
SA041000 | 207C | |
SA050000 | 003E | |
SA060000 | 00F7 | |
SA070000 | 00D7 | |
SA160000 | 223C | |
SA170000 | 2213 | |
SA180000 | 2329 | |
SA181000 | FE64 | |
SA190000 | 232A | |
SA191000 | FE65 | |
SA300000 | 223F | |
SA320000 | 22C1 | |
SA330000 | 22C0 | |
SA340000 | 2225 | |
SA350000 | 2220 | |
SA360000 | 2209 | |
SA370000 | 2234 | |
SA380000 | 2229 | |
SA390000 | 222A | |
SA400000 | 2282 | |
SA410000 | 2283 | |
SA420000 | 221F | |
SA430000 | 2245 | |
SA440000 | 2243 | |
SA450000 | 221E | |
SA451000 | F8AF | |
SA470000 | 221D | |
SA480000 | 2261 | |
SA490000 | 2202 | |
SA510000 | 222B | |
SA520000 | 2264 | |
SA530000 | 2265 | |
SA540000 | 2260 | |
SA550000 | 2295 | |
SA560000 | 2297 | |
SA700000 | 2248 | |
SA780000 | 22A5 | |
SA790000 | 2219 | |
SA800000 | 221A | |
SA810000 | 220F | |
SC010000 | 00A4 | |
SC020000 | 00A3 | |
SC030000 | 0024 | |
SC040000 | 00A2 | |
SC050000 | 00A5 | |
SC060000 | 20A7 | |
SC070000 | 0192 | |
SC120000 | 00A5 | |
SC130000 | 0E3F | |
SC140000 | 20A9 | |
SC150000 | 00A2 | |
SC160000 | 00A4 | |
SC170000 | 20AA | |
SC180000 | 20AB | |
SC190000 | 20AD | |
SC200000 | 20AC | |
SD110000 | 00B4 | |
SD110100 | 00B4 | |
SD110900 | 0384 | |
SD118000 | 0301 | |
SD130000 | 0060 | |
SD138000 | 0300 | |
SD150000 | 005E | |
SD150100 | 02C6 | |
SD170000 | 00A8 | |
SD170100 | 00A8 | |
SD190000 | 007E | |
SD190100 | 02DC | |
SD198000 | 0303 | |
SD210000 | 02C7 | |
SD230000 | 02D8 | |
SD250000 | 02DD | |
SD270000 | 02DA | |
SD270200 | 02DA | |
SD290000 | 02D9 | |
SD310000 | 00AF | |
SD410000 | 00B8 | |
SD430000 | 02DB | |
SD458000 | 0323 | |
SD630000 | 00B7 | |
SD630900 | 0387 | |
SD640000 | 05BE | |
SD650000 | 05C0 | |
SD660000 | 05C3 | |
SD670000 | 05F3 | |
SD680000 | 05F4 | |
SD730000 | 0385 | |
SD808000 | 05B0 | |
SD818000 | 05B1 | |
SD828000 | 05B2 | |
SD838000 | 05B3 | |
SD848000 | 05B4 | |
SD858000 | 05B5 | |
SD868000 | 05B6 | |
SD878000 | 05B7 | |
SD888000 | 05B8 | |
SD898000 | 05B9 | |
SD918000 | 0309 | |
SD928000 | 05BB | |
SD938000 | 05BC | |
SD948000 | 05BD | |
SD958000 | 05BF | |
SD968000 | 05C1 | |
SD978000 | 05C2 | |
SF010000 | 250C | |
SF020000 | 2514 | |
SF030000 | 2510 | |
SF040000 | 2518 | |
SF050000 | 253C | |
SF060000 | 252C | |
SF070000 | 2534 | |
SF080000 | 251C | |
SF090000 | 2524 | |
SF100000 | 2500 | |
SF110000 | 2502 | |
SF140000 | 2591 | |
SF150000 | 2592 | |
SF160000 | 2593 | |
SF190000 | 2561 | |
SF200000 | 2562 | |
SF210000 | 2556 | |
SF220000 | 2555 | |
SF230000 | 2563 | |
SF240000 | 2551 | |
SF250000 | 2557 | |
SF260000 | 255D | |
SF270000 | 255C | |
SF280000 | 255B | |
SF360000 | 255E | |
SF370000 | 255F | |
SF380000 | 255A | |
SF390000 | 2554 | |
SF400000 | 2569 | |
SF410000 | 2566 | |
SF420000 | 2560 | |
SF430000 | 2550 | |
SF440000 | 256C | |
SF450000 | 2567 | |
SF460000 | 2568 | |
SF470000 | 2564 | |
SF480000 | 2565 | |
SF490000 | 2559 | |
SF500000 | 2558 | |
SF510000 | 2552 | |
SF520000 | 2553 | |
SF530000 | 256B | |
SF540000 | 256A | |
SF570000 | 2584 | |
SF580000 | 258C | |
SF590000 | 2590 | |
SF600000 | 2580 | |
SF610000 | 2588 | |
SL010000 | 2308 | |
SL020000 | 230A | |
SL030000 | 2207 | |
SL040000 | 236B | |
SL050000 | 2352 | |
SL060000 | 2206 | |
SL070000 | 234B | |
SL080000 | F890 | |
SL090000 | 233D | |
SL100000 | 2349 | |
SL110000 | 235F | |
SL120000 | 2296 | |
SL130000 | 235E | |
SL140000 | 2339 | |
SL150000 | 233F | |
SL160000 | 2340 | |
SL170000 | 2372 | |
SL180000 | 2371 | |
SL190000 | 234E | |
SL200000 | 2355 | |
SL210000 | 235D | |
SL220000 | 22A4 | |
SL230000 | 22A5 | |
SL240000 | 2336 | |
SL250000 | 2218 | |
SL260000 | 2337 | |
SL270000 | 233B | |
SL280000 | 2342 | |
SL300000 | 2261 | |
SL320000 | 2235 | |
SL330000 | 2359 | |
SL340000 | 22A2 | |
SL350000 | 22A3 | |
SL360000 | 25AF | |
SL370000 | 25CA | |
SL380000 | 2223 | |
SL400000 | 2229 | |
SL410000 | 222A | |
SL420000 | 2282 | |
SL430000 | 2283 | |
SL440000 | 005F | |
SL450000 | 00A8 | |
SL460000 | F88F | |
SL500000 | 2228 | |
SL510000 | 005E | |
SL520000 | 003C | |
SL530000 | 003E | |
SL540000 | 00F7 | |
SL550000 | 00D7 | |
SL560000 | 2264 | |
SL570000 | 2265 | |
SL580000 | F88E | |
SL590000 | F88D | |
SL600000 | F88C | |
SL610000 | F88B | |
SL620000 | F88A | |
SL630000 | 00AF | |
SL640000 | F889 | |
SL650000 | 002A | |
SL660000 | 0027 | |
SL670000 | 0028 | |
SL680000 | 0029 | |
SL690000 | 002D | |
SL700000 | F888 | |
SL710000 | 237A | |
SL720000 | 220A | |
SL730000 | 2373 | |
SL740000 | 2374 | |
SL750000 | 2375 | |
SL760000 | 002F | |
SL770000 | 005B | |
SL780000 | 005D | |
SL790000 | 002B | |
SL800000 | 003B | |
SL810000 | 003D | |
SL820000 | 2260 | |
SL830000 | 003A | |
SL840000 | 002E | |
SL850000 | 002C | |
SL860000 | 2378 | |
SL870000 | 2377 | |
SM000000 | 2116 | |
SM010000 | 0023 | |
SM020000 | 0025 | |
SM020007 | 066A | |
SM030000 | 0026 | |
SM040000 | 002A | |
SM040007 | 066D | |
SM050000 | 0040 | |
SM060000 | 005B | |
SM070000 | 005C | |
SM080000 | 005D | |
SM100000 | 2017 | |
SM110000 | 007B | |
SM120000 | 2015 | |
SM130000 | 007C | |
SM140000 | 007D | |
SM150000 | 00AF | |
SM160000 | 2113 | |
SM170000 | 00B5 | |
SM180000 | 2126 | |
SM190000 | 00B0 | |
SM200000 | 00BA | |
SM210000 | 00AA | |
SM230000 | 221A | |
SM240000 | 00A7 | |
SM250000 | 00B6 | |
SM280000 | 2642 | |
SM290000 | 2640 | |
SM300000 | 2190 | |
SM310000 | 2192 | |
SM311000 | F882 | |
SM320000 | 2191 | |
SM330000 | 2193 | |
SM340000 | 2020 | |
SM350000 | 2021 | |
SM450000 | 25A1 | |
SM470000 | 25A0 | |
SM480000 | 2341 | |
SM490000 | 2311 | |
SM500000 | 2032 | |
SM510000 | 2033 | |
SM520000 | 00A9 | |
SM530000 | 00AE | |
SM540000 | 2122 | |
SM550000 | 211E | |
SM560000 | 2030 | |
SM570000 | 2022 | |
SM570001 | 25D8 | |
SM580000 | 25CF | |
SM590000 | 25BA | |
SM600000 | 25B2 | |
SM610000 | 25C6 | |
SM620000 | 203E | |
SM630000 | 25C4 | |
SM640000 | F881 | |
SM650000 | 00A6 | |
SM660000 | 00AC | |
SM670000 | 2422 | |
SM680000 | 2310 | |
SM690000 | 263C | |
SM700000 | 25AC | |
SM720000 | 21B5 | |
SM731000 | F880 | |
SM750000 | 25CB | |
SM750002 | 25D9 | |
SM760000 | 2195 | |
SM770000 | 21A8 | |
SM780000 | 2194 | |
SM790000 | 2302 | |
SM860000 | 0640 | |
SM870000 | 200B | |
SM900000 | 2014 | |
SM910000 | 266B | |
SM930000 | 266A | |
SM950000 | 2197 | |
SM990000 | 2198 | |
SP010000 | 0020 | |
SP020000 | 0021 | |
SP030000 | 00A1 | |
SP040000 | 0022 | |
SP050000 | 0027 | |
SP050001 | 0027 | |
SP060000 | 0028 | |
SP070000 | 0029 | |
SP080000 | 002C | |
SP080007 | 060C | |
SP090000 | 005F | |
SP100000 | 002D | |
SP101000 | 207B | |
SP110000 | 002E | |
SP120000 | 002F | |
SP120001 | 2044 | |
SP121000 | F87A | |
SP130000 | 003A | |
SP140000 | 003B | |
SP140007 | 061B | |
SP150000 | 003F | |
SP150007 | 061F | |
SP160000 | 00BF | |
SP170000 | 00AB | |
SP180000 | 00BB | |
SP190000 | 2018 | |
SP200000 | 2019 | |
SP210000 | 201C | |
SP220000 | 201D | |
SP230000 | 201E | |
SP260000 | 201A | |
SP270000 | 2039 | |
SP280000 | 203A | |
SP300000 | 00A0 | |
SP310000 | 2007 | |
SP320000 | 00AD | |
SP330000 | 203C | |
SP490000 | FFA0 | |
SP500000 | 303F | |
SS000000 | 263A | |
SS010000 | 263B | |
SS020000 | 2665 | |
SS030000 | 2666 | |
SS040000 | 2663 | |
SS050000 | 2660 | |
SS200000 | 25DC | |
SS210000 | 25DF | |
SS220000 | 25DD | |
SS230000 | 25DE | |
SS240000 | F879 | |
SS250000 | F878 | |
SS260000 | 2320 | |
SS270000 | 2321 | |
SS280000 | F877 | |
SS290000 | F876 | |
SS300000 | 2318 | |
SS400000 | 2211 | |
SS620000 | 235A | |
SS630000 | F873 | |
SS680000 | 2013 | |
SV010000 | 2713 | |
SV040000 | 25BC | |
SV520000 | 2026 | |
SV640000 | F8FF |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import json | |
import re | |
from cStringIO import StringIO | |
import sys | |
import zipfile | |
#.RPMAP100,.RPMAP101,.RXMAP110,.rxmap100,.RXMAP | |
TABLE_NAME_RE = re.compile('^[0-9A-F]{8}\.R[PX]MAP(?:\d{3})?$', re.I) | |
#CP UCS GCGID SYNONYM ISO 10646 NAME | |
#A6 00B3 ND031000 SUPERSCRIPT THREE | |
#A7 00AF SM150000 SD310000 MACRON | |
ROW_RE = re.compile('^{hex}{{2}}{space}{{7}}({hex}{{4}})(?:{space}{{2}}{gcgid})?(?:{space}{gcgid})?'.format(hex='[A-F0-9]', space=' ', gcgid='(?:([A-Z]{2}\d{6})|.{8})')) | |
assert ROW_RE.match('A6 00B3 ND031000 SUPERSCRIPT THREE').groups() == ('00B3', 'ND031000', None) | |
assert ROW_RE.match('A7 00AF SM150000 SD310000 MACRON ').groups() == ('00AF', 'SM150000', 'SD310000') | |
def package_gcgid_to_ucs_pairs(package_zip): | |
for name in package_zip.namelist(): | |
for result in table_gcgid_to_ucs_pairs(open_zip_from_zip(name, package_zip)): | |
yield result | |
def table_gcgid_to_ucs_pairs(table_zip): | |
name = min(n for n in table_zip.namelist() if TABLE_NAME_RE.match(n)) | |
f = table_zip.open(name) | |
for line in f: | |
if line.startswith('* Name'): | |
if 'Mapping table from ISO 10646 to' in line: | |
break | |
else: | |
return | |
for line in f: | |
if line.startswith('*') or not line.strip() or line in ['\x1a', '\x7f']: | |
continue | |
match = ROW_RE.match(line) | |
ucs, gcgid, synonym = match.groups() | |
if gcgid: | |
yield gcgid, ucs | |
if synonym: | |
yield synonym, ucs | |
def open_zip_from_zip(name, zip_file): | |
# StringIO from .read() instead of .open() because zipfile doesn't play well with it's own .open()'s result | |
return zipfile.ZipFile(StringIO(zip_file.read(name))) | |
def main(cdctables_path): | |
gcgid2ucs = {} | |
cdctables_zip = zipfile.ZipFile(cdctables_path) | |
for name in cdctables_zip.namelist(): | |
if name.lower().startswith('package1'): | |
for gcgid, ucs in package_gcgid_to_ucs_pairs(open_zip_from_zip(name, cdctables_zip)): | |
if gcgid in gcgid2ucs: | |
gcgid2ucs[gcgid] == min(gcgid2ucs[gcgid], ucs) | |
else: | |
gcgid2ucs[gcgid] = ucs | |
for gcgid in sorted(gcgid2ucs): | |
print '{},{}'.format(gcgid, gcgid2ucs[gcgid]) | |
if __name__ == '__main__': | |
main(*sys.argv[1:]) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment