eci.c: fix bad bug in Korean, return EUC-KR instead of raw KS X 1001

This commit is contained in:
gitlost
2021-03-20 14:36:21 +00:00
parent 2c053c325a
commit 7f74414666
12 changed files with 50 additions and 49 deletions

View File

@ -213,8 +213,8 @@ static void test_reduced_charset_input(int index, int debug) {
/* 76*/ { BARCODE_PDF417, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/* 77*/ { BARCODE_PDF417, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/* 78*/ { BARCODE_PDF417, UNICODE_MODE, 0, "", ZINT_WARN_USES_ECI, 26, "Not in any single-byte page" },
/* 79*/ { BARCODE_PDF417, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/* 80*/ { BARCODE_PDF417, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/* 79*/ { BARCODE_PDF417, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/* 80*/ { BARCODE_PDF417, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/* 81*/ { BARCODE_PDF417, UNICODE_MODE, 31, "A", 0, 31, "Undefined character set ECI - ignored for character set conversion" },
/* 82*/ { BARCODE_PDF417, UNICODE_MODE, 170, "?", 0, 170, "ASCII invariant" },
/* 83*/ { BARCODE_PDF417, UNICODE_MODE, 170, "@", ZINT_ERROR_INVALID_DATA, -1, "Not in ASCII invariant" },
@ -238,8 +238,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*101*/ { BARCODE_PDF417COMP, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*102*/ { BARCODE_PDF417COMP, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*103*/ { BARCODE_PDF417COMP, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*104*/ { BARCODE_PDF417COMP, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*105*/ { BARCODE_PDF417COMP, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*104*/ { BARCODE_PDF417COMP, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*105*/ { BARCODE_PDF417COMP, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*106*/ { BARCODE_MAXICODE, UNICODE_MODE, 0, "é", 0, 0, "" },
/*107*/ { BARCODE_MAXICODE, UNICODE_MODE, 3, "é", 0, 3, "Supports ECI" },
/*108*/ { BARCODE_MAXICODE, UNICODE_MODE, 0, "β", ZINT_WARN_USES_ECI, 9, "" },
@ -256,8 +256,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*119*/ { BARCODE_MAXICODE, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*120*/ { BARCODE_MAXICODE, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*121*/ { BARCODE_MAXICODE, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*122*/ { BARCODE_MAXICODE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*123*/ { BARCODE_MAXICODE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*122*/ { BARCODE_MAXICODE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*123*/ { BARCODE_MAXICODE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*124*/ { BARCODE_CODE128B, UNICODE_MODE, 0, "é", 0, 0, "" },
/*125*/ { BARCODE_CODE128B, UNICODE_MODE, 3, "é", ZINT_ERROR_INVALID_OPTION, -1, "Does not support ECI" },
/*126*/ { BARCODE_CODE128B, UNICODE_MODE, 0, "β", ZINT_ERROR_INVALID_DATA, -1, "β not in ISO 8859-1" },
@ -276,8 +276,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*139*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*140*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*141*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*142*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*143*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*142*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*143*/ { BARCODE_DATAMATRIX, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*144*/ { BARCODE_CODABLOCKF, UNICODE_MODE, 0, "é", 0, 0, "" },
/*145*/ { BARCODE_CODABLOCKF, UNICODE_MODE, 3, "é", ZINT_ERROR_INVALID_OPTION, -1, "Does not support ECI" },
/*146*/ { BARCODE_CODABLOCKF, UNICODE_MODE, 0, "β", ZINT_ERROR_INVALID_DATA, -1, "β not in ISO 8859-1" },
@ -297,8 +297,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*160*/ { BARCODE_MICROPDF417, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*161*/ { BARCODE_MICROPDF417, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*162*/ { BARCODE_MICROPDF417, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*163*/ { BARCODE_MICROPDF417, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*164*/ { BARCODE_MICROPDF417, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*163*/ { BARCODE_MICROPDF417, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*164*/ { BARCODE_MICROPDF417, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*165*/ { BARCODE_USPS_IMAIL, UNICODE_MODE, 0, "é", ZINT_ERROR_INVALID_DATA, -1, "Numbers/dash only" },
/*166*/ { BARCODE_AZTEC, UNICODE_MODE, 0, "é", 0, 0, "" },
/*167*/ { BARCODE_AZTEC, UNICODE_MODE, 3, "é", 0, 3, "Supports ECI" },
@ -315,8 +315,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*178*/ { BARCODE_AZTEC, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*179*/ { BARCODE_AZTEC, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*180*/ { BARCODE_AZTEC, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*181*/ { BARCODE_AZTEC, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*182*/ { BARCODE_AZTEC, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*181*/ { BARCODE_AZTEC, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*182*/ { BARCODE_AZTEC, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*183*/ { BARCODE_HIBC_128, UNICODE_MODE, 0, "é", ZINT_ERROR_INVALID_DATA, -1, "HIBC ASCII subset only" },
/*184*/ { BARCODE_HIBC_AZTEC, UNICODE_MODE, 0, "é", ZINT_ERROR_INVALID_DATA, -1, "HIBC ASCII subset only" },
/*185*/ { BARCODE_DOTCODE, UNICODE_MODE, 0, "é", 0, 0, "" },
@ -334,8 +334,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*197*/ { BARCODE_DOTCODE, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*198*/ { BARCODE_DOTCODE, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*199*/ { BARCODE_DOTCODE, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*200*/ { BARCODE_DOTCODE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*201*/ { BARCODE_DOTCODE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*200*/ { BARCODE_DOTCODE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*201*/ { BARCODE_DOTCODE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*202*/ { BARCODE_AZRUNE, UNICODE_MODE, 0, "é", ZINT_ERROR_INVALID_DATA, -1, "Numbers <= 255 only" },
/*203*/ { BARCODE_CODE32, UNICODE_MODE, 0, "é", ZINT_ERROR_INVALID_DATA, -1, "Numbers only" },
/*204*/ { BARCODE_CODEONE, UNICODE_MODE, 0, "é", 0, 0, "" },
@ -353,8 +353,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*216*/ { BARCODE_CODEONE, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*217*/ { BARCODE_CODEONE, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*218*/ { BARCODE_CODEONE, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*219*/ { BARCODE_CODEONE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*220*/ { BARCODE_CODEONE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*219*/ { BARCODE_CODEONE, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*220*/ { BARCODE_CODEONE, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
/*221*/ { BARCODE_ULTRA, UNICODE_MODE, 0, "é", 0, 0, "" },
/*222*/ { BARCODE_ULTRA, UNICODE_MODE, 3, "é", 0, 3, "Supports ECI" },
/*223*/ { BARCODE_ULTRA, UNICODE_MODE, 0, "β", ZINT_WARN_USES_ECI, 9, "" },
@ -370,8 +370,8 @@ static void test_reduced_charset_input(int index, int debug) {
/*233*/ { BARCODE_ULTRA, UNICODE_MODE, 28, "龘龘", 0, 28, "U+9F98 in Big5 but not in GB2312" },
/*234*/ { BARCODE_ULTRA, UNICODE_MODE, 29, "", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*235*/ { BARCODE_ULTRA, UNICODE_MODE, 29, "齄齄", 0, 29, "U+9F44 in GB2312 but not in Big5" },
/*236*/ { BARCODE_ULTRA, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in KS X 1001" },
/*237*/ { BARCODE_ULTRA, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in KS X 1001" },
/*236*/ { BARCODE_ULTRA, UNICODE_MODE, 30, "", 0, 30, "U+AC00 in EUC-KR" },
/*237*/ { BARCODE_ULTRA, UNICODE_MODE, 30, "가가", 0, 30, "U+AC00 in EUC-KR" },
};
int data_size = ARRAY_SIZE(data);