93 for (
unsigned i = 0; i < length_; ++i) {
97 TBOX(box.left() - 1, box.bottom() - 1, box.right() + 1, box.top() + 1);
100 C_BLOB_IT b_it(original_word->cblob_list());
101 for (b_it.mark_cycle_pt(); !b_it.cycled_list(); b_it.forward()) {
102 TBOX blob_box = b_it.data()->bounding_box();
103 if (block !=
nullptr) {
104 blob_box.rotate(block->re_rotation());
106 if (blob_box.major_overlap(box)) {
107 original_box += blob_box;
110 if (!original_box.null_box()) {
111 if (NearlyEqual<int>(original_box.left(), box.left(),
113 box.set_left(original_box.left());
115 if (NearlyEqual<int>(original_box.right(), box.right(),
117 box.set_right(original_box.right());
120 box.set_top(original_box.top());
122 if (NearlyEqual<int>(original_box.bottom(), box.bottom(),
124 box.set_bottom(original_box.bottom());
127 original_box = original_word->bounding_box();
128 if (block !=
nullptr) {
129 original_box.rotate(block->re_rotation());
131 boxes_[i] = box.intersection(original_box);
133 ComputeBoundingBox();
const int kBoxClipTolerance