On Tuesday 15 November 2005 18:45, Eike Rathke wrote: > Hi Hristo, Hi > On Tue, Nov 15, 2005 at 17:21:26 +0200, Hristo Simenov Hristov wrote: > > (http://qa.openoffice.org/issues/show_bug.cgi?id=42198). It works, I > > tried with own build, but there is a little problem. The numberings do > > not appear in Options tab of Bullets and Numbering dialog, but only in > > Numbering tab (after proper changes in the local xml file). > > I _assume_ (unverified) it is because you defined non-ASCII content for > aSupportedTypes.cSymbol in > > + {style::NumberingType::CHARS_BG_CYRILLIC_UPPER_LETTER, "А", > LANG_ALL}, > > and following, and the makeNumberingIdentifier() method uses it in > return OUString::createFromAscii(aSupportedTypes[index].cSymbol); > > Try if setting the table entry to NULL instead shows at least two > entries. There would be no visible distinction between A,... and AAA,... > though, for this to work the OUString::createFromAscii(cSymbol) would > had to be replaced by a call creating an OUString from an UTF-8 encoded > literal, i.e. > OUString( cSymbol, sizeof(cSymbol)-1, RTL_TEXTENCODING_UTF8) I tryed with latin letter and with NULL but still do not appear in Options tab.
> Btw, I assume your change isn't only for Bulgarian Cyrillic, but also
> would apply to general Cyrillic numbering, or am I wrong? If it's
> a general Cyrillic alphabet numbering please remove the BG from the
> identifiers and constants.
>
> Some words on style: please adapt to the style found in a file, even if
> "unusual", for example, instead of bgCyrUpperLetter use
> table_CyrillicUpperLetter or such. Furthermore, don't use hardcoded
> constants when there are better ways to let the compiler compute the
> value during compile time, instead of
I changed the names of the tables to table_bgCyrillicUpperLetter and
table_bgCyrillicLowerLetter. I left the bg because still not know is this
table will surve to other Cyrillic languages. Also I removed two letters: й
and ь, because because they not used in alphabet numbering in Bulgarian this
was after I have some consultation about this question.
So this is the table letters: А, Б, В, Г, Д, Е, Ж, З, И, К, Л, М, Н, О, П, Р,
С, Т, У, Ф, Х, Ц, Ч, Ш, Щ, Ъ, Ю, Я. If it is good for others I will remove
the bg from the tbles names. Also it appears that when it used capital letter
numbering only the first one is capital, the rest have to be a small one. So
I had to add a new method which I called lcl_formatChars2.
The method is this:
void lcl_formatChars2( sal_Unicode table_capital[], sal_Unicode table_small[],
int tableSize, int n, OUString& s )
{
// string representation of n is appended to s.
// if A=='A' then 0=>A, 1=>B, ..., 25=>Z, 26=>Aa, 27=>Bb, ...
int repeat_count = n / tableSize + 1;
s += OUString::valueOf( table_capital[ n%tableSize ] );
for( int i=1; i<repeat_count; i++ )
s += OUString::valueOf( table_small[ n%tableSize ] );
}
So, everything works when it is choosed from Numbering tab but still nothing
in Options tab. Some sugestions to try?
Best regards.
--
-------------------------------------------------------------
Hristo Simeonov Hristov
Leader of OpenOffice.org - Bulgarian
GnuPG key 0xD0D895EB: 0282 D8D0 90D3 963F E57E B0A7 2670 88D9 D0D8 95EB
pgp8mqde1rlGY.pgp
Description: PGP signature
