mirror of
https://github.com/tesseract-ocr/tesseract.git
synced 2024-11-27 20:59:36 +08:00
textord: Fix typos in comments and strings
All of them were found by codespell. Signed-off-by: Stefan Weil <sw@weilnetz.de>
This commit is contained in:
parent
7113cba622
commit
64f9190575
@ -402,7 +402,7 @@ BLOBNBOX* AlignedBlob::FindAlignedBlob(const AlignedBlobParams& p,
|
||||
// Compute skew tolerance.
|
||||
int skew_tolerance = p.max_v_gap / kMaxSkewFactor;
|
||||
// Calculate xmin and xmax of the search box so that it contains
|
||||
// all possibly relevant boxes upto p.max_v_gap above or below accoording
|
||||
// all possibly relevant boxes up to p.max_v_gap above or below accoording
|
||||
// to top_to_bottom.
|
||||
// Start with a notion of vertical with the current estimate.
|
||||
int x2 = (p.max_v_gap * p.vertical.x() + p.vertical.y()/2) / p.vertical.y();
|
||||
|
@ -154,7 +154,7 @@ IntGrid* IntGrid::NeighbourhoodSum() const {
|
||||
}
|
||||
|
||||
// Returns true if more than half the area of the rect is covered by grid
|
||||
// cells that are over the theshold.
|
||||
// cells that are over the threshold.
|
||||
bool IntGrid::RectMostlyOverThreshold(const TBOX& rect, int threshold) const {
|
||||
int min_x, min_y, max_x, max_y;
|
||||
GridCoords(rect.left(), rect.bottom(), &min_x, &min_y);
|
||||
|
@ -127,7 +127,7 @@ class IntGrid : public GridBase {
|
||||
grid_[grid_y * gridwidth_ + grid_x] = value;
|
||||
}
|
||||
// Returns true if more than half the area of the rect is covered by grid
|
||||
// cells that are over the theshold.
|
||||
// cells that are over the threshold.
|
||||
bool RectMostlyOverThreshold(const TBOX& rect, int threshold) const;
|
||||
|
||||
// Returns true if any cell value in the given rectangle is zero.
|
||||
@ -292,7 +292,7 @@ template<class BBC, class BBC_CLIST, class BBC_C_IT> class GridSearch {
|
||||
// Return the next bbox in the search or NULL if done.
|
||||
BBC* NextFullSearch();
|
||||
|
||||
// Start a new radius search. Will search in a spiral upto a
|
||||
// Start a new radius search. Will search in a spiral up to a
|
||||
// given maximum radius in grid cells from the given center in pixels.
|
||||
void StartRadSearch(int x, int y, int max_radius);
|
||||
// Return the next bbox in the radius search or NULL if the
|
||||
@ -750,7 +750,7 @@ void GridSearch<BBC, BBC_CLIST, BBC_C_IT>::StartSideSearch(int x,
|
||||
int ymin, int ymax) {
|
||||
// Right search records the x in x_origin_, the ymax in y_origin_
|
||||
// and the size of the vertical strip to search in radius_.
|
||||
// To guarantee finding overlapping objects of upto twice the
|
||||
// To guarantee finding overlapping objects of up to twice the
|
||||
// given size, double the height.
|
||||
radius_ = ((ymax - ymin) * 2 + grid_->gridsize_ - 1) / grid_->gridsize_;
|
||||
rad_index_ = 0;
|
||||
|
@ -39,7 +39,7 @@ CLASS REGION_OCC
|
||||
built in sorted order of min x. Overlapping REGION_OCCs are not permitted on
|
||||
a single list. An overlapping region to be added causes the existing region
|
||||
to be extended. This extension may result in the following REGION_OCC on the
|
||||
list overlapping the ammended one. In this case the ammended REGION_OCC is
|
||||
list overlapping the amended one. In this case the amended REGION_OCC is
|
||||
further extended to include the range of the following one, so that the
|
||||
following one can be deleted.
|
||||
|
||||
|
@ -67,7 +67,7 @@ CCNonTextDetect::CCNonTextDetect(int gridsize,
|
||||
noise_density_(NULL) {
|
||||
// TODO(rays) break max_noise_count_ out into an area-proportional
|
||||
// value, as now plus an additive constant for the number of text blobs
|
||||
// in the 3x3 neigbourhood - maybe 9.
|
||||
// in the 3x3 neighbourhood - maybe 9.
|
||||
}
|
||||
|
||||
CCNonTextDetect::~CCNonTextDetect() {
|
||||
|
@ -340,7 +340,7 @@ int ColumnFinder::FindBlocks(PageSegMode pageseg_mode, Pix* scaled_color,
|
||||
// into thinking they are dealing with left-to-right text.
|
||||
// To do this, we reflect the needed data in the y-axis and then reflect
|
||||
// the blocks back after they have been created. This is a temporary
|
||||
// arrangment that is confined to this function only, so the reflection
|
||||
// arrangement that is confined to this function only, so the reflection
|
||||
// is completely invisible in the output blocks.
|
||||
// The only objects reflected are:
|
||||
// The vertical separator lines that have already been found;
|
||||
@ -869,7 +869,7 @@ void ColumnFinder::ShrinkRangeToLongestRun(int** column_set_costs,
|
||||
}
|
||||
}
|
||||
|
||||
// Moves start in the direction of step, upto, but not including end while
|
||||
// Moves start in the direction of step, up to, but not including end while
|
||||
// the only incompatible regions are no more than kMaxIncompatibleColumnCount
|
||||
// in size, and the compatible regions beyond are bigger.
|
||||
void ColumnFinder::ExtendRangePastSmallGaps(int** column_set_costs,
|
||||
|
@ -212,7 +212,7 @@ class ColumnFinder : public TabFind {
|
||||
const bool* any_columns_possible,
|
||||
int column_set_id,
|
||||
int* best_start, int* best_end);
|
||||
// Moves start in the direction of step, upto, but not including end while
|
||||
// Moves start in the direction of step, up to, but not including end while
|
||||
// the only incompatible regions are no more than kMaxIncompatibleColumnCount
|
||||
// in size, and the compatible regions beyond are bigger.
|
||||
void ExtendRangePastSmallGaps(int** column_set_costs,
|
||||
|
@ -2194,7 +2194,7 @@ bool ColPartition::IsInSameColumnAs(const ColPartition& part) const {
|
||||
void ColPartition::SmoothSpacings(int resolution, int page_height,
|
||||
ColPartition_LIST* parts) {
|
||||
// The task would be trivial if we didn't have to allow for blips -
|
||||
// occasional offsets in spacing caused by anomolous text, such as all
|
||||
// occasional offsets in spacing caused by anomalous text, such as all
|
||||
// caps, groups of descenders, joined words, Arabic etc.
|
||||
// The neighbourhood stores a consecutive group of partitions so that
|
||||
// blips can be detected correctly, yet conservatively enough to not
|
||||
|
@ -713,7 +713,7 @@ class ColPartition : public ELIST2_LINK {
|
||||
}
|
||||
|
||||
private:
|
||||
// enum to refer to the entries in a neigbourhood of lines.
|
||||
// enum to refer to the entries in a neighbourhood of lines.
|
||||
// Used by SmoothSpacings to test for blips with OKSpacingBlip.
|
||||
enum SpacingNeighbourhood {
|
||||
PN_ABOVE2,
|
||||
|
@ -106,7 +106,7 @@ void ColPartitionGrid::HandleClick(int x, int y) {
|
||||
// Merges ColPartitions in the grid that look like they belong in the same
|
||||
// textline.
|
||||
// For all partitions in the grid, calls the box_cb permanent callback
|
||||
// to compute the search box, seaches the box, and if a candidate is found,
|
||||
// to compute the search box, searches the box, and if a candidate is found,
|
||||
// calls the confirm_cb to check any more rules. If the confirm_cb returns
|
||||
// true, then the partitions are merged.
|
||||
// Both callbacks are deleted before returning.
|
||||
@ -1759,7 +1759,7 @@ void ColPartitionGrid::FindPartitionMargins(ColPartitionSet* columns,
|
||||
part->set_right_margin(right_margin);
|
||||
}
|
||||
|
||||
// Starting at x, and going in the specified direction, upto x_limit, finds
|
||||
// Starting at x, and going in the specified direction, up to x_limit, finds
|
||||
// the margin for the given y range by searching sideways,
|
||||
// and ignoring not_this.
|
||||
int ColPartitionGrid::FindMargin(int x, bool right_to_left, int x_limit,
|
||||
|
@ -45,7 +45,7 @@ class ColPartitionGrid : public BBGrid<ColPartition,
|
||||
// Merges ColPartitions in the grid that look like they belong in the same
|
||||
// textline.
|
||||
// For all partitions in the grid, calls the box_cb permanent callback
|
||||
// to compute the search box, seaches the box, and if a candidate is found,
|
||||
// to compute the search box, searches the box, and if a candidate is found,
|
||||
// calls the confirm_cb to check any more rules. If the confirm_cb returns
|
||||
// true, then the partitions are merged.
|
||||
// Both callbacks are deleted before returning.
|
||||
@ -246,7 +246,7 @@ class ColPartitionGrid : public BBGrid<ColPartition,
|
||||
// neighbours that vertically overlap significantly.
|
||||
void FindPartitionMargins(ColPartitionSet* columns, ColPartition* part);
|
||||
|
||||
// Starting at x, and going in the specified direction, upto x_limit, finds
|
||||
// Starting at x, and going in the specified direction, up to x_limit, finds
|
||||
// the margin for the given y range by searching sideways,
|
||||
// and ignoring not_this.
|
||||
int FindMargin(int x, bool right_to_left, int x_limit,
|
||||
|
@ -735,7 +735,7 @@ C_OUTLINE *join_chopped_fragments( //join pieces
|
||||
* join_segments
|
||||
*
|
||||
* Join the two edgestep fragments such that the second comes after
|
||||
* the first and the gap beween them is closed.
|
||||
* the first and the gap between them is closed.
|
||||
**********************************************************************/
|
||||
|
||||
void join_segments( //join pieces
|
||||
|
@ -648,7 +648,7 @@ static void CutChunkFromParts(const TBOX& box, const TBOX& im_box,
|
||||
TBOX part_box = part->bounding_box();
|
||||
if (part_box.overlap(box)) {
|
||||
// This part must be cut and replaced with the remains. There are
|
||||
// upto 4 pieces to be made. Start with the first one and use
|
||||
// up to 4 pieces to be made. Start with the first one and use
|
||||
// add_before_stay_put. For each piece if it has no black pixels
|
||||
// left, just don't make the box.
|
||||
// Above box.
|
||||
|
@ -66,7 +66,7 @@ class FPCUTPT
|
||||
inT16 pitch, //proposed pitch
|
||||
inT16 pitch_error); //allowed tolerance
|
||||
|
||||
inT32 position() { //acces func
|
||||
inT32 position() { //access func
|
||||
return xpos;
|
||||
}
|
||||
double cost_function() {
|
||||
|
@ -46,7 +46,7 @@ class FPSEGPT:public ELIST_LINK
|
||||
FPSEGPT_LIST *prev_list); //previous segment
|
||||
FPSEGPT(FPCUTPT *cutpt); //build from new type
|
||||
|
||||
inT32 position() { //acces func
|
||||
inT32 position() { //access func
|
||||
return xpos;
|
||||
}
|
||||
double cost_function() {
|
||||
|
@ -75,7 +75,7 @@ const int kMaxTextLineBlobRatio = 5;
|
||||
const int kMinTextLineBlobRatio = 3;
|
||||
// Fraction of box area covered by image to make a blob image.
|
||||
const double kMinImageArea = 0.5;
|
||||
// Upto 30 degrees is allowed for rotations of diacritic blobs.
|
||||
// Up to 30 degrees is allowed for rotations of diacritic blobs.
|
||||
// Keep this value slightly larger than kCosSmallAngle in blobbox.cpp
|
||||
// so that the assert there never fails.
|
||||
const double kCosMaxSkewAngle = 0.866025;
|
||||
|
@ -371,7 +371,7 @@ class TabFind : public AlignedBlob {
|
||||
TabVector_LIST vectors_; //< List of rule line and tabstops.
|
||||
TabVector_IT v_it_; //< Iterator for searching vectors_.
|
||||
TabVector_LIST dead_vectors_; //< Separators and unpartnered tab vectors.
|
||||
// List of commonly occuring width ranges with x=min and y=max.
|
||||
// List of commonly occurring width ranges with x=min and y=max.
|
||||
ICOORDELT_LIST column_widths_; //< List of commonly occurring width ranges.
|
||||
/** Callback to test an int for being a common width. */
|
||||
WidthCallback* width_cb_;
|
||||
|
@ -943,7 +943,7 @@ bool TableFinder::HasWideOrNoInterWordGap(ColPartition* part) const {
|
||||
return true;
|
||||
|
||||
// return true if the maximum gap found is smaller than the minimum allowed
|
||||
// max_gap in a text partition. This indicates that there is no signficant
|
||||
// max_gap in a text partition. This indicates that there is no significant
|
||||
// space in the partition, hence it is likely a single word.
|
||||
return largest_partition_gap_found < min_gap;
|
||||
}
|
||||
@ -954,7 +954,7 @@ bool TableFinder::HasWideOrNoInterWordGap(ColPartition* part) const {
|
||||
// Note that this includes overlapping leaders. However, it does not
|
||||
// include leaders in different columns on the page.
|
||||
// Possible false-positive will include lists, such as a table of contents.
|
||||
// As these arise, the agressive nature of this search may need to be
|
||||
// As these arise, the aggressive nature of this search may need to be
|
||||
// trimmed down.
|
||||
bool TableFinder::HasLeaderAdjacent(const ColPartition& part) {
|
||||
if (part.flow() == BTFT_LEADER)
|
||||
|
@ -685,7 +685,7 @@ int StructuredTable::CountHorizontalIntersections(int y) {
|
||||
|
||||
// Counts how many text partitions are in this box.
|
||||
// This is used to count partitons in cells, as that can indicate
|
||||
// how "strong" a potential table row/colum (or even full table) actually is.
|
||||
// how "strong" a potential table row/column (or even full table) actually is.
|
||||
int StructuredTable::CountPartitions(const TBOX& box) {
|
||||
ColPartitionGridSearch gsearch(text_grid_);
|
||||
gsearch.SetUniqueMode(true);
|
||||
|
@ -75,7 +75,7 @@ Textord::Textord(CCStruct* ccstruct)
|
||||
BOOL_MEMBER(tosp_all_flips_fuzzy, false, "Pass ANY flip to context?",
|
||||
ccstruct_->params()),
|
||||
BOOL_MEMBER(tosp_fuzzy_limit_all, true,
|
||||
"Dont restrict kn->sp fuzzy limit to tables",
|
||||
"Don't restrict kn->sp fuzzy limit to tables",
|
||||
ccstruct_->params()),
|
||||
BOOL_MEMBER(tosp_stats_use_xht_gaps, true,
|
||||
"Use within xht gap for wd breaks",
|
||||
@ -86,7 +86,7 @@ Textord::Textord(CCStruct* ccstruct)
|
||||
"Only use within xht gap for wd breaks",
|
||||
ccstruct_->params()),
|
||||
BOOL_MEMBER(tosp_rule_9_test_punct, false,
|
||||
"Dont chng kn to space next to punct",
|
||||
"Don't chng kn to space next to punct",
|
||||
ccstruct_->params()),
|
||||
BOOL_MEMBER(tosp_flip_fuzz_kn_to_sp, true, "Default flip",
|
||||
ccstruct_->params()),
|
||||
@ -169,7 +169,7 @@ Textord::Textord(CCStruct* ccstruct)
|
||||
double_MEMBER(tosp_fuzzy_sp_fraction, 0.5, "New fuzzy sp alg",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_min_sane_kn_sp, 1.5,
|
||||
"Dont trust spaces less than this time kn",
|
||||
"Don't trust spaces less than this time kn",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_init_guess_kn_mult, 2.2,
|
||||
"Thresh guess - mult kn by this",
|
||||
@ -181,7 +181,7 @@ Textord::Textord(CCStruct* ccstruct)
|
||||
"Multiplier on kn to limit thresh",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_flip_caution, 0.0,
|
||||
"Dont autoflip kn to sp when large separation",
|
||||
"Don't autoflip kn to sp when large separation",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_large_kerning, 0.19,
|
||||
"Limit use of xht gap with large kns",
|
||||
@ -190,10 +190,10 @@ Textord::Textord(CCStruct* ccstruct)
|
||||
"Limit use of xht gap with odd small kns",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_near_lh_edge, 0,
|
||||
"Dont reduce box if the top left is non blank",
|
||||
"Don't reduce box if the top left is non blank",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_silly_kn_sp_gap, 0.2,
|
||||
"Dont let sp minus kn get too small",
|
||||
"Don't let sp minus kn get too small",
|
||||
ccstruct_->params()),
|
||||
double_MEMBER(tosp_pass_wide_fuzz_sp_to_context, 0.75,
|
||||
"How wide fuzzies need context",
|
||||
|
@ -286,7 +286,7 @@ class Textord {
|
||||
BOOL_VAR_H(tosp_only_small_gaps_for_kern, false, "Better guess");
|
||||
BOOL_VAR_H(tosp_all_flips_fuzzy, false, "Pass ANY flip to context?");
|
||||
BOOL_VAR_H(tosp_fuzzy_limit_all, true,
|
||||
"Dont restrict kn->sp fuzzy limit to tables");
|
||||
"Don't restrict kn->sp fuzzy limit to tables");
|
||||
BOOL_VAR_H(tosp_stats_use_xht_gaps, true,
|
||||
"Use within xht gap for wd breaks");
|
||||
BOOL_VAR_H(tosp_use_xht_gaps, true,
|
||||
@ -294,7 +294,7 @@ class Textord {
|
||||
BOOL_VAR_H(tosp_only_use_xht_gaps, false,
|
||||
"Only use within xht gap for wd breaks");
|
||||
BOOL_VAR_H(tosp_rule_9_test_punct, false,
|
||||
"Dont chng kn to space next to punct");
|
||||
"Don't chng kn to space next to punct");
|
||||
BOOL_VAR_H(tosp_flip_fuzz_kn_to_sp, true, "Default flip");
|
||||
BOOL_VAR_H(tosp_flip_fuzz_sp_to_kn, true, "Default flip");
|
||||
BOOL_VAR_H(tosp_improve_thresh, false,
|
||||
@ -350,7 +350,7 @@ class Textord {
|
||||
double_VAR_H(tosp_fuzzy_kn_fraction, 0.5, "New fuzzy kn alg");
|
||||
double_VAR_H(tosp_fuzzy_sp_fraction, 0.5, "New fuzzy sp alg");
|
||||
double_VAR_H(tosp_min_sane_kn_sp, 1.5,
|
||||
"Dont trust spaces less than this time kn");
|
||||
"Don't trust spaces less than this time kn");
|
||||
double_VAR_H(tosp_init_guess_kn_mult, 2.2,
|
||||
"Thresh guess - mult kn by this");
|
||||
double_VAR_H(tosp_init_guess_xht_mult, 0.28,
|
||||
@ -358,15 +358,15 @@ class Textord {
|
||||
double_VAR_H(tosp_max_sane_kn_thresh, 5.0,
|
||||
"Multiplier on kn to limit thresh");
|
||||
double_VAR_H(tosp_flip_caution, 0.0,
|
||||
"Dont autoflip kn to sp when large separation");
|
||||
"Don't autoflip kn to sp when large separation");
|
||||
double_VAR_H(tosp_large_kerning, 0.19,
|
||||
"Limit use of xht gap with large kns");
|
||||
double_VAR_H(tosp_dont_fool_with_small_kerns, -1,
|
||||
"Limit use of xht gap with odd small kns");
|
||||
double_VAR_H(tosp_near_lh_edge, 0,
|
||||
"Dont reduce box if the top left is non blank");
|
||||
"Don't reduce box if the top left is non blank");
|
||||
double_VAR_H(tosp_silly_kn_sp_gap, 0.2,
|
||||
"Dont let sp minus kn get too small");
|
||||
"Don't let sp minus kn get too small");
|
||||
double_VAR_H(tosp_pass_wide_fuzz_sp_to_context, 0.75,
|
||||
"How wide fuzzies need context");
|
||||
// tordmain.cpp ///////////////////////////////////////////
|
||||
|
@ -1084,7 +1084,7 @@ BOOL8 count_pitch_stats( //find lines
|
||||
return FALSE;
|
||||
prev_valid = FALSE;
|
||||
prev_centre = 0;
|
||||
prev_right = 0; //stop complier warning
|
||||
prev_right = 0; //stop compiler warning
|
||||
joined_box = blob_it.data ()->bounding_box ();
|
||||
do {
|
||||
blob_it.forward ();
|
||||
|
@ -419,7 +419,7 @@ void Textord::row_spacing_stats(
|
||||
if (suspected_table &&
|
||||
(row->space_size < tosp_table_kn_sp_ratio * row->kern_size)) {
|
||||
if (tosp_debug_level > 5)
|
||||
tprintf ("B:%d R:%d -- DONT BELIEVE SPACE %3.2f %d %3.2f.\n",
|
||||
tprintf ("B:%d R:%d -- DON'T BELIEVE SPACE %3.2f %d %3.2f.\n",
|
||||
block_idx, row_idx,
|
||||
row->kern_size, row->space_threshold, row->space_size);
|
||||
row->space_threshold =
|
||||
@ -442,7 +442,7 @@ void Textord::row_spacing_stats(
|
||||
row->xheight / 2);
|
||||
if (tosp_debug_level > 5)
|
||||
tprintf
|
||||
("B:%d R:%d -- DONT BELIEVE SPACE %3.2f %d %3.2f -> %3.2f.\n",
|
||||
("B:%d R:%d -- DON'T BELIEVE SPACE %3.2f %d %3.2f -> %3.2f.\n",
|
||||
block_idx, row_idx, row->kern_size, row->space_threshold,
|
||||
row->space_size, sane_space);
|
||||
row->space_size = sane_space;
|
||||
@ -455,7 +455,7 @@ void Textord::row_spacing_stats(
|
||||
MAX (row->kern_size, 2.5)));
|
||||
if (row->space_threshold > sane_threshold) {
|
||||
if (tosp_debug_level > 5)
|
||||
tprintf ("B:%d R:%d -- DONT BELIEVE THRESH %3.2f %d %3.2f->%d.\n",
|
||||
tprintf ("B:%d R:%d -- DON'T BELIEVE THRESH %3.2f %d %3.2f->%d.\n",
|
||||
block_idx, row_idx,
|
||||
row->kern_size,
|
||||
row->space_threshold, row->space_size, sane_threshold);
|
||||
@ -498,7 +498,7 @@ void Textord::row_spacing_stats(
|
||||
MIN (inT32 (ceil (tosp_fuzzy_space_factor * row->xheight)),
|
||||
inT32 (row->space_size));
|
||||
if (row->min_space <= row->space_threshold)
|
||||
//Dont be silly
|
||||
//Don't be silly
|
||||
row->min_space = row->space_threshold + 1;
|
||||
/*
|
||||
Lets try to guess the max certain kern gap by looking at the cluster of
|
||||
@ -542,7 +542,7 @@ void Textord::row_spacing_stats(
|
||||
/* Ensure that ANY space less than some multiplier times the kern size is
|
||||
fuzzy. In tables there is a risk of erroneously setting a small space size
|
||||
when there are no real spaces. Sometimes tables have text squashed into
|
||||
columns so that the kn->sp ratio is small anyway - this means that we cant
|
||||
columns so that the kn->sp ratio is small anyway - this means that we can't
|
||||
use this to force a wider separation - hence we rely on context to join any
|
||||
dubious breaks. */
|
||||
|
||||
@ -559,7 +559,7 @@ void Textord::row_spacing_stats(
|
||||
row->kern_size));
|
||||
}
|
||||
if (row->max_nonspace > row->space_threshold) {
|
||||
//Dont be silly
|
||||
//Don't be silly
|
||||
row->max_nonspace = row->space_threshold;
|
||||
}
|
||||
|
||||
@ -700,7 +700,7 @@ BOOL8 Textord::isolated_row_stats(TO_ROW *row,
|
||||
((small_gaps_count / (float) total) < tosp_enough_small_gaps) ||
|
||||
(total - small_gaps_count < 1)) {
|
||||
if (tosp_debug_level > 5)
|
||||
tprintf ("B:%d R:%d -- Cant do isolated row stats.\n",
|
||||
tprintf ("B:%d R:%d -- Can't do isolated row stats.\n",
|
||||
block_idx, row_idx);
|
||||
return FALSE;
|
||||
}
|
||||
@ -1728,7 +1728,7 @@ BOOL8 Textord::ignore_big_gap(TO_ROW *row,
|
||||
inT16 gap = right - left + 1;
|
||||
|
||||
if (tosp_ignore_big_gaps > 999)
|
||||
return FALSE; //Dont ignore
|
||||
return FALSE; //Don't ignore
|
||||
if (tosp_ignore_big_gaps > 0)
|
||||
return (gap > tosp_ignore_big_gaps * row->xheight);
|
||||
if (gap > tosp_ignore_very_big_gaps * row->xheight)
|
||||
@ -1757,7 +1757,7 @@ BOOL8 Textord::ignore_big_gap(TO_ROW *row,
|
||||
* Compute the bounding box of this blob with merging of x overlaps
|
||||
* but no pre-chopping.
|
||||
* Then move the iterator on to the start of the next blob.
|
||||
* DONT reduce the box for small things - eg punctuation.
|
||||
* DON'T reduce the box for small things - eg punctuation.
|
||||
**********************************************************************/
|
||||
TBOX Textord::reduced_box_next(
|
||||
TO_ROW *row, // current row
|
||||
|
@ -50,7 +50,7 @@ EXTERN double_VAR (textord_words_min_minspace, 0.3, "Fraction of xheight");
|
||||
EXTERN double_VAR (textord_words_default_nonspace, 0.2,
|
||||
"Fraction of xheight");
|
||||
EXTERN double_VAR (textord_words_initial_lower, 0.25,
|
||||
"Max inital cluster size");
|
||||
"Max initial cluster size");
|
||||
EXTERN double_VAR (textord_words_initial_upper, 0.15,
|
||||
"Min initial cluster spacing");
|
||||
EXTERN double_VAR (textord_words_minlarge, 0.75,
|
||||
@ -67,7 +67,7 @@ EXTERN double_VAR (textord_pitch_rowsimilarity, 0.08,
|
||||
"Fraction of xheight for sameness");
|
||||
EXTERN BOOL_VAR (textord_pitch_scalebigwords, FALSE,
|
||||
"Scale scores on big words");
|
||||
EXTERN double_VAR (words_initial_lower, 0.5, "Max inital cluster size");
|
||||
EXTERN double_VAR (words_initial_lower, 0.5, "Max initial cluster size");
|
||||
EXTERN double_VAR (words_initial_upper, 0.15, "Min initial cluster spacing");
|
||||
EXTERN double_VAR (words_default_prop_nonspace, 0.25, "Fraction of xheight");
|
||||
EXTERN double_VAR (words_default_fixed_space, 0.75, "Fraction of xheight");
|
||||
|
@ -52,7 +52,7 @@ extern double_VAR_H (textord_words_min_minspace, 0.3, "Fraction of xheight");
|
||||
extern double_VAR_H (textord_words_default_nonspace, 0.2,
|
||||
"Fraction of xheight");
|
||||
extern double_VAR_H (textord_words_initial_lower, 0.25,
|
||||
"Max inital cluster size");
|
||||
"Max initial cluster size");
|
||||
extern double_VAR_H (textord_words_initial_upper, 0.15,
|
||||
"Min initial cluster spacing");
|
||||
extern double_VAR_H (textord_words_minlarge, 0.75,
|
||||
@ -69,7 +69,7 @@ extern double_VAR_H (textord_pitch_rowsimilarity, 0.08,
|
||||
"Fraction of xheight for sameness");
|
||||
extern BOOL_VAR_H (textord_pitch_scalebigwords, FALSE,
|
||||
"Scale scores on big words");
|
||||
extern double_VAR_H (words_initial_lower, 0.5, "Max inital cluster size");
|
||||
extern double_VAR_H (words_initial_lower, 0.5, "Max initial cluster size");
|
||||
extern double_VAR_H (words_initial_upper, 0.15,
|
||||
"Min initial cluster spacing");
|
||||
extern double_VAR_H (words_default_prop_nonspace, 0.25,
|
||||
|
Loading…
Reference in New Issue
Block a user