All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
tesseract::UnicodeSpanSkipper Class Reference

Public Member Functions

 UnicodeSpanSkipper (const UNICHARSET *unicharset, const WERD_CHOICE *word)
 
int SkipPunc (int pos)
 
int SkipDigits (int pos)
 
int SkipRomans (int pos)
 
int SkipAlpha (int pos)
 

Detailed Description

Definition at line 282 of file paragraphs.cpp.

Constructor & Destructor Documentation

tesseract::UnicodeSpanSkipper::UnicodeSpanSkipper ( const UNICHARSET unicharset,
const WERD_CHOICE word 
)
inline

Definition at line 284 of file paragraphs.cpp.

285  : u_(unicharset), word_(word) { wordlen_ = word->length(); }
int length() const
Definition: ratngs.h:300

Member Function Documentation

int tesseract::UnicodeSpanSkipper::SkipAlpha ( int  pos)

Definition at line 323 of file paragraphs.cpp.

323  {
324  while (pos < wordlen_ && u_->get_isalpha(word_->unichar_id(pos))) pos++;
325  return pos;
326 }
const UNICHAR_ID unichar_id(int index) const
Definition: ratngs.h:312
int tesseract::UnicodeSpanSkipper::SkipDigits ( int  pos)

Definition at line 307 of file paragraphs.cpp.

307  {
308  while (pos < wordlen_ && (u_->get_isdigit(word_->unichar_id(pos)) ||
309  IsDigitLike(UnicodeFor(u_, word_, pos)))) pos++;
310  return pos;
311 }
bool IsDigitLike(int ch)
Definition: paragraphs.cpp:197
int UnicodeFor(const UNICHARSET *u, const WERD_CHOICE *werd, int pos)
Definition: paragraphs.cpp:274
bool get_isdigit(UNICHAR_ID unichar_id) const
Definition: unicharset.h:470
const UNICHAR_ID unichar_id(int index) const
Definition: ratngs.h:312
int tesseract::UnicodeSpanSkipper::SkipPunc ( int  pos)

Definition at line 302 of file paragraphs.cpp.

302  {
303  while (pos < wordlen_ && u_->get_ispunctuation(word_->unichar_id(pos))) pos++;
304  return pos;
305 }
const UNICHAR_ID unichar_id(int index) const
Definition: ratngs.h:312
int tesseract::UnicodeSpanSkipper::SkipRomans ( int  pos)

Definition at line 313 of file paragraphs.cpp.

313  {
314  const char *kRomans = "ivxlmdIVXLMD";
315  while (pos < wordlen_) {
316  int ch = UnicodeFor(u_, word_, pos);
317  if (ch >= 0xF0 || strchr(kRomans, ch) == 0) break;
318  pos++;
319  }
320  return pos;
321 }
int UnicodeFor(const UNICHARSET *u, const WERD_CHOICE *werd, int pos)
Definition: paragraphs.cpp:274

The documentation for this class was generated from the following file: