65 WERD(C_BLOB_LIST *blob_list, uint8_t blanks,
const char *text);
70 WERD(C_BLOB_LIST *blob_list,
WERD *clone);
74 WERD *ConstructFromSingleBlob(
bool bol,
bool eol,
C_BLOB *blob);
88 WERD *ConstructWerdWithNewBlobs(C_BLOB_LIST *all_blobs, C_BLOB_LIST *orphan_blobs);
114 TBOX bounding_box()
const;
117 TBOX restricted_bounding_box(
bool upper_dots,
bool lower_dots)
const;
119 TBOX true_bounding_box()
const;
122 return correct.c_str();
132 flags.set(mask,
value);
136 return disp_flags[flag];
139 disp_flags.set(flag,
value);
142 WERD *shallow_copy();
145 void move(
const ICOORD vec);
148 void join_on(
WERD *other);
151 void copy_on(
WERD *other);
156#ifndef GRAPHICS_DISABLED
172 void CleanNoise(
float size_threshold);
176 void GetNoiseOutlines(std::vector<C_OUTLINE *> *outlines);
185 bool AddSelectedOutlines(
const std::vector<bool> &wanted,
186 const std::vector<C_BLOB *> &target_blobs,
187 const std::vector<C_OUTLINE *> &outlines,
bool *make_next_word_fuzzy);
191 std::bitset<16> flags;
192 std::bitset<16> disp_flags;
193 int16_t script_id_ = 0;
196 C_BLOB_LIST rej_cblobs;
#define ELIST2IZEH(CLASSNAME)
@ W_SEGMENTED
correctly segmented
@ W_INVERSE
white on black
@ W_SCRIPT_HAS_XHEIGHT
x-height concept makes sense.
@ W_SCRIPT_IS_LATIN
Special case latin for y. splitting.
@ W_DONT_CHOP
fixed pitch chopped
@ W_REP_CHAR
repeated character
@ W_FUZZY_NON
fuzzy nonspace
@ DF_POLYGONAL
Polyg approx.
@ DF_BLAMER
Blamer information.
@ DF_BN_POLYGONAL
BL normalisd polyapx.
@ DF_EDGE_STEP
Edge steps.
int word_comparator(const void *word1p, const void *word2p)
bool flag(WERD_FLAGS mask) const
const char * text() const
void set_flag(WERD_FLAGS mask, bool value)
void set_display_flag(uint8_t flag, bool value)
bool display_flag(uint8_t flag) const
void set_script_id(int id)
C_BLOB_LIST * rej_cblob_list()
void set_blanks(uint8_t new_blanks)
void set_text(const char *new_text)
C_BLOB_LIST * cblob_list()