tesseract  4.0.0-1-g2a2b
tesseract::FontInfoTable Class Reference

#include <fontinfo.h>

Inheritance diagram for tesseract::FontInfoTable:
GenericVector< FontInfo >

Public Member Functions

 FontInfoTable ()
 
 ~FontInfoTable ()
 
bool Serialize (FILE *fp) const
 
bool DeSerialize (TFile *fp)
 
bool SetContainsFontProperties (int font_id, const GenericVector< ScoredFont > &font_set) const
 
bool SetContainsMultipleFontProperties (const GenericVector< ScoredFont > &font_set) const
 
void MoveSpacingInfoFrom (FontInfoTable *other)
 
void MoveTo (UnicityTable< FontInfo > *target)
 
- Public Member Functions inherited from GenericVector< FontInfo >
 GenericVector ()
 
 GenericVector (int size, const FontInfo &init_val)
 
 GenericVector (const GenericVector &other)
 
GenericVector< FontInfo > & operator+= (const GenericVector &other)
 
void operator+= (const FontInfo &t)
 
GenericVector< FontInfo > & operator= (const GenericVector &other)
 
 ~GenericVector ()
 
void reserve (int size)
 
void double_the_size ()
 
void init_to_size (int size, const FontInfo &t)
 
void resize_no_init (int size)
 
int size () const
 
size_t unsigned_size () const
 
int size_reserved () const
 
int length () const
 
bool empty () const
 
FontInfo & get (int index) const
 
FontInfo & back () const
 
FontInfo & operator[] (int index) const
 
FontInfo pop_back ()
 
int get_index (const FontInfo &object) const
 
bool contains (const FontInfo &object) const
 
FontInfo contains_index (int index) const
 
int push_back (FontInfo object)
 
int push_back_new (const FontInfo &object)
 
int push_front (const FontInfo &object)
 
void set (const FontInfo &t, int index)
 
void insert (const FontInfo &t, int index)
 
void remove (int index)
 
void truncate (int size)
 
void set_clear_callback (TessCallback1< FontInfo > *cb)
 
void set_compare_callback (TessResultCallback2< bool, FontInfo const &, FontInfo const & > *cb)
 
void clear ()
 
void delete_data_pointers ()
 
void move (GenericVector< FontInfo > *from)
 
bool write (FILE *f, TessResultCallback2< bool, FILE *, FontInfo const & > *cb) const
 
bool read (tesseract::TFile *f, TessResultCallback2< bool, tesseract::TFile *, FontInfo * > *cb)
 
bool Serialize (FILE *fp) const
 
bool Serialize (tesseract::TFile *fp) const
 
bool DeSerialize (bool swap, FILE *fp)
 
bool DeSerialize (tesseract::TFile *fp)
 
bool SerializeClasses (FILE *fp) const
 
bool SerializeClasses (tesseract::TFile *fp) const
 
bool DeSerializeClasses (bool swap, FILE *fp)
 
bool DeSerializeClasses (tesseract::TFile *fp)
 
void reverse ()
 
void sort ()
 
void sort (int(*comparator)(const void *, const void *))
 
bool bool_binary_search (const FontInfo &target) const
 
int binary_search (const FontInfo &target) const
 
void compact_sorted ()
 
void compact (TessResultCallback1< bool, int > *delete_cb)
 
FontInfo dot_product (const GenericVector< FontInfo > &other) const
 
int choose_nth_item (int target_index)
 
void swap (int index1, int index2)
 
bool WithinBounds (const FontInfo &rangemin, const FontInfo &rangemax) const
 

Additional Inherited Members

- Static Public Member Functions inherited from GenericVector< FontInfo >
static bool SkipDeSerialize (tesseract::TFile *fp)
 
static bool SkipDeSerializeClasses (tesseract::TFile *fp)
 
static FontInfo * double_the_size_memcpy (int current_size, FontInfo *data)
 
- Protected Member Functions inherited from GenericVector< FontInfo >
int choose_nth_item (int target_index, int start, int end, unsigned int *seed)
 
void init (int size)
 
- Protected Attributes inherited from GenericVector< FontInfo >
int32_t size_used_
 
int32_t size_reserved_
 
FontInfo * data_
 
TessCallback1< FontInfo > * clear_cb_
 
TessResultCallback2< bool, FontInfo const &, FontInfo const &> * compare_cb_
 
- Static Protected Attributes inherited from GenericVector< FontInfo >
static const int kDefaultVectorSize
 

Detailed Description

Definition at line 146 of file fontinfo.h.

Constructor & Destructor Documentation

◆ FontInfoTable()

tesseract::FontInfoTable::FontInfoTable ( )

Definition at line 40 of file fontinfo.cpp.

40  {
43 }
void set_clear_callback(TessCallback1< FontInfo > *cb)
_ConstTessMemberResultCallback_0_0< false, R, T1 >::base * NewPermanentTessCallback(const T1 *obj, R(T2::*member)() const)
Definition: tesscallback.h:116
void set_compare_callback(TessResultCallback2< bool, FontInfo const &, FontInfo const & > *cb)
bool CompareFontInfo(const FontInfo &fi1, const FontInfo &fi2)
Definition: fontinfo.cpp:120
void FontInfoDeleteCallback(FontInfo f)
Definition: fontinfo.cpp:139

◆ ~FontInfoTable()

tesseract::FontInfoTable::~FontInfoTable ( )

Definition at line 45 of file fontinfo.cpp.

45  {
46 }

Member Function Documentation

◆ DeSerialize()

bool tesseract::FontInfoTable::DeSerialize ( TFile fp)

Definition at line 54 of file fontinfo.cpp.

54  {
55  truncate(0);
56  return this->DeSerializeClasses(fp);
57 }
bool DeSerializeClasses(bool swap, FILE *fp)

◆ MoveSpacingInfoFrom()

void tesseract::FontInfoTable::MoveSpacingInfoFrom ( FontInfoTable other)

Definition at line 85 of file fontinfo.cpp.

85  {
88  for (int i = 0; i < other->size(); ++i) {
89  GenericVector<FontSpacingInfo*>* spacing_vec = other->get(i).spacing_vec;
90  if (spacing_vec != nullptr) {
91  int target_index = get_index(other->get(i));
92  if (target_index < 0) {
93  // Bit copy the FontInfo and steal all the pointers.
94  push_back(other->get(i));
95  other->get(i).name = nullptr;
96  } else {
97  delete [] get(target_index).spacing_vec;
98  get(target_index).spacing_vec = other->get(i).spacing_vec;
99  }
100  other->get(i).spacing_vec = nullptr;
101  }
102  }
103 }
void set_clear_callback(TessCallback1< FontInfo > *cb)
_ConstTessMemberResultCallback_0_0< false, R, T1 >::base * NewPermanentTessCallback(const T1 *obj, R(T2::*member)() const)
Definition: tesscallback.h:116
void set_compare_callback(TessResultCallback2< bool, FontInfo const &, FontInfo const & > *cb)
int get_index(const FontInfo &object) const
T & get(int index) const
bool CompareFontInfo(const FontInfo &fi1, const FontInfo &fi2)
Definition: fontinfo.cpp:120
int push_back(FontInfo object)
void FontInfoDeleteCallback(FontInfo f)
Definition: fontinfo.cpp:139

◆ MoveTo()

void tesseract::FontInfoTable::MoveTo ( UnicityTable< FontInfo > *  target)

Definition at line 106 of file fontinfo.cpp.

106  {
107  target->clear();
110  for (int i = 0; i < size(); ++i) {
111  // Bit copy the FontInfo and steal all the pointers.
112  target->push_back(get(i));
113  get(i).name = nullptr;
114  get(i).spacing_vec = nullptr;
115  }
116 }
_ConstTessMemberResultCallback_0_0< false, R, T1 >::base * NewPermanentTessCallback(const T1 *obj, R(T2::*member)() const)
Definition: tesscallback.h:116
void set_clear_callback(TessCallback1< T > *cb)
void set_compare_callback(TessResultCallback2< bool, T const &, T const &> *cb)
bool CompareFontInfo(const FontInfo &fi1, const FontInfo &fi2)
Definition: fontinfo.cpp:120
int push_back(T object)
Add an element in the table.
void FontInfoDeleteCallback(FontInfo f)
Definition: fontinfo.cpp:139

◆ Serialize()

bool tesseract::FontInfoTable::Serialize ( FILE *  fp) const

Definition at line 49 of file fontinfo.cpp.

49  {
50  return this->SerializeClasses(fp);
51 }
bool SerializeClasses(FILE *fp) const

◆ SetContainsFontProperties()

bool tesseract::FontInfoTable::SetContainsFontProperties ( int  font_id,
const GenericVector< ScoredFont > &  font_set 
) const

Definition at line 61 of file fontinfo.cpp.

62  {
63  uint32_t properties = get(font_id).properties;
64  for (int f = 0; f < font_set.size(); ++f) {
65  if (get(font_set[f].fontinfo_id).properties == properties)
66  return true;
67  }
68  return false;
69 }
int size() const
Definition: genericvector.h:71

◆ SetContainsMultipleFontProperties()

bool tesseract::FontInfoTable::SetContainsMultipleFontProperties ( const GenericVector< ScoredFont > &  font_set) const

Definition at line 72 of file fontinfo.cpp.

73  {
74  if (font_set.empty()) return false;
75  int first_font = font_set[0].fontinfo_id;
76  uint32_t properties = get(first_font).properties;
77  for (int f = 1; f < font_set.size(); ++f) {
78  if (get(font_set[f].fontinfo_id).properties != properties)
79  return true;
80  }
81  return false;
82 }
int size() const
Definition: genericvector.h:71
bool empty() const
Definition: genericvector.h:90

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