Issue 74049

Summary: Math: user-defined symbol should be able to handle UCS4 (21 bit unicode/ UTF-32) characters
Product: Math Reporter: thomas.lange
Component: codeAssignee: thomas.lange
Status: CLOSED FIXED QA Contact: issues@sw <issues>
Severity: Trivial    
Priority: P3 CC: issues, kamataki
Version: 680m199   
Target Milestone: 3.4.1   
Hardware: All   
OS: All   
Issue Type: FEATURE Latest Confirmation in: ---
Developer Difficulty: ---
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 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.