Issue 76296

Summary: adding Coptic to Unicode Scripts
Product: Internationalization Reporter: moheb <mohebm>
Component: i18npoolAssignee: AOO issues mailing list <issues>
Status: ACCEPTED --- QA Contact:
Severity: Trivial    
Priority: P3 CC: issues
Version: OOo 2.2   
Target Milestone: ---   
Hardware: All   
OS: All   
URL: http://www.unicode.org/charts/PDF/U2C80.pdf
Issue Type: ENHANCEMENT Latest Confirmation in: ---
Developer Difficulty: ---

Description moheb 2007-04-12 06:42:30 UTC
Preliminary spell checking is now available for Coptic
(http://www.moheb.de/coptic_oo.html).
Adding a unique Unicode Coptic Script id (UnicodeScript.idl) is necessary
for clean implementation of a break iterator patch (Issue 74252)
Comment 1 ooo 2007-04-12 15:49:23 UTC
Sigh.. it could be so easy but alas is a tough one because unfortunately
UnicodeScript is an enum, and enums, if not including a large magic value, can't
be added to in the API because Java treats them as sets and adding a value would
break existing implementations in Java that already use that enum :-(

This effectively means we'll have to create a second UnicodeScriptNumber, either
as an enlargened enum or a constant, create second APIs using it, and adapt all
implementations using the API.


> Adding a unique Unicode Coptic Script id (UnicodeScript.idl) is necessary
> for clean implementation of a break iterator patch (Issue 74252)

Does that mean that the patch of issue 74252 wouldn't properly work without
having a script ID for Coptic or is that independent?
Comment 2 moheb 2007-04-13 15:37:58 UTC
o.k. This is also what I was afraid of. But it is not a big deal.

Actually for now we don't need really a script id for Coptic, but
the unicode range of it is no where defined (starting at U2c80)
otherwise it can be treated as latin. This was a problem in 
adding my Spell checker: the Coptic letters were not recognized.
The patch I mentioned works fine (hopefully someone takes care of
it soon) but it is not a "clean" way to solve the problem, since
I had to "hard code" the char range of Coptic in the break iterator:

...
  if( 1 == currentChar || 2 == currentChar || 0x20 == currentChar
      || 0xA0 == currentChar)
  nRet = ScriptType::WEAK;
  // workaround for Coptic
  else if ( 0x2C80 <= currentChar && 0x2CE3 >= currentChar)
    nRet = ScriptType::LATIN;            
  else
    nRet = unicode::getUnicodeScriptType( currentChar, typeList, 
ScriptType::WEAK );

....

thanks anyhow
Comment 3 Marcus 2017-05-20 11:13:23 UTC
Reset assigne to the default "issues@openoffice.apache.org".