Source: frog
Source-Version: 0.13.7-1
Severity: important
Tags: patch
Usertags: icu63

Dear Maintainer,

ICU 63.1 recently released, packaged and uploaded to experimental.
Its transition is going to start soon. However your package fails to
build with this version. I attach a patch which fixes the problem.
Please check if it works with the version in Sid and upload the
package when it's feasible for you.

Thanks,
Laszlo/GCS
Description: fix FTBFS with ICU 63.1
 Add icu namespace.
Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
Last-Update: 2018-11-09

---

--- frog-0.13.7.orig/include/frog/mblem_mod.h
+++ frog-0.13.7/include/frog/mblem_mod.h
@@ -52,7 +52,7 @@ class Mblem {
   bool init( const TiCC::Configuration& );
   void addDeclaration( folia::Document& doc ) const;
   void Classify( folia::Word * );
-  void Classify( const UnicodeString& );
+  void Classify( const icu::UnicodeString& );
   std::vector<std::pair<std::string,std::string> > getResult() const;
   void filterTag( const std::string&  );
   void makeUnique();
@@ -64,8 +64,8 @@ class Mblem {
   void create_MBlem_defaults();
   bool readsettings( const std::string& dir, const std::string& fname );
   void addLemma( folia::Word *, const std::string&) ;
-  std::string make_instance( const UnicodeString& in );
-  void getFoLiAResult( folia::Word *, const UnicodeString& );
+  std::string make_instance( const icu::UnicodeString& in );
+  void getFoLiAResult( folia::Word *, const icu::UnicodeString& );
   Timbl::TimblAPI *myLex;
   std::string punctuation;
   size_t history;
--- frog-0.13.7.orig/include/frog/mbma_brackets.h
+++ frog-0.13.7/include/frog/mbma_brackets.h
@@ -71,12 +71,12 @@ public:
 
   Status status() const { return _status; };
   void set_status( const Status s ) { _status = s; };
-  virtual UnicodeString morpheme() const { return "";};
+  virtual icu::UnicodeString morpheme() const { return "";};
   virtual std::string inflection() const { return ""; };
   virtual std::string original() const { return ""; };
   virtual int infixpos() const { return -1; };
   virtual bool isglue() const { return false; };
-  virtual UnicodeString put( bool = true ) const;
+  virtual icu::UnicodeString put( bool = true ) const;
   virtual BaseBracket *append( BaseBracket * ){ abort(); };
   virtual bool isNested() { return false; };
   virtual void resolveGlue(){ abort(); };
@@ -102,9 +102,9 @@ public:
 class BracketLeaf: public BaseBracket {
 public:
   BracketLeaf( const RulePart&, int, TiCC::LogStream& );
-  BracketLeaf( CLEX::Type, const UnicodeString&, int, TiCC::LogStream& );
-  UnicodeString put( bool = true ) const;
-  UnicodeString morpheme() const { return morph; };
+  BracketLeaf( CLEX::Type, const icu::UnicodeString&, int, TiCC::LogStream& );
+  icu::UnicodeString put( bool = true ) const;
+  icu::UnicodeString morpheme() const { return morph; };
   std::string inflection() const { return inflect; };
   std::string original() const { return orig; };
   int infixpos() const { return ifpos; };
@@ -115,7 +115,7 @@ public:
 private:
   int ifpos;
   bool glue;
-  UnicodeString morph;
+  icu::UnicodeString morph;
   std::string orig;
   std::string inflect;
 };
@@ -127,7 +127,7 @@ class BracketNest: public BaseBracket {
   ~BracketNest();
   bool isNested() { return true; };
   void clearEmptyNodes();
-  UnicodeString put( bool = true ) const;
+  icu::UnicodeString put( bool = true ) const;
   bool testMatch( std::list<BaseBracket*>& result,
 		  const std::list<BaseBracket*>::iterator& rpos,
 		  std::list<BaseBracket*>::iterator& bpos );
--- frog-0.13.7.orig/include/frog/mbma_mod.h
+++ frog-0.13.7/include/frog/mbma_mod.h
@@ -65,7 +65,7 @@ class Mbma {
   bool init( const TiCC::Configuration& );
   void addDeclaration( folia::Document& doc ) const;
   void Classify( folia::Word * );
-  void Classify( const UnicodeString& );
+  void Classify( const icu::UnicodeString& );
   void filterHeadTag( const std::string& );
   void filterSubTags( const std::vector<std::string>& );
   void assign_compounds();
@@ -73,8 +73,8 @@ class Mbma {
   std::vector<std::pair<std::string,std::string>> getResults( ) const;
   void setDeepMorph( bool b ){ doDeepMorph = b; };
   void clearAnalysis();
-  Rule* matchRule( const std::vector<std::string>&, const UnicodeString& );
-  std::vector<Rule*> execute( const UnicodeString& ,
+  Rule* matchRule( const std::vector<std::string>&, const icu::UnicodeString& );
+  std::vector<Rule*> execute( const icu::UnicodeString& ,
 			      const std::vector<std::string>& );
   static std::map<std::string,std::string> TAGconv;
   static std::string mbma_tagset;
@@ -85,10 +85,10 @@ class Mbma {
   bool readsettings( const std::string&, const std::string& );
   void fillMaps();
   void init_cgn( const std::string&, const std::string& );
-  Transliterator * init_trans();
-  UnicodeString filterDiacritics( const UnicodeString& ) const;
-  void getFoLiAResult( folia::Word *, const UnicodeString& ) const;
-  std::vector<std::string> make_instances( const UnicodeString& word );
+  icu::Transliterator * init_trans();
+  icu::UnicodeString filterDiacritics( const icu::UnicodeString& ) const;
+  void getFoLiAResult( folia::Word *, const icu::UnicodeString& ) const;
+  std::vector<std::string> make_instances( const icu::UnicodeString& word );
   CLEX::Type getFinalTag( const std::list<BaseBracket*>& );
   int debugFlag;
   void addMorph( folia::MorphologyLayer *,
@@ -105,7 +105,7 @@ class Mbma {
   std::vector<Rule*> analysis;
   std::string version;
   TiCC::LogStream *mbmaLog;
-  Transliterator *transliterator;
+  icu::Transliterator *transliterator;
   Tokenizer::UnicodeFilter *filter;
   bool doDeepMorph;
 };
--- frog-0.13.7.orig/include/frog/mbma_rule.h
+++ frog-0.13.7/include/frog/mbma_rule.h
@@ -43,11 +43,11 @@ public:
   void get_edits( const std::string& );
   CLEX::Type ResultClass;
   std::vector<CLEX::Type> RightHand;
-  UnicodeString ins;
-  UnicodeString del;
-  UnicodeString hide;
-  UnicodeString uchar;
-  UnicodeString morpheme;
+  icu::UnicodeString ins;
+  icu::UnicodeString del;
+  icu::UnicodeString hide;
+  icu::UnicodeString uchar;
+  icu::UnicodeString morpheme;
   std::string inflect;
   bool is_affix;
   bool is_glue;
@@ -62,13 +62,13 @@ class BracketNest;
 class Rule {
 public:
   Rule( const std::vector<std::string>&,
-	const UnicodeString&,
+	const icu::UnicodeString&,
 	TiCC::LogStream&,
 	int );
   ~Rule();
   std::vector<std::string> extract_morphemes() const;
   std::string morpheme_string( bool = false ) const;
-  UnicodeString getKey( bool );
+  icu::UnicodeString getKey( bool );
   bool performEdits();
   void getCleanInflect();
   void reduceZeroNodes();
@@ -77,8 +77,8 @@ public:
   std::vector<RulePart> rules;
   int debugFlag;
   CLEX::Type tag;
-  UnicodeString sortkey;
-  UnicodeString orig_word;
+  icu::UnicodeString sortkey;
+  icu::UnicodeString orig_word;
   std::string description;
   std::string inflection;
   Compound::Type compound;
--- frog-0.13.7.orig/src/Parser.cxx
+++ frog-0.13.7/src/Parser.cxx
@@ -822,7 +822,7 @@ parseData Parser::prepareParse( const ve
       string head;
       string mod;
       for ( const auto& mwu : mwuv ){
-	UnicodeString tmp;
+	icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
 	{
 	  tmp = mwu->text();
@@ -853,7 +853,7 @@ parseData Parser::prepareParse( const ve
       i += mwuv.size()-1;
     }
     else {
-      UnicodeString tmp;
+      icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
       {
 	tmp = word->text();
--- frog-0.13.7.orig/src/iob_tagger_mod.cxx
+++ frog-0.13.7/src/iob_tagger_mod.cxx
@@ -265,7 +265,7 @@ void IOBTagger::Classify( const vector<W
   if ( !swords.empty() ) {
     string sentence; // the tagger needs the whole sentence
     for ( const auto& sword : swords ){
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = sword->text();
--- frog-0.13.7.orig/src/mblem_mod.cxx
+++ frog-0.13.7/src/mblem_mod.cxx
@@ -169,11 +169,11 @@ Mblem::~Mblem(){
   delete mblemLog;
 }
 
-string Mblem::make_instance( const UnicodeString& in ) {
+string Mblem::make_instance( const icu::UnicodeString& in ) {
   if (debug) {
     LOG << "making instance from: " << in << endl;
   }
-  UnicodeString instance = "";
+  icu::UnicodeString instance = "";
   size_t length = in.length();
   for ( size_t i=0; i < history; i++) {
     size_t j = length - history + i;
@@ -266,7 +266,7 @@ void Mblem::makeUnique( ){
   }
 }
 
-void Mblem::getFoLiAResult( Word *word, const UnicodeString& uWord ){
+void Mblem::getFoLiAResult( Word *word, const icu::UnicodeString& uWord ){
   if ( mblemResult.empty() ){
     // just return the word as a lemma
     string result = UnicodeToUTF8( uWord );
@@ -294,7 +294,7 @@ void Mblem::addDeclaration( Document& do
 void Mblem::Classify( Word *sword ){
   if ( sword->isinstance(PlaceHolder_t ) )
     return;
-  UnicodeString uword;
+  icu::UnicodeString uword;
   string pos;
   string token_class;
 #pragma omp critical(foliaupdate)
@@ -322,7 +322,7 @@ void Mblem::Classify( Word *sword ){
     // we have to strip a few letters to get a lemma
     auto const& it2 = it1->second.find( token_class );
     if ( it2 != it1->second.end() ){
-      uword = UnicodeString( uword, 0, uword.length() - it2->second );
+      uword = icu::UnicodeString( uword, 0, uword.length() - it2->second );
       string word = UnicodeToUTF8(uword);
       addLemma( sword, word );
       return;
@@ -343,7 +343,7 @@ void Mblem::Classify( Word *sword ){
   getFoLiAResult( sword, uword );
 }
 
-void Mblem::Classify( const UnicodeString& uWord ){
+void Mblem::Classify( const icu::UnicodeString& uWord ){
   mblemResult.clear();
   string inst = make_instance(uWord);
   string classString;
@@ -360,7 +360,7 @@ void Mblem::Classify( const UnicodeStrin
   int index = 0;
   while ( index < numParts ) {
     string partS = parts[index++];
-    UnicodeString lemma;
+    icu::UnicodeString lemma;
     string restag;
     string::size_type pos = partS.find("+");
     if ( pos == string::npos ){
@@ -376,9 +376,9 @@ void Mblem::Classify( const UnicodeStrin
 	throw runtime_error( "invalid editstring: " + partS );
       restag = edits[0]; // the first one is the POS tag
 
-      UnicodeString insstr;
-      UnicodeString delstr;
-      UnicodeString prefix;
+      icu::UnicodeString insstr;
+      icu::UnicodeString delstr;
+      icu::UnicodeString prefix;
       for ( const auto& edit : edits ){
 	if ( edit == edits.front() ){
 	  continue;
@@ -422,7 +422,7 @@ void Mblem::Classify( const UnicodeStrin
 	LOG << "prefixpos = " << prefixpos << endl;
       }
       if (prefixpos >= 0) {
-	lemma = UnicodeString( uWord, 0L, prefixpos );
+	lemma = icu::UnicodeString( uWord, 0L, prefixpos );
 	prefixpos = prefixpos + prefix.length();
       }
       if (debug){
@@ -441,13 +441,13 @@ void Mblem::Classify( const UnicodeStrin
 	    lemma += uWord;
 	  }
 	  else {
-	    UnicodeString part = UnicodeString( uWord, prefixpos, uWord.length() - delstr.length() - prefixpos );
+	    icu::UnicodeString part = icu::UnicodeString( uWord, prefixpos, uWord.length() - delstr.length() - prefixpos );
 	    lemma += part + insstr;
 	  }
 	}
 	else if ( insstr.isEmpty() ){
 	  // no replacement, just take part after the prefix
-	  lemma += UnicodeString( uWord, prefixpos, uWord.length() ); // uWord;
+	  lemma += icu::UnicodeString( uWord, prefixpos, uWord.length() ); // uWord;
 	}
 	else {
 	  // but replace if possible
--- frog-0.13.7.orig/src/mblem_prog.cxx
+++ frog-0.13.7/src/mblem_prog.cxx
@@ -168,7 +168,7 @@ void Test( istream& in ){
       if ( useTagger ){
 	vector<TagResult> tagrv = tagger.tagLine( s );
 	for ( const auto& tr : tagrv ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(tr.word());
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(tr.word());
 	  myMblem.Classify( uWord );
 	  myMblem.filterTag( tr.assignedTag() );
 	  vector<pair<string,string> > res = myMblem.getResult();
@@ -184,7 +184,7 @@ void Test( istream& in ){
 	vector<string> parts;
 	TiCC::split( s, parts );
 	for ( const auto& w : parts ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(w);
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(w);
 	  myMblem.Classify( uWord );
 	  vector<pair<string,string> > res = myMblem.getResult();
 	  string line = w + "\t";
--- frog-0.13.7.orig/src/mbma_brackets.cxx
+++ frog-0.13.7/src/mbma_brackets.cxx
@@ -283,7 +283,7 @@ BracketLeaf::BracketLeaf( const RulePart
 }
 
 BracketLeaf::BracketLeaf( CLEX::Type t,
-			  const UnicodeString& us,
+			  const icu::UnicodeString& us,
 			  int flag,
 			  LogStream& l ):
   BaseBracket( t, vector<CLEX::Type>(), flag, l ),
@@ -314,17 +314,17 @@ BracketNest::~BracketNest(){
   }
 }
 
-UnicodeString BaseBracket::put( bool full ) const {
-  UnicodeString result = "[err?]";
+icu::UnicodeString BaseBracket::put( bool full ) const {
+  icu::UnicodeString result = "[err?]";
   if ( full ){
-    UnicodeString s = UTF8ToUnicode(toString(cls));
+    icu::UnicodeString s = UTF8ToUnicode(toString(cls));
     result += s;
   }
   return result;
 }
 
-UnicodeString BracketLeaf::put( bool full ) const {
-  UnicodeString result;
+icu::UnicodeString BracketLeaf::put( bool full ) const {
+  icu::UnicodeString result;
   if ( !morph.isEmpty() ){
     result += "[";
     result += morph;
@@ -341,10 +341,10 @@ UnicodeString BracketLeaf::put( bool ful
   return result;
 }
 
-UnicodeString BracketNest::put( bool full ) const {
-  UnicodeString result = "[ ";
+icu::UnicodeString BracketNest::put( bool full ) const {
+  icu::UnicodeString result = "[ ";
   for ( auto const& it : parts ){
-    UnicodeString m = it->put( full );
+    icu::UnicodeString m = it->put( full );
     if ( !m.isEmpty() ){
       result +=  m + " ";
     }
--- frog-0.13.7.orig/src/mbma_mod.cxx
+++ frog-0.13.7/src/mbma_mod.cxx
@@ -109,9 +109,9 @@ void Mbma::init_cgn( const string& main,
   }
 }
 
-Transliterator *Mbma::init_trans( ){
+icu::Transliterator *Mbma::init_trans( ){
   UErrorCode stat = U_ZERO_ERROR;
-  Transliterator *t = Transliterator::createInstance( "NFD; [:M:] Remove; NFC",
+  icu::Transliterator *t = icu::Transliterator::createInstance( "NFD; [:M:] Remove; NFC",
 						      UTRANS_FORWARD,
 						      stat );
   if ( U_FAILURE( stat ) ){
@@ -213,14 +213,14 @@ void Mbma::cleanUp(){
   clearAnalysis();
 }
 
-vector<string> Mbma::make_instances( const UnicodeString& word ){
+vector<string> Mbma::make_instances( const icu::UnicodeString& word ){
   vector<string> insts;
   insts.reserve( word.length() );
   for ( long i=0; i < word.length(); ++i ) {
     if (debugFlag > 10){
       LOG << "itt #:" << i << endl;
     }
-    UnicodeString inst;
+    icu::UnicodeString inst;
     for ( long j=i ; j <= i + RIGHT + LEFT; ++j ) {
       if (debugFlag > 10){
 	LOG << " " << j-LEFT << ": ";
@@ -308,7 +308,7 @@ void Mbma::clearAnalysis(){
 }
 
 Rule* Mbma::matchRule( const std::vector<std::string>& ana,
-		       const UnicodeString& word ){
+		       const icu::UnicodeString& word ){
   Rule *rule = new Rule( ana, word, *mbmaLog, debugFlag );
   if ( rule->performEdits() ){
     rule->reduceZeroNodes();
@@ -340,7 +340,7 @@ Rule* Mbma::matchRule( const std::vector
   }
 }
 
-vector<Rule*> Mbma::execute( const UnicodeString& word,
+vector<Rule*> Mbma::execute( const icu::UnicodeString& word,
 			     const vector<string>& classes ){
   vector<vector<string> > allParts = generate_all_perms( classes );
   if ( debugFlag ){
@@ -683,9 +683,9 @@ void Mbma::filterSubTags( const vector<s
   // we still might have doubles. (different Rule's yielding the same result)
   // reduce these
   //
-  map<UnicodeString, Rule*> unique;
+  map<icu::UnicodeString, Rule*> unique;
   for ( const auto& ait : highConf ){
-    UnicodeString tmp = ait->getKey( doDeepMorph );
+    icu::UnicodeString tmp = ait->getKey( doDeepMorph );
     unique[tmp] = ait;
   }
   // so now we have map of 'equal' analysis.
@@ -737,7 +737,7 @@ void Mbma::assign_compounds(){
   }
 }
 
-void Mbma::getFoLiAResult( Word *fword, const UnicodeString& uword ) const {
+void Mbma::getFoLiAResult( Word *fword, const icu::UnicodeString& uword ) const {
   if ( analysis.size() == 0 ){
     // fallback option: use the word and pretend it's a morpheme ;-)
     if ( debugFlag ){
@@ -779,9 +779,9 @@ void Mbma::addDeclaration( Document& doc
   }
 }
 
-UnicodeString Mbma::filterDiacritics( const UnicodeString& in ) const {
+icu::UnicodeString Mbma::filterDiacritics( const icu::UnicodeString& in ) const {
   if ( transliterator ){
-    UnicodeString result = in;
+    icu::UnicodeString result = in;
     transliterator->transliterate( result );
     return result;
   }
@@ -794,7 +794,7 @@ void Mbma::Classify( Word* sword ){
   if ( sword->isinstance(PlaceHolder_t) ){
     return;
   }
-  UnicodeString uWord;
+  icu::UnicodeString uWord;
   PosAnnotation *pos;
   string head;
   string token_class;
@@ -826,7 +826,7 @@ void Mbma::Classify( Word* sword ){
     }
   }
   else {
-    UnicodeString lWord = uWord;
+    icu::UnicodeString lWord = uWord;
     if ( head != "SPEC" ){
       lWord.toLower();
     }
@@ -846,9 +846,9 @@ void Mbma::Classify( Word* sword ){
   }
 }
 
-void Mbma::Classify( const UnicodeString& word ){
+void Mbma::Classify( const icu::UnicodeString& word ){
   clearAnalysis();
-  UnicodeString uWord = filterDiacritics( word );
+  icu::UnicodeString uWord = filterDiacritics( word );
   vector<string> insts = make_instances( uWord );
   vector<string> classes;
   classes.reserve( insts.size() );
--- frog-0.13.7.orig/src/mbma_prog.cxx
+++ frog-0.13.7/src/mbma_prog.cxx
@@ -187,7 +187,7 @@ void Test( istream& in ){
       if ( useTagger ){
 	vector<TagResult> tagv = tagger.tagLine( s );
 	for ( const auto& tr : tagv ){
-	  UnicodeString uWord = folia::UTF8ToUnicode( tr.word() );
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode( tr.word() );
 	  vector<string> v;
 	  size_t num = TiCC::split_at_first_of( tr.assignedTag(),
 						v, "(,)" );
@@ -225,7 +225,7 @@ void Test( istream& in ){
 	vector<string> parts;
 	TiCC::split( s, parts );
 	for ( auto const& w : parts ){
-	  UnicodeString uWord = folia::UTF8ToUnicode(w);
+	  icu::UnicodeString uWord = folia::UTF8ToUnicode(w);
 	  uWord.toLower();
 	  myMbma.Classify( uWord );
 	  myMbma.assign_compounds();
--- frog-0.13.7.orig/src/mbma_rule.cxx
+++ frog-0.13.7/src/mbma_rule.cxx
@@ -236,7 +236,7 @@ RulePart::RulePart( const string& rs, co
 }
 
 Rule::Rule( const vector<string>& parts,
-	    const UnicodeString& s,
+	    const icu::UnicodeString& s,
 	    TiCC::LogStream& ls,
 	    int flag ):
   debugFlag( flag ),
@@ -301,7 +301,7 @@ vector<string> Rule::extract_morphemes(
   vector<string> morphemes;
   morphemes.reserve( rules.size() );
   for ( const auto& it : rules ){
-    UnicodeString morpheme = it.morpheme;
+    icu::UnicodeString morpheme = it.morpheme;
     if ( !morpheme.isEmpty() ){
       morphemes.push_back( UnicodeToUTF8(morpheme) );
     }
@@ -312,7 +312,7 @@ vector<string> Rule::extract_morphemes(
 string Rule::morpheme_string( bool structured ) const {
   string result;
   if ( structured ){
-    UnicodeString us = brackets->put(true);
+    icu::UnicodeString us = brackets->put(true);
     result = UnicodeToUTF8( us );
   }
   else {
@@ -343,7 +343,7 @@ bool Rule::performEdits(){
       for ( int j=0; j < cur->del.length(); ++j ){
 	if ( (k + j) < rules.size() ){
 	  if ( rules[k+j].uchar != cur->del[j] ){
-	    UnicodeString tmp(cur->del[j]);
+	    icu::UnicodeString tmp(cur->del[j]);
 	    LOG << "Hmm: deleting " << cur->del << " is impossible. ("
 			      << rules[k+j].uchar << " != " << tmp
 			      << ")." << endl;
@@ -352,7 +352,7 @@ bool Rule::performEdits(){
 	  }
 	}
 	else {
-	  UnicodeString tmp(cur->del[j]);
+	  icu::UnicodeString tmp(cur->del[j]);
 	  LOG << "Hmm: deleting " << cur->del
 			    << " is impossible. (beyond end of the rule)"
 			    << endl;
@@ -370,7 +370,7 @@ bool Rule::performEdits(){
     }
 
     bool inserted = false;
-    UnicodeString part; // store to-be-inserted particles here!
+    icu::UnicodeString part; // store to-be-inserted particles here!
     if ( !cur->hide.isEmpty() ){
       last->morpheme += cur->uchar; // add to prevvoius morheme
       cur->uchar = "";
@@ -490,10 +490,10 @@ void Rule::resolve_inflections(){
   }
 }
 
-UnicodeString Rule::getKey( bool deep ){
+icu::UnicodeString Rule::getKey( bool deep ){
   if ( deep ){
     if ( sortkey.isEmpty() ){
-      UnicodeString tmp;
+      icu::UnicodeString tmp;
       stringstream ss;
       ss << brackets << endl;
       tmp = UTF8ToUnicode(ss.str());
@@ -503,7 +503,7 @@ UnicodeString Rule::getKey( bool deep ){
   }
   else {
     vector<string> morphs = extract_morphemes();
-    UnicodeString tmp;
+    icu::UnicodeString tmp;
     // create an unique string
     for ( auto const& mor : morphs ){
       tmp += UTF8ToUnicode(mor) + "++";
--- frog-0.13.7.orig/src/mwu_chunker_mod.cxx
+++ frog-0.13.7/src/mwu_chunker_mod.cxx
@@ -116,7 +116,7 @@ void Mwu::reset(){
 }
 
 void Mwu::add( Word *word ){
-  UnicodeString tmp;
+  icu::UnicodeString tmp;
 #pragma omp critical(foliaupdate)
   {
     tmp = word->text();
--- frog-0.13.7.orig/src/ner_tagger_mod.cxx
+++ frog-0.13.7/src/ner_tagger_mod.cxx
@@ -404,7 +404,7 @@ void NERTagger::Classify( const vector<W
     vector<string> words;
     string sentence; // the tagger needs the whole sentence
     for ( const auto& sw : swords ){
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = sw->text();
--- frog-0.13.7.orig/src/pos_tagger_mod.cxx
+++ frog-0.13.7/src/pos_tagger_mod.cxx
@@ -250,7 +250,7 @@ void POSTagger::Classify( const vector<W
   if ( !swords.empty() ) {
     string sentence; // the tagger needs the whole sentence
     for ( size_t w = 0; w < swords.size(); ++w ) {
-      UnicodeString word;
+      icu::UnicodeString word;
 #pragma omp critical(foliaupdate)
       {
 	word = swords[w]->text();

Reply via email to