*** a/ccmain/baseapi.cpp --- b/ccmain/baseapi.cpp *************** *** 954,960 **** for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) { OUTLINE *outline = it.data(); outline->compute_bb(); ! result.bounding_union(outline->bounding_box()); } return result; } --- 954,960 ---- for (it.mark_cycle_pt(); !it.cycled_list(); it.forward()) { OUTLINE *outline = it.data(); outline->compute_bb(); ! result = result.bounding_union(outline->bounding_box()); } return result; } *************** *** 966,972 **** for (c_it.mark_cycle_pt(); !c_it.cycled_list(); c_it.forward()) { C_BLOB *blob = c_it.data(); //bboxes.push(tessy_rectangle(blob->bounding_box())); ! result.bounding_union(blob->bounding_box()); } return result; } --- 966,972 ---- for (c_it.mark_cycle_pt(); !c_it.cycled_list(); c_it.forward()) { C_BLOB *blob = c_it.data(); //bboxes.push(tessy_rectangle(blob->bounding_box())); ! result = result.bounding_union(blob->bounding_box()); } return result; } *************** *** 1026,1032 **** for (int i = 0; i < n; i++) { PBLOB *blob = it.data(); TBOX current = pblob_get_bbox(blob); ! bln_rect.bounding_union(current); TESS_CHAR *tc = new TESS_CHAR(rating_to_cost(word->best_choice->rating()), str, *len); --- 1026,1032 ---- for (int i = 0; i < n; i++) { PBLOB *blob = it.data(); TBOX current = pblob_get_bbox(blob); ! bln_rect = bln_rect.bounding_union(current); TESS_CHAR *tc = new TESS_CHAR(rating_to_cost(word->best_choice->rating()), str, *len);