Apache OpenOffice (AOO) Bugzilla – Issue 89445
Greek and Maths symbols are private in Formula Editor
Last modified: 2013-08-07 14:55:07 UTC
Certain symbols within the formula editor are showing up as "Private Use" characters instead of the valid character.
Confirmed issue in the v3.0 beta Aqua version
Created attachment 53615 [details] Issues with symbols in formula
Can you please explain more ? I don't understand the issue there
Created attachment 53653 [details] Screenshot showing bad symbols in formula
Created attachment 53654 [details] Many symbols showing private font use in the catalogue editor
Going into the Tools > Catalogue it shows many of the symbols with a strange symbol. On going into the Edit feature in the catalogue, you can see that the symbols are a "Private Use" symbol. Also, there appears to be no assigned Font set, but the Subset is showing as "Private Use". A simple workaround is to redefine all the "Private Use" symbols to use Times font and the Greek subset, however, there are still certain symbols that appear to be outside the bounds of the Editor e.g. the plus (+) operator.
Raising priority to P2 because Math is more or less useless when a formula lacks symbols or shows them incorrectly. Also adding myself, rbircher and tbo to CC. @tbo: Could you please take a look at this and tell us who may be able to (help) fix this?
Please have a look at issue 36535 about the problems with greek characters from the Basic Greek range.
@tl: any chance to use the "real unicodes" for the greek math symbols? how do these greek symbols currently work in math? does it try to use "starmath" and falls back to some unrelated symbol font if that fails?
TL->HDU: The StarSymbol font is used for all Greek characters by default. However for historical reasons those characters from the Grrek alphabet that can be taken from any Latin font use the latin unicode points and the other ones (like small alpha or gamma in both variants) use characters from the private use area. This is because the private use area is where all the symbols of the old StarMath font went to. And in SO 5.0 days the Latin like characters came from Times New Roman Latin-1 font and only the 'real' Greek characters came from the StarMath font.
TL: As for the related problems: All can be work-arounded if the user chooses to redefine those characters via the respective "Edit Symbols" dialog. However the real solution that was planned (and promised about 1.5 years ago) was to have a complete new font where those and all other problems (like hinting) were to be solved for OOo 3.0. However for reasons unknown to me that did not work out. Instead our font expert would need to change the OpenSymbol font on his own. But he has no means to implement hinting himself. TL->HDU: Another solution we talked about a year ago or so was to implement a low level work-around in VCL to fix those code point issues. IIRC you said it would take you about one or two week to implement that. Changing priority to P3 since there are a number of other issues for the very same problem and none of it is P2.
maveric@tl: For Mac OS X this is clearly a P2 issue. On Windows and Linux you may be able to use Math even if the chars aren't correclty displayed but on Mac there are currently no chars and symbols for certain formular elements shown at all. Simply download or let you show any recent Mac OS X Aqua build and see if you can create all the formular you can with Linux and Windows. Besides bad greek chars we have no { } and other symbols. It would be nice to distinguish between displaying greek symbols correct and non-showing symbols and chars at all and here the latter is the case.
TL: I have just checked, no one of us has that much time to fix the problem completely for OOo 3.0 (be it by patching VCLs lower layers or by re-writing the font). But at least for the Greek characters there is a work-around. This is provided you guys on MAC have a proper Greek font (which is not part of OOo AFAIK). If you have a Greek font you can make a MAC only fix by editing the Math.xcu in officecfg\registry\data\org\openoffice\Office. That file has localized entries for all the Greek characters. What you need to do is add a new FontId (I think it will be Id3) to the "FontFormatList" and set the values according to the Greek font. If you have done this you need to edit all the entries for Greek characters in the "SymbolList" to make use of that new font id and point to the correct unicode character. The symbols for the Greek characters should be easily found be looking up <prop oor:name="Set"> <value>Greek</value> </prop> the name of the set. Even some other characters can be fixed. Look for <prop oor:name="Set"> <value>Special</value> </prop> But for characters other then those pre-defined symbols in the configuration it can't be helped for now.
TL->maveric : What is the special problem with MAC and private use area? It is not that characters in the private use area are invalid! After all in that case there wouldn't be a private use area in the first place. Can't you work on making characters from the private use are be displayed?
TL->maveric: Another place you can try to change (but MAC only please for now!) is the file starmath/inc/types.hxx. The enum MathSymbol in that file holds all the unicode points for characters that Math uses in the StarSymbol font. If you find a better unicode position within the StarSymbol font you can simply change the value. If however you would need a different font because there is no matching symbol in the StarSymbol font at the correct unicode position you need to modify other source code as well. If you are lucky changing SmMathSymbolNode to be able to use that other font as well may be sufficient. I think most if not all characters from the StarSymbol font should make use of that class.
TL: One final note. If you choose to modify either the configuration or the Math source code itself we better have some good testing if platform interoperability with those documents will be fine! Writing native documents is probably no big deal since Math basically uses text that is always parsed anyway. But if you are to write MS documents or MathML the results may be different...
Another note: please test again with something with CWS aquavcl07 integrated: the three-layer-office thing made OpenSymbol unavailable till DEV300_15 (issue 89187)
maveric->tl: Sorry I'm just an user and not a coder, so I can't help fixing this problem when it comes to coding. maveric->hdu: The issue still occurs in m16 in which aquavcl07 should be integrated. If you want to I can test again with m18. maveric->regina: Even though the issues may be related there are two problems here. I just asked Mechtilde to test it under Debian and she confirmed that Linux shows the { } and the greek symbols where Mac OS X shows neither.
I found the same problem in a Aqua build from 2.4.0 rc1, So, the Problem is a bit older ;-) I will search a older aqua build, and test it with it.
The bug is still included in m228 Aqua :-/ I think this bug is there since beginning of Aqua
Strange, the bugdoc looks perfect here (with DEV300_m15). Can you check OpenSymbol in Insert- >SpecialCharacter? Does it contain the greek letters and where? I suspect there is an old OpenSymbol on your System.
this issue is realy fixed in DEV300_m15
closing issue