Chromium Code Reviews| Index: base/i18n/break_iterator.cc |
| diff --git a/base/i18n/break_iterator.cc b/base/i18n/break_iterator.cc |
| index afa1fd80d89b080a97a0585351b1be0b6daacd71..c051e3ec82da9c5500ef612879a781aa4f74a0d7 100644 |
| --- a/base/i18n/break_iterator.cc |
| +++ b/base/i18n/break_iterator.cc |
| @@ -92,6 +92,17 @@ bool BreakIterator::IsWord() const { |
| return (break_type_ == BREAK_WORD && status != UBRK_WORD_NONE); |
| } |
| +bool BreakIterator::IsWordBreakAt(size_t position) { |
| + UBreakIterator* iter = static_cast<UBreakIterator*>(iter_); |
| + UBool boundary = ubrk_isBoundary(iter, static_cast<int32_t>(position)); |
| + int32_t status = ubrk_getRuleStatus(iter); |
| + // Check the next word boundary type, but ignore the position. |
| + ubrk_next(iter); |
| + int32_t next_status = ubrk_getRuleStatus(iter); |
| + return (!!boundary && status == UBRK_WORD_NONE && |
| + next_status != UBRK_WORD_NONE); |
|
xji
2011/08/23 07:39:51
this probably wont work for Chinese, it should ret
msw
2011/08/24 10:15:40
The default Omnibox font won't even display Chines
|
| +} |
| + |
| string16 BreakIterator::GetString() const { |
| DCHECK(prev_ != npos && pos_ != npos); |
| return string_.substr(prev_, pos_ - prev_); |