From 6d429e6524db40473546539600ff845c2c7e4b64 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Wed, 18 Apr 2007 08:45:07 +0000 Subject: [PATCH] 2007-04-18 10:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * harbour/source/codepage/cp_tpl.c + Added NOTE about the fact that hb_Translate() (and hb_cdpTranslate()) would only work properly if all codepages for the same language are using the exact same number of lowercase/uppercase cp chars in the exact same order. * harbour/source/codepage/Makefile * harbour/common.mak * harbour/source/codepage/cphu852.c * harbour/source/codepage/cphu852s.c * harbour/source/codepage/cphuiso.c + harbour/source/codepage/cphuisos.c * harbour/source/codepage/cphuwin.c + harbour/source/codepage/cphuwins.c ! Synced HU WIN and HU ISO codepage lower/uppercase strings with HU 852, so that hb_Translate() works properly. (this means there are now several duplicate chars included in the WIN/ISO versions, along with a non-HU char, all just needed to stay compatible with original CA-Cl*pper HU/852 index ordering and keep hb_Translate() working at the same time.) IMO, we'd need to introduce a separate "collation" string in each cp file to detach index ordering from upper/lowercase and codepage translation without any hacks, since as this example shows these two are not always in sync. (or, as an alternative we might want to make codepage translation more sophisticated, like converting first to unicode and convert back to the other codepage from unicode, but that leads a bit further.). (If I'm missing something, pls don't hesitate to clarify) + Added SixDriver compatible HU ISO/WIN codepage files for the reasons described above. * harbour/include/hbapicdp.h * harbour/source/rtl/cdpapi.c * harbour/source/codepage/cpbg866.c * harbour/source/codepage/cpbgiso.c * harbour/source/codepage/cpbgwin.c * harbour/source/codepage/cpcs852.c * harbour/source/codepage/cpcsiso.c * harbour/source/codepage/cpcskam.c * harbour/source/codepage/cpcswin.c * harbour/source/codepage/cpeldos.c * harbour/source/codepage/cpelwin.c * harbour/source/codepage/cpesdos.c * harbour/source/codepage/cpesmwi.c * harbour/source/codepage/cpeswin.c * harbour/source/codepage/cpfrdos.c * harbour/source/codepage/cpgedos.c * harbour/source/codepage/cpgewin.c * harbour/source/codepage/cphr1250.c * harbour/source/codepage/cphr437.c * harbour/source/codepage/cphr852.c * harbour/source/codepage/cphu852.c * harbour/source/codepage/cphu852s.c * harbour/source/codepage/cphuiso.c * harbour/source/codepage/cphuwin.c * harbour/source/codepage/cpit437.c * harbour/source/codepage/cpit850.c * harbour/source/codepage/cpitisb.c * harbour/source/codepage/cpitiso.c * harbour/source/codepage/cpltwin.c * harbour/source/codepage/cppl852.c * harbour/source/codepage/cppliso.c * harbour/source/codepage/cpplmaz.c * harbour/source/codepage/cpplwin.c * harbour/source/codepage/cppt850.c * harbour/source/codepage/cpptiso.c * harbour/source/codepage/cpru866.c * harbour/source/codepage/cprukoi.c * harbour/source/codepage/cpruwin.c * harbour/source/codepage/cpsl437.c * harbour/source/codepage/cpsl852.c * harbour/source/codepage/cpsliso.c * harbour/source/codepage/cpslwin.c * harbour/source/codepage/cpsrwin.c * harbour/source/codepage/cptrdos.c * harbour/source/codepage/cptrwin.c * harbour/source/codepage/cpua866.c * harbour/source/codepage/cpuakoi.c * harbour/source/codepage/cpuawin.c * harbour/source/codepage/uc1250.c * harbour/source/codepage/uc1251.c * harbour/source/codepage/uc1253.c * harbour/source/codepage/uc1254.c * harbour/source/codepage/uc1257.c * harbour/source/codepage/uc737.c * harbour/source/codepage/uc850.c * harbour/source/codepage/uc852.c * harbour/source/codepage/uc857.c * harbour/source/codepage/uc866.c * harbour/source/codepage/uc88591b.c * harbour/source/codepage/uc8859_1.c * harbour/source/codepage/uc8859_2.c * harbour/source/codepage/uc8859_5.c * harbour/source/codepage/uckam.c * harbour/source/codepage/uckoi8.c * harbour/source/codepage/uckoi8u.c * harbour/source/codepage/ucmaz.c ! #define namespace issue in public API header file corrected: CPID_* -> HB_CPID_* UNITB_* -> HB_UNITB_* * harbour/source/compiler/gencobj.c ! Fixed warning. --- harbour/ChangeLog | 110 ++++++++++++++++++++++++++++ harbour/common.mak | 2 + harbour/include/hbapicdp.h | 78 ++++++++++---------- harbour/source/codepage/Makefile | 2 + harbour/source/codepage/cp_tpl.c | 8 ++- harbour/source/codepage/cpbg866.c | 2 +- harbour/source/codepage/cpbgiso.c | 2 +- harbour/source/codepage/cpbgwin.c | 2 +- harbour/source/codepage/cpcs852.c | 2 +- harbour/source/codepage/cpcsiso.c | 2 +- harbour/source/codepage/cpcskam.c | 2 +- harbour/source/codepage/cpcswin.c | 2 +- harbour/source/codepage/cpeldos.c | 2 +- harbour/source/codepage/cpelwin.c | 2 +- harbour/source/codepage/cpesdos.c | 2 +- harbour/source/codepage/cpesmwi.c | 2 +- harbour/source/codepage/cpeswin.c | 2 +- harbour/source/codepage/cpfrdos.c | 2 +- harbour/source/codepage/cpgedos.c | 2 +- harbour/source/codepage/cpgewin.c | 2 +- harbour/source/codepage/cphr1250.c | 2 +- harbour/source/codepage/cphr437.c | 2 +- harbour/source/codepage/cphr852.c | 2 +- harbour/source/codepage/cphu852.c | 6 +- harbour/source/codepage/cphu852s.c | 6 +- harbour/source/codepage/cphuiso.c | 23 ++++-- harbour/source/codepage/cphuisos.c | 111 +++++++++++++++++++++++++++++ harbour/source/codepage/cphuwin.c | 23 ++++-- harbour/source/codepage/cphuwins.c | 111 +++++++++++++++++++++++++++++ harbour/source/codepage/cpit437.c | 2 +- harbour/source/codepage/cpit850.c | 2 +- harbour/source/codepage/cpitisb.c | 2 +- harbour/source/codepage/cpitiso.c | 2 +- harbour/source/codepage/cpltwin.c | 2 +- harbour/source/codepage/cppl852.c | 2 +- harbour/source/codepage/cppliso.c | 2 +- harbour/source/codepage/cpplmaz.c | 2 +- harbour/source/codepage/cpplwin.c | 2 +- harbour/source/codepage/cppt850.c | 2 +- harbour/source/codepage/cpptiso.c | 2 +- harbour/source/codepage/cpru866.c | 2 +- harbour/source/codepage/cprukoi.c | 2 +- harbour/source/codepage/cpruwin.c | 2 +- harbour/source/codepage/cpsl437.c | 2 +- harbour/source/codepage/cpsl852.c | 2 +- harbour/source/codepage/cpsliso.c | 2 +- harbour/source/codepage/cpslwin.c | 2 +- harbour/source/codepage/cpsrwin.c | 2 +- harbour/source/codepage/cptrdos.c | 2 +- harbour/source/codepage/cptrwin.c | 2 +- harbour/source/codepage/cpua866.c | 2 +- harbour/source/codepage/cpuakoi.c | 2 +- harbour/source/codepage/cpuawin.c | 2 +- harbour/source/codepage/uc1250.c | 2 +- harbour/source/codepage/uc1251.c | 2 +- harbour/source/codepage/uc1253.c | 2 +- harbour/source/codepage/uc1254.c | 2 +- harbour/source/codepage/uc1257.c | 2 +- harbour/source/codepage/uc737.c | 2 +- harbour/source/codepage/uc850.c | 2 +- harbour/source/codepage/uc852.c | 2 +- harbour/source/codepage/uc857.c | 2 +- harbour/source/codepage/uc866.c | 2 +- harbour/source/codepage/uc88591b.c | 2 +- harbour/source/codepage/uc8859_1.c | 2 +- harbour/source/codepage/uc8859_2.c | 2 +- harbour/source/codepage/uc8859_5.c | 2 +- harbour/source/codepage/uckam.c | 2 +- harbour/source/codepage/uckoi8.c | 2 +- harbour/source/codepage/uckoi8u.c | 2 +- harbour/source/codepage/ucmaz.c | 2 +- harbour/source/compiler/gencobj.c | 4 +- harbour/source/rtl/cdpapi.c | 4 +- 73 files changed, 489 insertions(+), 119 deletions(-) create mode 100644 harbour/source/codepage/cphuisos.c create mode 100644 harbour/source/codepage/cphuwins.c diff --git a/harbour/ChangeLog b/harbour/ChangeLog index a887bb27a0..651ed2c126 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -8,6 +8,116 @@ 2002-12-01 13:30 UTC+0100 Foo Bar */ +2007-04-18 10:43 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * harbour/source/codepage/cp_tpl.c + + Added NOTE about the fact that hb_Translate() + (and hb_cdpTranslate()) would only work properly + if all codepages for the same language are using the + exact same number of lowercase/uppercase cp chars + in the exact same order. + + * harbour/source/codepage/Makefile + * harbour/common.mak + * harbour/source/codepage/cphu852.c + * harbour/source/codepage/cphu852s.c + * harbour/source/codepage/cphuiso.c + + harbour/source/codepage/cphuisos.c + * harbour/source/codepage/cphuwin.c + + harbour/source/codepage/cphuwins.c + ! Synced HU WIN and HU ISO codepage lower/uppercase + strings with HU 852, so that hb_Translate() works + properly. (this means there are now several duplicate + chars included in the WIN/ISO versions, along with + a non-HU char, all just needed to stay compatible with + original CA-Cl*pper HU/852 index ordering and keep + hb_Translate() working at the same time.) + IMO, we'd need to introduce a separate "collation" + string in each cp file to detach index ordering + from upper/lowercase and codepage translation without + any hacks, since as this example shows these two + are not always in sync. (or, as an alternative we might + want to make codepage translation more sophisticated, + like converting first to unicode and convert back to + the other codepage from unicode, but that leads a bit + further.). (If I'm missing something, pls don't hesitate + to clarify) + + Added SixDriver compatible HU ISO/WIN codepage files + for the reasons described above. + + * harbour/include/hbapicdp.h + * harbour/source/rtl/cdpapi.c + * harbour/source/codepage/cpbg866.c + * harbour/source/codepage/cpbgiso.c + * harbour/source/codepage/cpbgwin.c + * harbour/source/codepage/cpcs852.c + * harbour/source/codepage/cpcsiso.c + * harbour/source/codepage/cpcskam.c + * harbour/source/codepage/cpcswin.c + * harbour/source/codepage/cpeldos.c + * harbour/source/codepage/cpelwin.c + * harbour/source/codepage/cpesdos.c + * harbour/source/codepage/cpesmwi.c + * harbour/source/codepage/cpeswin.c + * harbour/source/codepage/cpfrdos.c + * harbour/source/codepage/cpgedos.c + * harbour/source/codepage/cpgewin.c + * harbour/source/codepage/cphr1250.c + * harbour/source/codepage/cphr437.c + * harbour/source/codepage/cphr852.c + * harbour/source/codepage/cphu852.c + * harbour/source/codepage/cphu852s.c + * harbour/source/codepage/cphuiso.c + * harbour/source/codepage/cphuwin.c + * harbour/source/codepage/cpit437.c + * harbour/source/codepage/cpit850.c + * harbour/source/codepage/cpitisb.c + * harbour/source/codepage/cpitiso.c + * harbour/source/codepage/cpltwin.c + * harbour/source/codepage/cppl852.c + * harbour/source/codepage/cppliso.c + * harbour/source/codepage/cpplmaz.c + * harbour/source/codepage/cpplwin.c + * harbour/source/codepage/cppt850.c + * harbour/source/codepage/cpptiso.c + * harbour/source/codepage/cpru866.c + * harbour/source/codepage/cprukoi.c + * harbour/source/codepage/cpruwin.c + * harbour/source/codepage/cpsl437.c + * harbour/source/codepage/cpsl852.c + * harbour/source/codepage/cpsliso.c + * harbour/source/codepage/cpslwin.c + * harbour/source/codepage/cpsrwin.c + * harbour/source/codepage/cptrdos.c + * harbour/source/codepage/cptrwin.c + * harbour/source/codepage/cpua866.c + * harbour/source/codepage/cpuakoi.c + * harbour/source/codepage/cpuawin.c + * harbour/source/codepage/uc1250.c + * harbour/source/codepage/uc1251.c + * harbour/source/codepage/uc1253.c + * harbour/source/codepage/uc1254.c + * harbour/source/codepage/uc1257.c + * harbour/source/codepage/uc737.c + * harbour/source/codepage/uc850.c + * harbour/source/codepage/uc852.c + * harbour/source/codepage/uc857.c + * harbour/source/codepage/uc866.c + * harbour/source/codepage/uc88591b.c + * harbour/source/codepage/uc8859_1.c + * harbour/source/codepage/uc8859_2.c + * harbour/source/codepage/uc8859_5.c + * harbour/source/codepage/uckam.c + * harbour/source/codepage/uckoi8.c + * harbour/source/codepage/uckoi8u.c + * harbour/source/codepage/ucmaz.c + ! #define namespace issue in public API header file + corrected: + CPID_* -> HB_CPID_* + UNITB_* -> HB_UNITB_* + + * harbour/source/compiler/gencobj.c + ! Fixed warning. + 2007-04-18 09:43 UTC+0200 Lorenzo Fiorini (lorenzo.fiorini/at/gmail.com) * harbour/source/compiler/gencobj.c * fixed declaration diff --git a/harbour/common.mak b/harbour/common.mak index ec01a18c47..88e70cb983 100644 --- a/harbour/common.mak +++ b/harbour/common.mak @@ -630,7 +630,9 @@ CODEPAGE_LIB_OBJS = \ $(OBJ_DIR)\cphu852.obj \ $(OBJ_DIR)\cphu852s.obj \ $(OBJ_DIR)\cphuiso.obj \ + $(OBJ_DIR)\cphuisos.obj \ $(OBJ_DIR)\cphuwin.obj \ + $(OBJ_DIR)\cphuwins.obj \ $(OBJ_DIR)\cpit437.obj \ $(OBJ_DIR)\cpit850.obj \ $(OBJ_DIR)\cpitisb.obj \ diff --git a/harbour/include/hbapicdp.h b/harbour/include/hbapicdp.h index 33960908ae..569aa33c2c 100644 --- a/harbour/include/hbapicdp.h +++ b/harbour/include/hbapicdp.h @@ -112,45 +112,45 @@ typedef struct _HB_CODEPAGE PHB_MULTICHAR multi; } HB_CODEPAGE, * PHB_CODEPAGE; -#define CPID_437 "cp437" -#define CPID_737 "cp737" -#define CPID_850 "cp850" -#define CPID_852 "cp852" -#define CPID_857 "cp857" -#define CPID_866 "cp866" -#define CPID_1250 "cp1250" -#define CPID_1251 "cp1251" -#define CPID_1253 "cp1253" -#define CPID_1254 "cp1254" -#define CPID_1257 "cp1257" -#define CPID_8859_1 "iso8859-1" -#define CPID_8859_1B "iso8859-1b" -#define CPID_8859_2 "iso8859-2" -#define CPID_8859_5 "iso8859-5" -#define CPID_KOI_8 "koi-8" -#define CPID_KOI_8U "koi-8u" -#define CPID_MAZ "plmaz" -#define CPID_KAM "cskam" -#define UNITB_437 &hb_uniTbl_437 -#define UNITB_737 &hb_uniTbl_737 -#define UNITB_850 &hb_uniTbl_850 -#define UNITB_852 &hb_uniTbl_852 -#define UNITB_857 &hb_uniTbl_857 -#define UNITB_866 &hb_uniTbl_866 -#define UNITB_1250 &hb_uniTbl_1250 -#define UNITB_1251 &hb_uniTbl_1251 -#define UNITB_1253 &hb_uniTbl_1253 -#define UNITB_1254 &hb_uniTbl_1254 -#define UNITB_1257 &hb_uniTbl_1257 -#define UNITB_8859_1 &hb_uniTbl_8859_1 -#define UNITB_8859_1B &hb_uniTbl_8859_1b -#define UNITB_8859_2 &hb_uniTbl_8859_2 -#define UNITB_8859_5 &hb_uniTbl_8859_5 -#define UNITB_KOI_8 &hb_uniTbl_KOI_8 -#define UNITB_KOI_8U &hb_uniTbl_KOI_8U -#define UNITB_KAM &hb_uniTbl_kam -#define UNITB_MAZ &hb_uniTbl_mazovia -#define UNITB_UNDEF NULL /* ((PHB_UNITABLE) (-1)) */ +#define HB_CPID_437 "cp437" +#define HB_CPID_737 "cp737" +#define HB_CPID_850 "cp850" +#define HB_CPID_852 "cp852" +#define HB_CPID_857 "cp857" +#define HB_CPID_866 "cp866" +#define HB_CPID_1250 "cp1250" +#define HB_CPID_1251 "cp1251" +#define HB_CPID_1253 "cp1253" +#define HB_CPID_1254 "cp1254" +#define HB_CPID_1257 "cp1257" +#define HB_CPID_8859_1 "iso8859-1" +#define HB_CPID_8859_1B "iso8859-1b" +#define HB_CPID_8859_2 "iso8859-2" +#define HB_CPID_8859_5 "iso8859-5" +#define HB_CPID_KOI_8 "koi-8" +#define HB_CPID_KOI_8U "koi-8u" +#define HB_CPID_MAZ "plmaz" +#define HB_CPID_KAM "cskam" +#define HB_UNITB_437 &hb_uniTbl_437 +#define HB_UNITB_737 &hb_uniTbl_737 +#define HB_UNITB_850 &hb_uniTbl_850 +#define HB_UNITB_852 &hb_uniTbl_852 +#define HB_UNITB_857 &hb_uniTbl_857 +#define HB_UNITB_866 &hb_uniTbl_866 +#define HB_UNITB_1250 &hb_uniTbl_1250 +#define HB_UNITB_1251 &hb_uniTbl_1251 +#define HB_UNITB_1253 &hb_uniTbl_1253 +#define HB_UNITB_1254 &hb_uniTbl_1254 +#define HB_UNITB_1257 &hb_uniTbl_1257 +#define HB_UNITB_8859_1 &hb_uniTbl_8859_1 +#define HB_UNITB_8859_1B &hb_uniTbl_8859_1b +#define HB_UNITB_8859_2 &hb_uniTbl_8859_2 +#define HB_UNITB_8859_5 &hb_uniTbl_8859_5 +#define HB_UNITB_KOI_8 &hb_uniTbl_KOI_8 +#define HB_UNITB_KOI_8U &hb_uniTbl_KOI_8U +#define HB_UNITB_KAM &hb_uniTbl_kam +#define HB_UNITB_MAZ &hb_uniTbl_mazovia +#define HB_UNITB_UNDEF NULL /* ((PHB_UNITABLE) (-1)) */ extern HB_UNITABLE hb_uniTbl_437; extern HB_UNITABLE hb_uniTbl_737; diff --git a/harbour/source/codepage/Makefile b/harbour/source/codepage/Makefile index 721d149b7c..6feee9fe96 100644 --- a/harbour/source/codepage/Makefile +++ b/harbour/source/codepage/Makefile @@ -27,7 +27,9 @@ C_SOURCES=\ cphu852.c \ cphu852s.c \ cphuiso.c \ + cphuisos.c \ cphuwin.c \ + cphuwins.c \ cpit437.c \ cpit850.c \ cpitisb.c \ diff --git a/harbour/source/codepage/cp_tpl.c b/harbour/source/codepage/cp_tpl.c index b21dc31670..9ba1807b46 100644 --- a/harbour/source/codepage/cp_tpl.c +++ b/harbour/source/codepage/cp_tpl.c @@ -58,6 +58,12 @@ #include "hbapi.h" #include "hbapicdp.h" +/* NOTE: In order to codepage translate work in Harbour, you must + ensure that the NUMBER_OF_CHARACTERS and the order of the + lowercase/uppercase chars are exactly matching in every + codepage that belong to the same language. + [vszakats] */ + #define NUMBER_OF_CHARACTERS 26 /* The number of single characters in the alphabet, two-as-one aren't considered here, accented - are considered. */ @@ -84,7 +90,7 @@ */ static HB_CODEPAGE s_codepage = { "EN", - CPID_437,UNITB_437,NUMBER_OF_CHARACTERS, + HB_CPID_437,HB_UNITB_437,NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpbg866.c b/harbour/source/codepage/cpbg866.c index c626098e5b..67fae639de 100644 --- a/harbour/source/codepage/cpbg866.c +++ b/harbour/source/codepage/cpbg866.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "BG866", - CPID_866, UNITB_866, NUMBER_OF_CHARACTERS, + HB_CPID_866, HB_UNITB_866, NUMBER_OF_CHARACTERS, "", "", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpbgiso.c b/harbour/source/codepage/cpbgiso.c index cbbde91644..b65cbac738 100644 --- a/harbour/source/codepage/cpbgiso.c +++ b/harbour/source/codepage/cpbgiso.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "BGISO", - CPID_8859_5, UNITB_8859_5, NUMBER_OF_CHARACTERS, + HB_CPID_8859_5, HB_UNITB_8859_5, NUMBER_OF_CHARACTERS, "", "", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpbgwin.c b/harbour/source/codepage/cpbgwin.c index a43ccef8df..40af18306e 100644 --- a/harbour/source/codepage/cpbgwin.c +++ b/harbour/source/codepage/cpbgwin.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "BGWIN", - CPID_1251, UNITB_1251, NUMBER_OF_CHARACTERS, + HB_CPID_1251, HB_UNITB_1251, NUMBER_OF_CHARACTERS, "", "", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpcs852.c b/harbour/source/codepage/cpcs852.c index 068558f78d..87039316c5 100644 --- a/harbour/source/codepage/cpcs852.c +++ b/harbour/source/codepage/cpcs852.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "CS852", - CPID_852, UNITB_852, NUMBER_OF_CHARACTERS, + HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS, "A~~BCD~E~~~FGH.CH.I~JKLMN~O~~PQRST~U~~~VWXY~Z", "a~~bcd~e~~~fgh.ch.i~jklmn~o~~pqrst~u~~~vwxy~z", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpcsiso.c b/harbour/source/codepage/cpcsiso.c index 71e8ffd17b..7bfec37df5 100644 --- a/harbour/source/codepage/cpcsiso.c +++ b/harbour/source/codepage/cpcsiso.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "CSISO", - CPID_8859_2, UNITB_8859_2, NUMBER_OF_CHARACTERS, + HB_CPID_8859_2, HB_UNITB_8859_2, NUMBER_OF_CHARACTERS, "A~~BCD~E~~~FGH.CH.I~JKLMN~O~~PQRST~U~~~VWXY~Z", "a~~bcd~e~~~fgh.ch.i~jklmn~o~~pqrst~u~~~vwxy~z", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpcskam.c b/harbour/source/codepage/cpcskam.c index adc9d51fe5..b626c90354 100644 --- a/harbour/source/codepage/cpcskam.c +++ b/harbour/source/codepage/cpcskam.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "CSKAM", - CPID_KAM, UNITB_KAM, NUMBER_OF_CHARACTERS, + HB_CPID_KAM, HB_UNITB_KAM, NUMBER_OF_CHARACTERS, "A~~BCD~E~~~ FGH.CH.I~JKLMN~O~~PQRST~U~~~VWXY~Z", "a~~bcd~e~~~ fgh.ch.i~jklmn~o~~pqrst~u~~~vwxy~z", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpcswin.c b/harbour/source/codepage/cpcswin.c index 2c489cc84b..f1e11418fb 100644 --- a/harbour/source/codepage/cpcswin.c +++ b/harbour/source/codepage/cpcswin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "CSWIN", - CPID_1250, UNITB_1250, NUMBER_OF_CHARACTERS, + HB_CPID_1250, HB_UNITB_1250, NUMBER_OF_CHARACTERS, "A~~BCD~E~~~FGH.CH.I~JKLMN~O~~PQRST~U~~~VWXY~Z", "a~~bcd~e~~~fgh.ch.i~jklmn~o~~pqrst~u~~~vwxy~z", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpeldos.c b/harbour/source/codepage/cpeldos.c index c6276dbde2..63b00cca87 100644 --- a/harbour/source/codepage/cpeldos.c +++ b/harbour/source/codepage/cpeldos.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "EL", - CPID_737, UNITB_737, NUMBER_OF_CHARACTERS, + HB_CPID_737, HB_UNITB_737, NUMBER_OF_CHARACTERS, "~ꁂ녆~쇈~퉊~~~", "~ᙚ~❞~㟠~塢~槨~筮~", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpelwin.c b/harbour/source/codepage/cpelwin.c index 542ed7ca51..ea9a254aab 100644 --- a/harbour/source/codepage/cpelwin.c +++ b/harbour/source/codepage/cpelwin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ELWIN", - CPID_1253, UNITB_1253, NUMBER_OF_CHARACTERS, + HB_CPID_1253, HB_UNITB_1253, NUMBER_OF_CHARACTERS, "~Ÿ~~~~~", "~~~~~~~", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpesdos.c b/harbour/source/codepage/cpesdos.c index 26229e40b8..3eab5305cd 100644 --- a/harbour/source/codepage/cpesdos.c +++ b/harbour/source/codepage/cpesdos.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ES", - CPID_850, UNITB_850, NUMBER_OF_CHARACTERS, + HB_CPID_850, HB_UNITB_850, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpesmwi.c b/harbour/source/codepage/cpesmwi.c index 0c13063166..a7a1d25416 100644 --- a/harbour/source/codepage/cpesmwi.c +++ b/harbour/source/codepage/cpesmwi.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ESMWIN", - CPID_8859_1, UNITB_8859_1, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1, HB_UNITB_8859_1, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpeswin.c b/harbour/source/codepage/cpeswin.c index 893e352842..dff679c6f3 100644 --- a/harbour/source/codepage/cpeswin.c +++ b/harbour/source/codepage/cpeswin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ESWIN", - CPID_8859_1, UNITB_8859_1, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1, HB_UNITB_8859_1, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpfrdos.c b/harbour/source/codepage/cpfrdos.c index 342fa079c5..135e48fee7 100644 --- a/harbour/source/codepage/cpfrdos.c +++ b/harbour/source/codepage/cpfrdos.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "FR", - CPID_850, UNITB_850, NUMBER_OF_CHARACTERS, + HB_CPID_850, HB_UNITB_850, NUMBER_OF_CHARACTERS, "AAAAABCDEEEEEFGHIIIIIJKLMNOOOOOPQRSTUUUUUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpgedos.c b/harbour/source/codepage/cpgedos.c index 148ced525c..2acdd8214f 100644 --- a/harbour/source/codepage/cpgedos.c +++ b/harbour/source/codepage/cpgedos.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "DE", - CPID_850, UNITB_850, NUMBER_OF_CHARACTERS, + HB_CPID_850, HB_UNITB_850, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpgewin.c b/harbour/source/codepage/cpgewin.c index 5942ce2f0b..9a565f4292 100644 --- a/harbour/source/codepage/cpgewin.c +++ b/harbour/source/codepage/cpgewin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "DEWIN", - CPID_8859_1, UNITB_8859_1, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1, HB_UNITB_8859_1, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphr1250.c b/harbour/source/codepage/cphr1250.c index ad3df2d0c3..67ccfa5f87 100644 --- a/harbour/source/codepage/cphr1250.c +++ b/harbour/source/codepage/cphr1250.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "HR1250", - CPID_1250,UNITB_1250,NUMBER_OF_CHARACTERS, + HB_CPID_1250,HB_UNITB_1250,NUMBER_OF_CHARACTERS, "ABCCCDEFGHIJKLMNOPQRSTUVWZXY", "abcccddefghijklmnopqrstuvwzxy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphr437.c b/harbour/source/codepage/cphr437.c index 3f460a56e7..770f17b1ca 100644 --- a/harbour/source/codepage/cphr437.c +++ b/harbour/source/codepage/cphr437.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "HR437", - CPID_437,UNITB_437,NUMBER_OF_CHARACTERS, + HB_CPID_437,HB_UNITB_437,NUMBER_OF_CHARACTERS, "ABC]^D\\EFGHIJKLMNOPQRS[TUVWZ@XY", "abc}~d|efghijklmnopqrs{tuvwz`xy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphr852.c b/harbour/source/codepage/cphr852.c index dcfcab7148..14419181a0 100644 --- a/harbour/source/codepage/cphr852.c +++ b/harbour/source/codepage/cphr852.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "HR852", - CPID_852,UNITB_852,NUMBER_OF_CHARACTERS, + HB_CPID_852,HB_UNITB_852,NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWZXY", "abcdefghijklmnopqrstuvwzxy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphu852.c b/harbour/source/codepage/cphu852.c index 66831ecb65..1a23b7587a 100644 --- a/harbour/source/codepage/cphu852.c +++ b/harbour/source/codepage/cphu852.c @@ -85,7 +85,9 @@ /* NOTE: Several chars have been added above the standard 852 Hungarian ones to make it 100% compatible with ntxhu852.obj for CA-Cl*pper 5.x. - [vszakats] */ + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ /* NOTE: Since there is no possibility in Harbour to have different number of uppercase and lowercase accented chars, a simple workaround @@ -95,7 +97,7 @@ [20070410] [vszakats] */ static HB_CODEPAGE s_codepage = { "HU852", - CPID_852, UNITB_852, NUMBER_OF_CHARACTERS, + HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTU隘VWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphu852s.c b/harbour/source/codepage/cphu852s.c index 38b6258563..4993cad11a 100644 --- a/harbour/source/codepage/cphu852s.c +++ b/harbour/source/codepage/cphu852s.c @@ -85,10 +85,12 @@ /* NOTE: / has been added to make it fully compatible with sixhu852.obj for S*ccessWare SIx Driver. - [vszakats] */ + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ static HB_CODEPAGE s_codepage = { "HU852S", - CPID_852, UNITB_852, NUMBER_OF_CHARACTERS, + HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cphuiso.c b/harbour/source/codepage/cphuiso.c index 9bca2e00bb..886aeaf048 100644 --- a/harbour/source/codepage/cphuiso.c +++ b/harbour/source/codepage/cphuiso.c @@ -52,13 +52,13 @@ /* Language name: Hungarian */ /* ISO language code (2 chars): HU */ -/* Codepage: ISO-8859-2 */ +/* Codepage: ISO-8859-2 (ntxhu852 compatible) */ #include #include "hbapi.h" #include "hbapicdp.h" -#define NUMBER_OF_CHARACTERS 35 /* The number of single characters in the +#define NUMBER_OF_CHARACTERS 42 /* The number of single characters in the alphabet, two-as-one aren't considered here, accented - are considered. */ #define IS_LATIN 1 /* Should be 1, if the national alphabet @@ -83,10 +83,23 @@ same excepting the characters case, of course. */ +/* NOTE: Several chars have been added above the standard 852 Hungarian + ones to make it 100% compatible with ntxhu852.obj for CA-Cl*pper 5.x. + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ + +/* NOTE: Since there is no possibility in Harbour to have different number + of uppercase and lowercase accented chars, a simple workaround + was used to solve the problem; notice that some uppercase chars + have the same lowercase values. Testing showed that both the + ordering and Lower()/Upper() functions worked alright. + [20070410] [vszakats] */ + static HB_CODEPAGE s_codepage = { "HUISO", - CPID_8859_2, UNITB_8859_2, NUMBER_OF_CHARACTERS, - "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "abcdefghijklmnopqrstuvwxyz", + HB_CPID_8859_2, HB_UNITB_8859_2, NUMBER_OF_CHARACTERS, + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; HB_CODEPAGE_INIT( HUISO ) diff --git a/harbour/source/codepage/cphuisos.c b/harbour/source/codepage/cphuisos.c new file mode 100644 index 0000000000..0227ab8da0 --- /dev/null +++ b/harbour/source/codepage/cphuisos.c @@ -0,0 +1,111 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * National Collation Support Module (HUISOS) + * + * Copyright 1999-2005 Viktor Szakats + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +/* Language name: Hungarian */ +/* ISO language code (2 chars): HU */ +/* Codepage: ISO-8859-2 (sixhu852 compatible) */ + +#include +#include "hbapi.h" +#include "hbapicdp.h" + +#define NUMBER_OF_CHARACTERS 36 /* The number of single characters in the + alphabet, two-as-one aren't considered + here, accented - are considered. */ +#define IS_LATIN 1 /* Should be 1, if the national alphabet + is based on Latin */ +#define ACCENTED_EQUAL 0 /* Should be 1, if accented character + has the same weight as appropriate + unaccented. */ +#define ACCENTED_INTERLEAVED 0 /* Should be 1, if accented characters + sort after their unaccented counterparts + only if the unaccented versions of all + characters being compared are the same + ( interleaving ) */ + +/* If ACCENTED_EQUAL or ACCENTED_INTERLEAVED is 1, you need to mark the + accented characters with the symbol '~' before each of them, for example: + a~ + If there is two-character sequence, which is considered as one, it should + be marked with '.' before and after it, for example: + ... h.ch.i ... + + The Upper case string and the Lower case string should be absolutely the + same excepting the characters case, of course. + */ + +/* NOTE: / has been added to make it fully compatible with sixhu852.obj for + S*ccessWare SIx Driver. + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ + +static HB_CODEPAGE s_codepage = { "HUISOS", + HB_CPID_8859_2, HB_UNITB_8859_2, NUMBER_OF_CHARACTERS, + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "abcdefghijklmnopqrstuvwxyz", + IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; + +HB_CODEPAGE_INIT( HUISOS ) + +#if defined(HB_PRAGMA_STARTUP) + #pragma startup hb_codepage_Init_HUISOS +#elif defined(HB_MSC_STARTUP) + #if _MSC_VER >= 1010 + #pragma data_seg( ".CRT$XIY" ) + #pragma comment( linker, "/Merge:.CRT=.data" ) + #else + #pragma data_seg( "XIY" ) + #endif + static HB_$INITSYM hb_vm_auto_hb_codepage_Init_HUISOS = hb_codepage_Init_HUISOS; + #pragma data_seg() +#endif diff --git a/harbour/source/codepage/cphuwin.c b/harbour/source/codepage/cphuwin.c index 67f4019747..2bb4776a11 100644 --- a/harbour/source/codepage/cphuwin.c +++ b/harbour/source/codepage/cphuwin.c @@ -52,13 +52,13 @@ /* Language name: Hungarian */ /* ISO language code (2 chars): HU */ -/* Codepage: Windows-1250 */ +/* Codepage: Windows-1250 (ntxhu852 compatible) */ #include #include "hbapi.h" #include "hbapicdp.h" -#define NUMBER_OF_CHARACTERS 35 /* The number of single characters in the +#define NUMBER_OF_CHARACTERS 42 /* The number of single characters in the alphabet, two-as-one aren't considered here, accented - are considered. */ #define IS_LATIN 1 /* Should be 1, if the national alphabet @@ -83,10 +83,23 @@ same excepting the characters case, of course. */ +/* NOTE: Several chars have been added above the standard 852 Hungarian + ones to make it 100% compatible with ntxhu852.obj for CA-Cl*pper 5.x. + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ + +/* NOTE: Since there is no possibility in Harbour to have different number + of uppercase and lowercase accented chars, a simple workaround + was used to solve the problem; notice that some uppercase chars + have the same lowercase values. Testing showed that both the + ordering and Lower()/Upper() functions worked alright. + [20070410] [vszakats] */ + static HB_CODEPAGE s_codepage = { "HUWIN", - CPID_1250, UNITB_1250, NUMBER_OF_CHARACTERS, - "ABCDEFGHIJKLMNOPQRSTUVWXYZ", - "abcdefghijklmnopqrstuvwxyz", + HB_CPID_1250, HB_UNITB_1250, NUMBER_OF_CHARACTERS, + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; HB_CODEPAGE_INIT( HUWIN ) diff --git a/harbour/source/codepage/cphuwins.c b/harbour/source/codepage/cphuwins.c new file mode 100644 index 0000000000..cebe0b0053 --- /dev/null +++ b/harbour/source/codepage/cphuwins.c @@ -0,0 +1,111 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * National Collation Support Module (HUWINS) + * + * Copyright 1999-2005 Viktor Szakats + * www - http://www.harbour-project.org + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this software; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, + * Boston, MA 02111-1307 USA (or visit the web site http://www.gnu.org/). + * + * As a special exception, the Harbour Project gives permission for + * additional uses of the text contained in its release of Harbour. + * + * The exception is that, if you link the Harbour libraries with other + * files to produce an executable, this does not by itself cause the + * resulting executable to be covered by the GNU General Public License. + * Your use of that executable is in no way restricted on account of + * linking the Harbour library code into it. + * + * This exception does not however invalidate any other reasons why + * the executable file might be covered by the GNU General Public License. + * + * This exception applies only to the code released by the Harbour + * Project under the name Harbour. If you copy code from other + * Harbour Project or Free Software Foundation releases into a copy of + * Harbour, as the General Public License permits, the exception does + * not apply to the code that you add in this way. To avoid misleading + * anyone as to the status of such modified files, you must delete + * this exception notice from them. + * + * If you write modifications of your own for Harbour, it is your choice + * whether to permit this exception to apply to your modifications. + * If you do not wish that, delete this exception notice. + * + */ + +/* Language name: Hungarian */ +/* ISO language code (2 chars): HU */ +/* Codepage: Windows-1250 (sixhu852 compatible) */ + +#include +#include "hbapi.h" +#include "hbapicdp.h" + +#define NUMBER_OF_CHARACTERS 36 /* The number of single characters in the + alphabet, two-as-one aren't considered + here, accented - are considered. */ +#define IS_LATIN 1 /* Should be 1, if the national alphabet + is based on Latin */ +#define ACCENTED_EQUAL 0 /* Should be 1, if accented character + has the same weight as appropriate + unaccented. */ +#define ACCENTED_INTERLEAVED 0 /* Should be 1, if accented characters + sort after their unaccented counterparts + only if the unaccented versions of all + characters being compared are the same + ( interleaving ) */ + +/* If ACCENTED_EQUAL or ACCENTED_INTERLEAVED is 1, you need to mark the + accented characters with the symbol '~' before each of them, for example: + a~ + If there is two-character sequence, which is considered as one, it should + be marked with '.' before and after it, for example: + ... h.ch.i ... + + The Upper case string and the Lower case string should be absolutely the + same excepting the characters case, of course. + */ + +/* NOTE: / has been added to make it fully compatible with sixhu852.obj for + S*ccessWare SIx Driver. + Moreover the extra chars had to be replicated in the alternative + codepages (WIN, ISO) too, to keep the Harbour codepage translation + work. [vszakats] */ + +static HB_CODEPAGE s_codepage = { "HUWINS", + HB_CPID_1250, HB_UNITB_1250, NUMBER_OF_CHARACTERS, + "ABCDEFGHIJKLMNOPQRSTUVWXYZ", + "abcdefghijklmnopqrstuvwxyz", + IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; + +HB_CODEPAGE_INIT( HUWINS ) + +#if defined(HB_PRAGMA_STARTUP) + #pragma startup hb_codepage_Init_HUWINS +#elif defined(HB_MSC_STARTUP) + #if _MSC_VER >= 1010 + #pragma data_seg( ".CRT$XIY" ) + #pragma comment( linker, "/Merge:.CRT=.data" ) + #else + #pragma data_seg( "XIY" ) + #endif + static HB_$INITSYM hb_vm_auto_hb_codepage_Init_HUWINS = hb_codepage_Init_HUWINS; + #pragma data_seg() +#endif diff --git a/harbour/source/codepage/cpit437.c b/harbour/source/codepage/cpit437.c index c43b49021d..debca099bb 100644 --- a/harbour/source/codepage/cpit437.c +++ b/harbour/source/codepage/cpit437.c @@ -83,7 +83,7 @@ */ static HB_CODEPAGE s_codepage = { "IT437", - CPID_437, UNITB_437, NUMBER_OF_CHARACTERS, + HB_CPID_437, HB_UNITB_437, NUMBER_OF_CHARACTERS, "AAAAABCDEEFGHIIIJKLMNOOOPQRSTUUUVWXYZ", "aabcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpit850.c b/harbour/source/codepage/cpit850.c index 8fc4b003b5..37abfb563d 100644 --- a/harbour/source/codepage/cpit850.c +++ b/harbour/source/codepage/cpit850.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "IT850", - CPID_850, UNITB_850, NUMBER_OF_CHARACTERS, + HB_CPID_850, HB_UNITB_850, NUMBER_OF_CHARACTERS, "AǎBCDEԐFGHIJKLMNOPQRSTUVWXYZ", "aƄbcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpitisb.c b/harbour/source/codepage/cpitisb.c index 5c76bbc9a5..77f84d2951 100644 --- a/harbour/source/codepage/cpitisb.c +++ b/harbour/source/codepage/cpitisb.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ITISB", - CPID_8859_1B, UNITB_8859_1B, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1B, HB_UNITB_8859_1B, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpitiso.c b/harbour/source/codepage/cpitiso.c index 3ca740673c..af60fd60da 100644 --- a/harbour/source/codepage/cpitiso.c +++ b/harbour/source/codepage/cpitiso.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "ITISO", - CPID_8859_1, UNITB_8859_1, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1, HB_UNITB_8859_1, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpltwin.c b/harbour/source/codepage/cpltwin.c index 48a69e9a2b..98302e4bc6 100644 --- a/harbour/source/codepage/cpltwin.c +++ b/harbour/source/codepage/cpltwin.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "LT", - CPID_1257,UNITB_1257,NUMBER_OF_CHARACTERS, + HB_CPID_1257,HB_UNITB_1257,NUMBER_OF_CHARACTERS, "ABCDEFGHIYJKLMNOPQRSTUVWXZ", "abcdefghiyjklmnopqrstuvwxz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cppl852.c b/harbour/source/codepage/cppl852.c index 463fab3636..4324eee4bb 100644 --- a/harbour/source/codepage/cppl852.c +++ b/harbour/source/codepage/cppl852.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "PL852", - CPID_852, UNITB_852, NUMBER_OF_CHARACTERS, + HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cppliso.c b/harbour/source/codepage/cppliso.c index 4000258347..0649b9e6a3 100644 --- a/harbour/source/codepage/cppliso.c +++ b/harbour/source/codepage/cppliso.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "PLISO", - CPID_8859_2, UNITB_8859_2, NUMBER_OF_CHARACTERS, + HB_CPID_8859_2, HB_UNITB_8859_2, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpplmaz.c b/harbour/source/codepage/cpplmaz.c index c6107e688f..71183c2354 100644 --- a/harbour/source/codepage/cpplmaz.c +++ b/harbour/source/codepage/cpplmaz.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "PLMAZ", - CPID_MAZ, UNITB_MAZ, NUMBER_OF_CHARACTERS, + HB_CPID_MAZ, HB_UNITB_MAZ, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpplwin.c b/harbour/source/codepage/cpplwin.c index 319bbab4f8..fd381cd591 100644 --- a/harbour/source/codepage/cpplwin.c +++ b/harbour/source/codepage/cpplwin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "PLWIN", - CPID_1250, UNITB_1250, NUMBER_OF_CHARACTERS, + HB_CPID_1250, HB_UNITB_1250, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cppt850.c b/harbour/source/codepage/cppt850.c index e98c4ae1e1..50db45009a 100644 --- a/harbour/source/codepage/cppt850.c +++ b/harbour/source/codepage/cppt850.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "PT850", - CPID_850, UNITB_850, NUMBER_OF_CHARACTERS, + HB_CPID_850, HB_UNITB_850, NUMBER_OF_CHARACTERS, "AǎBCDEFGHIJKLMNOPQRSTUVWXYZ", "aƄbcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpptiso.c b/harbour/source/codepage/cpptiso.c index d7129d68bc..72613a6a40 100644 --- a/harbour/source/codepage/cpptiso.c +++ b/harbour/source/codepage/cpptiso.c @@ -86,7 +86,7 @@ */ static HB_CODEPAGE s_codepage = { "PTISO", - CPID_8859_1, UNITB_8859_1, NUMBER_OF_CHARACTERS, + HB_CPID_8859_1, HB_UNITB_8859_1, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "abcdefghijklmnopqrstuvwxyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpru866.c b/harbour/source/codepage/cpru866.c index bf657dfb26..8220c2bd10 100644 --- a/harbour/source/codepage/cpru866.c +++ b/harbour/source/codepage/cpru866.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "RU866", - CPID_866, UNITB_866, 32, + HB_CPID_866, HB_UNITB_866, 32, "", "", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/cprukoi.c b/harbour/source/codepage/cprukoi.c index 0352ed70fd..e2a4a69e01 100644 --- a/harbour/source/codepage/cprukoi.c +++ b/harbour/source/codepage/cprukoi.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "RUKOI8", - CPID_KOI_8, UNITB_KOI_8, 32, + HB_CPID_KOI_8, HB_UNITB_KOI_8, 32, "", "", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/cpruwin.c b/harbour/source/codepage/cpruwin.c index ddda18d6ed..79c1a3fb39 100644 --- a/harbour/source/codepage/cpruwin.c +++ b/harbour/source/codepage/cpruwin.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "RU1251", - CPID_1251, UNITB_1251, 32, + HB_CPID_1251, HB_UNITB_1251, 32, "", "", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/cpsl437.c b/harbour/source/codepage/cpsl437.c index 7f82cc1767..e951e694e3 100644 --- a/harbour/source/codepage/cpsl437.c +++ b/harbour/source/codepage/cpsl437.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "SL437", - CPID_437, UNITB_437, NUMBER_OF_CHARACTERS, + HB_CPID_437, HB_UNITB_437, NUMBER_OF_CHARACTERS, "ABC^]D\\EFGHIJKLMNOPQRS[TUVWZ@XY", "abc~}d|efghijklmnopqrs{tuvwz`xy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpsl852.c b/harbour/source/codepage/cpsl852.c index ab4d6d0ce1..470e07cb14 100644 --- a/harbour/source/codepage/cpsl852.c +++ b/harbour/source/codepage/cpsl852.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "SL852", - CPID_852, UNITB_852, NUMBER_OF_CHARACTERS, + HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWZXY", "abcdefghijklmnopqrstuvwzxy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpsliso.c b/harbour/source/codepage/cpsliso.c index 5e4f611ffb..496eabcd01 100644 --- a/harbour/source/codepage/cpsliso.c +++ b/harbour/source/codepage/cpsliso.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "SLISO", - CPID_8859_2, UNITB_8859_2, NUMBER_OF_CHARACTERS, + HB_CPID_8859_2, HB_UNITB_8859_2, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWZXY", "abcdefghijklmnopqrstuvwzxy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpslwin.c b/harbour/source/codepage/cpslwin.c index 456b0a9064..ab3833cbea 100644 --- a/harbour/source/codepage/cpslwin.c +++ b/harbour/source/codepage/cpslwin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "SLWIN", - CPID_1250, UNITB_1250, NUMBER_OF_CHARACTERS, + HB_CPID_1250, HB_UNITB_1250, NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPQRSTUVWZXY", "abcdefghijklmnopqrstuvwzxy", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpsrwin.c b/harbour/source/codepage/cpsrwin.c index 693f699e7c..0cabe85647 100644 --- a/harbour/source/codepage/cpsrwin.c +++ b/harbour/source/codepage/cpsrwin.c @@ -85,7 +85,7 @@ */ static HB_CODEPAGE s_codepage = { "SRWIN", - CPID_1251, UNITB_1251, NUMBER_OF_CHARACTERS, + HB_CPID_1251, HB_UNITB_1251, NUMBER_OF_CHARACTERS, "Āȣˊ͌Ҏ׏", "", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cptrdos.c b/harbour/source/codepage/cptrdos.c index 76ee650ecf..2e168f76f4 100644 --- a/harbour/source/codepage/cptrdos.c +++ b/harbour/source/codepage/cptrdos.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "TR857", - CPID_857,UNITB_857,NUMBER_OF_CHARACTERS, + HB_CPID_857,HB_UNITB_857,NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPRSTUVYZ", "abcdefghijklmnoprstuvyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cptrwin.c b/harbour/source/codepage/cptrwin.c index b6285b62e2..5230444375 100644 --- a/harbour/source/codepage/cptrwin.c +++ b/harbour/source/codepage/cptrwin.c @@ -84,7 +84,7 @@ */ static HB_CODEPAGE s_codepage = { "TRWIN", - CPID_1254,UNITB_1254,NUMBER_OF_CHARACTERS, + HB_CPID_1254,HB_UNITB_1254,NUMBER_OF_CHARACTERS, "ABCDEFGHIJKLMNOPRSTUVYZ", "abcdefghijklmnoprstuvyz", IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL }; diff --git a/harbour/source/codepage/cpua866.c b/harbour/source/codepage/cpua866.c index eb4ae00166..7a6ac271a1 100644 --- a/harbour/source/codepage/cpua866.c +++ b/harbour/source/codepage/cpua866.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "UA866", - CPID_866,UNITB_866,36, + HB_CPID_866,HB_UNITB_866,36, "򆇈I􉊋", "󦧨i", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/cpuakoi.c b/harbour/source/codepage/cpuakoi.c index a9c5601d6a..6aa5e6d4af 100644 --- a/harbour/source/codepage/cpuakoi.c +++ b/harbour/source/codepage/cpuakoi.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "UAKOI8", - CPID_KOI_8,UNITB_KOI_8,36, + HB_CPID_KOI_8,HB_UNITB_KOI_8,36, "峴鶷", "ţɦ", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/cpuawin.c b/harbour/source/codepage/cpuawin.c index 24cfcc2835..a37db5cb14 100644 --- a/harbour/source/codepage/cpuawin.c +++ b/harbour/source/codepage/cpuawin.c @@ -59,7 +59,7 @@ #include "hbapicdp.h" static HB_CODEPAGE s_codepage = { "UA1251", - CPID_1251,UNITB_1251,36, + HB_CPID_1251,HB_UNITB_1251,36, "ŨȲ", "帺賿", 0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; diff --git a/harbour/source/codepage/uc1250.c b/harbour/source/codepage/uc1250.c index 4b808734b4..4d77efc83d 100644 --- a/harbour/source/codepage/uc1250.c +++ b/harbour/source/codepage/uc1250.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9, }; -HB_UNITABLE hb_uniTbl_1250 = { CPID_1250, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_1250 = { HB_CPID_1250, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc1251.c b/harbour/source/codepage/uc1251.c index 0eea36170e..fbbfc7e467 100644 --- a/harbour/source/codepage/uc1251.c +++ b/harbour/source/codepage/uc1251.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x0448, 0x0449, 0x044A, 0x044B, 0x044C, 0x044D, 0x044E, 0x044F, }; -HB_UNITABLE hb_uniTbl_1251 = { CPID_1251, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_1251 = { HB_CPID_1251, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc1253.c b/harbour/source/codepage/uc1253.c index 500cbb3206..4dcda4e1ff 100644 --- a/harbour/source/codepage/uc1253.c +++ b/harbour/source/codepage/uc1253.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x03C8, 0x03C9, 0x03CA, 0x03CB, 0x03CC, 0x03CD, 0x03CE, 0x00FF, }; -HB_UNITABLE hb_uniTbl_1253 = { CPID_1253, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_1253 = { HB_CPID_1253, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc1254.c b/harbour/source/codepage/uc1254.c index 149ab16dbe..7b72ce84e4 100644 --- a/harbour/source/codepage/uc1254.c +++ b/harbour/source/codepage/uc1254.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x0131, 0x015F, 0x00FF }; -HB_UNITABLE hb_uniTbl_1254 = { CPID_1254, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_1254 = { HB_CPID_1254, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc1257.c b/harbour/source/codepage/uc1257.c index 83c36b454b..04b87d149d 100644 --- a/harbour/source/codepage/uc1257.c +++ b/harbour/source/codepage/uc1257.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x0173, 0x0142, 0x015B, 0x016B, 0x00FC, 0x017C, 0x017E, 0x02D9, }; -HB_UNITABLE hb_uniTbl_1257 = { CPID_1257, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_1257 = { HB_CPID_1257, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc737.c b/harbour/source/codepage/uc737.c index e873958fbc..960750adab 100644 --- a/harbour/source/codepage/uc737.c +++ b/harbour/source/codepage/uc737.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_737 = { CPID_737, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_737 = { HB_CPID_737, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc850.c b/harbour/source/codepage/uc850.c index fedf29ec9b..3187459093 100644 --- a/harbour/source/codepage/uc850.c +++ b/harbour/source/codepage/uc850.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_850 = { CPID_850, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_850 = { HB_CPID_850, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc852.c b/harbour/source/codepage/uc852.c index b051ed1279..3ea265c204 100644 --- a/harbour/source/codepage/uc852.c +++ b/harbour/source/codepage/uc852.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x00A8, 0x02D9, 0x0171, 0x0158, 0x0159, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_852 = { CPID_852, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_852 = { HB_CPID_852, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc857.c b/harbour/source/codepage/uc857.c index abc9974d8a..3a6eda84c8 100644 --- a/harbour/source/codepage/uc857.c +++ b/harbour/source/codepage/uc857.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x00A8, 0x00B7, 0x00B9, 0x00B3, 0x00B2, 0x25A0, 0x00A0 }; -HB_UNITABLE hb_uniTbl_857 = { CPID_857, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_857 = { HB_CPID_857, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc866.c b/harbour/source/codepage/uc866.c index eda631c1aa..cb431c9404 100644 --- a/harbour/source/codepage/uc866.c +++ b/harbour/source/codepage/uc866.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x2116, 0x00A4, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_866 = { CPID_866, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_866 = { HB_CPID_866, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc88591b.c b/harbour/source/codepage/uc88591b.c index bc4aed1aa1..90aeafb149 100644 --- a/harbour/source/codepage/uc88591b.c +++ b/harbour/source/codepage/uc88591b.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, }; -HB_UNITABLE hb_uniTbl_8859_1b = { CPID_8859_1B, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_8859_1b = { HB_CPID_8859_1B, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc8859_1.c b/harbour/source/codepage/uc8859_1.c index 45f9d844b3..4201839b2e 100644 --- a/harbour/source/codepage/uc8859_1.c +++ b/harbour/source/codepage/uc8859_1.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00F8, 0x00F9, 0x00FA, 0x00FB, 0x00FC, 0x00FD, 0x00FE, 0x00FF, }; -HB_UNITABLE hb_uniTbl_8859_1 = { CPID_8859_1, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_8859_1 = { HB_CPID_8859_1, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc8859_2.c b/harbour/source/codepage/uc8859_2.c index 2a4e61238d..e0a106a9f0 100644 --- a/harbour/source/codepage/uc8859_2.c +++ b/harbour/source/codepage/uc8859_2.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x0159, 0x016F, 0x00FA, 0x0171, 0x00FC, 0x00FD, 0x0163, 0x02D9, }; -HB_UNITABLE hb_uniTbl_8859_2 = { CPID_8859_2, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_8859_2 = { HB_CPID_8859_2, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uc8859_5.c b/harbour/source/codepage/uc8859_5.c index 358eb3f924..874f1f2f3d 100644 --- a/harbour/source/codepage/uc8859_5.c +++ b/harbour/source/codepage/uc8859_5.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x0458, 0x0459, 0x045A, 0x045B, 0x045C, 0x00A7, 0x045E, 0x045F, }; -HB_UNITABLE hb_uniTbl_8859_5 = { CPID_8859_5, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_8859_5 = { HB_CPID_8859_5, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uckam.c b/harbour/source/codepage/uckam.c index b3c90ef427..bca6cc0035 100644 --- a/harbour/source/codepage/uckam.c +++ b/harbour/source/codepage/uckam.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_kam = { CPID_KAM, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_kam = { HB_CPID_KAM, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uckoi8.c b/harbour/source/codepage/uckoi8.c index f512496328..bfdb28c5b3 100644 --- a/harbour/source/codepage/uckoi8.c +++ b/harbour/source/codepage/uckoi8.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A, }; -HB_UNITABLE hb_uniTbl_KOI_8 = { CPID_KOI_8, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_KOI_8 = { HB_CPID_KOI_8, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/uckoi8u.c b/harbour/source/codepage/uckoi8u.c index a25da48287..28dc96796c 100644 --- a/harbour/source/codepage/uckoi8u.c +++ b/harbour/source/codepage/uckoi8u.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x042C, 0x042B, 0x0417, 0x0428, 0x042D, 0x0429, 0x0427, 0x042A, }; -HB_UNITABLE hb_uniTbl_KOI_8U = { CPID_KOI_8U, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_KOI_8U = { HB_CPID_KOI_8U, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/codepage/ucmaz.c b/harbour/source/codepage/ucmaz.c index 2d14e8742f..6e87b2c3bc 100644 --- a/harbour/source/codepage/ucmaz.c +++ b/harbour/source/codepage/ucmaz.c @@ -90,4 +90,4 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_mazovia = { CPID_MAZ, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_mazovia = { HB_CPID_MAZ, NUMBER_OF_CHARS, FALSE, uniCodes }; diff --git a/harbour/source/compiler/gencobj.c b/harbour/source/compiler/gencobj.c index 1ae5142683..d1bbc1ae53 100644 --- a/harbour/source/compiler/gencobj.c +++ b/harbour/source/compiler/gencobj.c @@ -108,7 +108,7 @@ void hb_compGenCObj( HB_COMP_DECL, PHB_FNAME pFileName ) #else char * pszEnv = NULL; #endif - char * pszCfgFileName = NULL; + char * pszCfgFileName = hb_getenv( "HB_CFG_FILE" ); FILE * filecfg; BOOL bVerbose = FALSE; /* Don't show C compiler messages (default). */ BOOL bDelTmp = TRUE; /* Delete intermediate C file (default). */ @@ -127,8 +127,6 @@ void hb_compGenCObj( HB_COMP_DECL, PHB_FNAME pFileName ) /* Set up things */ - pszCfgFileName = hb_getenv( "HB_CFG_FILE" ); - if( !pszCfgFileName ) { pszCfgFileName = HB_CFG_FILENAME; diff --git a/harbour/source/rtl/cdpapi.c b/harbour/source/rtl/cdpapi.c index 6f4fefce46..1dd98f5478 100644 --- a/harbour/source/rtl/cdpapi.c +++ b/harbour/source/rtl/cdpapi.c @@ -93,9 +93,9 @@ static USHORT uniCodes[NUMBER_OF_CHARS] = { 0x00B0, 0x2219, 0x00B7, 0x221A, 0x207F, 0x00B2, 0x25A0, 0x00A0, }; -HB_UNITABLE hb_uniTbl_437 = { CPID_437, NUMBER_OF_CHARS, FALSE, uniCodes }; +HB_UNITABLE hb_uniTbl_437 = { HB_CPID_437, NUMBER_OF_CHARS, FALSE, uniCodes }; -static HB_CODEPAGE s_en_codepage = { "EN",CPID_437,UNITB_437,0,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; +static HB_CODEPAGE s_en_codepage = { "EN",HB_CPID_437,HB_UNITB_437,0,NULL,NULL,0,0,0,0,0,NULL,NULL,NULL,NULL,0,NULL }; #define HB_CDP_MAX_ 64