2007-11-14 02:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
* harbour/common.mak
* harbour/source/codepage/Makefile
+ harbour/source/codepage/cpesmwin.c
- harbour/source/codepage/cpesmwi.c
* renamed
* harbour/source/rtl/cdpapi.c
! do not use '~' as accented character marker if neither ACCENTED_EQUAL
nor ACCENTED_INTERLEAVED is set - in some CPs '~' is a letter
! use '~' as accented character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
! use '.' as multibyte character marker only if it exists in UPPER and
LOWER letter sets - our CP code cannot properly decode letter sets
when this condition is not true - it should be fixed (TOFIX)
* harbour/source/codepage/cpeldos.c
* harbour/source/codepage/cpelwin.c
* updated accent marker upper letters to be the same as in lower ones
Greek users should fix me.
This commit is contained in:
@@ -8,6 +8,28 @@
|
||||
2002-12-01 13:30 UTC+0100 Foo Bar <foo.bar@foobar.org>
|
||||
*/
|
||||
|
||||
2007-11-14 02:00 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/common.mak
|
||||
* harbour/source/codepage/Makefile
|
||||
+ harbour/source/codepage/cpesmwin.c
|
||||
- harbour/source/codepage/cpesmwi.c
|
||||
* renamed
|
||||
|
||||
* harbour/source/rtl/cdpapi.c
|
||||
! do not use '~' as accented character marker if neither ACCENTED_EQUAL
|
||||
nor ACCENTED_INTERLEAVED is set - in some CPs '~' is a letter
|
||||
! use '~' as accented character marker only if it exists in UPPER and
|
||||
LOWER letter sets - our CP code cannot properly decode letter sets
|
||||
when this condition is not true - it should be fixed (TOFIX)
|
||||
! use '.' as multibyte character marker only if it exists in UPPER and
|
||||
LOWER letter sets - our CP code cannot properly decode letter sets
|
||||
when this condition is not true - it should be fixed (TOFIX)
|
||||
|
||||
* harbour/source/codepage/cpeldos.c
|
||||
* harbour/source/codepage/cpelwin.c
|
||||
* updated accent marker upper letters to be the same as in lower ones
|
||||
Greek users should fix me.
|
||||
|
||||
2007-11-14 00:51 UTC+0100 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
|
||||
* harbour/make_gcc.sh
|
||||
* harbour/make_gnu.sh
|
||||
|
||||
@@ -736,7 +736,7 @@ CODEPAGE_LIB_OBJS = \
|
||||
$(OBJ_DIR)\cpeldos$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpelwin$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpesdos$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpesmwi$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpesmwin$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpeswin$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpfrdos$(OBJEXT) \
|
||||
$(OBJ_DIR)\cpgedos$(OBJEXT) \
|
||||
|
||||
@@ -18,7 +18,7 @@ C_SOURCES=\
|
||||
cpelwin.c \
|
||||
cpesdos.c \
|
||||
cpeswin.c \
|
||||
cpesmwi.c \
|
||||
cpesmwin.c \
|
||||
cpfrdos.c \
|
||||
cpgedos.c \
|
||||
cpgewin.c \
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
|
||||
static HB_CODEPAGE s_codepage = { "EL",
|
||||
HB_CPID_737, HB_UNITB_737, NUMBER_OF_CHARACTERS,
|
||||
"€~ê<>‚ƒ„ë…†~쇈~퉊‹Œ<E280B9>Ž~î<><C3AE>‘‘’“~–—~ð",
|
||||
"€~ê<>‚ƒ„~ë…†~쇈~퉊‹Œ<E280B9>Ž~î<><C3AE>‘‘’“~–—~ð",
|
||||
"˜~ᙚ›œ~â<>ž~㟠~å¡¢£¤¥¦~槨©ª«¬~箯à~é",
|
||||
IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL };
|
||||
|
||||
|
||||
@@ -86,7 +86,7 @@
|
||||
|
||||
static HB_CODEPAGE s_codepage = { "ELWIN",
|
||||
HB_CPID_1253, HB_UNITB_1253, NUMBER_OF_CHARACTERS,
|
||||
"Á~¢ÂÃÄŸÆÇ~¹ÈÉ~ºÊËÌÍÎÏ~¼ÐÑÓÓÔÕ~¾ÖרÙ~¿",
|
||||
"Á~¢ÂÃÄÅ~¸ÆÇ~¹ÈÉ~ºÊËÌÍÎÏ~¼ÐÑÓÓÔÕ~¾ÖרÙ~¿",
|
||||
"á~Üâãäå~Ýæç~Þèé~ßêëìíîï~üðñóòôõ~ýö÷øù~þ",
|
||||
IS_LATIN, ACCENTED_EQUAL, ACCENTED_INTERLEAVED, 0, 0, NULL, NULL, NULL, NULL, 0, NULL };
|
||||
|
||||
|
||||
@@ -75,7 +75,7 @@
|
||||
|
||||
/* 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~€
|
||||
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 ...
|
||||
@@ -337,7 +337,8 @@ HB_EXPORT BOOL hb_cdpRegister( PHB_CODEPAGE cdpage )
|
||||
}
|
||||
for( i = ia = 1; *ptrUpper; i++, ia++, ptrUpper++, ptrLower++ )
|
||||
{
|
||||
if( *ptrUpper == '~' )
|
||||
if( ( cdpage->lAccEqual || cdpage->lAccInterleave ) &&
|
||||
*ptrUpper == '~' && *ptrLower == '~' )
|
||||
{
|
||||
for( ptr = ptrUpper + 1; *ptr; ptr++ )
|
||||
*( ptr - 1 ) = *ptr;
|
||||
@@ -348,7 +349,9 @@ HB_EXPORT BOOL hb_cdpRegister( PHB_CODEPAGE cdpage )
|
||||
if( cdpage->lAccEqual )
|
||||
i--;
|
||||
}
|
||||
else if( *ptrUpper == '.' )
|
||||
else if( *ptrUpper == '.' && *ptrLower == '.' &&
|
||||
ptrUpper[1] && ptrUpper[2] && ptrUpper[3] == '.' &&
|
||||
ptrLower[1] && ptrLower[2] && ptrLower[3] == '.' )
|
||||
{
|
||||
multi[nMulti].cFirst[0] = *( ptrUpper + 1 );
|
||||
multi[nMulti].cFirst[1] = *( ptrLower + 1 );
|
||||
|
||||
Reference in New Issue
Block a user