Apache OpenOffice (AOO) Bugzilla – Full Text Issue Listing
|Summary:||Math: user-defined symbol should be able to handle UCS4 (21 bit unicode/ UTF-32) characters|
|Status:||CLOSED FIXED||QA Contact:||issues@sw <issues>|
|Issue Type:||FEATURE||Latest Confirmation in:||---|
|Issue Depends on:|
|Issue Blocks:||102943, 113757|
Description thomas.lange 2007-01-31 10:01:59 UTC
With the change to the control used in the Edit-Symbols dialog the returned characters are now of type sal_UCS4 instead thus the code needs to be changed appropriately. (For the time being those characters are hard-cast to sal_Unicode, thus everything functional before will be still functional but the new functionality will not work.) The reuired changes include the Math.xcu where the user-defined symbols get saved. The type "char" there should be changed to "string". And the other dialog displaying those characters need to be changed accordingly. Implications on import/export filters remain to be evaluated.
Comment 1 thomas.lange 2007-01-31 10:05:27 UTC
Comment 2 thomas.lange 2010-07-30 14:03:35 UTC
Setting target to OOO 3.4
Comment 3 thomas.lange 2010-07-30 14:52:04 UTC
Note for testing purposes: "DejaVu Sans" has surrogate (20-bit) characters included.
Comment 4 thomas.lange 2010-08-03 10:32:56 UTC
Files changed: starmath: M inc/dialog.hxx M inc/symbol.hxx M inc/utility.hxx M source/cfgitem.cxx M source/dialog.cxx M source/node.cxx M source/smres.src M source/symbol.cxx M source/utility.cxx Match now also shows the characters Unicode point as the default symbol name in the 'Edit Symbols' dialog.
Comment 5 thomas.lange 2010-08-05 10:30:20 UTC
Fixed in CWS tl82. File format changes are Ok because: a) only the settings.xml is changed and that isn't covered by ODF TC in detail but only in syntax. And I only changed the character type from short (16 bit) to int (32 bit) b) the new files are still accepted by the ODF validator http://tools.odftoolkit.org/odfvalidator c) The new files can still be read by an old office e.g. OOo 3.2 (thanks to an old hard cast to INT16 in that code), of course characters in the 20 bit Unicode range will not get properly displayed though.
Comment 6 thomas.lange 2010-08-05 10:32:58 UTC
Setting issue type to feature since for Math it is something new.
Comment 7 email@example.com 2010-08-10 11:44:19 UTC
Adjusting summary to the fact the the highest codepoint allowed by unicode ( U+10FFFF) has 21bits.
Comment 8 thomas.lange 2010-09-13 08:16:34 UTC
Comment 9 eric.savary 2010-09-16 11:00:47 UTC
@TL: please let this get verified by code review.
Comment 10 daniel.rentz 2010-09-20 10:30:56 UTC
Comment 11 thomas.lange 2010-10-14 10:05:32 UTC
Integrated in DEV300_m89 -> working -> closing.