464 if (non_text_block_)
return;
465 if (!good_skew_angle_) skew_angle_ = default_block_skew;
466 if (debug_level_ > 0)
467 tprintf(
"Adjusting block to skew angle %g\n", skew_angle_);
468 FCOORD direction(cos(skew_angle_), sin(skew_angle_));
469 for (
int r = 0; r < rows_.size(); ++r) {
470 BaselineRow* row = rows_[r];
471 row->AdjustBaselineToParallel(debug_level_, direction);
472 if (debug_level_ > 1)
475 if (rows_.size() < 3 || !ComputeLineSpacing())
482 line_spacing_, line_offset_);
483 for (
int r = 1; r < rows_.size(); ++r) {
485 line_spacing_, line_offset_);
486 if (error < best_error) {
492 double offset = line_offset_;
493 for (
int r = best_row + 1; r < rows_.size(); ++r) {
494 offset = rows_[r]->AdjustBaselineToGrid(debug_level_, direction,
495 line_spacing_, offset);
497 offset = line_offset_;
498 for (
int r = best_row - 1; r >= 0; --r) {
499 offset = rows_[r]->AdjustBaselineToGrid(debug_level_, direction,
500 line_spacing_, offset);
DLLSYM void tprintf(const char *format,...)
static double SpacingModelError(double perp_disp, double line_spacing, double line_offset)