ali@94: #ifndef BOOKLOUPE_H ali@94: #define BOOKLOUPE_H ali@94: ali@94: /* special characters */ ali@94: #define CHAR_SPACE 32 ali@94: #define CHAR_TAB 9 ali@94: #define CHAR_LF 10 ali@94: #define CHAR_CR 13 ali@94: #define CHAR_DQUOTE 34 ali@94: #define CHAR_SQUOTE 39 ali@94: #define CHAR_OPEN_SQUOTE 96 ali@94: #define CHAR_TILDE 126 ali@94: #define CHAR_ASTERISK 42 ali@94: #define CHAR_FORESLASH 47 ali@94: #define CHAR_CARAT 94 ali@94: ali@94: #define CHAR_UNDERSCORE '_' ali@94: #define CHAR_OPEN_CBRACK '{' ali@94: #define CHAR_CLOSE_CBRACK '}' ali@94: #define CHAR_OPEN_RBRACK '(' ali@94: #define CHAR_CLOSE_RBRACK ')' ali@94: #define CHAR_OPEN_SBRACK '[' ali@94: #define CHAR_CLOSE_SBRACK ']' ali@94: ali@94: #define CHAR_LS_QUOTE 0x2018 ali@94: #define CHAR_RS_QUOTE 0x2019 ali@123: #define CHAR_LD_QUOTE 0x201C ali@123: #define CHAR_RD_QUOTE 0x201D ali@94: ali@94: #define CHAR_IS_SQUOTE(c) ((c)==CHAR_SQUOTE || (c)==CHAR_OPEN_SQUOTE || \ ali@94: (c)==CHAR_LS_QUOTE || (c)==CHAR_RS_QUOTE) ali@94: ali@123: #define CHAR_IS_DQUOTE(c) ((c)==CHAR_DQUOTE || (c)==CHAR_LD_QUOTE || \ ali@123: (c)==CHAR_RD_QUOTE) ali@123: ali@94: #define CHAR_IS_APOSTROPHE(c) ((c)==CHAR_SQUOTE || (c)==CHAR_RS_QUOTE) ali@94: ali@94: /* longest and shortest normal PG line lengths */ ali@94: #define LONGEST_PG_LINE 75 ali@94: #define WAY_TOO_LONG 80 ali@94: #define SHORTEST_PG_LINE 55 ali@94: ali@94: enum { ali@94: ECHO_SWITCH, ali@94: SQUOTE_SWITCH, ali@94: TYPO_SWITCH, ali@94: QPARA_SWITCH, ali@94: PARANOID_SWITCH, ali@94: LINE_END_SWITCH, ali@94: OVERVIEW_SWITCH, ali@94: STDOUT_SWITCH, ali@94: HEADER_SWITCH, ali@94: WEB_SWITCH, ali@94: VERBOSE_SWITCH, ali@94: MARKUP_SWITCH, ali@94: USERTYPO_SWITCH, ali@94: DP_SWITCH, ali@167: DUMP_CONFIG_SWITCH, ali@94: SWITNO ali@94: }; ali@94: ali@147: struct dash_results { ali@147: long base,space,non_PG_space,PG_space; ali@147: }; ali@147: ali@94: struct first_pass_results { ali@94: long firstline,astline; ali@94: long footerline,totlen,binlen,alphalen,endquote_count,shortline,dotcomma; ali@94: long fslashline,hyphens,longline,verylongline,htmcount,standalone_digit; ali@147: long spacedash; ali@147: struct dash_results emdash; ali@94: int Dutchcount,Frenchcount; ali@94: }; ali@94: ali@94: struct warnings { ali@94: int shortline,longline,bin,dash,dotcomma,ast,fslash,digit,hyphen; ali@94: int endquote; ali@94: gboolean isDutch,isFrench; ali@94: }; ali@94: ali@94: struct line_properties { ali@94: unsigned int len,blen; ali@94: gunichar start; ali@94: }; ali@94: ali@94: struct parities { ali@94: int dquote,squote; ali@94: }; ali@94: ali@103: extern gboolean pswit[SWITNO]; ali@103: ali@123: extern long cnt_quote,cnt_brack,cnt_bin,cnt_odd,cnt_long,cnt_short,cnt_punct; ali@123: extern long cnt_dash,cnt_word,cnt_html,cnt_lineend,cnt_spacend,linecnt; ali@123: extern long checked_linecnt; ali@94: ali@94: #endif /* BOOKOUPE_H */