On Tue, 03 Feb 2009, Miguel Angel Marchuet wrote: Hi Miguel,
> the offset 1Dh at DBF/foxpro header tables has ( Language driver ) as follow: > (Foxpro) Code page: These values follow the DOS / Windows Code Page values. > Value Description Code page > 01h DOS USA code page 437 > 02h DOS Multilingual code page 850 > 03h Windows ANSI code page 1252 > 04h Standard Macintosh > 64h EE MS-DOS code page 852 > 65h Nordic MS-DOS code page 865 > 66h Russian MS-DOS code page 866 > 67h Icelandic MS-DOS > 68h Kamenicky (Czech) MS-DOS > 69h Mazovia (Polish) MS-DOS > 6Ah Greek MS-DOS (437G) > 6Bh Turkish MS-DOS > 96h Russian Macintosh > 97h Eastern European Macintosh > 98h Greek Macintosh > C8h Windows EE code page 1250 > C9h Russian Windows > CAh Turkish Windows > CBh Greek Windows > I purpose to save this information at DBF, and use this collation > at dbfCompare, to sort properly the tables. > We can add too other code pages that are created at harbour. The above list does not cover collation orders well, f.e.: 64h EE MS-DOS code page 852 Informs only about used CP but we still do not know we should sort using: CS852, HR852, HU852, PL852, RO852, SK852, SL852, ... Only in few cases the FoxPro CP ID determinate exact CP with collation order, f.e.: 69h Mazovia (Polish) MS-DOS which is PLMAZ so at beginning you have something what cannot work well. Of course we can try to hard code our own CP IDs but IMHO first we should clean our own CODEPAGE subsystem because the final version may be different then the current one and such mapping cannot be longer supported. It will be very serious compatibility problem because we will have old IDs in existing DBFs. Adding the above modification is about 30 minute of work. Updating it to new CP may take days if it's possible at all. The only implementation which we can add now should be only for strict VFP compatibility (it should check DBF signature for 0x3[01]) and should not make any modifications in our CP code so it should keep the translation table (ourCP<->fpCP) in own structures. I think it can be added as separate GT which inherits from DBF* ones (f.e. VFPCDX) so it's not necessary to touch existing RDD code. BTW does anyone have full list of above FoxPro CP identifiers? best regards, Przemek ps. I've seen that you added BlobExport() and BlobImport() functions to xHarbour CVS. They were not missing. Clipper also does not have them. In Clipper and [x]Harbour all Blob*() functions are only PP directives defined in blob.ch _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour