cout << "[" << result.ToNewCString() << "]\n";
cout << "[" << NS_LossyConvertUCS2toASCII(result).get() << "]\n";
void SampleFindWordBreakFromPosition(PRUint32 fragN, PRUint32 offset){   PRUint32 numOfFragment = sizeof(wb) / sizeof(char*);   nsIWordBreakerFactory *t = NULL;   nsresult res = nsServiceManager::GetService(kLWBrkCID,                                kIWordBreakerFactory,                                (nsISupports**) &t);   nsIWordBreaker *wbk;   nsAutoString wb_arg;   res = t->GetBreaker(wb_arg, &wbk);   nsAutoString fragText; fragText.AssignWithConversion(wb[fragN]);       PRUint32 begin, end;   nsAutoString result;   res = wbk->FindWord(fragText.get(), fragText.Length(),                           offset, &begin, &end);   PRBool canbreak;   fragText.Mid(result, begin, end-begin);   if((PRUint32)fragText.Length() == end) // if we hit the end of the fragment   {     nsAutoString curFragText = fragText;     for(PRUint32  p = fragN +1; p < numOfFragment ;p++)     {        nsAutoString nextFragText; nextFragText.AssignWithConversion(wb[p]);         res = wbk->BreakInBetween(curFragText.get(),                                   curFragText.Length(),                                  nextFragText.get(),                                   nextFragText.Length(),                                  &canbreak);        if(canbreak)           break;         PRUint32 b, e;        res = wbk->FindWord(nextFragText.get(), nextFragText.Length(),                           0, &b, &e);        nsAutoString tmp;        nextFragText.Mid(tmp,b,e-b);        result.Append(tmp);        if((PRUint32)nextFragText.Length() != e)          break;        nextFragText = curFragText;     }   }      if(0 == begin) // if we hit the beginning of the fragment   {     nsAutoString curFragText = fragText;     for(PRUint32  p = fragN ; p > 0 ;p--)     {        nsAutoString prevFragText; prevFragText.AssignWithConversion(wb[p-1]);         res = wbk->BreakInBetween(prevFragText.get(),                                   prevFragText.Length(),                                  curFragText.get(),                                   curFragText.Length(),                                  &canbreak);        if(canbreak)           break;         PRUint32 b, e;        res = wbk->FindWord(prevFragText.get(), prevFragText.Length(),                           prevFragText.Length(), &b, &e);        nsAutoString tmp;        prevFragText.Mid(tmp,b,e-b);        result.Insert(tmp,0);        if(0 != b)          break;        prevFragText = curFragText;     }   }      cout << "Output From  SamplePrintWordWithBreak() \n\n";   cout << "[" << result.ToNewCString() << "]\n";}