/* kanji.h: Handling 2byte char, and so on. */ #ifndef KANJI_H #define KANJI_H #include "cpascal.h" #include "ptexhelp.h" #define KANJI #define JIS 0 #define EUC 1 #define SJIS 2 /* 端末に出力する漢字コードを EUC, JIS, SJIS のいずれかで指定する。*/ #define TERM_CODE @TERMCODE@ /* OUTJIS, OUTSJIS, OUTEUC は端末とログファイルへの出力コードを示す。*/ #if TERM_CODE == JIS #define OUTJIS #elif TERM_CODE == SJIS #define OUTSJIS #else #define OUTEUC #endif /* functions */ #define Hi(X) ((X >> 8) & 0xff) #define Lo(X) (X & 0xff) #define PutHi(X,Y) X &= 0xff; (X |= (Y << 8)) #define PutLo(X,Y) X &= 0xff00; (X |= (Y & 0xff)) extern char prockanjicode; extern boolean iskanji1(unsigned char); extern boolean iskanji2(unsigned char); extern boolean checkkanji(integer); extern integer calcpos(integer); extern integer EUCtoJIS(integer); extern integer JIStoEUC(integer); extern integer SJIStoJIS(integer); extern integer JIStoSJIS(integer); extern integer SJIStoEUC(integer); extern integer EUCtoSJIS(integer); extern integer KUTENtoEUC(integer); extern integer KUTENtoSJIS(integer); /* kanji.c *以外* をコンパイルするとき、putc の定義を変える */ #if !defined(KANJI_C) #undef putc #define putc(c,fp) putc2(c,fp) #endif /* *not* KANJI_C */ #ifdef TeX #undef TEXMFPOOLNAME #undef TEXMFENGINENAME #define TEXMFPOOLNAME "ptex.pool" #define TEXMFENGINENAME "ptex" #endif /* TeX */ #ifdef MP #undef TEXMFPOOLNAME #undef TEXMFENGINENAME #define TEXMFPOOLNAME "jmp.pool" #define TEXMFENGINENAME "jmpost" #endif /* MP */ #ifdef HAVE_SYS_PARAM_H # include #else # include #endif #ifndef NOFILE # define NOFILE OPEN_MAX #endif #endif /* not KANJI_H */