Commit Graph

54 Commits

Author SHA1 Message Date
Viktor Szakats
6fe841c614 2012-10-23 23:33 UTC+0200 Viktor Szakats (harbour syenar.net)
* config/detect.mk
  * contrib/hbct/print.c
  * contrib/hbnf/fttext.c
  * contrib/hbnf/n2color.c
  * contrib/hbnf/tests/clrsel.prg
  * contrib/hbnf/tests/menu1.prg
  * contrib/hbwin/win_tprn.prg
  * doc/en/browse.txt
  * doc/en/compiler.txt
  * doc/en/file.txt
  * doc/en/garbage.txt
  * doc/en/gtslang.txt
  * doc/en/idle.txt
  * doc/en/memo.txt
  * doc/en/misc.txt
  * doc/en/setmode.txt
  * doc/en/string.txt
  * doc/en/terminal.txt
  * doc/gtapi.txt
  * doc/tracing.txt
  * include/filesys.api
  * include/hbapifs.h
  * include/hbsetup.h
  * package/mpkg_win.nsi
  * package/winuni/RELNOTES
  * src/codepage/*.c
  * src/common/hbffind.c
  * src/rtl/gete.c
  * src/rtl/hbgtcore.c
  * src/rtl/isprint.c
  * src/rtl/net.c
  * src/rtl/run.c
  * src/rtl/tlabel.prg
  * src/rtl/treport.prg
  * src/vm/dynsym.c
  * tests/stripem.prg
  * tests/tstgtapi.c
    * various platform related doc cleanups
2012-10-23 21:42:07 +00:00
Viktor Szakats
dec9557b73 2012-07-25 00:30 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/codepage/Makefile
    - deleted HUUTF CP, it caused problems with -shared 
      builds where all CPs got unconditionally linked.
2012-07-24 22:31:14 +00:00
Viktor Szakats
459931c9ab 2012-07-24 16:02 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/codepage/Makefile
  + src/codepage/cphuutf.c
    + added Hungarian collation module in UTF-8. It's an
      experiment and will require low-level changes in the
      CP subsystem, since it is not yet possible to use
      HB_UNITB_UTF8 for HB_CP_UNITB parameter. The idea is
      to make it possible to define collation modules in UTF-8,
      which would in turn allow to drop the link to a specific
      legacy CP, thus allowing to drop the different CP flavours
      of them, then finally simplifying the naming, maintenance
      and usage of these modules. We could also finally call
      them what they are: 'collations' (and not "codepages" like today)
      I understand this may need substantial low-level
      modifications, by doing automatic translation on each
      HVM CP change, etc.

  * ChangeLog
    + added compatibility notes to previous (2012-07-24 15:04 UTC+0200)
      entry

  * src/rtl/langlgcy.prg
    * minor cleanup
2012-07-24 14:06:08 +00:00
Viktor Szakats
0741eef44d 2012-07-23 15:16 UTC+0200 Viktor Szakats (harbour syenar.net)
+ src/codepage/cphe862.c
  + src/codepage/cphewin.c
  - src/lang/msghe862.c
  - src/lang/msghewin.c
  - src/lang/msgsr852.c
  - src/lang/msgsriso.c
  - src/lang/msguados.c
  * ChangeLog
  * include/hbcpage.hbx
  * include/hblang.hbx
  * src/codepage/Makefile
  * src/lang/Makefile
  * src/rtl/langcomp.prg
    + added HE862 and HEWIN codepage modules. Only to for 
      CP conversion, so they do not feature a collation table 
      yet. Please add it.
    + using HE862 and HWIN to dynamically create Hebrew language 
      modules for legacy CPs from UTF-8 one.
    + mapped SR852 and SRISO lang modules to CPs, and deleted
      old modules
    + mapped USDOS lang module to CP and deleted old module
2012-07-23 13:22:23 +00:00
Viktor Szakats
f71c4e0a25 2012-05-16 18:38 UTC+0200 Viktor Szakats (harbour syenar.net)
* src/rtl/hbgtcore.c
  * src/rtl/rat.c
  * src/codepage/cp_utf8.c
    % deleted unnecessary assignment generating warnings with 
      some compilers
2012-05-16 16:39:24 +00:00
Przemyslaw Czerpak
93d3a46d84 2012-04-20 17:52 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbdefs.h
    * moved HB_WCHAR definition from hbapicdp.h to hbdefs.h

  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for custom sorting redirected from HVM
    + added support for custom character indexes in strings
    + added support for custom character flags (upper, lower, alpha, digit)
    + added support for custom upper/lower conversions
    + added support for CPs using unicode character values instead of
      ASCII ones
    + added new CP functions which respects custom CP settings:
        hb_cdpUpperWC(), hb_cdpTextLen(), hb_cdpTextPos(),
        hb_cdpTextPosEx(), hb_cdpTextGetU16(), hb_cdpTextPutU16(),
        hb_cdpCharEq(), hb_cdpCharCaseEq()
    + added new conversion functions:
        hb_cdpGetUC(), hb_cdpGetWC(), hb_cdpGetU16Ctrl()
    + added macros to detect codepage parameters:
         HB_CDP_ISBINSORT() - codepage uses simple binary sorting
         HB_CDP_ISCUSTOM()  - codepage uses custom string decoding
         HB_CDP_ISCHARIDX() - codepage use character indexes instead
                              of bytes ones
         HB_CDP_ISCHARUNI() - CHR(), ASC() and similar functions operates
                              on Unicode values instead of bytes
         HB_CDP_ISUTF8()    - codepage uses UTF-8 encoding

  * harbour/include/inkey.ch
    - removed HB_INKEY_EXTENDED - it was not used in Harbour
    + added new flag HB_INKEY_EXT - it allows to used different
      event encoding system with automatic translation to
      standard Clipper values. It will be used in the future
      as base for low level GTs code. Now it's possible to
      selectively switch to the new system. New codes are
      unique and do not interacts with Clipper.
    + added HB_INKEY_ALL macro - it's similar to INKEY_ALL but
      enables also GTEVENT keys.

  * harbour/include/hbgtcore.h
  * harbour/src/rtl/hbgtcore.c
    * changed character values in internal screen buffer to unicode.
      Warning: this modification interacts with SAVESCREE()/RESTSCREEN()
               data. Now all GTs uses extended definition. If somene
               has code which needs VGA like screen buffers returned
               by SAVESCREE() then it can be forced by
                  hb_gtInfo( HB_GTI_COMPATBUFFER, .t. )
               Anyhow it will for to use only one CP in output.
    + added new GT methods which operated on HB_WCHAR values
    * modified existing methods using HB_WCHAR/HB_USHORT parameters
      to operate on HB_WCHAR values
    + added codepage conversion code directly to core code so it can
      be eliminated from low level GT drivers which do not need some
      special operations on it.
    + added support for extended inkey codes, they allow to encoded
      unicode values, mouse events with flags, keyboard events with
      modifier flags (shift,alt,ctrl,...), etc.
      Now in low level GT code only unicode key values are used but
      I plan to updated all GTs and switch to new code - it should
      resolve many small problems inheriting with Clipper inkey codes.

  * harbour/include/hbapifs.h
    * moved hb_fsNameConvU16() definition from hbapicdp.h to hbapifs.h

  * harbour/include/hbxvm.h
    - removed comment copied by mistake from GT header file

  * harbour/include/hbwinuni.h
    * changed HB_CHARDUP() and HB_CHARDUPN() macros - now they
      operate on functions which can be used without active HVM.
      In such case ANSI CP is used as source encoding.
    + added new macros: HB_OSSTRDUP() and HB_OSSTRDUP2().
      They make conversions from OS encoding to HVM one.
      They can be used without active HVM and in such case ANSI CP
      is used as destination encoding.

  * harbour/include/hbapi.h
  * harbour/src/vm/cmdarg.c
    + added new function hb_cmdargProgName()
      It returns application name with path or NULL if not set,
      caller must free returned value with hb_xfree() if not NULL.
      The string is in HVM encoding so it does not need any additional
      encodings.
    * modified hb_cmdargString() to return strings in HVM encoding.
    % some small code optimizations
    ; NOTE: parameters passed to MS-WINDOWS GUI programs which use
            WinMain() instead of main() as startup entry are translated
            to ANSICP before they can be accessed by application.
            This can be eliminated though not for console programs
            using where C compiler makes such translation to main()
            parameters.
            in all systems parameters are passed to application
            startup and init functions before programmer can set OS CP.
            This can be resolved by adding:
               INIT PROC CLIPINIT()
                  SET( _SET_CODEPAGE, <userCP> )
                  SET( _SET_OSCODEPAGE, <systemCP> )
               RETURN
            to linked code. INIT procedures called CLIPINIT() are
            executed before any other ones.

  * harbour/include/hbapi.h
  * harbour/src/vm/set.c
    + added new functions for CP converisons which can be used with
      and without active HVM:
         hb_osStrEncode(), hb_osStrEncodeN(),
         hb_osStrDecode(), hb_osStrDecode2(),
         hb_osStrU16Encode(), hb_osStrU16EncodeN(),
         hb_osStrU16Decode(), hb_osStrU16Decode2(),

  * harbour/include/hbvm.h
  * harbour/src/vm/hvm.c
    + added new function hb_vmIsReady() - it's similar to hb_vmActive()
      but it also checks if current thread has active HVM stack.
    * moved hb_cdpReleaseAll() to the end of HVM cleanup code so
      CP conversions are longer active.

  * harbour/include/hbcomp.h
  * harbour/src/compiler/cmdcheck.c
  * harbour/src/compiler/hbusage.c
  * harbour/src/common/expropt2.c
    + added new compiler switch:
         -ku  - strings in user encoding
      Now it informs compiler that strings use custom encoding so some
      optimizations which are byte oriented cannot be used.
      It's possible that in the future we will change above definition
      to sth like: "strings in UTF8 encoding" but now I would like to
      keep more general.

  * harbour/src/vm/macro.c
    * inform macrocompiler about custom CPs using own character indexes
      to disable byte oriented optimizations.

  * harbour/include/hbapigt.h
  * harbour/src/rtl/gtapi.c
  * harbour/src/rtl/inkeyapi.c
    + added HB_B_*_W macros with unicode box character definitions
    + added HB_MBUTTON_* macros
    + added new GT functions: hb_gtHostCP() and hb_gtBoxCP() which
      allows to extract CPs used in translations by GTs.
    + added new function hb_inkeyKeyString() - it converts inkey value
      to corresponding string
    + added new function hb_inkeyKeyStd() - it converts new extended
      key value to standard Clipper one.

  * harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    * moved OS codepage translations fully to hb_fsFind*() functions.
      It fixes few problems which existed before, i.e. double CP
      conversions in MS-Windows builds and simplifies upper level code.

  * harbour/src/pp/hbpp.c
  * harbour/src/rtl/direct.c
  * harbour/src/rtl/fssize.c
  * harbour/src/rtl/file.c
  * harbour/contrib/hbct/files.c
    * eliminated not longer necessary CP conversions in code calling
      hb_fsFind*() functions.

  * harbour/src/common/hbgete.c
    * moved OS codepage translations to hb_getenv(), hb_getenv_buffer()
      and hb_setenv() functions. It fixes few problems which existed
      before, i.e. double CP conversions in MS-Windows builds and
      simplifies upper level code.

  * harbour/src/rtl/net.c
  * harbour/src/rtl/gete.c
    * eliminated not longer necessary CP conversions in code calling
      hb_getenv()/hb_setenv() functions.
    ; NOTE: additional parameters in HB_GETENV() and HB_SETENV() which
            disabled CP conversions are not longer supported.
            They were strictly platform dependent and ignored in chosen
            cases (i.e. in MS-Windows UNICODE builds we always have to
            convert strings transferred between HVM and OS. If someone
            needs old functionality for other platform then he should
            temporary disable _SET_OSCODEPAGE.

  * harbour/src/common/hbver.c
  * harbour/src/common/hbfsapi.c
  * harbour/src/rtl/fstemp.c
  * harbour/src/rtl/fslink.c
    * eliminated HB_TCHAR_*() macros

  * harbour/src/common/strwild.c
    + added supprot for custom CPs using own character indexes in:
         hb_strMatchWild(),
         hb_strMatchWildExact(),
         hb_strMatchCaseWildExact()

  * harbour/src/nortl/nortl.c
    + added new dummy function replacement for binaries which are not
      linked with HVM.

  * harbour/src/rtl/filesys.c
    ! fixed double CP conversions in MS-Windows builds of hb_fsCurDirBuff()
    * use hb_vmIsReady() instead of hb_stackId() in file name conversions.
    * use hb_cmdargProgName() in hb_fsBaseDirBuff()

  * harbour/src/rtl/philes.c
    * use hb_cmdargProgName() in HB_PROGNAME() function.

  * harbour/src/rtl/gtcgi/gtcgi.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtos2/gtos2.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtwvt/gtwvt.h
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtsln/gtsln.h
  * harbour/src/rtl/gtxwc/gtxwc.h
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/gtwvg.h
  * harbour/contrib/gtalleg/gtalleg.c
  * harbour/contrib/hbqt/gtqtc/gtqtc.cpp
  * harbour/contrib/hbqt/gtqtc/gtqtc.h
    * updated to work with new unicode GT API
      please make tests with different GTs - I'm not able to test
      all of them, i.e. I do not have any OS2 machine.

  * harbour/src/rtl/box.c
  * harbour/src/rtl/oldbox.c
  * harbour/src/rtl/scroll.c
  * harbour/src/rtl/console.c
    * updated to work with new unicode GT API and
      CPs using custom character indexes

  * harbour/src/rtl/at.c
  * harbour/src/rtl/ati.c
  * harbour/src/rtl/rat.c
  * harbour/src/rtl/len.c
  * harbour/src/rtl/transfrm.c
  * harbour/src/rtl/left.c
  * harbour/src/rtl/right.c
  * harbour/src/rtl/substr.c
  * harbour/src/rtl/stuff.c
  * harbour/src/rtl/padc.c
  * harbour/src/rtl/padl.c
  * harbour/src/rtl/padr.c
    * updated to work with CPs using custom character indexes

  * harbour/src/rtl/chrasc.c
    + added support for HB_CDP_ISCHARUNI() CPs.

  * harbour/src/rtl/mlcfunc.c
    * rewritten from scratch to work with CPs using custom character
      indexes

  * harbour/src/rtl/accept.c
    * updated to work with unicode inkey values and
      CPs using custom character indexes

  * harbour/src/rtl/strmatch.c
    % small optimization

  * harbour/src/rtl/Makefile
  + harbour/src/rtl/chruni.c
    + added new PRG functions which allows to make byte/binary and
      unicode/character operations on strings:
         HB_UCHAR( <nCode> ) -> <cText>
            return string with U+nCode character in HVM CP encoding
         HB_BCHAR( <nCode> ) -> <cText>
            return 1 byte string with <nCode> value
         HB_UCODE( <cText> ) -> <nCode>
            return unicode value of 1-st character (not byte) in given string
         HB_BCODE( <cText> ) -> <nCode>
            return value of 1-st byte in given string
         HB_ULEN( <cText> ) -> <nChars>
            return string length in characters
         HB_BLEN( <cText> ) -> <nBytes>
            return string length in bytes
         HB_UPEEK( <cText>, <n> ) -> <nCode>
            return unicode value of <n>-th character in given string
         HB_BPEEK( <cText>, <n> ) -> <nCode>
            return value of <n>-th byte in given string
         HB_UPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th character in given string to unicode <nVal> one and
            return modified text
         HB_BPOKE( [@]<cText>, <n>, <nVal> ) -> <cText>
            change <n>-th byte in given string to <nVal> and return modified
            text

  * harbour/src/rtl/hbdoc.prg
  * harbour/src/rtl/memvarhb.prg
    * use HB_BCHAR() for binary string definitions

  * harbour/src/rtl/hbi18n2.prg
    * use hb_utf8CHR( 0xFEFF ) instead of hardcoded binary sting and
      HB_BLEN() instead of LEN()

  * harbour/src/rtl/inkey.c
    + added new functions:
         HB_KEYCHAR( <nKey> ) -> <cChar>
         HB_KEYSTD( <nExtKey> ) -> <nClipKey>
    ! use HB_INKEY_ALL instead of INKEY_ALL in LASTKEY()

  * harbour/src/rtl/achoice.prg
  * harbour/src/rtl/browse.prg
  * harbour/src/rtl/menuto.prg
  * harbour/src/rtl/tgetlist.prg
  * harbour/src/rtl/teditor.prg
  * harbour/src/rtl/tlabel.prg
  * harbour/src/rtl/tpopup.prg
  * harbour/src/rtl/radiobtn.prg
  * harbour/src/rtl/radiogrp.prg
  * harbour/src/rtl/wait.prg
    * updated to work with unicode inkey() values

  * harbour/src/rtl/listbox.prg
    * use box.ch macros instead of explicit CHR(...) definitions

  * harbour/src/rtl/ttopbar.prg
    * updated to work with different type of CPs

  * harbour/src/rtl/scrollbr.prg
    * formatting

  * harbour/src/rtl/mouse53.c
    * use HB_MBUTTON_* macros instead of local ones

  * harbour/src/codepage/cp_utf8.c
  + harbour/src/codepage/uc16def.c
  + harbour/src/codepage/utf8sort.c
    * replaced UTF8ASC with new CP: UTF8EX
      This CP uses character indexes instead of bytes one
      and operates on unicode characters flags.
      Tables for upper/lower conversions and upper/lower/alpha/digit
      flags were generated automatically from
         http://www.unicode.org/Public/UNIDATA/UnicodeData.txt
      It also uses custom collation rules. It's very simple one
      level sorting based on UTF8 C collation.
      If someone needs some advanced sorting rules, then it's enough
      to create copy of this cp with user custom version of UTF8_cmp()
      and UTF8_cmpi() functions, i.e. they can be redirected to some
      external library like ICU (icu-project.org).

  * harbour/contrib/hbct/ctwin.c
  * harbour/contrib/hbct/ctwin.h
  * harbour/contrib/hbct/ctwfunc.c
    * added support for new unicode GT API

  * harbour/contrib/xhb/xhbfunc.c
    * redirected HB_CMDARGARGV() to HB_PROGNAME()

  * harbour/contrib/hbnf/origin.c
    * redirected FT_ORIGIN() to HB_PROGNAME()

  * harbour/contrib/hbnf/getenvrn.c
    ! windows version of FT_GETE() fully rewritten - it should
      fix well known problems reported to the devel list. Please test.
    % small optimization for other systems

  * harbour/contrib/hbfship/exec.c
    * use hb_cmdargProgName() in EXECNAME()

  + harbour/tests/uc16_gen.prg
    + added code which generates tables with unicode character flags
      from http://www.unicode.org/Public/UNIDATA/UnicodeData.txt.
      harbour/src/codepage/uc16def.c was generated by this code.

  * harbour/tests/inkeytst.prg
  * harbour/tests/wvtext.prg
  * harbour/tests/gtkeys.prg
    * use HB_INKEY_ALL

  * harbour/include/harbour.hbx
  * harbour/include/hbcpage.hbx
  * harbour/include/hblang.hbx
    * regenerated

   ; It was quite big peace of modifications and for sure not everything
     is well tested so please make test and report problems you will find.
   ; This is basic version which introduce to HVM CPs with custom encodings.
     Some contrib code has to be updated to work correctly with it.
     I hope that developers interesting in will make necessary updates.
     I haven't touched GTWVW code at all - sorry but it needs very serious
     work to make it production ready and fix all existing problems.
   ; Special thanks to OTC - this firm sponsored adding basic UTF8 support
     to HVM.
2012-04-20 15:55:44 +00:00
Przemyslaw Czerpak
629db6e812 2012-04-05 16:13 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbapifs.h
  * harbour/src/common/hbffind.c
    ! fixed potential freeing uninitialized handlers on some platforms
    * hide private members 

  * harbour/src/codepage/Makefile
  * harbour/include/hbcpage.hbx
  + harbour/src/codepage/cp950.c
  + harbour/src/codepage/cp_950.c
    + added new Harbour codepage "CP950". It's similar to BIG5 and
      used by MS-Windows. Please test and inform me if you can replace
      BIG5 in your applications with CP950 without any problems.

  * harbour/contrib/hbnf/hbnf.hbx
    + added FT_IDLE()
2012-04-05 14:13:51 +00:00
Przemyslaw Czerpak
01ac7b81ff 2012-03-20 19:32 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/codepage/cp_big5.c
    ! minor typo in information message
2012-03-20 18:32:31 +00:00
Przemyslaw Czerpak
bfe075abbc 2012-03-20 19:26 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/include/hbcdpreg.h
    + added few macros for extended CP definition

  * harbour/src/codepage/cp_big5.c
  * harbour/src/codepage/cp_utf8.c
  * harbour/src/codepage/cp_u16le.c
    * updated macros for CP definition

  * harbour/tests/big5_gen.prg
    % added small improvement in code hashing character
      translation tables so they are a little bit smaller

  * harbour/src/codepage/big5.c
    * regenerated
2012-03-20 18:26:41 +00:00
Przemyslaw Czerpak
72070c09a0 2012-03-20 19:14 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/codepage/cp_utf8.c
    ! added if() statement missing in previous commit
2012-03-20 18:15:04 +00:00
Przemyslaw Czerpak
de28a00d37 2012-03-20 19:06 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
  * harbour/src/codepage/cp_utf8.c
    * slightly modified algorithms for decoding UTF8 characters to work
      better with broken UTF8 strings (i.e. to not eat characters after
      broken and unclosed multibyte one)
    * some minor improvements in HB_UTF8STUFF()
    * formating
2012-03-20 18:06:41 +00:00
Viktor Szakats
1b4008723b 2012-01-06 16:13 UTC+0100 Viktor Szakats (harbour syenar.net)
* ChangeLog
  * (whole tree)
    * changed e-mail address
2012-01-06 15:28:23 +00:00
Viktor Szakats
7ad3481808 2011-12-24 03:32 UTC+0100 Viktor Szakats (harbour syenar.hu)
* ChangeLog
  * (whole tree)
    * removed obsolete antispam measure from my e-mail address
2011-12-24 02:47:24 +00:00
Przemyslaw Czerpak
20b5875721 2011-05-27 19:04 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/codepage/Makefile
  + harbour/src/codepage/uc858.c
    + added CP858 - basically it's CP850 but contains EURO SIGN (U+20AC) at position 0xD5
      instead of Turkish dotless-i (U+0131)
2011-05-27 17:04:24 +00:00
Przemyslaw Czerpak
6c9f24b811 2011-05-20 17:11 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtwvt/gtwvt.c
    ! update font metrics after HB_GTI_FONTSIZE also when window is not
      active yet - without it all other calculations are broken

  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
    * add some missing codes which are not officially defined but
      MS-Windows uses them - I've just check it reading unicode values
      from some fonts.
      It also look that some fonts have VGA glyphs attached only to control
      values at range 0-31 without their real Unicode representation. It's
      the reason why they are not shown in GTWVT UNICODE builds. Pritpal
      reported such problem recently.
      This can be quite easy resolved by replacing hb_cdpGetU16Disp()
      with hb_cdpGetU16() in gtwvt.c but it may cause that we lost control
      characters in some other fonts. I would like to ask MS-Windows users
      to makes some tests with such modified GTWVT and check if control
      code are well shown with different fonts. If not then we can add
      HB_GTI_* switch to enable/disable control codes to unicode values
      translation.
2011-05-20 15:11:19 +00:00
Przemyslaw Czerpak
6b92949b7d 2011-05-17 15:40 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/xhb/hboutdbg.c
  * harbour/contrib/xhb/xhbfunc.c
    ! use 'hb_cmdargARGVN( 0 )' instead of 'hb_cmdargARGV()[ 0 ]' to avoid
      GPF when no arguments are initialized

  * harbour/contrib/hbwin/hbolesrv.hbc
    * use {allmingw} instead of {mingw} macro for MinGW64 builds

  * harbour/src/codepage/Makefile
  * harbour/src/codepage/uc646_yu.c
  + harbour/src/codepage/uc646yuc.c
  * harbour/include/hbapicdp.h
    + added JUS I.B1.003 - Cyrillic script variant of ISO-646-YU
      for Serbian and Macedonian language

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cpsr646.c
  + harbour/src/codepage/cpsr646c.c
  * harbour/include/hbcpage.hbx
    + added SR646 and SR646C Harbour codeapges.
      Both code pages uses the same 8-bit representation but different
      unicode values - SR646 uses Latin script and SR646C Cyrillic script.
      It means that it's useless to make any translations between SR646
      and SR646C because both versions uses the same ASCII values but they
      can help in translation to other encodings or CPs, i.e. to convert
      some Serbian text in one of the above CPs to Latin letters in UTF8
      encoding then it's enough to make:
         hb_strToUTF8( <cText>, "SR646" ) -> <cUtf8LatinText>
      and for conversion to UTF8+Cyrillic:
         hb_strToUTF8( <cText>, "SR646C" ) -> <cUtf8CyrillicText>
2011-05-17 13:40:56 +00:00
Przemyslaw Czerpak
f778c9be7c 2011-05-09 18:48 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/memofile.c
    % eliminated two call to hb_fsSeek() and one hb_fsRead() from
      non *nix version of MEMOREAD() function
    ! do not write final EOF character if write failed in MEMOWRIT()
      function
    ; TOFIX: In *nixes support for EOF character in MEMOREAD() and
             MEMOWRITE() is disabled by default - IMHO it's wrong
             because it's not possible to use these functions to exchange
             safely data with CA-Cl*pper applications or even DOS/Windows
             versions of Harbour applications.

  * harbour/src/rtl/hbcom.c
    * replaced infinite waiting for reading/writing from/to serial port
      in *nix builds with loops checking periodically (once per second)
      for HVM events (i.e. thread interrupting).

  * harbour/src/codepage/uc88591b.c
    * converted hex digit to uppercase

  * harbour/contrib/hbwin/win_dlg.c
    + added support for setting default file name in
      WIN_GETOPENFILENAME() and WIN_GETSAVEFILENAME() functions:
         WIN_GETOPENFILENAME( [[@]<nFlags>], [<cTitle>], [<cInitDir>],
                              [<cDefExt>], [<acFilter>], [[@]<nFilterIndex>],
                              [<nBufferSize>], [<cDefName>] )
            -> <cFilePath> |
               <cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] |
               ""
         WIN_GETSAVEFILENAME( [[@]<nFlags>], [<cTitle>], [<cInitDir>],
                              [<cDefExt>], [<acFilter>], [[@]<nFilterIndex>],
                              [<nBufferSize>], [<cDefName>] )
            -> <cFilePath> |
               <cPath> + e"\0" + <cFile1> [ + e"\0" + <cFileN> ] |
               ""
2011-05-09 16:49:15 +00:00
Przemyslaw Czerpak
30a8610407 2011-04-13 11:07 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/rtl/cdpapihb.c
    + added support for user defined character encoding.
      Now it's possible to easy create and register in HVM CPs using any
      encoding so I expected that users interested in adding support for
      some exotic character encoding will create such mapping instead
      of asking for it.
    % moved support for codepages using multibyte characters mapped to
      single unicode values to user defined encoding - it nicely simplify
      the code and eliminate unnecessary overhead in other CPs.
    * allow to chose UTF8 as HVM CP

  * harbour/src/rtl/idle.c
    ! fixed idle mode flag resetting

  * harbour/src/rdd/hbsix/sxutil.c
    ! fixed SX_SLIMFAST() results when nested quoting with (") and (') is
      used

  + harbour/tests/big5_gen.prg
    + added code to generate C source with conversion tables between
      BIG5 and UCS16 using data defined by Unicode, Inc. in BIG5.TXT

  + harbour/src/codepage/cp_utf8.c
    + added alternative UTF8 Harbour CP (UTF8ASC) as an example Harbour
      user defined codapged using multibyte character encoding

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cp_u16le.c
    + added Harbour codepage using UTF16 little endian encoding

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/big5.c
  + harbour/src/codepage/cp_big5.c
    + added BIG5 Harbour CP. It can be used with programs using Harbour
      STR API with automatic translations.
    ; This CP needs really big translation tables. I added code which
      makes some very simple compression which reduced raw size from
      176100 bytes to 77354 but it's still large 77KB so maybe we should
      think about moving this CP to other Harbour codpage library which
      is not part of harbour shared library harbour*{.dll|.so|.dyn|...}
      Alternatively I can try to reduce static size to about 30KB and
      then build necessary tables dynamically at runtime when they are
      used first time though in such case I will need additional 177KB
      of dynamic memory instead of 77KB of static memory used by current
      code.
2011-04-13 09:07:47 +00:00
Przemyslaw Czerpak
528fda3770 2011-04-10 12:43 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    * removed fCtrl parameter from hb_cdp*() functions. It was used only
      in very specific case for GT output translations to show characters
      with ASCII codes in range < 0x00 : 0x1F > as corresponding CGA/EGA/VGA
      glyphs and was not necessary in normal conversions
    + added new function for character translation in GT output operations:
      hb_cdpTranslateDispChar(), hb_cdpGetU16Disp(),hb_cdpStrToUTF8Disp()
    * some small fixes, simplifications and improvements in CDP translation
      code

  * harbour/src/vm/strapi.c
  * harbour/src/rtl/cdpapihb.c
  * harbour/src/rtl/hbjson.c
  * harbour/contrib/hbexpat/internal.c
    * removed not longer necessary parameter from hb_cdp*() functions

  * harbour/src/rtl/gtdos/gtdos.c
  * harbour/src/rtl/gtwin/gtwin.c
  * harbour/src/rtl/gtxwc/gtxwc.c
  * harbour/src/rtl/gtcrs/gtcrs.c
  * harbour/src/rtl/gtstd/gtstd.c
  * harbour/src/rtl/gttrm/gttrm.c
  * harbour/src/rtl/gtsln/gtsln.c
  * harbour/src/rtl/gtsln/kbsln.c
  * harbour/src/rtl/gtpca/gtpca.c
  * harbour/src/rtl/gtwvt/gtwvt.c
  * harbour/contrib/gtwvg/gtwvg.c
  * harbour/contrib/gtwvg/wvggui.c
    * use hb_cdp*Disp() functions instead of old ones with fCtrl=HB_TRUE
      parameter
    * removed not longer necessary fCtrl parameter from other hb_cdp*()
      functions

  * harbour/src/codepage/uc646_yu.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_6.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/ucnext.c
    * removed not longer necessary unicode codes in range < 0x00 : 0x1F >
      Now it's possible to define additional characters in this range though
      I suggest to not use edit/flow control codes (BEL, BS, TAB, LF, CR,
      XON, XOFF)

  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1026.c
    * restored EBCDIC control codes
2011-04-10 10:44:45 +00:00
Przemyslaw Czerpak
726dc18996 2010-12-05 10:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cpcskamc.c
  * harbour/src/codepage/cpskkamc.c
    * replaced binary tables used to create CSKAMC and SKKAMC with
      human readable definition using HB_CDP_CSSORT_MIXED
2010-12-05 09:51:16 +00:00
Viktor Szakats
514c3a2d00 2010-12-02 14:41 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/harbour.hbx
  * include/hbsocket.h
  * src/rtl/hbsocket.c
  * src/rtl/hbinet.c
  * src/rtl/hbsockhb.c
    + Added hb_socketSetExclusiveAddr() on .c level.
    + Added hb_socketSetExclusiveAddr() on .prg level.
    * hb_socketSetReuseAddr() cleaned from SO_EXCLUSIVEADDRUSE (Windows-only)
      logic.
    * Changed HB_INETSERVER(), HB_INETDGRAMBIND() to call
      hb_socketSetExclusiveAddr()(). We may delete these if they
      cause problems on some Windows platforms, though we must
      absolutely use this option (for security reasons) in every
      server component, if Windows host supports it.
    ; TODO: Call hb_socketSetExclusiveAddr() from hbnetio server,
            hbhttpd server.

  * include/hbcpage.hbx
  * src/codepage/Makefile
  + src/codepage/cpcs852c.c
  * src/codepage/cpsk852c.c
  - src/codepage/cpcskam.c
  + src/codepage/cpcskamc.c
  - src/codepage/cpskkam.c
  + src/codepage/cpskkamc.c
    ! Fixed SK852C to be fully Clipper compatible. (generated with cpinfo)
    ! Added Clipper compatible CS852C CP. (generated with cpinfo)
    * SK/CS Kamenicky CP moved to Clipper compatibility status.
      Updated to be Clipper compatible. (generated with cpinfo)
      INCOMPATIBLE. Pls update CP names if you used these.
      Thanks to Jaroslav Janik for the help.
      Please test all these.
2010-12-02 13:44:51 +00:00
Przemyslaw Czerpak
a75f57da55 2010-12-02 11:19 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cpcs852.c
  * harbour/src/codepage/cpcskam.c
  * harbour/src/codepage/cpcsiso.c
  * harbour/src/codepage/cpcswin.c
    ! switched from HB_CDP_ACSORT_INTERLEAVED to HB_CDP_ACSORT_NONE in
      Czech code pages.

  * harbour/config/win/bcc.mk
    * disable explicitly some common BCC warnings in 3rd party code
      which we can safely ignore when HB_BUILD_WARN=no

  * harbour/utils/hbmk2/hbmk2.prg
    * disable explicitly some common BCC warnings which we can safely
      ignore when warning level is set to low

  * harbour/contrib/hbmisc/bbabble.c
    * removed unnecessary incrementation to pacify compile warning
2010-12-02 10:20:06 +00:00
Przemyslaw Czerpak
85d282c49c 2010-11-29 15:47 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cpsk852.c
  * harbour/src/codepage/cpskiso.c
    ! fixed typo in CP declaration:
      HB_CDP_ACSORT_INTERLEAVED -> HB_CDP_ACSORT_NONE
2010-11-29 14:47:50 +00:00
Viktor Szakats
ce4b9a2fc2 2010-11-28 10:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
+ config/hbc.cfg
    + Added .c source formatter config file for uncrustify source code formatter, 
      tailored to mimic Harbour C formatting style.
        http://uncrustify.sourceforge.net/
      This tool looks very promising to save manual formatting time.
      (in our case it's useful for new code, existing code is mostly 
      quite well formatted in most parts)
    ; WARNING: The config is currently at experimental stage (IOW it's
               not perfect), so don't use it to format any existing 
               Harbour source, but you may try it with your local source
               which you want to submit or see how would it look in 
               Harbour-style.

  * contrib/hbtip/url.prg
    ! Fixed to store passed url in :cAddress VAR.
      Like with most Harbour OOP code, this simple change may
      introduce hard-to-detect imcompatibility,
      so check your code.

  - contrib/rddbm/rddbmcdx.hbp
  + contrib/rddbm/rddbm.hbp
  - contrib/rddbm/rddbmcdx.hbc
  + contrib/rddbm/rddbm.hbc
    ! Renamed too.

  * src/codepage/cpsk852.c
  * src/codepage/cpskiso.c
  * src/codepage/cpskwin.c
    * Trying to add digraphs. (doesn't work here, but can't find out why)
    ; TODO: Update Kamenicky. (can't even do it with hb_translate(),
            as it's messed up the first time I edit it.
    ; TODO: Apply final fixes to CS CPs.

  * contrib/sddoci/sddoci.hbp
    + Added support for implib creation for win x64 targets.

  * package/winuni/RELNOTES
    * OCILIB version update.

  * contrib/rddbm/bmdbfcdx.c
  * contrib/hbhttpd/core.prg
  * contrib/hbhttpd/widgets.prg
    * Formatting.
2010-11-28 09:44:40 +00:00
Przemyslaw Czerpak
a7d39e1c3f 2010-11-21 13:53 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbcpage.hbx
  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cpskkam.c
    * restored SKKAM CP - rebuilt automatically from SKISO using
      hb_translate() function.
2010-11-21 12:53:29 +00:00
Viktor Szakats
a3514c8ca1 2010-11-21 12:39 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcpage.hbx
  - src/codepage/cpskkam.c
  * src/codepage/Makefile
    - Deleted SKKAM codepage. (I couldn't edit/view it anyways)
2010-11-21 11:40:34 +00:00
Viktor Szakats
57d7a2ab2d 2010-11-21 00:20 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbcpage.hbx
  * src/codepage/Makefile
  + src/codepage/cpsk852c.c
    + Added Clipper compatible Slovak collation.

  * src/codepage/cpsk852.c
  * src/codepage/cpskkam.c
  * src/codepage/cpskiso.c
  * src/codepage/cpskwin.c
    ! Fixed Slovak collation.
    ; INCOMPATIBLE: All users using any of the above codepages will
                    have to reindex.

  ; Thanks to Julius Bartal for sorting it out.
2010-11-20 23:22:27 +00:00
Mindaugas Kavaliauskas
7ff7dd1703 2010-11-18 14:42 UTC+0300 Mindaugas Kavaliauskas (dbtopas/at/dbtopas.lt)
+ harbour/include/hbjson.h
    + added missing include file

  * harbour/include/hbjson.c
    * deleted comment line. It is no valid for current code

  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cplt775.c
    + added Lithuanian CP-775 (DOS) codepage support

  * harbour/contrib/hbzebra/code39.c
    * removed unused commented code
2010-11-18 12:42:54 +00:00
Viktor Szakats
393cafddb8 2010-06-03 16:54 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/lang/msghuiso.c
  * src/lang/msgskiso.c
  * src/lang/msgrukoi.c
  * src/lang/msgzhgb.c
  * src/lang/msghuwin.c
  * src/lang/msgskwin.c
  * src/lang/msg_tpl.c
  * src/lang/msgruwin.c
  * src/lang/msghr646.c
  * src/lang/msgsl646.c
  * src/lang/msgelwin.c
  * src/lang/msgro.c
  * src/lang/msgpt.c
  * src/lang/msghriso.c
  * src/lang/msghrwin.c
  * src/lang/msgsliso.c
  * src/lang/msgslwin.c
  * src/lang/msghe862.c
  * src/lang/msgcskam.c
  * src/lang/msggl.c
  * src/lang/msgtrwin.c
  * src/lang/msgbgiso.c
  * src/lang/msgeo.c
  * src/lang/msgskkam.c
  * src/lang/msgbgwin.c
  * src/lang/msges.c
  * src/lang/msgzhb5.c
  * src/lang/msgeu.c
  * src/lang/msgpl852.c
  * src/lang/msgsr852.c
  * src/lang/msgde.c
  * src/lang/msgtr857.c
  * src/lang/msgru866.c
  * src/lang/msgcs852.c
  * src/lang/msgfr.c
  * src/lang/msgis850.c
  * src/lang/msgnl.c
  * src/lang/msghu852.c
  * src/lang/msgsk852.c
  * src/lang/msgca.c
  * src/lang/msgplmaz.c
  * src/lang/msgpliso.c
  * src/lang/msgplwin.c
  * src/lang/msgbg866.c
  * src/lang/msgid.c
  * src/lang/msgltwin.c
  * src/lang/msgptiso.c
  * src/lang/msgsriso.c
  * src/lang/msgel.c
  * src/lang/msgdewin.c
  * src/lang/msghr852.c
  * src/lang/msgko.c
  * src/lang/msghewin.c
  * src/lang/msgit.c
  * src/lang/msgsl852.c
  * src/lang/msghucwi.c
  * src/lang/msgcsiso.c
  * src/lang/msgcswin.c
  * src/lang/msgeswin.c
  * src/vm/initsymb.c
  * src/vm/hashfunc.c
  * src/vm/macro.c
  * src/vm/evalhb.c
  * src/vm/mainwin.c
  * src/vm/strapi.c
  * src/vm/harbinit.prg
  * src/vm/pcount.c
  * src/vm/runner.c
  * src/vm/estack.c
  * src/vm/codebloc.c
  * src/vm/hashes.c
  * src/vm/maindllp/dllpcode.c
  * src/vm/maindllp/dllext.c
  * src/vm/dynsym.c
  * src/vm/debug.c
  * src/vm/maindllh.c
  * src/vm/itemapi.c
  * src/vm/garbage.c
  * src/vm/asort.c
  * src/vm/hvm.c
  * src/vm/pvalue.c
  * src/vm/cmdarg.c
  * src/vm/procaddr.c
  * src/vm/mainstd.c
  * src/vm/arrays.c
  * src/vm/task.c
  * src/vm/fm.c
  * src/vm/extrap.c
  * src/vm/proc.c
  * src/vm/thread.c
  * src/vm/memvars.c
  * src/vm/arrayshb.c
  * src/vm/memvclip.c
  * src/vm/vm.c
  * src/vm/hvmall.c
  * src/vm/main.c
  * src/vm/break.c
  * src/vm/eval.c
  * src/vm/extend.c
  * src/vm/dynlibhb.c
  * src/vm/set.c
  * src/vm/initexit.c
  * src/vm/classes.c
  * src/rtl/lennum.c
  * src/rtl/scroll.c
  * src/rtl/gtdos/gtdos.c
  * src/rtl/strxor.c
  * src/rtl/setposbs.c
  * src/rtl/fscopy.c
  * src/rtl/strcase.c
  * src/rtl/run.c
  * src/rtl/gtwin/gtwin.c
  * src/rtl/defpath.c
  * src/rtl/gtxwc/gtxwc.h
  * src/rtl/gtxwc/gtxwc.c
  * src/rtl/tscalars.c
  * src/rtl/hbdynhb.c
  * src/rtl/substr.c
  * src/rtl/round.c
  * src/rtl/oldbox.c
  * src/rtl/typefile.prg
  * src/rtl/tbcolumn.prg
  * src/rtl/math.c
  * src/rtl/getsys53.prg
  * src/rtl/objfunc.prg
  * src/rtl/empty.c
  * src/rtl/tobject.prg
  * src/rtl/gtcrs/gtcrs.h
  * src/rtl/hbzlibgz.c
  * src/rtl/trim.c
  * src/rtl/setpos.c
  * src/rtl/fnsplit.c
  * src/rtl/gtfunc.c
  * src/rtl/base64c.c
  * src/rtl/binnum.c
  * src/rtl/box.c
  * src/rtl/filehb.c
  * src/rtl/hbtoken.c
  * src/rtl/tscalard.c
  * src/rtl/fstemp.c
  * src/rtl/gtchrmap.c
  * src/rtl/tscalarl.c
  * src/rtl/tscalart.c
  * src/rtl/radiobhb.prg
  * src/rtl/type.c
  * src/rtl/tgethb.prg
  * src/rtl/strmatch.c
  * src/rtl/ampm.c
  * src/rtl/base64.prg
  * src/rtl/readkey.prg
  * src/rtl/hbsha1hm.c
  * src/rtl/errsys.prg
  * src/rtl/tpopup.prg
  * src/rtl/do.c
  * src/rtl/einstvau.prg
  * src/rtl/gtstd/gtstd.c
  * src/rtl/descend.c
  * src/rtl/gttrm/gttrm.c
  * src/rtl/maxrow.c
  * src/rtl/replic.c
  * src/rtl/xhelp.c
  * src/rtl/setta.prg
  * src/rtl/padr.c
  * src/rtl/hbstrfmt.c
  * src/rtl/listbox.prg
  * src/rtl/transfrm.c
  * src/rtl/hbntos.c
  * src/rtl/gttone.c
  * src/rtl/hbadler.c
  * src/rtl/at.c
  * src/rtl/hbdyn.c
  * src/rtl/tone.c
  * src/rtl/browse.prg
  * src/rtl/tget.prg
  * src/rtl/setfunc.prg
  * src/rtl/tscalaru.c
  * src/rtl/datec.c
  * src/rtl/pushbtn.prg
  * src/rtl/minmax.c
  * src/rtl/hbfeof.c
  * src/rtl/readvar.prg
  * src/rtl/hbmd5.c
  * src/rtl/dates.c
  * src/rtl/achoice.prg
  * src/rtl/hbascii.c
  * src/rtl/fkmax.c
  * src/rtl/padc.c
  * src/rtl/strzero.c
  * src/rtl/memvarbl.prg
  * src/rtl/gtcgi/gtcgi.c
  * src/rtl/natmsgu.c
  * src/rtl/mod.c
  * src/rtl/errapi.c
  * src/rtl/version.c
  * src/rtl/hbregexc.c
  * src/rtl/hbrandom.c
  * src/rtl/strtran.c
  * src/rtl/tscalar.prg
  * src/rtl/hbprocfn.c
  * src/rtl/hbsocket.c
  * src/rtl/errint.c
  * src/rtl/treport.prg
  * src/rtl/tscalarn.c
  * src/rtl/errapiu.c
  * src/rtl/hbinet.c
  * src/rtl/copyfile.c
  * src/rtl/gt.c
  * src/rtl/tpersist.prg
  * src/rtl/tgetint.prg
  * src/rtl/strtoexp.c
  * src/rtl/hbsha2hm.c
  * src/rtl/errintlo.c
  * src/rtl/dbedit.prg
  * src/rtl/einstvar.prg
  * src/rtl/gtapi.c
  * src/rtl/pad.c
  * src/rtl/direct.c
  * src/rtl/filesys.c
  * src/rtl/len.c
  * src/rtl/padl.c
  * src/rtl/lang.c
  * src/rtl/hbregex.c
  * src/rtl/einstv52.prg
  * src/rtl/hbbit.c
  * src/rtl/isprint.c
  * src/rtl/altd.prg
  * src/rtl/text.prg
  * src/rtl/saverest.c
  * src/rtl/diskspac.c
  * src/rtl/console.c
  * src/rtl/mousehb.c
  * src/rtl/hbinetz.c
  * src/rtl/chrasc.c
  * src/rtl/spfiles.c
  * src/rtl/dircmd.prg
  * src/rtl/memoedit.prg
  * src/rtl/gtos2/gtos2.c
  * src/rtl/right.c
  * src/rtl/hbi18n2.prg
  * src/rtl/philes.c
  * src/rtl/adir.prg
  * src/rtl/oldclear.c
  * src/rtl/hbbffnc.c
  * src/rtl/gui.prg
  * src/rtl/perfuncs.prg
  * src/rtl/hbgtcore.c
  * src/rtl/cdpapi.c
  * src/rtl/cputime.c
  * src/rtl/fieldbl.prg
  * src/rtl/dirdrive.c
  * src/rtl/str.c
  * src/rtl/wait.prg
  * src/rtl/hbi18n1.c
  * src/rtl/dateshb.c
  * src/rtl/menuto.prg
  * src/rtl/gtclip.c
  * src/rtl/mlcfunc.c
  * src/rtl/datesx.c
  * src/rtl/scrollbr.prg
  * src/rtl/hbfile.c
  * src/rtl/gtapiu.c
  * src/rtl/left.c
  * src/rtl/accept.c
  * src/rtl/defpathu.c
  * src/rtl/tscalarh.c
  * src/rtl/tbrowsys.prg
  * src/rtl/valtoexp.prg
  * src/rtl/tscalarp.c
  * src/rtl/is.c
  * src/rtl/idle.c
  * src/rtl/itemseri.c
  * src/rtl/getsys.prg
  * src/rtl/hbrunfun.c
  * src/rtl/setcolor.c
  * src/rtl/oemansi.c
  * src/rtl/philes53.c
  * src/rtl/xsavescr.c
  * src/rtl/hardcr.c
  * src/rtl/setkey.c
  * src/rtl/tgetlist.prg
  * src/rtl/gtsln/keytrans.c
  * src/rtl/gtsln/mousesln.c
  * src/rtl/gtsln/gtsln.c
  * src/rtl/gtsln/kbsln.c
  * src/rtl/gtsln/gtsln.h
  * src/rtl/disksphb.c
  * src/rtl/memvarhb.prg
  * src/rtl/tlabel.prg
  * src/rtl/hbzlib.c
  * src/rtl/strc.c
  * src/rtl/gtpca/gtpca.c
  * src/rtl/radiogrp.prg
  * src/rtl/scrrow.c
  * src/rtl/getlist.prg
  * src/rtl/valtype.c
  * src/rtl/shadow.c
  * src/rtl/net.c
  * src/rtl/stuff.c
  * src/rtl/dirscan.prg
  * src/rtl/hbznet.c
  * src/rtl/tscalara.c
  * src/rtl/space.c
  * src/rtl/checkbox.prg
  * src/rtl/gtgui/gtgui.c
  * src/rtl/hbhex.c
  * src/rtl/seconds.c
  * src/rtl/trace.c
  * src/rtl/samples.c
  * src/rtl/abs.c
  * src/rtl/input.prg
  * src/rtl/hbsha1.c
  * src/rtl/gt_tpl/gt_tpl.c
  * src/rtl/inkeyapi.c
  * src/rtl/filebuf.c
  * src/rtl/alert.prg
  * src/rtl/inkey.c
  * src/rtl/ttopbar.prg
  * src/rtl/mtran.c
  * src/rtl/gete.c
  * src/rtl/browdb.prg
  * src/rtl/setcurs.c
  * src/rtl/tmenusys.prg
  * src/rtl/tsymbol.prg
  * src/rtl/tclass.prg
  * src/rtl/hbproces.c
  * src/rtl/menusys.prg
  * src/rtl/cdpapihb.c
  * src/rtl/word.c
  * src/rtl/langapi.c
  * src/rtl/fmhb.c
  * src/rtl/ttextlin.prg
  * src/rtl/natmsg.c
  * src/rtl/gtwvt/gtwvt.h
  * src/rtl/gtwvt/gtwvt.c
  * src/rtl/tscalarb.c
  * src/rtl/mouse53.c
  * src/rtl/fssize.c
  * src/rtl/hbbfish.c
  * src/rtl/hbsha2.c
  * src/rtl/colorind.c
  * src/rtl/hbbyte.c
  * src/rtl/ati.c
  * src/rtl/gx.c
  * src/rtl/teditor.prg
  * src/rtl/mouseapi.c
  * src/rtl/soundex.c
  * src/rtl/memofile.c
  * src/rtl/getsyshb.prg
  * src/rtl/radiobtn.prg
  * src/rtl/tmenuitm.prg
  * src/rtl/gtsys.c
  * src/rtl/shadowu.c
  * src/rtl/hbstrsh.c
  * src/rtl/valtostr.c
  * src/rtl/file.c
  * src/rtl/strclear.c
  * src/rtl/val.c
  * src/rtl/gtkbstat.c
  * src/rtl/rat.c
  * src/rtl/hbcom.c
  * src/rtl/tbrowse.prg
  * src/rtl/tscalarc.c
  * src/rtl/devoutp.prg
  * src/codepage/ucmacce.c
  * src/codepage/cpno865.c
  * src/codepage/uckoi8.c
  * src/codepage/cppt850.c
  * src/codepage/uc885910.c
  * src/codepage/cpit850m.c
  * src/codepage/ucmacice.c
  * src/codepage/uc885914.c
  * src/codepage/uc874.c
  * src/codepage/uc857.c
  * src/codepage/cpru866.c
  * src/codepage/uc1250.c
  * src/codepage/uc1254.c
  * src/codepage/cpeswinm.c
  * src/codepage/cpcs852.c
  * src/codepage/cpes850.c
  * src/codepage/uc1258.c
  * src/codepage/cpis850.c
  * src/codepage/cphu852.c
  * src/codepage/cpsk852.c
  * src/codepage/uckam.c
  * src/codepage/cphu852c.c
  * src/codepage/uc424.c
  * src/codepage/ucmacrom.c
  * src/codepage/cpplmaz.c
  * src/codepage/uc862.c
  * src/codepage/cppliso.c
  * src/codepage/uc866.c
  * src/codepage/cpplwin.c
  * src/codepage/cpbg866.c
  * src/codepage/cpltwin.c
  * src/codepage/cpptiso.c
  * src/codepage/cpel737.c
  * src/codepage/cpsrwin.c
  * src/codepage/uc8859_3.c
  * src/codepage/cpfr850.c
  * src/codepage/cpes850c.c
  * src/codepage/cphr852.c
  * src/codepage/uc8859_7.c
  * src/codepage/ucmacgrk.c
  * src/codepage/uc037.c
  * src/codepage/uc850.c
  * src/codepage/cpesiso.c
  * src/codepage/uc885911.c
  * src/codepage/cpeswin.c
  * src/codepage/uc885915.c
  * src/codepage/uc875.c
  * src/codepage/cprukoi.c
  * src/codepage/uc1251.c
  * src/codepage/uc1255.c
  * src/codepage/cpruiso.c
  * src/codepage/cpsv850m.c
  * src/codepage/cpde850m.c
  * src/codepage/cpruwin.c
  * src/codepage/cpsl646.c
  * src/codepage/cppt860.c
  * src/codepage/cpfriso.c
  * src/codepage/cpnl850m.c
  * src/codepage/uc863.c
  * src/codepage/cpfrwin.c
  * src/codepage/cpsliso.c
  * src/codepage/ucmaz.c
  * src/codepage/cpslwin.c
  * src/codepage/uc1026.c
  * src/codepage/cpcskam.c
  * src/codepage/cpbgiso.c
  * src/codepage/uc8859_4.c
  * src/codepage/cpnl850.c
  * src/codepage/cpbgwin.c
  * src/codepage/cpskkam.c
  * src/codepage/uc8859_8.c
  * src/codepage/cppl852.c
  * src/codepage/cpde850.c
  * src/codepage/cpsv850.c
  * src/codepage/uc855.c
  * src/codepage/cptr857.c
  * src/codepage/uc885916.c
  * src/codepage/cproiso.c
  * src/codepage/cpfi850.c
  * src/codepage/ucascii.c
  * src/codepage/cprowin.c
  * src/codepage/uc1252.c
  * src/codepage/uc1256.c
  * src/codepage/ucatari.c
  * src/codepage/cpitisb.c
  * src/codepage/uc860.c
  * src/codepage/ucmaccyr.c
  * src/codepage/uc864.c
  * src/codepage/uc1006.c
  * src/codepage/cpel437.c
  * src/codepage/uc8859_1.c
  * src/codepage/cpdeiso.c
  * src/codepage/cpsviso.c
  * src/codepage/uc88591b.c
  * src/codepage/cpdewin.c
  * src/codepage/cpsvwin.c
  * src/codepage/uc8859_5.c
  * src/codepage/cpit850.c
  * src/codepage/uc8859_9.c
  * src/codepage/cpis861.c
  * src/codepage/cpsl852.c
  * src/codepage/cpcsiso.c
  * src/codepage/cpes850m.c
  * src/codepage/ucnext.c
  * src/codepage/cpcswin.c
  * src/codepage/uc852.c
  * src/codepage/uc737.c
  * src/codepage/ucmactrk.c
  * src/codepage/uc885913.c
  * src/codepage/cphuiso.c
  * src/codepage/uc775.c
  * src/codepage/uc856.c
  * src/codepage/cpskiso.c
  * src/codepage/cphuwin.c
  * src/codepage/cpskwin.c
  * src/codepage/cp_tpl.c
  * src/codepage/uc1253.c
  * src/codepage/uc646_yu.c
  * src/codepage/uc1257.c
  * src/codepage/uc500.c
  * src/codepage/cphr646.c
  * src/codepage/cpeliso.c
  * src/codepage/cpelwin.c
  * src/codepage/cpro852.c
  * src/codepage/cpfr850m.c
  * src/codepage/uc861.c
  * src/codepage/cphriso.c
  * src/codepage/uc865.c
  * src/codepage/cphrwin.c
  * src/codepage/cpitiso.c
  * src/codepage/cpsv437c.c
  * src/codepage/cpitwin.c
  * src/codepage/uc869.c
  * src/codepage/cptriso.c
  * src/codepage/cpdk865.c
  * src/codepage/uc8859_2.c
  * src/codepage/cptrwin.c
  * src/codepage/uc8859_6.c
  * src/rdd/dbfntx/dbfntx1.c
  * src/rdd/dbfntx/dbfntx0.prg
  * src/rdd/dbsql.c
  * src/rdd/dbdelim.prg
  * src/rdd/hbdbsort.c
  * src/rdd/rddordu.prg
  * src/rdd/dbjoin.prg
  * src/rdd/workarea.c
  * src/rdd/dbnubs.c
  * src/rdd/wacore.c
  * src/rdd/rddinfo.c
  * src/rdd/dbstruxu.prg
  * src/rdd/dblist.prg
  * src/rdd/dbfuncs.prg
  * src/rdd/sdf1.c
  * src/rdd/dbdetach.c
  * src/rdd/dbtotal.prg
  * src/rdd/dbstrux.prg
  * src/rdd/dbsort.prg
  * src/rdd/dbfnsx/dbfnsx1.c
  * src/rdd/dbcmd.c
  * src/rdd/dbdrop.c
  * src/rdd/delim1.c
  * src/rdd/dbf1.c
  * src/rdd/dbrename.c
  * src/rdd/rddsys.prg
  * src/rdd/dbcmd53.c
  * src/rdd/usrrdd/usrrdd.c
  * src/rdd/usrrdd/rdds/arrayrdd.prg
  * src/rdd/usrrdd/rdds/dbtcdx.prg
  * src/rdd/usrrdd/rdds/fptcdx.prg
  * src/rdd/usrrdd/rdds/hscdx.prg
  * src/rdd/usrrdd/rdds/logrdd.prg
  * src/rdd/usrrdd/rdds/rlcdx.prg
  * src/rdd/usrrdd/rdds/smtcdx.prg
  * src/rdd/dbcmdhb.c
  * src/rdd/wafunc.c
  * src/rdd/rddord.prg
  * src/rdd/dbexists.c
  * src/rdd/dbsdf.prg
  * src/rdd/dbupdat.prg
  * src/rdd/ordwldsk.c
  * src/rdd/hbsix/sxord.c
  * src/rdd/hbsix/sxsem.c
  * src/rdd/hbsix/sxini.prg
  * src/rdd/hbsix/sxredir.c
  * src/rdd/hbsix/sxfname.c
  * src/rdd/hbsix/sxtable.c
  * src/rdd/hbsix/sxcompat.prg
  * src/rdd/hbsix/sxtrig.prg
  * src/rdd/hbsix/sxdate.c
  * src/rdd/hbsix/sxutil.c
  * src/rdd/hbsix/sxcompr.c
  * src/rdd/hbsix/sxcrypt.c
  * src/rdd/fieldhb.c
  * src/rdd/ordcount.c
    * Deleted 'www.' from harbour-project.org website name.
      (www.harbour-project.org -> harbour-project.org)
2010-06-03 15:09:04 +00:00
Przemyslaw Czerpak
cbce7fc1f4 2009-12-31 13:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/Makefile
    ! added missing cphriso.c
2009-12-31 12:24:29 +00:00
Przemyslaw Czerpak
e4ec9850aa 2009-12-31 12:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbextcdp.ch
  * harbour/include/hbextlng.ch
  * harbour/src/lang/Makefile
  - harbour/src/lang/msghr437.c
  + harbour/src/lang/msghr646.c
  - harbour/src/codepage/cphr437.c
  + harbour/src/codepage/cphr646.c
    * renamed HR437 CP and LANG modules to HR646 (CROSCII / ISO-646-YU)

  * harbour/include/hbextcdp.ch
  * harbour/include/hbextlng.ch
  * harbour/src/codepage/Makefile
  - harbour/src/lang/msgsl437.c
  + harbour/src/lang/msgsl646.c
  - harbour/src/codepage/cpsl437.c
  + harbour/src/codepage/cpsl646.c
    * renamed CL437 CP and LANG modules to CL646 (SLOSCII / ISO-646-YU)

  * harbour/src/lang/msghriso.c
    ! fixed language ID

  + harbour/src/codepage/cphr646.c
  * harbour/src/codepage/cphr852.c
  * harbour/src/codepage/cphrwin.c
  + harbour/src/codepage/cpsl646.c
  * harbour/src/codepage/cpsliso.c
  * harbour/src/codepage/cpslwin.c
  * harbour/src/codepage/cpsl852.c
    ! changed the collation order so X and Y characters are sorted before Z
      It's CL5.2 ntxcro.obj compatible behavior. Now HR646 and SL646 Harbour
      CPs can be used to share data with Clipper application linked with
      ntxcro.obj.

  * harbour/include/hbextcdp.ch
  * harbour/src/codepage/Makefile
  + harbour/src/codepage/cphriso.c
    + added HRISO (ISO-8859-2) Harbour CP module

   Please test all these modifications.
   [TOMERGE 2.0]
2009-12-31 11:44:26 +00:00
Przemyslaw Czerpak
8075ce48bf 2009-12-31 03:17 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/include/hbapicdp.h
  * harbour/src/codepage/Makefile
  - harbour/src/codepage/ucyuscii.c
  + harbour/src/codepage/uc646_yu.c
  * harbour/src/codepage/cphr437.c
  * harbour/src/codepage/cpsl437.c
    * renamed internal unicode table name YUSCII->ISO-646-YU
2009-12-31 02:18:15 +00:00
Przemyslaw Czerpak
bbd5bcb2e2 2009-12-30 21:22 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/nortl/nortl.c
    ! added hb_xtraced()

  * harbour/src/common/hbstr.c
    * do not fill unused part of buffer with '\0' bytes in
      hb_strncpy(), hb_strncpyLower(), hb_strncpyUpper(),
      hb_strncpyUpperTrim(), hb_strncpyTrim()

  * harbour/src/common/hbtrace.c
    % small optimization in building Unicode OutputDebugString() message

  * harbour/src/codepage/Makefile
  * harbour/include/hbapicdp.h
  + harbour/src/codepage/ucyuscii.c
    + added YUSCII unicode table

  * harbour/src/codepage/cphr437.c
  * harbour/src/codepage/cpsl437.c
    ! fixed unicode table used in HR437 and SL437 Harbour CPs.
      It's not CP-437 but YUSCII
    - removed my old note "TOFIX: is it really CP-437?"
    TOFIX: change Harbour names of above CPs, i.e. to HRYU and SLYU

  * harbour/src/codepage/uckam.c
    * removed TOFIX note I forgot to remove when committed correct
      Kamenicky Unicode table.

  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc8859_2.c
    * updated some of my old copyright messages
2009-12-30 20:23:35 +00:00
Viktor Szakats
233edaf32f 2009-12-19 12:46 UTC+0200 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/Makefile
  + src/codepage/cpel437.c
  - src/codepage/cpgr437.c
  * include/hbextcdp.ch
    * Renamed GR437 codepage to EL437. EL is the ISO language code for Greek.
2009-12-19 11:47:47 +00:00
Viktor Szakats
10a1a48504 2009-11-16 09:52 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* config/beos/gcc.mk
  * config/bsd/gcc.mk
  * config/wce/mingwarm.mk
  * config/wce/poccarm.mk
  * config/wce/msvcarm.mk
  * config/darwin/gcc.mk
  * config/darwin/icc.mk
  * config/darwin/clang.mk
  * config/hpux/gcc.mk
  * config/dos/watcom.mk
  * config/dos/djgpp.mk
  * config/win/xcc.mk
  * config/win/mingw.mk
  * config/win/pocc.mk
  * config/win/bcc.mk
  * config/win/watcom.mk
  * config/win/icc.mk
  * config/win/cygwin.mk
  * config/win/msvc.mk
  * config/linux/gcc.mk
  * config/os2/watcom.mk
  * config/os2/gcc.mk
  * config/sunos/gcc.mk
  * config/sunos/sunpro.mk
    + Added HB_USER_LIBS support to dynamic libs.

  * config/globsh.mk
    ! Attempt to fix dynamic lib .tds deletion on clean for bcc.

  * src/codepage/cpno865.c
  * src/codepage/cphu852c.c
  * src/codepage/cpfr850.c
  * src/codepage/cpde850.c
  * src/codepage/cpit850.c
    + Marked as VERIFIED.
2009-11-16 08:52:59 +00:00
Przemyslaw Czerpak
5de455b929 2009-11-14 16:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/rtl/cdpapi.c
    * updated to work well with CPs where CHR( 0 ) is not sorted as 1-st
      character

  * harbour/tests/cpinfo.prg
    * chose binary form for CPs where upper and lower letters are sorted
      in different order

  * harbour/src/codepage/cpnl850.c
    * updated to binary form
2009-11-14 15:00:50 +00:00
Viktor Szakats
8d11d45221 2009-11-14 05:06 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cp_tpl.c
  * src/codepage/cpbg866.c
  * src/codepage/cpbgiso.c
  * src/codepage/cpbgmik.c
  * src/codepage/cpbgwin.c
  * src/codepage/cpcs852.c
  * src/codepage/cpcsiso.c
  * src/codepage/cpcskam.c
  * src/codepage/cpcswin.c
  * src/codepage/cpdeiso.c
  * src/codepage/cpdewin.c
  * src/codepage/cpel737.c
  * src/codepage/cpeliso.c
  * src/codepage/cpelwin.c
  * src/codepage/cpes850.c
  * src/codepage/cpesiso.c
  * src/codepage/cpeswin.c
  * src/codepage/cpeswinm.c
  * src/codepage/cpfriso.c
  * src/codepage/cpfrwin.c
  * src/codepage/cphr437.c
  * src/codepage/cphr852.c
  * src/codepage/cphrwin.c
  * src/codepage/cphuiso.c
  * src/codepage/cphuwin.c
  * src/codepage/cpit437.c
  * src/codepage/cpitisb.c
  * src/codepage/cpitiso.c
  * src/codepage/cpitwin.c
  * src/codepage/cpltwin.c
  * src/codepage/cppl852.c
  * src/codepage/cppliso.c
  * src/codepage/cpplmaz.c
  * src/codepage/cpplwin.c
  * src/codepage/cppt850.c
  * src/codepage/cpptiso.c
  * src/codepage/cpro852.c
  * src/codepage/cproiso.c
  * src/codepage/cprowin.c
  * src/codepage/cpru866.c
  * src/codepage/cpruiso.c
  * src/codepage/cprukoi.c
  * src/codepage/cpruwin.c
  * src/codepage/cpsk852.c
  * src/codepage/cpskiso.c
  * src/codepage/cpskkam.c
  * src/codepage/cpskwin.c
  * src/codepage/cpsl437.c
  * src/codepage/cpsl852.c
  * src/codepage/cpsliso.c
  * src/codepage/cpslwin.c
  * src/codepage/cpsrwin.c
  * src/codepage/cpsv437c.c
  * src/codepage/cpsviso.c
  * src/codepage/cpsvwin.c
  * src/codepage/cptr857.c
  * src/codepage/cptriso.c
  * src/codepage/cptrwin.c
  * src/codepage/cpua1125.c
  * src/codepage/cpua866.c
  * src/codepage/cpuakoi.c
  * src/codepage/cpuawin.c
  * src/codepage/Makefile
    % Deleted now redundant comments.
2009-11-14 04:07:58 +00:00
Viktor Szakats
fcb59fd813 2009-11-14 04:57 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cpde850.c
  * src/codepage/cpes850c.c
  * src/codepage/cpfi850.c
  * src/codepage/cpfr850.c
  * src/codepage/cphu852.c
  * src/codepage/cphu852c.c
  * src/codepage/cpis850.c
  * src/codepage/cpis861.c
  * src/codepage/cpit850.c
  * src/codepage/cpnl850.c
  * src/codepage/cpno865.c
  * src/codepage/cppt860.c
  * src/codepage/cpsv850.c
    + Regenerated using latest cpinfo.prg in C5.2e Intl.
2009-11-14 03:58:36 +00:00
Przemyslaw Czerpak
b7a1bda9c0 2009-11-10 18:24 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/cpinfo.prg
  * harbour/include/hbapicdp.h
  * harbour/include/hbcdpreg.h
    * modified format used for CP definition using binary tables
    + added Latin character striping from non Latin based CPs
    * changed warning message to be more clear. In most of cases when
      this message is shown:
         Warning: irregular CP which needs verification for human
                  readable definition in Harbour
      it should be possible to create human non binary CP definition.
      Usually it should be enough to copy HB_CP_UPPER and HB_CP_LOWER
      strings and verify if final result are compatible by comparing
      automatically generated .c file with binary tables. If you will
      find some CPs where it's not compatible then please inform me
      about it and I'll try to update cpinfo.prg
      When this message is shown:
         Warning: irregular CP which needs special definition in Harbour
                  using binary tables generated by this program
      then binary tables have to be used to replicate exact CP conditions.
      If no warning message is shown then human readable form of CP
      definition can be used without (I hope ;)) additional verification.

  * harbour/src/codepage/cpno865.c
  * harbour/src/codepage/cpit850m.c
  * harbour/src/codepage/cpis850.c
  * harbour/src/codepage/cpfr850.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpsv850m.c
  * harbour/src/codepage/cpde850m.c
  * harbour/src/codepage/cppt860.c
  * harbour/src/codepage/cpnl850m.c
  * harbour/src/codepage/cpnl850.c
  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpfi850.c
  * harbour/src/codepage/cpit850.c
  * harbour/src/codepage/cpis861.c
  * harbour/src/codepage/cpes850m.c
  * harbour/src/codepage/cpfr850m.c
  * harbour/src/codepage/cpsv437c.c
  * harbour/src/codepage/cpdk865.c
  * harbour/src/codepage/cpgr437.c
    * updated for new format
2009-11-10 17:25:29 +00:00
Viktor Szakats
79764499f2 2009-11-10 16:55 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cpit850m.c
  * src/codepage/cpde850m.c
  * src/codepage/cpsv850m.c
  * src/codepage/cpnl850m.c
  * src/codepage/cpes850m.c
  * src/codepage/cpfr850m.c
    ! Deleted Chr(26) EOL.

  * src/codepage/Makefile
  - src/codepage/cpgr851.c
  * include/hbextcdp.ch
    - Deleted this CP as we miss CP 851 definition.
2009-11-10 15:55:33 +00:00
Viktor Szakats
29d86ceea5 2009-11-10 15:25 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* include/hbextcdp.ch
    * Updated to reflect recent couple of commits.

  * src/codepage/Makefile
  + src/codepage/cpit850m.c
  + src/codepage/cpde850m.c
  + src/codepage/cpsv850m.c
  + src/codepage/cpnl850m.c
  + src/codepage/cpes850m.c
  + src/codepage/cpfr850m.c
    + Added mdx*.obj compatible CPs, created by cpinfo.prg.
    ; TOFIX: I didn't added mdxuk and mdxusa, simply because 
             it cannot fit in current filename scheme, which 
             uses only two chars to denote language.
2009-11-10 14:29:32 +00:00
Viktor Szakats
6e88027684 2009-11-10 15:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/cpes850c.c
  * src/codepage/cpnl850.c
  * src/codepage/cpde850.c
  * src/codepage/cpfi850.c
  * src/codepage/cpit850.c
    ! Wrong CP in descriptions.
2009-11-10 14:15:53 +00:00
Viktor Szakats
66468dc258 2009-11-10 15:05 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* codepage/Makefile
  - codepage/cpesisoc.c
  - codepage/cpeswinc.c
    - Deletes ISO and Win pairs of ES850C.

  * codepage/Makefile
  + codepage/cpgr437.c
  + codepage/cpgr851.c
  + codepage/cpis850.c
  + codepage/cpis861.c
  + codepage/cpdk865.c
  + codepage/cpfi850.c
  + codepage/cpnl850.c
  + codepage/cpno865.c
  + codepage/cppt860.c
    + Added CPs generated via cpinfo.prg from ntx*.obj (C5.2e).
      For these language, I've only 'guessed' the CP assigment:
          cpdk865
          cpfi850
          cpnl850
          cpno865
          cppt860
      TOFIX: Any mistakes in above.

  * codepage/Makefile
  - codepage/cpsvclip.c
  + codepage/cpsv437c.c
    * Renamed to use naming scheme like all others.
    ; TOFIX: 437 is most certainly wrong CP assigment, and 
             it should probably be 850 or 865.

  * codepage/cpfr850.c
  * codepage/cpes850c.c
  * codepage/cpde850.c
  * codepage/cpit850.c
    * Replaced with versions generated by cpinfo.prg.

  ; TODO: cpinfo.prg isn't generating short format of CP source files, 
          so all above may need to be converted to it for better readability.
2009-11-10 14:11:46 +00:00
Przemyslaw Czerpak
24e09f396f 2009-11-10 13:34 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/tests/cpinfo.prg
    + added additional information that binary tables generated by cpinfo.prg
      have to be used instead of human readable form when such situation can
      be easy detected

  * harbour/src/codepage/cpsvclip.c
    * replaced old definition with binary tables generated by cpinfo.prg
      to fully replicate wrong Clipper NTXSWE.OBJ definition.
2009-11-10 12:34:49 +00:00
Przemyslaw Czerpak
38029fd7c9 2009-11-10 09:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/codepage/cphu852c.c
    * converted to use human readable form which I think should better
      show what exactly Clipper's ntxhu852.obj does
2009-11-10 08:43:56 +00:00
Viktor Szakats
402ef31cf4 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 08:21:50 +00:00
Viktor Szakats
d7191fbbe1 2009-11-10 07:15 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
* src/codepage/Makefile
  * include/hbextcdp.ch
    ! Deleted references to deleted CPs.
2009-11-10 06:16:15 +00:00
Viktor Szakats
f305183b75 2009-11-10 03:37 UTC+0100 Viktor Szakats (harbour.01 syenar.hu)
- src/codepage/cphuisos.c
  - src/codepage/cphuwins.c
    - Deleted these variants which are no longer needed.

  * src/codepage/cphuiso.c
  * src/codepage/cphuwin.c
    * Updated comments.
    ; TOFIX: Remove or not remove ASCII 196/228 char pair?
             It's not a Hungarian accented char, it was present 
             in sixhu852, but since we don't have any obligations
             to keep compatibility as the CP is different anyway, 
             maybe the best would be to clean it.
             What is the general opinion in this regard in Harbour?
2009-11-10 02:39:28 +00:00
Przemyslaw Czerpak
bebed22350 2009-11-09 21:18 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/ChangeLog
    * marked last TOFIX note as [DONE] - thanks to Mindaugas

  * harbour/src/rtl/cdpapi.c
    * use 1-st upper<->lower conversion pair instead of last one
      if more then one conversion pair exist - it's more natural
      form in most of cases
    % skip translation code when two different CDP modules use
      the same Unicode table

  * harbour/tests/cpinfo.prg
    + detect CPs which have corresponding upper or lower characters
      for non alpha characters and inform about it.
      Such situations is in NTXSPA.OBJ so such CP can be fully
      replicated in Harbour using alternative CP definition only
      which uses static tables.

  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/cpeswinc.c
    ! removed the hack with changed order for characters which do not
      have corresponding upper latter.
      Now there is only one difference between ES850C and Clipper NTXSPA.OBJ
      In NTXSPA 'UPPER( Chr( 163 ) )' gives "U" though Chr( 163 ) is not
      marked as letter and not sorted with other letters. For me it looks
      like a bug anyhow if you want to fully replicate NTXSPA.OBJ in Harbour
      then current cpes850c.c code should be replaced by code generated
      using tests/cpinfo.prg compiler by clipper and linked with ntxspa.obj.
      Such code should be generated using:
         cpinfo.exe es850c "Spanish CP-850 (ntxspa.obj compatible)" 850

      Now translations can be done between CPs using different number of
      letters or even defined for different languages so I have question
      to Spanish users: Do you need ESISOC and ESWINC for anything?
      If not then I would like to remove them.
      Similar situation is with HUISOS and HUWINS.

  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/cpeswinc.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/ucnext.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_6.c
    % declare Unicode tables with 'const' qualifier
2009-11-09 20:22:48 +00:00
Przemyslaw Czerpak
7ec5d4cc53 2009-11-08 02:43 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/src/vm/set.c
    ! fixed small typos in returned values (FALSE instead of NULL and 0)

  * harbour/src/vm/estack.c
    * make calling hb_stackTotalItems() safe in MT mode when stack is not
      initialized - now this function can be used to check if HVM stack
      exists and is initialized in ST and MT mode

  * harbour/src/rtl/errintlo.c
    ! fixed at least 4 GPF traps exploited when hb_errInternal() was called
      and HVM stack was not initialized

  * harbour/include/Makefile
  + harbour/include/hbcdpreg.h
  * harbour/include/hbapicdp.h
  * harbour/src/rtl/cdpapi.c
    + added new CDP API which fixes many errors and limitations in old
      implementation.
      Warning !!! some very serious bugs in national sorting have been
                  fixed. It may cause that old indexes using some national
                  sorting will not be compatible. Please rebuild existing
                  indexes.

  * harbour/src/vm/itemapi.c
  * harbour/src/rdd/hsx/hsx.c
  * harbour/src/rdd/dbfntx/dbfntx1.c
  * harbour/src/rdd/dbfnsx/dbfnsx1.c
  * harbour/src/rdd/dbfcdx/dbfcdx1.c
  * harbour/contrib/hbbmcdx/bmdbfcdx.c
  * harbour/contrib/rddads/adsx.c
  * harbour/contrib/rddsql/sqlmix.c
    * updated to work with new CDP API
    TOFIX: update adsx.c and sqlmix.c to use hb_cdpcmp() which resepcts
           sorting with accented and mulitybyts characters.
           Mindaugas, can you update above code?

  * harbour/src/codepage/cpbg866.c
  * harbour/src/codepage/cpbgiso.c
  * harbour/src/codepage/cpbgmik.c
  * harbour/src/codepage/cpbgwin.c
  * harbour/src/codepage/cpcs852.c
  * harbour/src/codepage/cpcsiso.c
  * harbour/src/codepage/cpcskam.c
  * harbour/src/codepage/cpcswin.c
  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
  * harbour/src/codepage/cpel737.c
  * harbour/src/codepage/cpeliso.c
  * harbour/src/codepage/cpelwin.c
  * harbour/src/codepage/cpes850.c
  * harbour/src/codepage/cpes850c.c
  * harbour/src/codepage/cpesiso.c
  * harbour/src/codepage/cpesisoc.c
  * harbour/src/codepage/cpeswin.c
  * harbour/src/codepage/cpeswinc.c
  * harbour/src/codepage/cpeswinm.c
  * harbour/src/codepage/cpfr850.c
  * harbour/src/codepage/cpfriso.c
  * harbour/src/codepage/cpfrwin.c
  * harbour/src/codepage/cphr437.c
  * harbour/src/codepage/cphr852.c
  * harbour/src/codepage/cphrwin.c
  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphu852s.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuisos.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cphuwins.c
  * harbour/src/codepage/cpit437.c
  * harbour/src/codepage/cpit850.c
  * harbour/src/codepage/cpitisb.c
  * harbour/src/codepage/cpitiso.c
  * harbour/src/codepage/cpitwin.c
  * harbour/src/codepage/cpltwin.c
  * harbour/src/codepage/cppl852.c
  * harbour/src/codepage/cppliso.c
  * harbour/src/codepage/cpplmaz.c
  * harbour/src/codepage/cpplwin.c
  * harbour/src/codepage/cppt850.c
  * harbour/src/codepage/cpptiso.c
  * harbour/src/codepage/cpro852.c
  * harbour/src/codepage/cproiso.c
  * harbour/src/codepage/cprowin.c
  * harbour/src/codepage/cpru866.c
  * harbour/src/codepage/cpruiso.c
  * harbour/src/codepage/cprukoi.c
  * harbour/src/codepage/cpruwin.c
  * harbour/src/codepage/cpsk852.c
  * harbour/src/codepage/cpskiso.c
  * harbour/src/codepage/cpskkam.c
  * harbour/src/codepage/cpskwin.c
  * harbour/src/codepage/cpsl437.c
  * harbour/src/codepage/cpsl852.c
  * harbour/src/codepage/cpsliso.c
  * harbour/src/codepage/cpslwin.c
  * harbour/src/codepage/cpsrwin.c
  * harbour/src/codepage/cpsv850.c
  * harbour/src/codepage/cpsvclip.c
  * harbour/src/codepage/cpsviso.c
  * harbour/src/codepage/cpsvwin.c
  * harbour/src/codepage/cptr857.c
  * harbour/src/codepage/cptriso.c
  * harbour/src/codepage/cptrwin.c
  * harbour/src/codepage/cpua1125.c
  * harbour/src/codepage/cpua866.c
  * harbour/src/codepage/cpuakoi.c
  * harbour/src/codepage/cpuawin.c
  * harbour/src/codepage/uc037.c
  * harbour/src/codepage/uc1006.c
  * harbour/src/codepage/uc1026.c
  * harbour/src/codepage/uc1125.c
  * harbour/src/codepage/uc1250.c
  * harbour/src/codepage/uc1251.c
  * harbour/src/codepage/uc1252.c
  * harbour/src/codepage/uc1253.c
  * harbour/src/codepage/uc1254.c
  * harbour/src/codepage/uc1255.c
  * harbour/src/codepage/uc1256.c
  * harbour/src/codepage/uc1257.c
  * harbour/src/codepage/uc1258.c
  * harbour/src/codepage/uc424.c
  * harbour/src/codepage/uc500.c
  * harbour/src/codepage/uc737.c
  * harbour/src/codepage/uc775.c
  * harbour/src/codepage/uc850.c
  * harbour/src/codepage/uc852.c
  * harbour/src/codepage/uc855.c
  * harbour/src/codepage/uc856.c
  * harbour/src/codepage/uc857.c
  * harbour/src/codepage/uc860.c
  * harbour/src/codepage/uc861.c
  * harbour/src/codepage/uc862.c
  * harbour/src/codepage/uc863.c
  * harbour/src/codepage/uc864.c
  * harbour/src/codepage/uc865.c
  * harbour/src/codepage/uc866.c
  * harbour/src/codepage/uc869.c
  * harbour/src/codepage/uc874.c
  * harbour/src/codepage/uc875.c
  * harbour/src/codepage/uc885910.c
  * harbour/src/codepage/uc885911.c
  * harbour/src/codepage/uc885913.c
  * harbour/src/codepage/uc885914.c
  * harbour/src/codepage/uc885915.c
  * harbour/src/codepage/uc885916.c
  * harbour/src/codepage/uc88591b.c
  * harbour/src/codepage/uc8859_1.c
  * harbour/src/codepage/uc8859_2.c
  * harbour/src/codepage/uc8859_3.c
  * harbour/src/codepage/uc8859_4.c
  * harbour/src/codepage/uc8859_5.c
  * harbour/src/codepage/uc8859_6.c
  * harbour/src/codepage/uc8859_7.c
  * harbour/src/codepage/uc8859_8.c
  * harbour/src/codepage/uc8859_9.c
  * harbour/src/codepage/ucascii.c
  * harbour/src/codepage/ucatari.c
  * harbour/src/codepage/uckam.c
  * harbour/src/codepage/uckoi8.c
  * harbour/src/codepage/uckoi8u.c
  * harbour/src/codepage/ucmacce.c
  * harbour/src/codepage/ucmaccyr.c
  * harbour/src/codepage/ucmacgrk.c
  * harbour/src/codepage/ucmacice.c
  * harbour/src/codepage/ucmacrom.c
  * harbour/src/codepage/ucmactrk.c
  * harbour/src/codepage/ucmaz.c
  * harbour/src/codepage/ucmik.c
  * harbour/src/codepage/ucnext.c
    * updated for new CP API
    Warning: please test all national CPs. I'm not able to test unknown for
             me national character conditions so it's possible that I made
             something wrong. Additionally current CP API does not have
             some limitations which existed in the old one so now some hacks
             or workarounds can be cleaned. I.e. now all translations are
             done using Unicode tables so it's not necessary to use the
             same number of characters to make them working.
             Updating CP files I've found the following potential problems
             in definitions which I haven't fixed or fixed only partially:

         cpes850c.c - update for new format removing hacks for old CP
                      implementation
         cpesisoc.c  > remove, it's not longer necessary
         cpeswinc.c /
         cpeswinm.c - it is the same as cpesiso.c so it should be removed

         cphu852.c  \
         cphu852s.c  \
         cphuiso.c    > update for new format removing hacks for old CP
         cphuwin.c   /  implementation

         cphuisos.c  > remove, it's not longer necessary
         cphuwins.c /

         cphr437.c  > does it really use CP-437? and ^]\[@~}|{` instead of
         cpsl437.c /  nationalletters or it uses different then 437 CP for
                      7-bit Croatian characters encoding. It's important
                      because without valid unicode table translations will
                      not work.

         cpit437.c  - update for new version if necessary (upper characters)

         cpsv850.c \
         cpsviso.c  > they had ACCENTED_INTERLEAVED but without ACCENTED_EQUAL
         cpsvwin.c /  so this setting was ignored. Now it's not ignored.

         cpsvclip.c - update for new format to be fully not only
                      "almost compatible with Clipper's NTXSWE.OBJ"

      For sure these are not all problems inherited from old CP
      implementation so please verify all existing CPs.

  * harbour/src/codepage/cp_tpl.c
    + added new example for CP definition. Working on new CPs please read
      this description:
         If accented characters need special sorting ( HB_CDP_ACSORT_EQUAL or
         HB_CDP_ACSORT_INTERLEAVE ) then 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 ...
         if such multibyte character has its own Unicode representation then
         this Unicode value can be set using '=' symbol, for example:
            ....h.ch=2A7C.i
         and it will be used in translations.

         The Upper case string and the Lower case string should use the
         same letters. If some characters does not have corresponding upper
         or lower letter then space ' ' can be used as dummy character, for
         example in German CPs there is no upper case 'scharfes S' letter
         so space is used as dummy character.

         HB_CP_LATIN should be 1 if the national alphabet is based on Latin
         otherwise 0

      Please note that now you can use two versions of CP definition.
      The 1-st one which uses human readable form similar to the old CP
      definition and 2-nd which uses directly final CP tables so it
      allows to replicate any conditions which existed in Clipper or
      any other compatible language which uses static tables.
      tests/cpinfo.prg can generate automatically .c files with new CP
      definition in the 2-nd version. Now if user wants to create new
      Harbour CP which is fully Clipper compatible he only has to
      compile and link cpinfo.prg with given national sorting module
      and then execute it with new Harbour CP name as 1-st parameter.
      cp<cpname>.c file is generated which can be added to Harbour
      repository. Optional 2-nd parameter is CP description and 3-rd
      is Harbour Unicode table ID (if not given 437 is used and should
      be updated by user in .c file). This method should definitely
      resolve any problems with creating Clipper compatible CP definition.
      It also allows to easy verify if CP definitions are compatible. It's
      enough to compare generated .c files.

  * harbour/src/codepage/uckam.c
    ! fixed Kamenicky Unicode table definition - it was Mazovia CP :)

  * harbour/src/codepage/cpde850.c
  * harbour/src/codepage/cpdeiso.c
  * harbour/src/codepage/cpdewin.c
    ! fixed CP wrongly encoded CP due to limitations in old CP definition.
      Now it's possible to define different number of upper an lower
      characters (space " " can be used as dummy character) and I used
      it to eliminate hack for 'scharfes S' which does not exists as upper
      case.
      Please clean other CPs which contain similar hacks.

  * harbour/src/codepage/cphu852.c
  * harbour/src/codepage/cphuiso.c
  * harbour/src/codepage/cphuwin.c
  * harbour/src/codepage/cpua866.c
    * removed dummy letters introduced for old translation code

  * harbour/src/rtl/natmsg.c
  * harbour/src/rtl/cdpapi.c
  * harbour/include/hbextern.ch
    + added HB_CDPINFO() function
    * redirected _NATSORTVER() function to HB_CDPINFO()

   To All,
      Please check your national sorting in current version and make
      any updates if necessary or inform me about found problems.
      I've checked that Polish CPs are working fine and all existing
      CPs passes my test program which verified some technical aspects
      of CP implementation. But I cannot verify if this definitions
      satisfy users in different countries.
2009-11-08 01:46:17 +00:00