00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019
00020
00021 #ifndef _GOCR_CHAR_H
00022 #define _GOCR_CHAR_H
00023
00024 #include "hash.h"
00025
00030 00031 00032
00040 struct gocrchar {
00041 wchar_t c;
00042 float prob;
00043 };
00047 typedef struct gocrchar gocrChar;
00048
00052 struct gocrbox {
00053 00054 00055
00056 int x0, y0, x1, y1;
00057 wchar_t *attributes;
00059 00060 00061
00062 gocrChar *ch;
00063 List possible;
00064 wchar_t modifier;
00066
00067 wchar_t c, ac;
00068 int num;
00069 int x, y, dots;
00070 };
00074 typedef struct gocrbox gocrBox;
00075
00076 enum gocrcharattributetype {
00077 SETTABLE, UNTIL_OVERRIDEN
00078 };
00082 typedef enum gocrcharattributetype gocrCharAttributeType;
00085 00086 00087
00091 extern int gocr_charBegin ( void );
00092 extern int gocr_charEnd ( void );
00093 extern int gocr_charSetAllNearPixels ( int action, int x, int y );
00094 extern int gocr_charSetAttribute ( int action, char *name, ... );
00095 extern int gocr_charSetPixel ( int action, int x, int y );
00096 extern int gocr_charSetRect ( int action, int x0, int y0, int x1, int y1 );
00099 00100 00101
00105 extern int gocr_charAttributeRegister ( char *name, gocrCharAttributeType t,
00106 char *format );
00107 extern int gocr_charAttributeInsert ( char *name, ... );
00110 #endif