From 402ef31cf4c484fed88cd200ed0fc9649c3b0a89 Mon Sep 17 00:00:00 2001 From: Viktor Szakats Date: Tue, 10 Nov 2009 08:21:50 +0000 Subject: [PATCH] 2009-11-10 09:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * src/codepage/cphu852.c + src/codepage/cphu852c.c - src/codepage/cphu852s.c * src/codepage/Makefile * include/hbextcdp.ch * Changed HU852 CP to be the same as HUISO and HUWIN. I kept the extra non-Hungarian char, which makes this CP fully compatible with sixhu852.obj. + Added HU852C which is fully C5.2e compatible, this file was generated by cpinfo using C5.2e Intl + ntxhu852.obj. This may fix some C5.2e incompatibilities that existed in former HU852 CP. - Deleted HU852S, it's now called HU852. ; NOTE: Since there is no 'default' HU852 CP in Harbour I find it ok to provide C5.2e compatible CP by the name 'HU852C'. If this seems bothering to Hungarian users in general, we may think out something. --- harbour/ChangeLog | 19 +++++++++ harbour/include/hbextcdp.ch | 2 +- harbour/src/codepage/Makefile | 2 +- harbour/src/codepage/cphu852.c | 21 +++------- harbour/src/codepage/cphu852c.c | 42 +++++++++++++++++++ harbour/src/codepage/cphu852s.c | 71 --------------------------------- 6 files changed, 68 insertions(+), 89 deletions(-) create mode 100644 harbour/src/codepage/cphu852c.c delete mode 100644 harbour/src/codepage/cphu852s.c diff --git a/harbour/ChangeLog b/harbour/ChangeLog index 408a8d33f9..94c3281a62 100644 --- a/harbour/ChangeLog +++ b/harbour/ChangeLog @@ -17,6 +17,25 @@ past entries belonging to author(s): Viktor Szakats. */ +2009-11-10 09:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) + * src/codepage/cphu852.c + + src/codepage/cphu852c.c + - src/codepage/cphu852s.c + * src/codepage/Makefile + * include/hbextcdp.ch + * Changed HU852 CP to be the same as HUISO and HUWIN. + I kept the extra non-Hungarian char, which makes this CP + fully compatible with sixhu852.obj. + + Added HU852C which is fully C5.2e compatible, this file + was generated by cpinfo using C5.2e Intl + ntxhu852.obj. + This may fix some C5.2e incompatibilities that existed + in former HU852 CP. + - Deleted HU852S, it's now called HU852. + ; NOTE: Since there is no 'default' HU852 CP in Harbour I + find it ok to provide C5.2e compatible CP by the + name 'HU852C'. If this seems bothering to Hungarian + users in general, we may think out something. + 2009-11-10 07:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu) * src/codepage/Makefile * include/hbextcdp.ch diff --git a/harbour/include/hbextcdp.ch b/harbour/include/hbextcdp.ch index 95e489d353..7009e9aca5 100644 --- a/harbour/include/hbextcdp.ch +++ b/harbour/include/hbextcdp.ch @@ -84,7 +84,7 @@ EXTERNAL HB_CODEPAGE_HR437 EXTERNAL HB_CODEPAGE_HR852 EXTERNAL HB_CODEPAGE_HRWIN EXTERNAL HB_CODEPAGE_HU852 -EXTERNAL HB_CODEPAGE_HU852S +EXTERNAL HB_CODEPAGE_HU852C EXTERNAL HB_CODEPAGE_HUISO EXTERNAL HB_CODEPAGE_HUWIN EXTERNAL HB_CODEPAGE_IT437 diff --git a/harbour/src/codepage/Makefile b/harbour/src/codepage/Makefile index f7868531e2..53e1753f85 100644 --- a/harbour/src/codepage/Makefile +++ b/harbour/src/codepage/Makefile @@ -33,7 +33,7 @@ C_SOURCES := \ cphr852.c \ cphrwin.c \ cphu852.c \ - cphu852s.c \ + cphu852c.c \ cphuiso.c \ cphuwin.c \ cpit437.c \ diff --git a/harbour/src/codepage/cphu852.c b/harbour/src/codepage/cphu852.c index 5e34775e52..2c440e99fa 100644 --- a/harbour/src/codepage/cphu852.c +++ b/harbour/src/codepage/cphu852.c @@ -52,27 +52,16 @@ /* Language name: Hungarian */ /* ISO language code (2 chars): HU */ -/* Codepage: 852 (ntxhu852 compatible) */ +/* Codepage: 852 */ -/* 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] */ +/* NOTE: Ž/„ has been added to work like sixhu852.obj for S*ccessWare SIx Driver. [vszakats] */ #define HB_CP_ID HU852 -#define HB_CP_INFO "Hungarian CP-852 (ntxhu852 compatible)" +#define HB_CP_INFO "Hungarian CP-852" #define HB_CP_UNITB HB_UNITB_852 #define HB_CP_ACSORT HB_CDP_ACSORT_NONE -#define HB_CP_UPPER "AµŽBCDEFGHIÖJKLMNO•à™§ŠPQRSTU—隘ëVWXYZ" -#define HB_CP_LOWER "a  „bcde‚fghiĦĦjklmno˘˘”“‹pqrstu££–ûvwxyz" +#define HB_CP_UPPER "AµŽBCDEFGHIÖJKLMNOà™ŠPQRSTUéšëVWXYZ" +#define HB_CP_LOWER "a „bcde‚fghiĦjklmno˘”‹pqrstu£ûvwxyz" /* include CP registration code */ #include "hbcdpreg.h" diff --git a/harbour/src/codepage/cphu852c.c b/harbour/src/codepage/cphu852c.c new file mode 100644 index 0000000000..7b610d1ba6 --- /dev/null +++ b/harbour/src/codepage/cphu852c.c @@ -0,0 +1,42 @@ +/* + * $Id$ + */ + +/* + * Harbour Project source code: + * National Collation Support Module ( HU852C ) + * + * Copyright 2009 Przemyslaw Czerpak + * www - http://www.harbour-project.org + * + * This file is generated automatically by cpinfo.prg + */ +#include "hbapicdp.h" + +#define HB_CP_RAW &s_codePage + +static const unsigned char s_flags[ 256 ] = { 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,6,6,0,6,0,0,0,0,0,10,6,0,10,10,10,10,0,0,6,6,10,6,10,10,10,10,0,0,0,0,0,6,6,6,6,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,10,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,0 }; +static const unsigned char s_upper[ 256 ] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,123,124,125,126,127,128,154,144,131,142,133,134,135,136,137,138,138,140,141,142,143,144,145,146,147,153,149,150,151,152,153,154,155,156,157,158,159,181,214,224,233,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,235,252,253,254,255 }; +static const unsigned char s_lower[ 256 ] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,139,139,140,141,132,143,130,145,146,147,148,149,150,151,152,148,129,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,160,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,161,215,216,217,218,219,220,221,222,223,162,225,226,227,228,229,230,231,232,163,234,251,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255 }; +static const unsigned char s_sort [ 256 ] = { 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,69,70,71,72,74,75,76,77,80,81,82,83,84,85,91,92,93,94,95,96,102,103,104,105,106,107,108,109,110,111,112,113,116,117,118,119,121,122,123,124,126,127,128,129,130,131,136,137,138,139,140,141,146,147,148,149,150,151,152,153,154,155,156,143,120,157,115,158,159,160,161,162,90,135,163,78,68,66,73,164,165,134,133,86,144,97,100,88,99,166,167,168,169,170,114,125,132,142,171,172,173,89,174,175,176,177,178,179,180,181,182,183,184,185,186,67,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,79,219,220,221,222,223,224,225,226,227,87,228,229,230,231,232,233,234,235,98,236,101,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,145,252,253,254,255 }; + +static HB_CODEPAGE s_codePage = +{ + "HU852C", + "Hungarian CP-852 (ntxhu852.obj compatible)", + HB_UNITB_852, + s_flags, + s_upper, + s_lower, + s_sort, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, +}; + +/* include CP registration code */ +#include "hbcdpreg.h" diff --git a/harbour/src/codepage/cphu852s.c b/harbour/src/codepage/cphu852s.c deleted file mode 100644 index ec56151aae..0000000000 --- a/harbour/src/codepage/cphu852s.c +++ /dev/null @@ -1,71 +0,0 @@ -/* - * $Id$ - */ - -/* - * Harbour Project source code: - * National Collation Support Module (HU852S) - * - * Copyright 1999-2007 Viktor Szakats (harbour.01 syenar.hu) - * 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: 852 (sixhu852 compatible) */ - -/* 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] */ - -#define HB_CP_ID HU852S -#define HB_CP_INFO "Hungarian CP-852 (sixhu852 compatible)" -#define HB_CP_UNITB HB_UNITB_852 -#define HB_CP_ACSORT HB_CDP_ACSORT_NONE -#define HB_CP_UPPER "AµŽBCDEFGHIÖJKLMNOà™ŠPQRSTUéšëVWXYZ" -#define HB_CP_LOWER "a „bcde‚fghiĦjklmno˘”‹pqrstu£ûvwxyz" - -/* include CP registration code */ -#include "hbcdpreg.h"