Issue 74049 - Math: user-defined symbol should be able to handle UCS4 (21 bit unicode/ UTF-32) characters
Summary: Math: user-defined symbol should be able to handle UCS4 (21 bit unicode/ UTF-...
Status: CLOSED FIXED
Alias: None
Product: Math
Classification: Application
Component: code (show other issues)
Version: 680m199
Hardware: All All
: P3 Trivial (vote)
Target Milestone: 3.4.1
Assignee: thomas.lange
QA Contact: issues@sw
URL:
Keywords:
Depends on:
Blocks: 102943 113757
  Show dependency tree
 
Reported: 2007-01-31 10:01 UTC by thomas.lange
Modified: 2010-10-14 10:05 UTC (History)
2 users (show)

See Also:
Issue Type: FEATURE
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
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 hdu@apache.org 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
verified
Comment 11 thomas.lange 2010-10-14 10:05:32 UTC
Integrated in DEV300_m89 -> working -> closing.