Hi Michael, On Monday, 2015-03-23 15:49:35 +0100, Michael Stahl wrote:
static const sal_Int32 COMPLEX_TRANS_MASK =
COMPLEX_TRANS_MASK_TMP |
TransliterationModules_IGNORE_KANA |
TransliterationModules_FULLWIDTH_HALFWIDTH;
the FULLWIDTH_HALFWIDTH value is 4 and the TransliterationModules enum
is very odd in that it is basically split into 2 ranges and values <
0xFF are not to be used as bitflags, whereas values > 0xFF are always
defined as single bits.
using FULLWIDTH_HALFWIDTH in the mask looks like it would affect the
value NumToTextFormalLower_ko = 12 as well which is probably not
intentional?
Sigh.. probably not.. looks like the non-bit values need to be
explicitly checked for at all places where (... & COMPLEX_TRANS_MASK) is
done instead of simply using them in the mask. Same for
SIMPLE_TRANS_MASK and SIMPLE_TRANS_MASK_REPATTERN.
TransliterationModules_UPPERCASE_LOWERCASE |
TransliterationModules_LOWERCASE_UPPERCASE
in SIMPLE_TRANS_MASK_REPATTERN equals 3 and so matches quite some values ...
comparing such masked value with a SIMPLE_TRANS_MASK-masked value
also doesn't look right.
Eike
--
LibreOffice Calc developer. Number formatter stricken i18n transpositionizer.
GPG key "ID" 0x65632D3A - 2265 D7F3 A7B0 95CC 3918 630B 6A6C D5B7 6563 2D3A
Better use 64-bit 0x6A6CD5B765632D3A here is why: https://evil32.com/
Care about Free Software, support the FSFE https://fsfe.org/support/?erack
Attachment:
pgpNUALy5jbT3.pgp
Description: PGP signature