| /********************************************************************** |
| * File: wordseg.h (Formerly wspace.h) |
| * Description: Code to segment the blobs into words. |
| * Author: Ray Smith |
| * Created: Fri Oct 16 11:32:28 BST 1992 |
| * |
| * (C) Copyright 1992, Hewlett-Packard Ltd. |
| ** Licensed under the Apache License, Version 2.0 (the "License"); |
| ** you may not use this file except in compliance with the License. |
| ** You may obtain a copy of the License at |
| ** http://www.apache.org/licenses/LICENSE-2.0 |
| ** Unless required by applicable law or agreed to in writing, software |
| ** distributed under the License is distributed on an "AS IS" BASIS, |
| ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ** See the License for the specific language governing permissions and |
| ** limitations under the License. |
| * |
| **********************************************************************/ |
| |
| #ifndef WORDSEG_H |
| #define WORDSEG_H |
| |
| #include "varable.h" |
| #include "blobbox.h" |
| #include "notdll.h" |
| |
| namespace tesseract { |
| class Tesseract; |
| } |
| |
| extern BOOL_VAR_H (textord_fp_chopping, TRUE, "Do fixed pitch chopping"); |
| void make_single_word(bool one_blob, TO_ROW_LIST *rows, ROW_LIST* real_rows); |
| void make_words( //make words |
| ICOORD page_tr, //top right |
| float gradient, //page skew |
| BLOCK_LIST *blocks, //block list |
| TO_BLOCK_LIST *land_blocks, //rotated for landscape |
| TO_BLOCK_LIST *port_blocks, //output list |
| tesseract::Tesseract* |
| ); |
| void set_row_spaces( //find space sizes |
| TO_BLOCK *block, //block to do |
| FCOORD rotation, //for drawing |
| BOOL8 testing_on //correct orientation |
| ); |
| inT32 row_words( //compute space size |
| TO_BLOCK *block, //block it came from |
| TO_ROW *row, //row to operate on |
| inT32 maxwidth, //max expected space size |
| FCOORD rotation, //for drawing |
| BOOL8 testing_on //for debug |
| ); |
| inT32 row_words2( //compute space size |
| TO_BLOCK *block, //block it came from |
| TO_ROW *row, //row to operate on |
| inT32 maxwidth, //max expected space size |
| FCOORD rotation, //for drawing |
| BOOL8 testing_on //for debug |
| ); |
| void make_real_words( //find lines |
| TO_BLOCK *block, //block to do |
| FCOORD rotation //for drawing |
| ); |
| ROW *make_rep_words( //make a row |
| TO_ROW *row, //row to convert |
| TO_BLOCK *block //block it lives in |
| ); |
| WERD *make_real_word( //make a WERD |
| BLOBNBOX_IT *box_it, //iterator |
| inT32 blobcount, //no of blobs to use |
| BOOL8 bol, //start of line |
| BOOL8 fuzzy_sp, //fuzzy space |
| BOOL8 fuzzy_non, //fuzzy non-space |
| uinT8 blanks //no of blanks |
| ); |
| #endif |