29 "Debug on fixed pitch test");
31 "Write full metric stuff");
35 "Use correct answer for fixed/prop");
37 "Attempt whole doc/block fixed pitch");
39 "Do even faster pitch algorithm");
41 "Ding rate for mid-cuts");
43 "Ding rate for unbalanced char cells");
46 TO_BLOCK_LIST *port_blocks,
53 TO_BLOCK_LIST *blocks,
68 TO_BLOCK_LIST *port_blocks,
118 BOOL8 ignore_outsize,
125 int16_t projection_left,
126 int16_t projection_right,
128 float &initial_pitch,
130 int16_t &best_mid_cuts,
131 ICOORDELT_LIST *best_cells,
137 int16_t projection_left,
138 int16_t projection_right,
140 float &initial_pitch,
142 int16_t &best_mid_cuts,
143 ICOORDELT_LIST *best_cells,
149 int16_t projection_left,
150 int16_t projection_right,
155 ICOORDELT_LIST * row_cells,
163 int16_t projection_left,
164 int16_t projection_right,
166 int16_t & occupation,
168 ICOORDELT_LIST * row_cells,
176 int16_t projection_left,
177 int16_t projection_right,
void compute_block_pitch(TO_BLOCK *block, FCOORD rotation, int32_t block_index, BOOL8 testing_on)
BOOL8 compute_rows_pitch(TO_BLOCK *block, int32_t block_index, BOOL8 testing_on)
bool textord_debug_pitch_test
void print_pitch_sd(TO_ROW *row, STATS *projection, int16_t projection_left, int16_t projection_right, float space_size, float initial_pitch)
#define BOOL_VAR_H(name, val, comment)
BOOL8 row_pitch_stats(TO_ROW *row, int32_t maxwidth, BOOL8 testing_on)
bool textord_show_page_cuts
bool textord_debug_pitch_metric
void fix_row_pitch(TO_ROW *bad_row, TO_BLOCK *bad_block, TO_BLOCK_LIST *blocks, int32_t row_target, int32_t block_target)
BOOL8 count_pitch_stats(TO_ROW *row, STATS *gap_stats, STATS *pitch_stats, float initial_pitch, float min_space, BOOL8 ignore_outsize, BOOL8 split_outsize, int32_t dm_gap)
void find_repeated_chars(TO_BLOCK *block, BOOL8 testing_on)
BOOL8 try_doc_fixed(ICOORD page_tr, TO_BLOCK_LIST *port_blocks, float gradient)
bool textord_fast_pitch_test
float compute_pitch_sd2(TO_ROW *row, STATS *projection, int16_t projection_left, int16_t projection_right, float initial_pitch, int16_t &occupation, int16_t &mid_cuts, ICOORDELT_LIST *row_cells, BOOL8 testing_on, int16_t start=0, int16_t end=0)
#define double_VAR_H(name, val, comment)
void count_block_votes(TO_BLOCK *block, int32_t &def_fixed, int32_t &def_prop, int32_t &maybe_fixed, int32_t &maybe_prop, int32_t &corr_fixed, int32_t &corr_prop, int32_t &dunno)
bool textord_show_row_cuts
void print_block_counts(TO_BLOCK *block, int32_t block_index)
void compute_fixed_pitch(ICOORD page_tr, TO_BLOCK_LIST *port_blocks, float gradient, FCOORD rotation, BOOL8 testing_on)
BOOL8 try_block_fixed(TO_BLOCK *block, int32_t block_index)
BOOL8 try_rows_fixed(TO_BLOCK *block, int32_t block_index, BOOL8 testing_on)
BOOL8 find_row_pitch(TO_ROW *row, int32_t maxwidth, int32_t dm_gap, TO_BLOCK *block, int32_t block_index, int32_t row_index, BOOL8 testing_on)
double textord_projection_scale
bool textord_blockndoc_fixed
double textord_balance_factor
float tune_row_pitch2(TO_ROW *row, STATS *projection, int16_t projection_left, int16_t projection_right, float space_size, float &initial_pitch, float &best_sp_sd, int16_t &best_mid_cuts, ICOORDELT_LIST *best_cells, BOOL8 testing_on)
float tune_row_pitch(TO_ROW *row, STATS *projection, int16_t projection_left, int16_t projection_right, float space_size, float &initial_pitch, float &best_sp_sd, int16_t &best_mid_cuts, ICOORDELT_LIST *best_cells, BOOL8 testing_on)
BOOL8 fixed_pitch_row(TO_ROW *row, BLOCK *block, int32_t block_index)
float compute_pitch_sd(TO_ROW *row, STATS *projection, int16_t projection_left, int16_t projection_right, float space_size, float initial_pitch, float &sp_sd, int16_t &mid_cuts, ICOORDELT_LIST *row_cells, BOOL8 testing_on, int16_t start=0, int16_t end=0)
void plot_fp_word(TO_BLOCK *block, float pitch, float nonspace)