/*
 *    	Useful information for the source files of dviout
 *

extern int id_dvi;	id for the DVI file
extern int id_page;	id for the DVI file and the current page

char *stpcpy(char *dest, const char *src)
    strcpy() but return dest + strlrn(src)


int strsubcmp(const char *s, const char *t)
    0         : if memcmp(s, t, strlen(t))
    strlen(t) : if memcmp(s, t, strlen(t))


int strlcmp(const char *s, const char *t)
    strncmp(s, t, strlen(t))


char *find_key(const char *str, const char *key)
    1. search the word *key in *str from the top. Here the word in *str 
       is the substring consisting only alphabetical characters which is 
       not properly contained in a similar substring.
    2. if it exists, Return the pointer after the matching word after 
       skipping the following spaces whinc may containing only one 
       character "="
       Otherwise, Return NULL


char *find_key0(const char *str, const char *key)
    1. skip the top non-alphabetical character of *str
    2. compare it with *key by strlen(key) byte
    3. if they do not match or the next character of *str is alphabet,
       Return NULL
    4. if the next character is a space, skip the following spaces
    5. if the next character is '=', skip it
    6. Return the pointer of *str after skipping the further following spaces


BOOL issjis1(int x)
     top byte of SHIFT JIS code? (macro)


BOOL AskYes(char *msg, char *title)
     Ask YES or NO by a DialogBox


void DisplayMessage(char *s)
     Display message *s on the Status Bar and Erace it if s == NULL


FILE * fopenf(const char *path, const char *)
     similar as fopen() but uses SetPath()

BOOL SetPath(char *path, const char *s)
     ^x:  directory where dviout exists (eg. c:\usr\local\bin)
     ^w:  Windows system directry	(eg. c:\windows)
     ^T:  TEXMF or TEXMFMAIN		(eg. c:\usr\local\share\texmf)
     ^F:  directory to embedded files
     ^?:  Temporary directory by the environment variable TMP, TEMP
					(eg. c:\windows\temp)

The memory usage and leak of the following 
	dup_string()/marea()/Free()/Free0() 
can be traced by setting
#define	CHKMEM 3
in misc.c  and delete // in Allfree() of inter.c


char dup_string(char *s)
     strdup(char *s)  with checking the error

char *marea(unsigned int size)
     malloc() with checking the error

void Free(char *buf)
     free the memory obtained by marea()

void Free0(char *buf)
     if(buf) Free(buf);

*/