[icu-support] [Fwd: Re: ports/121787: when devel/icu is installed, openoffice fails to build]

Marcin Cieslak saper at SYSTEM.PL
Thu May 1 01:50:05 UTC 2008


The following reply was made to PR ports/121787; it has been noted by GNATS.

From: Marcin Cieslak <saper at SYSTEM.PL>
To: "Steven R. Loomis" <srl at icu-project.org>
Cc: ICU support mailing list <icu-support at lists.sourceforge.net>,
  cokane at freebsd.org, bug-followup at freebsd.org,
  George Rhoten <grhoten at gmail.com>
Subject: Re: [icu-support] [Fwd: Re: ports/121787: when devel/icu is installed,
 openoffice fails to build]
Date: Thu, 01 May 2008 03:45:56 +0200

 This is an OpenPGP/MIME signed message (RFC 2440 and 3156)
 --------------enig48EE52BC953722DF5355A8A3
 Content-Type: text/plain; charset=UTF-8; format=flowed
 Content-Transfer-Encoding: quoted-printable
 
 Steven R. Loomis wrote:
 > There is a temporary patch at
 >=20
 > http://bugs.icu-project.org/trac/ticket/5498
 >=20
 > , but longer term, setBreakType() should not be called from a parent=20
 > class or a subclass.
 >=20
 > Instead, use
 >=20
 > BreakIterator::create*Instance(=E2=80=A6)=20
 > http://www.icu-project.org/apiref/icu4c/classBreakIterator.html
 >=20
 > You could call it from within a switch statement.
 >=20
 > or the parameterized (in C)
 >=20
 > ubrk_open( UBreakIteratorType =E2=80=A6 )=20
 > http://www.icu-project.org/apiref/icu4c/ubrk_8h.html
 >=20
 > ICU does not need to be modified for this case.
 
 In some cases, OpenOffice.org loads pre-compiled rules (for example,=20
 there are three different word iteration modes, with exceptions for some =
 
 languages). Source for those custom rules is here:
 
 http://l10n.openoffice.org/source/browse/l10n/i18npool/source/breakiterat=
 or/data/
 
 (dict_word_xxx, edit_word_xxx, count_word_xxx indicate different word=20
 iteration modes).
 
 OOo function loads binary images on demand in a similar way as this is=20
 done in BreakIterator::buildInstance:
 
      UDataMemory* file =3D udata_open(U_ICUDATA_BRKITR, ext, fnbuff, &sta=
 tus);
      if (U_FAILURE(status)) {
          ures_close(b);
          return NULL;
      }
 
      // Create a RuleBasedBreakIterator
      result =3D new RuleBasedBreakIterator(file, status);
 
      // If there is a result, set the valid locale and actual locale,=20
 and the kind
      if (U_SUCCESS(status) && result !=3D NULL) {
          U_LOCALE_BASED(locBased, *(BreakIterator*)result);
          locBased.setLocaleIDs(ures_getLocaleByType(b,=20
 ULOC_VALID_LOCALE, &status), actualLocale);
          result->setBreakType(kind);
      }
 
 OOO.org bundles a version of ICU 3.6.
 
 I think that similar problem was already discussed there:
 
 http://www.nabble.com/Minor-changes-needed-to-ICULanguageBreakFactory-(IC=
 U4C)-td10069414.html
 
 Can we achieve loading custom rules and have them still bound with=20
 locale and break type information in some elegant way?
 
 Is there any way we can use "ICULanguageBreakFactory" for this? Or maybe =
 
 the above-quoted interface from BreakIterator::buildInstance() could be=20
 somehow exposed (we supply complete UDataMemory* structure)?
 
 The code doing this is here:
 
 http://l10n.openoffice.org/source/browse/l10n/i18npool/source/breakiterat=
 or/breakiterator_unicode.cxx?rev=3D1.34&view=3Dmarkup
 
 I have started scribbling some notes on this:
 
 http://wiki.services.openoffice.org/wiki/LoadICUBreakIterator
 
 I might have missed something obvious, though.
 
 --Marcin
 
 
 
 
 
 
 
 
 
 
 
 
 --=20
                << Marcin Cieslak // saper at system.pl >>
 
 
 --------------enig48EE52BC953722DF5355A8A3
 Content-Type: application/pgp-signature; name="signature.asc"
 Content-Description: OpenPGP digital signature
 Content-Disposition: attachment; filename="signature.asc"
 
 -----BEGIN PGP SIGNATURE-----
 
 iQCVAwUBSBkg1z2W2v2wY27ZAQOMpgP/bxG+wJB97tugoLiWnDju4vYIbTAYUkvn
 PzN0Vz6Iu/KkdMlyLMCIqQYiqsS1IxGmsT6sgX4jgHYRyiCstSThExF0Y2rCPomA
 b9OdYRomS8cy/RpRQi5HEXg+8kbFQY6iZVNzQpHjRbATDBQxBfKFmRBnJ8Yi0Tpj
 6wrlF7L+Sco=
 =9kuP
 -----END PGP SIGNATURE-----
 
 --------------enig48EE52BC953722DF5355A8A3--


More information about the freebsd-openoffice mailing list