blob: 922761c048569aad99ec73cc27e3073d78b6ea9c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
/*
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 <sys/param.h>
#else
# include <limits.h>
#endif
#ifndef NOFILE
# define NOFILE OPEN_MAX
#endif
#endif /* not KANJI_H */
|