common

common — Common definitions and functions for both the GUI and TUI programs.

Stability Level

Internal, unless otherwise indicated

Synopsis



#define             MAIN_PROG_NAME
#define             CHARACTER_DATA_MANAGER_PROG_NAME
#define             DEFAULT_CHARACTER_DATAFILE_PREFIX
#define             datadir
#define             DEFAULT_SYSTEM_DATA_DIR
#define             DEFAULT_USER_DATA_DIR
#define             DEFAULT_SEARCH_ORDER
#define             DEFAULT_CHARACTER_DATA_FILE_XML
#define             DEFAULT_CHARACTER_DATA_FILE_SQLITE
#define             DEFAULT_CHARACTER_DATA_FILE
#define             DEFAULT_STROKE_HYPOTHESIS_FILE
#define             PIXMAP_DIR
#define             DEFAULT_VERBOSE_LEVEL
#define             DEFAULT_WHOLE_RADICAL_DATA_SIZE
#define             MAX_STRING_LENGTH
#define             AUTHORS
#define             ARTISTS
#define             DOCUMENTERS
#define             PROG_COMMENTS
#define             COPYRIGHT
#define             LICENCE
#define             COMMON_OPTIONS
#define             MAIN_PROG_OPTIONS
#define             CDMGR_OPTIONS
#define             CDMGR_USAGE
enum                Subroutine;
                    ProgramAssociate;
extern              ProgramAssociate progAssoc;
extern              gchar *queryWord;
extern              gchar *langStr;
extern              gchar *inputCode;
extern              InputMethod iMethod;
extern              gchar *tomoeFileName;
extern              gchar *wubiFileName;
extern              gchar *srcFileName;
extern              gchar *srcFileOptions;
extern              gchar *cdFileOptions;
void                common_init                         (int argc,
                                                         char **argv);

Description

This file provides common definitions and functions from program runtime, for data structure, refer WritRecogn-Type

Details

MAIN_PROG_NAME

#define MAIN_PROG_NAME "WritRecogn"

Define the name of main program.


CHARACTER_DATA_MANAGER_PROG_NAME

#define CHARACTER_DATA_MANAGER_PROG_NAME MAIN_PROG_NAME "-manager"

Define the name of character data manager.


DEFAULT_CHARACTER_DATAFILE_PREFIX

#define DEFAULT_CHARACTER_DATAFILE_PREFIX MAIN_PROG_NAME 

Filename prefix of default character datafile.


datadir

#define datadir "/usr/share"


DEFAULT_SYSTEM_DATA_DIR

#define DEFAULT_SYSTEM_DATA_DIR datadir "/" MAIN_PROG_NAME "/data/"


DEFAULT_USER_DATA_DIR

#define DEFAULT_USER_DATA_DIR "~/." MAIN_PROG_NAME "/"


DEFAULT_SEARCH_ORDER

#define DEFAULT_SEARCH_ORDER DEFAULT_USER_DATA_DIR ";" DEFAULT_SYSTEM_DATA_DIR ";data;."


DEFAULT_CHARACTER_DATA_FILE_XML

#define DEFAULT_CHARACTER_DATA_FILE_XML DEFAULT_CHARACTER_DATAFILE_PREFIX ".xml"


DEFAULT_CHARACTER_DATA_FILE_SQLITE

#define DEFAULT_CHARACTER_DATA_FILE_SQLITE DEFAULT_CHARACTER_DATAFILE_PREFIX ".db"


DEFAULT_CHARACTER_DATA_FILE

#define DEFAULT_CHARACTER_DATA_FILE DEFAULT_CHARACTER_DATA_FILE_SQLITE


DEFAULT_STROKE_HYPOTHESIS_FILE

#define DEFAULT_STROKE_HYPOTHESIS_FILE MAIN_PROG_NAME ".svm.hypo"


PIXMAP_DIR

#define PIXMAP_DIR datadir "/" MAIN_PROG_NAME "/pixmaps/" 


DEFAULT_VERBOSE_LEVEL

#define DEFAULT_VERBOSE_LEVEL VERBOSE_MSG_ERROR


DEFAULT_WHOLE_RADICAL_DATA_SIZE

#define DEFAULT_WHOLE_RADICAL_DATA_SIZE 7000


MAX_STRING_LENGTH

#define MAX_STRING_LENGTH 200


AUTHORS

#define             AUTHORS


ARTISTS

#define             ARTISTS


DOCUMENTERS

#define             DOCUMENTERS


PROG_COMMENTS

#define PROG_COMMENTS "A CJK Handwriting Recognizer"


COPYRIGHT

#define COPYRIGHT "Release as GPLv2+"


LICENCE

#define LICENCE "GPLv2+"


COMMON_OPTIONS

#define             COMMON_OPTIONS


MAIN_PROG_OPTIONS

#define             MAIN_PROG_OPTIONS


CDMGR_OPTIONS

#define             CDMGR_OPTIONS


CDMGR_USAGE

#define             CDMGR_USAGE


enum Subroutine

typedef enum {
    SUBROUTINE_DEFAULT,
    SUBROUTINE_HYPOTHESIS_TESTING,
    SUBROUTINE_HYPOTHESIS_TRAINING,
    SUBROUTINE_IMPORT,
    SUBROUTINE_INPUTCODE_QUERY,
    SUBROUTINE_RRBB_GENERATION,
    SUBROUTINE_WUBI,
} Subroutine;

Determine which subroutine of WritRecogn-manager to be performed.

SUBROUTINE_DEFAULT

Default behavior (no special flags are given).

SUBROUTINE_HYPOTHESIS_TESTING

Subroutine hypothesis testing to be performed.

SUBROUTINE_HYPOTHESIS_TRAINING

Subroutine hypothesis training to be performed.

SUBROUTINE_IMPORT

Subroutine character data file importing to be performed.

SUBROUTINE_INPUTCODE_QUERY

SUBROUTINE_RRBB_GENERATION

SUBROUTINE_WUBI

Subroutine Wubi and stroke sequence importing to be performed.

ProgramAssociate

typedef struct {
    MainProgramCmd progCmd;
    Subroutine subroutine;
    ProgFlags flags;
    gchar *usageMsg;
    DisplayMode displayMode;

    RadicalList *currRadicalList;
    CharacterMatcher *charMatcher;
    RadicalRecognizer *recognizer;
    StrokeNoiseReducer *strokeNoiseReducer;

    CharacterDataFile *characterDataFile;
    gchar characterDataFileName[PATH_MAX];
    gchar strokeHypothesisFileName[PATH_MAX];

    ChooseFilenameFunc choose_open_callback;
    ChooseFilenameFunc choose_save_callback;

    TrainingProgressFunc training_progress_callback;
} ProgramAssociate;

Program associate stores global parameters and variables.


progAssoc

extern ProgramAssociate progAssoc;

Program associate instance.


queryWord

extern gchar *queryWord;


langStr

extern gchar *langStr;


inputCode

extern gchar *inputCode;


iMethod

extern InputMethod iMethod;


tomoeFileName

extern gchar *tomoeFileName;


wubiFileName

extern gchar *wubiFileName;


srcFileName

extern gchar *srcFileName;


srcFileOptions

extern gchar *srcFileOptions;


cdFileOptions

extern gchar *cdFileOptions;


common_init ()

void                common_init                         (int argc,
                                                         char **argv);

Initiation needed by both WritRecogn(GUI) and WritRecogn(TUI) programs.

argc :

same as argc in main function

argv :

same as argv in main function

See Also

WritRecogn-Type