Files
harbour-core/harbour/source/codepage/cppl852.c
Viktor Szakats 6d429e6524 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 08:45:07 +00:00

107 lines
4.4 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/*
* $Id$
*/
/*
* Harbour Project source code:
* National Collation Support Module ( PL852 )
*
* Copyright 2002 Alexander S.Kresin <alex@belacy.belgorod.su>
* www - http://www.harbour-project.org
* Polish collating sequence (PL852) CP852 done by Jacek Kubica <kubica@wssk.wroc.pl>
*
* 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: Polish */
/* ISO language code (2 chars): PL */
/* Codepage: 852 */
#include <ctype.h>
#include "hbapi.h"
#include "hbapicdp.h"
#define NUMBER_OF_CHARACTERS 35 /* 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.
*/
static HB_CODEPAGE s_codepage = { "PL852",
HB_CPID_852, HB_UNITB_852, NUMBER_OF_CHARACTERS,
"A¤BC<EFBFBD>DE¨FGHIJKL<EFBFBD>MNãOàPQRS—TUVWXYZ<EFBFBD>½",
"a¥bc†de©fghijklˆmnäo¢pqrs˜tuvwxyz«¾",
IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL };
HB_CODEPAGE_INIT( PL852 )
#if defined(HB_PRAGMA_STARTUP)
#pragma startup hb_codepage_Init_PL852
#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_PL852 = hb_codepage_Init_PL852;
#pragma data_seg()
#endif