bookloupe/bookloupe.h
author ali <ali@juiblex.co.uk>
Fri Oct 25 11:15:18 2013 +0100 (2013-10-25)
changeset 102 ff0aa9b1397a
parent 101 f44c530f80da
permissions -rw-r--r--
Fix bug #14: Add a configuration file
ali@92
     1
#ifndef BOOKLOUPE_H
ali@92
     2
#define BOOKLOUPE_H
ali@92
     3
ali@92
     4
/* special characters */
ali@92
     5
#define CHAR_SPACE	  32
ali@92
     6
#define CHAR_TAB	   9
ali@92
     7
#define CHAR_LF		  10
ali@92
     8
#define CHAR_CR		  13
ali@92
     9
#define CHAR_DQUOTE	  34
ali@92
    10
#define CHAR_SQUOTE	  39
ali@92
    11
#define CHAR_OPEN_SQUOTE  96
ali@92
    12
#define CHAR_TILDE	 126
ali@92
    13
#define CHAR_ASTERISK	  42
ali@92
    14
#define CHAR_FORESLASH	  47
ali@92
    15
#define CHAR_CARAT	  94
ali@92
    16
ali@92
    17
#define CHAR_UNDERSCORE    '_'
ali@92
    18
#define CHAR_OPEN_CBRACK   '{'
ali@92
    19
#define CHAR_CLOSE_CBRACK  '}'
ali@92
    20
#define CHAR_OPEN_RBRACK   '('
ali@92
    21
#define CHAR_CLOSE_RBRACK  ')'
ali@92
    22
#define CHAR_OPEN_SBRACK   '['
ali@92
    23
#define CHAR_CLOSE_SBRACK  ']'
ali@92
    24
ali@92
    25
#define CHAR_LS_QUOTE	  0x2018
ali@92
    26
#define CHAR_RS_QUOTE	  0x2019
ali@94
    27
#define CHAR_LD_QUOTE	  0x201C
ali@94
    28
#define CHAR_RD_QUOTE	  0x201D
ali@92
    29
ali@92
    30
#define CHAR_IS_SQUOTE(c)	((c)==CHAR_SQUOTE || (c)==CHAR_OPEN_SQUOTE || \
ali@92
    31
				 (c)==CHAR_LS_QUOTE || (c)==CHAR_RS_QUOTE)
ali@92
    32
ali@94
    33
#define CHAR_IS_DQUOTE(c)	((c)==CHAR_DQUOTE || (c)==CHAR_LD_QUOTE || \
ali@94
    34
				 (c)==CHAR_RD_QUOTE)
ali@94
    35
ali@92
    36
#define CHAR_IS_APOSTROPHE(c)	((c)==CHAR_SQUOTE || (c)==CHAR_RS_QUOTE)
ali@92
    37
ali@92
    38
/* longest and shortest normal PG line lengths */
ali@92
    39
#define LONGEST_PG_LINE   75
ali@92
    40
#define WAY_TOO_LONG      80
ali@92
    41
#define SHORTEST_PG_LINE  55
ali@92
    42
ali@92
    43
enum {
ali@92
    44
    ECHO_SWITCH,
ali@92
    45
    SQUOTE_SWITCH,
ali@92
    46
    TYPO_SWITCH,
ali@92
    47
    QPARA_SWITCH,
ali@92
    48
    PARANOID_SWITCH,
ali@92
    49
    LINE_END_SWITCH,
ali@92
    50
    OVERVIEW_SWITCH,
ali@92
    51
    STDOUT_SWITCH,
ali@92
    52
    HEADER_SWITCH,
ali@92
    53
    WEB_SWITCH,
ali@92
    54
    VERBOSE_SWITCH,
ali@92
    55
    MARKUP_SWITCH,
ali@92
    56
    USERTYPO_SWITCH,
ali@92
    57
    DP_SWITCH,
ali@102
    58
    DUMP_CONFIG_SWITCH,
ali@92
    59
    SWITNO
ali@92
    60
};
ali@92
    61
ali@101
    62
enum {
ali@101
    63
    DOS_NEWLINES,
ali@101
    64
    UNIX_NEWLINES,
ali@101
    65
    OS9_NEWLINES,
ali@101
    66
};
ali@101
    67
ali@97
    68
struct dash_results {
ali@97
    69
    long base,space,non_PG_space,PG_space;
ali@97
    70
};
ali@97
    71
ali@92
    72
struct first_pass_results {
ali@92
    73
    long firstline,astline;
ali@92
    74
    long footerline,totlen,binlen,alphalen,endquote_count,shortline,dotcomma;
ali@92
    75
    long fslashline,hyphens,longline,verylongline,htmcount,standalone_digit;
ali@97
    76
    long spacedash;
ali@97
    77
    struct dash_results emdash;
ali@101
    78
    int newlines;
ali@92
    79
    int Dutchcount,Frenchcount;
ali@92
    80
};
ali@92
    81
ali@92
    82
struct warnings {
ali@92
    83
    int shortline,longline,bin,dash,dotcomma,ast,fslash,digit,hyphen;
ali@101
    84
    int endquote,newlines;
ali@92
    85
    gboolean isDutch,isFrench;
ali@92
    86
};
ali@92
    87
ali@92
    88
struct line_properties {
ali@92
    89
    unsigned int len,blen;
ali@92
    90
    gunichar start;
ali@92
    91
};
ali@92
    92
ali@92
    93
struct parities {
ali@92
    94
    int dquote,squote;
ali@92
    95
};
ali@92
    96
ali@93
    97
extern gboolean pswit[SWITNO];
ali@93
    98
ali@94
    99
extern long cnt_quote,cnt_brack,cnt_bin,cnt_odd,cnt_long,cnt_short,cnt_punct;
ali@94
   100
extern long cnt_dash,cnt_word,cnt_html,cnt_lineend,cnt_spacend,linecnt;
ali@94
   101
extern long checked_linecnt;
ali@92
   102
ali@92
   103
#endif /* BOOKOUPE_H */