w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

bifont.h
Go to the documentation of this file.
1 #define LASTTFMCHAR 255
2 #define NTFMCHARS 256
3 
4 struct tfmchar_entry { /* character entry */
5  short dev_font, dev_char;
6  int tfmw; /* TFM width */
7 };
8 
9 struct tfmfntinfo {
10  struct bifont *tfm_bf;
11  int lastfntchar;
12  int em;
13  struct tfmchar_entry ch[NTFMCHARS]; /* character information */
14 };
15 
16 #ifdef ANSI
17 #define tfmfinfo(fe) (*(struct tfmfntinfo **)&(fe->finfo))
18 #else
19 #define tfmfinfo(fe) ((struct tfmfntinfo *)(fe->finfo))
20 #endif
21 
22 
23 struct jstfmchar_entry { /* character entry */
24  unsigned short dev_ku, dev_ten;
25  int tfmw; /* TFM width */
26 };
27 
28 struct jstfmfntinfo {
29  struct bifont *js_bf; /* = js_share->jss_bf */
30  int lastfntchar;
31  int em;
32  struct jstfmchar_entry ch[LASTTFMCHAR+1]; /* character information */
33  short jsubfont;
34  short dev_font; /* = js_share->jss_dev_font */
35  struct jssinfo *js_info; /* = js_share->jss_info */
36  struct jsubshare *js_share;
37 };
38 
39 #ifdef ANSI
40 #define jstfmfinfo(fe) (*(struct jstfmfntinfo **)&(fe->finfo))
41 #else
42 #define jstfmfinfo(fe) ((struct jstfmfntinfo *)(fe->finfo))
43 #endif
44 
45 
46 #define JFM_ID 11
47 #define TJFM_ID 9
48 
49 struct jfmtype_entry { /* character type entry */
50  int jfm_code;
51  int jfm_type;
52 };
53 
54 struct jfmchar_entry { /* character entry */
55  int tfmw; /* TFM width */
56 };
57 
58 struct jfmfntinfo {
59  struct bifont *jfm_bf;
60  int nctype;
61  struct jfmtype_entry *ctype; /* character type information */
62  int lasttypecode;
63  int em;
64  struct jfmchar_entry *ch; /* character information indexed by type */
65 };
66 
67 #ifdef ANSI
68 #define jfmfinfo(fe) (*(struct jfmfntinfo **)&(fe->finfo))
69 #else
70 #define jfmfinfo(fe) ((struct jfmfntinfo *)(fe->finfo))
71 #endif
72 
73 
74 struct wlchar_entry { /* character entry */
76  int tfmw; /* TFM width */
77 };
78 
79 struct wlfntinfo {
80  struct bifont *wl_bf;
81  int nfntchars;
82  struct wlchar_entry ch[1]; /* character information */
83 };
84 
85 #ifdef ANSI
86 #define wlfinfo(fe) (*(struct wlfntinfo **)&(fe->finfo))
87 #else
88 #define wlfinfo(fe) ((struct wlfntinfo *)(fe->finfo))
89 #endif
90 
91 #ifdef ANSI
92 #define jswlfinfo(jsfi) (*(struct wlfntinfo **)&(jsfi->js_info))
93 #else
94 #define jswlfinfo(jsfi) ((struct wlfntinfo *)(jsfi->js_info))
95 #endif
96 
97 
98 #define jftchar_entry wlchar_entry
99 
100 struct jftfntinfo {
101  struct bifont *jft_bf;
103  int width;
104  int height;
105  int depth;
106  struct jftchar_entry ch[1]; /* character information */
107 };
108 
109 #ifdef ANSI
110 #define jftfinfo(fe) (*(struct jftfntinfo **)&(fe->finfo))
111 #else
112 #define jftfinfo(fe) ((struct jftfntinfo *)(fe->finfo))
113 #endif
114 
115 #ifdef ANSI
116 #define jsftfinfo(jsfi) (*(struct jftfntinfo **)&(jsfi->js_info))
117 #else
118 #define jsftfinfo(jsfi) ((struct jftfntinfo *)(jsfi->js_info))
119 #endif
120 
121 
122 #define vflfntinfo jftfntinfo
123 #define vfl_bf jft_bf
124 #define vflchar_entry jftchar_entry
125 
126 #ifdef ANSI
127 #define vflfinfo(fe) (*(struct vflfntinfo **)&(fe->finfo))
128 #else
129 #define vflfinfo(fe) ((struct vflfntinfo *)(fe->finfo))
130 #endif
131 
132 #ifdef ANSI
133 #define jsvflfinfo(jsfi) (*(struct vflfntinfo **)&(jsfi->js_info))
134 #else
135 #define jsvflfinfo(jsfi) ((struct vflfntinfo *)(jsfi->js_info))
136 #endif
137 
138 
139 /* struct to share subfont information
140  */
141 #define JSS_CLOSED 0
142 #define JSS_INIT 1
143 #define JSS_READ 2
144 
145 struct jsubshare {
146  int jss_stat;
147  struct bifont *jss_bf;
148  int jss_s;
149  int jss_dev_font; /* jstfm */
150  struct jssinfo *jss_info; /* jstfm wadalab */
151  char *jss_parent;
152  struct jsubshare *jss_next;
153 };
154 
155 
156 /* used to pass information from access to initfontinfo */
157 struct biaccessinfo {
158  struct bifont *bf;
159  short jsubf;
160 };
161 
162 /* used to pass marking information from initfontinfo to readfontinfo */
163 struct biinitfontinfo {
164  struct bifont *bf;
165  int maxc;
166  Boolean mark[1];
167 };
168 
169 #ifdef ANSI
170 #define biaccinfo(fe) (*(struct biaccessinfo **)&(fe->finfo))
171 #define biinifinfo(fe) (*(struct biinitfontinfo **)&(fe->finfo))
172 #define bfinfo(fe) (*(struct bifont **)&(fe->finfo))
173 #else
174 #define biaccinfo(fe) ((struct biaccessinfo *)(fe->finfo))
175 #define biinifinfo(fe) ((struct biinitfontinfo *)(fe->finfo))
176 #define bfinfo(fe) ((struct bifont *)(fe->finfo))
177 #endif
178 
179 
180 /* kinds of map-font */
181 #define MF_KIND_PRINTER 0
182 #define MF_KIND_TYPE1 1
183 #define MF_KIND_FT 2
184 #define MF_KIND_FTO 3
185 #define MF_KIND_VFLIB 4
186 #define MF_KIND_VFLIBO 5
187 
188 #define BF_CODING_JIS 0
189 #define BF_CODING_EUC 1
190 #define BF_CODING_SJIS 2
191 
192 /* read encode file of single-byte font */
193 char *enc_read();
194 
195 
198 
199 
200 /*
201  * Interface with device driver (only `non-standard' ones are listed)
202  */
203 /* psbi.c */
205 char *dev_fontpath();
206 char *dev_cs_enc();
207 char *dev_encfile();
int dev_is_jfm()
struct biinitfontinfo * alloc_biinif()
int dev_jfm_kind()
int dev_is_jstfm()
int dev_jstfm_kind()
int dev_getjsubfont()
int dev_is_tfm()
#define LASTTFMCHAR
Definition: bifont.h:1
#define jftchar_entry
Definition: bifont.h:98
struct font_entry * dev_get_repfe()
#define NTFMCHARS
Definition: bifont.h:2
char * dev_cs_enc()
struct biinitfontinfo * alloc_jbiinif()
char * dev_encfile()
char * dev_fontpath()
char * enc_read()
int Boolean
Definition: pgmcrater.c:64
short jsubf
Definition: bifont.h:157
struct bifont * bf
Definition: bifont.h:156
Definition: psbi.c:77
struct bifont * bf
Definition: bifont.h:162
Boolean mark[1]
Definition: bifont.h:164
Definition: defs.h:190
Definition: bifont.h:52
int tfmw
Definition: bifont.h:53
int nctype
Definition: bifont.h:58
struct bifont * jfm_bf
Definition: bifont.h:57
struct jfmchar_entry * ch
Definition: bifont.h:61
int em
Definition: bifont.h:63
struct jfmtype_entry * ctype
Definition: bifont.h:59
int lasttypecode
Definition: bifont.h:60
Definition: bifont.h:47
int jfm_code
Definition: bifont.h:48
int jfm_type
Definition: bifont.h:49
int height
Definition: bifont.h:104
struct bifont * jft_bf
Definition: bifont.h:101
int width
Definition: bifont.h:103
int nfntchars
Definition: bifont.h:102
struct wlchar_entry ch[1]
Definition: bifont.h:106
int depth
Definition: bifont.h:105
Definition: bifont.h:22
int tfmw
Definition: bifont.h:24
unsigned short dev_ten
Definition: bifont.h:23
unsigned short dev_ku
Definition: bifont.h:23
short jsubfont
Definition: bifont.h:31
struct jstfmchar_entry ch[255+1]
Definition: bifont.h:30
short dev_font
Definition: bifont.h:32
int em
Definition: bifont.h:31
struct bifont * js_bf
Definition: bifont.h:28
struct jsubshare * js_share
Definition: bifont.h:34
struct jssinfo * js_info
Definition: bifont.h:33
int lastfntchar
Definition: bifont.h:29
char * jss_parent
Definition: bifont.h:151
struct jsubshare * jss_next
Definition: bifont.h:150
struct bifont * jss_bf
Definition: bifont.h:146
int jss_s
Definition: bifont.h:147
struct jssinfo * jss_info
Definition: bifont.h:149
int jss_dev_font
Definition: bifont.h:148
int jss_stat
Definition: bifont.h:145
Definition: bifont.h:4
short dev_char
Definition: bifont.h:5
int tfmw
Definition: bifont.h:6
short dev_font
Definition: bifont.h:5
int lastfntchar
Definition: bifont.h:11
struct bifont * tfm_bf
Definition: bifont.h:10
int em
Definition: bifont.h:12
struct tfmchar_entry ch[256]
Definition: bifont.h:12
Definition: bifont.h:74
int tfmw
Definition: bifont.h:76
short dev_font
Definition: bifont.h:75
short dev_char
Definition: bifont.h:75
struct wlchar_entry ch[1]
Definition: bifont.h:82
int nfntchars
Definition: bifont.h:81
struct bifont * wl_bf
Definition: bifont.h:80