Hi!

You are digging into my favorite subject.

I am assuming you are talking about strings within the MathML and that it is in 
some form of XML. In that case:

If it is XML, the encoding can be specified in the <? ... ?> XML prologue.  
Sniffing for this prologue will determine such things as whether UTF8 or UTF16, 
and big-endian or little-endian.  If single-byte, that will usually mean some 
kind of code page which has a subset of ASCII as a common subset of a larger 
encoding, such as Western European.  In that case, one can read the content of 
the prefix to see what it says, because it should be in a simple, pure ASCII 
form.  Even if it is a double-byte character encoding, such as Shift-JIS, the 
prologue only needs the single-byte portions that are the same as ASCII.

The default, however, depends on the MIME type of the XML file.  Text/xml and 
application/xml have different defaults.  Also, MIME types can have parameters 
that specify character sets.

The way Windows manages this also includes using a Unicode prefix on UTF8 
(big-endian, I think).  These are not uniformly used across platforms.

Internally, because ODF and AOO are Unicode based, it is necessary to translate 
all arriving text into Unicode for internal storage and use by the application. 
 To do otherwise, lies madness.  There are difficulties with this, because 
Unicode allows local specializations. This comes up in craziness around Symbol 
fonts that do not have common Unicode correspondence.  (Bullets in AOO have 
this disease.)

I have probably provided more information than you require.  I love this 
subject.  

I have not looked at your code.

 - Dennis

PS: The default representation of XML inside OOXML is UTF16 as I recall.  I 
could be mistaken.

-----Original Message-----
From: Regina Henschel [mailto:rb.hensc...@t-online.de] 
Sent: Wednesday, April 8, 2015 12:02
To: AOO dev
Subject: Need help with strings

Hi all,

I'm going to improve the MathML type detection. Currently there exist 
files, that can be opened or imported fine, when the type detection 
would allow it. https://bz.apache.org/ooo/show_bug.cgi?id=126230

I have attached a C++ file to show what I want to do.
The problem is, that MathML does not need to be encoded in utf-8 but can 
have any other encoding. For example MS Windows "Math Input Control" 
exports formulas in utf-16.

So my question is, which kind of string can I use, that is able to 
detect/use utf-16 and has the needed methods similar to C++ string 
methods find, rfind, insert, substring, clear, erase? Does AOO has such 
kind of string?

It is possible to get the encoding from the MathML file or set default 
utf-8, in case that information is needed for to instantiate a string 
object.

Kind regards
Regina





---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@openoffice.apache.org
For additional commands, e-mail: dev-h...@openoffice.apache.org

Reply via email to