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)  

dvipng.h
Go to the documentation of this file.
1 /* dvipng.h */
2 
3 /************************************************************************
4 
5  Part of the dvipng distribution
6 
7  This program is free software: you can redistribute it and/or modify
8  it under the terms of the GNU Lesser General Public License as
9  published by the Free Software Foundation, either version 3 of the
10  License, or (at your option) any later version.
11 
12  This program is distributed in the hope that it will be useful, but
13  WITHOUT ANY WARRANTY; without even the implied warranty of
14  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15  Lesser General Public License for more details.
16 
17  You should have received a copy of the GNU Lesser General Public
18  License along with this program. If not, see
19  <http://www.gnu.org/licenses/>.
20 
21  Copyright (C) 2002-2015 Jan-Åke Larsson
22 
23 ************************************************************************/
24 
25 #ifndef DVIPNG_H
26 #define DVIPNG_H
27 #include "config.h"
28 
29 #define STRSIZE 255 /* stringsize for file specifications */
30 
31 #define FIRSTFNTCHAR 0
32 #define LASTFNTCHAR 255
33 #define NFNTCHARS LASTFNTCHAR+1
34 
35 #define STACK_SIZE 100 /* DVI-stack size */
36 
37 #define DEFAULT_GAMMA 1.0
38 
39 /* Name of the program which is called to generate missing pk files */
40 #define MAKETEXPK "mktexpk"
41 
42 #ifdef HAVE_INTTYPES_H
43 # include <inttypes.h>
44 #else /* HAVE_INTTYPES_H */
45 # ifndef __sgi
46 /* IRIX has the following types typedef'd in sys/types.h already,
47  * i.e., _old_ IRIX systems; newer ones have a working inttypes.h */
48 typedef signed char int8_t;
49 typedef short int16_t;
50 typedef int int32_t;
51 #endif /* ! __sgi */
52 typedef unsigned char uint8_t;
53 typedef unsigned short uint16_t;
54 typedef unsigned int uint32_t;
55 typedef long long int64_t;
56 typedef unsigned long long uint64_t;
57 #endif /* HAVE_INTTYPES_H */
58 
59 #ifndef INT32_MIN
60 #define INT32_MIN (-2147483647-1)
61 #endif
62 #ifndef INT32_MAX
63 #define INT32_MAX (2147483647)
64 #endif
65 
66 #include <gd.h>
67 
68 #ifdef HAVE_KPATHSEA_KPATHSEA_H
69 # include <kpathsea/kpathsea.h>
70 #else
71 # error: kpathsea/kpathsea.h is missing from your system
72 #endif
73 
74 #ifdef HAVE_FT2
75 #include <ft2build.h>
76 #include FT_FREETYPE_H
77 #endif
78 
79 #ifdef HAVE_STDBOOL_H
80 # include <stdbool.h>
81 #else
82 # ifdef HAVE_KPATHSEA_KPATHSEA_H
83 /* boolean is an enum type from kpathsea/types.h loaded in
84  kpathsea/kpathsea.h, use it as fallback */
85 # define bool boolean
86 # else
87 typedef int bool;
88 # define true (bool) 1
89 # define false (bool) 0
90 # endif
91 #endif
92 
93 #ifndef HAVE_VPRINTF
94 # ifdef HAVE_DOPRNT
95 # define vfprintf(stream, message, args) _doprnt(message, args, stream)
96 # else
97 # error: vfprintf AND _doprnt are missing!!!
98  /* If we have neither, should fall back to fprintf with fixed args. */
99 # endif
100 #endif
101 
102 /*************************************************************/
103 /************************* protos.h ************************/
104 /*************************************************************/
105 
106 typedef int pixels;
109 
110 #define MM_TO_PXL(x) (int)(((x)*resolution*10)/254)
111 #define PT_TO_PXL(x) (int)((int32_t)((x)*resolution*100l)/7224)
112 #define PT_TO_DVI(x) (int32_t)((x)*65536l)
113 
114 /*#define PIXROUND(x,c) ((((double)x+(double)(c>>1))/(double)c)+0.5)*/
115 /*#define PIXROUND(x,c) (((x)+c)/(c))*/
116 /*#define PIXROUND(x,c) ((x+c-1)/(c))*/
117 /*#define PIXROUND(x,c) ((x)/(c))*/
118 /* integer round to the nearest number, not towards zero */
119 #define PIXROUND(num,den) ((num)>0 ? ((num)+(den)/2)/(den) : -(((den)/2-(num))/(den)))
120 
121 
122 /********************************************************/
123 /*********************** dvi.h ************************/
124 /********************************************************/
125 
126 #define DVI_TYPE 0
127 struct dvi_data { /* dvi entry */
128  int type; /* This is a DVI */
129  struct dvi_data *next;
130  uint32_t num, den, mag; /* PRE command parameters */
131  int32_t conv; /* computed from num and den */
132  /* divide dvi units (sp) with conv to get mf device resolution */
133  /* divide further with shrinkfactor to get true resolution */
134  char * name; /* full name of DVI file */
135  char * outname; /* output filename (basename) */
136  FILE * filep; /* file pointer */
137  time_t mtime; /* modification time */
138  struct font_num *fontnump; /* DVI font numbering */
139  struct page_list *pagelistp; /* DVI page list */
140 #define DVI_PREVIEW_LATEX_TIGHTPAGE 1
141 #define DVI_PREVIEW_BOP_HOOK (1<<1)
142  uint32_t flags; /* Preview-latex flags */
143 };
144 
145 #define PAGE_POST INT32_MAX
146 #define PAGE_LASTPAGE INT32_MAX-1
147 #define PAGE_MAXPAGE INT32_MAX-2 /* assume no pages out of this range */
148 #define PAGE_FIRSTPAGE INT32_MIN
149 #define PAGE_MINPAGE INT32_MIN+1 /* assume no pages out of this range */
150 
151 struct dvi_color {
153 };
154 
155 struct page_list {
156  struct page_list* next;
157  int offset; /* file offset to BOP */
158  int32_t count[11]; /* 10 dvi counters + absolute pagenum in file */
159  int csp; /* color stack pointer at BOP */
160  struct dvi_color cstack[2]; /* color stack at BOP, may be longer */
161 };
162 
163 
164 
165 
166 struct dvi_data* DVIOpen(char*,char*);
167 void DVIClose(struct dvi_data*);
168 bool DVIReOpen(struct dvi_data*);
169 struct page_list*FindPage(struct dvi_data*, int32_t, bool);
170 struct page_list*NextPage(struct dvi_data*, struct page_list*);
171 struct page_list*PrevPage(struct dvi_data*, struct page_list*);
172 int SeekPage(struct dvi_data*, struct page_list*);
173 bool DVIFollowToggle(void);
174 unsigned char* DVIGetCommand(struct dvi_data*);
175 bool DVIIsNextPSSpecial(struct dvi_data*);
176 uint32_t CommandLength(unsigned char*);
177 void ClearPSHeaders(void);
178 
179 /********************************************************/
180 /********************** misc.h ************************/
181 /********************************************************/
182 
183 struct filemmap {
184 #ifdef WIN32
185  HANDLE hFile;
186  HANDLE hMap;
187 #else /* WIN32 */
188  int fd;
189 #endif /* WIN32 */
190  char* data;
191  size_t size;
192 };
193 
194 bool DecodeArgs(int, char *[]);
195 void DecodeString(char *);
196 bool MmapFile (char *filename,struct filemmap *fmmap);
197 void UnMmapFile(struct filemmap* fmmap);
198 
199 void Message(int, const char *fmt, ...);
200 void Warning(const char *fmt, ...);
201 void Fatal(const char *fmt, ...);
202 
203 int32_t SNumRead(unsigned char*, register int);
204 uint32_t UNumRead(unsigned char*, register int);
205 
206 bool MmapFile (char *filename,struct filemmap *fmmap);
207 void UnMmapFile(struct filemmap* fmmap);
208 
209 
210 /********************************************************/
211 /*********************** font.h ***********************/
212 /********************************************************/
213 struct encoding {
214  struct encoding* next;
215  char* name;
216  char* charname[257];
217 };
218 
219 struct subfont {
220  struct subfont* next;
221  char* name;
222  char* infix;
223  int encoding;
225 };
226 
227 #ifdef HAVE_FT2
228 struct psfontmap {
229  struct psfontmap *next;
234  struct subfont* subfont;
235 };
236 #endif
237 
238 #define FONT_TYPE_PK 1
239 #define FONT_TYPE_VF 2
240 #define FONT_TYPE_FT 3
241 struct char_entry { /* PK/FT Glyph/VF Macro */
242  dviunits tfmw; /* TFM width */
243  unsigned char *data; /* glyph data, either pixel data
244  * (0=transp, 255=max ink) or VF macro */
245  uint32_t length; /* Length of PK data or VF macro */
246  /* Only used in pixel fonts */
247  pixels w,h; /* width and height in pixels */
248  subpixels xOffset, yOffset; /* x offset and y offset in subpixels */
249  /* Only used in PK fonts */
250  unsigned char *pkdata; /* Points to beginning of PK data */
251  unsigned char flag_byte; /* PK flagbyte */
252 };
253 
254 struct font_entry { /* font entry */
255  int type; /* PK/VF/Type1 ... */
256  struct font_entry *next;
259  char n[STRSIZE]; /* FNT_DEF command parameters */
260  int dpi; /* computed from s and d */
261  char * name; /* full name of PK/VF file */
262  struct filemmap fmmap; /* file memory map */
263  uint32_t magnification; /* magnification read from font file */
264  uint32_t designsize; /* design size read from font file */
265  void * chr[NFNTCHARS]; /* character information */
266 #ifdef HAVE_FT2
267  FT_Face face; /* Freetype2 face */
268  struct psfontmap* psfontmap; /* Font transformation */
269 #endif
270  struct font_num *vffontnump; /* VF local font numbering */
271  int32_t defaultfont; /* VF default font number */
272 };
273 
274 struct font_num { /* Font number. Different for VF/DVI, and several
275  font_num can point to one font_entry */
276  struct font_num *next;
278  struct font_entry *fontp;
279 };
280 
281 void CheckChecksum(uint32_t, uint32_t, const char*);
282 void InitPK (struct font_entry *newfontp);
283 void DonePK(struct font_entry *oldfontp);
284 void InitVF (struct font_entry *newfontp);
285 void DoneVF(struct font_entry *oldfontp);
286 
287 void FontDef(unsigned char*, void* /* dvi/vf */);
288 void ClearFonts(void);
289 void SetFntNum(int32_t, void* /* dvi/vf */);
290 void FreeFontNumP(struct font_num *hfontnump);
291 
292 #ifdef HAVE_FT2
293 char* copyword(char* orig);
294 struct psfontmap *NewPSFont(struct psfontmap* copyfrom);
295 void InitPSFontMap(void);
296 void ClearPSFontMap(void);
297 struct psfontmap* FindPSFontMap(char*);
298 struct encoding* FindEncoding(char*);
299 void ClearEncoding(void);
300 bool ReadTFM(struct font_entry *, char*);
301 bool InitFT(struct font_entry *);
302 void DoneFT(struct font_entry *tfontp);
303 void LoadFT(int32_t, struct char_entry *);
304 struct psfontmap* FindSubFont(struct psfontmap* entry, char* fontname);
305 void ClearSubfont(void);
306 #endif
307 
308 /********************************************************/
309 /********************* ppagelist.h ********************/
310 /********************************************************/
311 
312 bool ParsePages(const char*);
313 void FirstPage(int32_t,bool);
314 void LastPage(int32_t,bool);
315 void ClearPpList(void);
316 void Reverse(bool);
317 struct page_list* NextPPage(void* /* dvi */, struct page_list*);
318 
319 
320 
321 
322 #ifdef MAIN
323 #define EXTERN
324 #define INIT(x) =x
325 #else
326 #define EXTERN extern
327 #define INIT(x)
328 #endif
329 
330 /********************************************************/
331 /********************** draw.h ************************/
332 /********************************************************/
333 #include "commands.h"
334 
336 void DestroyImage(void);
337 void DrawCommand(unsigned char*, void* /* dvi/vf */);
338 void DrawPages(void);
339 void WriteImage(char*, int);
340 void LoadPK(int32_t, register struct char_entry *);
343 void Gamma(double gamma);
344 int32_t SetVF(struct char_entry *ptr);
346 void SetSpecial(char *, char *, int32_t, int32_t);
347 void BeginVFMacro(struct font_entry*);
348 void EndVFMacro(void);
349 
350 /**************************************************/
351 void handlepapersize(const char*,int32_t*,int32_t*);
352 
353 void stringrgb(const char* colorstring,int *r,int *g,int *b);
354 void background(const char *);
355 void initcolor(void);
356 void popcolor(void);
357 void pushcolor(const char *);
358 void resetcolorstack(const char *);
359 void StoreColorStack(struct page_list *tpagep);
360 void ReadColorStack(struct page_list *tpagep);
361 void StoreBackgroundColor(struct page_list *tpagep);
362 void ClearColorNames(void);
363 void InitXColorPrologue(const char* prologuename);
364 
365 /**********************************************************************/
366 /************************* Global Variables *************************/
367 /**********************************************************************/
368 
369 #ifdef MAKETEXPK
370 #ifdef HAVE_LIBKPATHSEA
372 #else
373 EXTERN bool makeTexPK INIT(_TRUE);
374 #endif
375 #endif
376 
377 EXTERN uint32_t usermag INIT(0); /* user specified magstep */
378 EXTERN struct font_entry *hfontptr INIT(NULL); /* font list pointer */
379 
380 EXTERN struct internal_state {
383 
384 #define BE_NONQUIET 1
385 #define BE_VERBOSE (1<<1)
386 #define PARSE_STDIN (1<<2)
387 #define EXPAND_BBOX (1<<3)
388 #define TIGHT_BBOX (1<<4)
389 #define FORCE_TRUECOLOR (1<<5)
390 #define USE_FREETYPE (1<<6)
391 #define REPORT_HEIGHT (1<<7)
392 #define REPORT_DEPTH (1<<8)
393 #define REPORT_WIDTH (1<<9)
394 #define DVI_PAGENUM (1<<10)
395 #define MODE_PICKY (1<<11)
396 #define GIF_OUTPUT (1<<12)
397 #define MODE_STRICT (1<<13)
398 #define NO_GHOSTSCRIPT (1<<14)
399 #define NO_GSSAFER (1<<15)
400 #define BG_TRANSPARENT (1<<16)
401 #define BG_TRANSPARENT_ALPHA (1<<17)
402 #define FORCE_PALETTE (1<<18)
403 #define NO_RAW_PS (1<<19)
405 
406 #define PAGE_GAVE_WARN 1
407 #define PAGE_PREVIEW_BOP (1<<1)
408 #define PAGE_TRUECOLOR (1<<2)
410 
411 
412 #ifdef DEBUG
413 EXTERN unsigned int debug INIT(0);
414 #define DEBUG_PRINT(a,b) if (debug & a) { printf b; fflush(stdout); }
415 #define DEBUG_DVI 1
416 #define DEBUG_VF (1<<1)
417 #define DEBUG_PK (1<<2)
418 #define DEBUG_TFM (1<<3)
419 #define DEBUG_GLYPH (1<<4)
420 #define DEBUG_FT (1<<5)
421 #define DEBUG_ENC (1<<6)
422 #define DEBUG_COLOR (1<<7)
423 #define DEBUG_GS (1<<8)
424 #define LASTDEBUG DEBUG_GS
425 #define DEBUG_DEFAULT DEBUG_DVI
426 #else
427 #define DEBUG_PRINT(a,b)
428 #endif
429 
430 /************************timing stuff*********************/
431 #ifdef TIMING
432 # ifdef TIME_WITH_SYS_TIME
433 # include <sys/time.h>
434 # include <time.h>
435 # else
436 # ifdef HAVE_SYS_TIME_H
437 # include <sys/time.h>
438 # else
439 # include <time.h>
440 # endif
441 # endif
442 EXTERN double timer INIT(0);
443 EXTERN double my_tic,my_toc INIT(0);
444 EXTERN int ndone INIT(0); /* number of pages converted */
445 # ifdef HAVE_GETTIMEOFDAY
446 EXTERN struct timeval Tp;
447 # define TIC { gettimeofday(&Tp, NULL); \
448  my_tic= Tp.tv_sec + Tp.tv_usec/1000000.0;}
449 # define TOC { gettimeofday(&Tp, NULL); \
450  my_toc += Tp.tv_sec + Tp.tv_usec/1000000.0 - my_tic;}
451 # else
452 # ifdef HAVE_FTIME
453 EXTERN struct timeb timebuffer;
454 # define TIC() { ftime(&timebuffer); \
455  my_tic= timebuffer.time + timebuffer.millitm/1000.0;
456 # define TOC() { ftime(&timebuffer); \
457  my_toc += timebuffer.time + timebuffer.millitm/1000.0 - my_tic;}
458 # else
459 # define TIC()
460 # define TOC()
461 # endif
462 # endif
463 #endif /* TIMING */
464 
465 EXTERN char* user_mfmode INIT(NULL);
466 EXTERN int user_bdpi INIT(0);
467 EXTERN int dpi INIT(100);
468 
469 #ifdef HAVE_GDIMAGEPNGEX
470 EXTERN int compression INIT(1);
471 #endif
472 #undef min
473 #undef max
474 # define max(x,y) if ((y)>(x)) x = y
475 # define min(x,y) if ((y)<(x)) x = y
476 
477 /* These are in pixels*/
478 EXTERN int x_min INIT(0);
479 EXTERN int y_min INIT(0);
480 EXTERN int x_max INIT(0);
481 EXTERN int y_max INIT(0);
482 
483 /* Page size: default set by -T */
484 EXTERN int x_width_def INIT(0);
485 EXTERN int y_width_def INIT(0);
486 
487 /* Offset: default set by -O and -T bbox */
488 EXTERN int x_offset_def INIT(0);
489 EXTERN int y_offset_def INIT(0);
490 
491 /* Preview-latex's tightpage */
496 
497 /* Paper size: set by -t, for cropmark purposes only */
498 /* This has yet to be written */
499 EXTERN int x_pwidth INIT(0);
500 EXTERN int y_pwidth INIT(0);
501 
502 /* The transparent border preview-latex desires */
503 EXTERN int borderwidth INIT(0);
504 
505 /* fallback color for transparent background */
506 EXTERN bool userbordercolor INIT(FALSE); /* if true, use user-supplied color */
508 
509 
512 
514 EXTERN int csp INIT(1);
515 
517 EXTERN struct dvi_data* dvi INIT(NULL);
518 
519 #ifdef HAVE_FT2
521 #endif
522 
523 #define EXIT_FATAL EXIT_FAILURE+1
525 
526 #endif /* DVIPNG_H */
const char * fontname
Definition: afm2pl.c:186
#define width(a)
Definition: aptex-macros.h:198
#define height(a)
Definition: aptex-macros.h:200
#define b
Definition: jpegint.h:372
@ FALSE
Definition: dd.h:101
static const char * colorstring(float r, float g, float b)
Definition: drvfig.cpp:63
int ndone
Definition: dvi2.c:69
long hh
Definition: dvi2xx.h:579
long vv
Definition: dvi2xx.h:581
void initcolor(void)
Definition: pscolor.c:92
int y_offset_tightpage
int pixels
Definition: dvipng.h:106
dviunits SetGlyph(struct char_entry *ptr, int32_t hh, int32_t vv)
Definition: set.c:208
int compression
int y_offset_def
void StoreColorStack(struct page_list *tpagep)
Definition: color.c:402
struct internal_state current_state
void ClearPSFontMap(void)
Definition: fontmap.c:173
void handlepapersize(const char *, int32_t *, int32_t *)
Definition: papersiz.c:65
void Message(int, const char *fmt,...)
Definition: misc.c:754
void SetSpecial(char *, char *, int32_t, int32_t)
uint32_t CommandLength(unsigned char *)
Definition: dvi.c:265
void stringrgb(const char *colorstring, int *r, int *g, int *b)
Definition: color.c:252
char * copyword(char *orig)
Definition: fontmap.c:46
int x_width_tightpage
void background(const char *)
Definition: color.c:371
void DonePK(struct font_entry *oldfontp)
Definition: pk.c:395
void DoneFT(struct font_entry *tfontp)
Definition: ft.c:159
void BeginVFMacro(struct font_entry *)
Definition: draw.c:267
void FreeFontNumP(struct font_num *hfontnump)
Definition: font.c:284
int csp
#define STRSIZE
Definition: dvipng.h:29
boolean DVIFollowToggle(void)
Definition: dvi.c:48
int32_t SetChar(int32_t)
Definition: draw.c:76
void StoreBackgroundColor(struct page_list *tpagep)
Definition: color.c:434
void InitXColorPrologue(const char *prologuename)
Definition: color.c:194
int user_bdpi
unsigned char * DVIGetCommand(struct dvi_data *)
Definition: dvi.c:170
void Warning(const char *fmt,...)
Definition: dvi2xx.c:5424
boolean DecodeArgs(int, char *[])
Definition: dvi2xx.c:2784
int x_width_def
boolean ParsePages(const char *)
Definition: ppagelist.c:133
void DoneVF(struct font_entry *oldfontp)
Definition: vf.c:127
FT_Library libfreetype
uint32_t page_flags
void LastPage(int32_t, boolean)
Definition: ppagelist.c:44
int SeekPage(struct dvi_data *, struct page_list *)
Definition: dvi.c:368
void FirstPage(int32_t, boolean)
Definition: ppagelist.c:39
boolean DVIReOpen(struct dvi_data *)
Definition: dvi.c:465
struct dvi_data * dvi
int borderwidth
boolean DVIIsNextPSSpecial(struct dvi_data *)
Definition: dvi.c:227
int x_max
void ClearEncoding(void)
Definition: enc.c:120
#define STACK_SIZE
Definition: dvipng.h:35
#define INIT(x)
Definition: dvipng.h:327
struct encoding * FindEncoding(char *)
Definition: enc.c:103
void ClearPSHeaders(void)
Definition: special.c:97
#define USE_FREETYPE
Definition: dvipng.h:390
void SetFntNum(int32_t, void *)
Definition: font.c:314
uint32_t usermag
Definition: dvi2.c:51
int y_min
void DestroyImage(void)
Definition: set.c:179
struct page_list * PrevPage(struct dvi_data *, struct page_list *)
Definition: dvi.c:414
void InitVF(struct font_entry *newfontp)
Definition: vf.c:51
int32_t dviunits
Definition: dvipng.h:108
void ClearFonts(void)
Definition: font.c:294
int y_width_def
boolean ReadTFM(struct font_entry *, char *)
Definition: tfm.c:27
int y_width_tightpage
#define NFNTCHARS
Definition: dvipng.h:33
boolean makeTexPK
boolean InitFT(struct font_entry *)
Definition: ft.c:85
void CreateImage(pixels width, pixels height)
Definition: set.c:42
struct font_entry * currentfont
uint32_t UNumRead(unsigned char *, register int)
Definition: misc.c:690
void Fatal(const char *fmt,...)
Definition: dvi2xx.c:5398
struct page_list * NextPage(struct dvi_data *, struct page_list *)
Definition: dvi.c:376
struct psfontmap * NewPSFont(struct psfontmap *copyfrom)
Definition: fontmap.c:98
void CheckChecksum(uint32_t, uint32_t, const char *)
Definition: font.c:27
void DecodeString(char *)
Definition: misc.c:657
void pushcolor(const char *)
Definition: color.c:378
int32_t SetVF(struct char_entry *ptr)
Definition: vf.c:30
boolean userbordercolor
void InitPK(struct font_entry *newfontp)
Definition: pk.c:312
void DrawPages(void)
Definition: draw.c:314
unsigned int debug
Definition: autosp.c:131
void ClearSubfont(void)
Definition: sfd.c:171
int x_offset_tightpage
struct page_list * FindPage(struct dvi_data *, int32_t, boolean)
Definition: dvi.c:420
void LoadFT(int32_t, struct char_entry *)
Definition: ft.c:27
#define EXTERN
Definition: dvipng.h:326
void ClearPpList(void)
Definition: ppagelist.c:175
void ReadColorStack(struct page_list *tpagep)
Definition: color.c:418
#define bool
Definition: dvipng.h:85
void FontDef(unsigned char *, void *)
Definition: font.c:67
struct page_list * NextPPage(void *, struct page_list *)
Definition: ppagelist.c:61
char * user_mfmode
struct font_entry * hfontptr
Definition: dvi2xx.h:594
int32_t SetRule(int32_t, int32_t, int32_t, int32_t)
Definition: set.c:260
void LoadPK(int32_t, register struct char_entry *)
Definition: pk.c:123
void UnMmapFile(struct filemmap *fmmap)
Definition: misc.c:829
void DVIClose(struct dvi_data *)
Definition: dvi.c:453
struct psfontmap * FindSubFont(struct psfontmap *entry, char *fontname)
Definition: sfd.c:116
void InitPSFontMap(void)
Definition: fontmap.c:69
gdImagePtr page_imagep
void DrawCommand(unsigned char *, void *)
Definition: draw.c:129
int x_pwidth
int y_max
#define BE_NONQUIET
Definition: dvipng.h:384
struct dvi_color cstack[100]
void EndVFMacro(void)
Definition: draw.c:282
int32_t subpixels
Definition: dvipng.h:107
void Gamma(double gamma)
Definition: set.c:195
struct dvi_data * DVIOpen(char *, char *)
Definition: dvi.c:109
struct psfontmap * FindPSFontMap(char *)
Definition: fontmap.c:289
int x_offset_def
int x_min
int y_pwidth
int dpi
Definition: kpsewhich.c:48
void popcolor(void)
Definition: color.c:387
void resetcolorstack(const char *)
Definition: color.c:393
void ClearColorNames(void)
Definition: color.c:183
int32_t SNumRead(unsigned char *, register int)
Definition: misc.c:698
void WriteImage(char *, int)
Definition: set.c:99
void Reverse(boolean)
Definition: ppagelist.c:49
struct dvi_color bordercolor
int32_t shrinkfactor
uint32_t option_flags
int exitcode
boolean MmapFile(char *filename, struct filemmap *fmmap)
Definition: misc.c:766
#define EXIT_SUCCESS
Definition: cdjpeg.h:175
#define NULL
Definition: ftobjs.h:61
#define gamma
Definition: gd_nnquant.c:53
unsigned int uint32_t
Definition: stdint.h:80
signed int int32_t
Definition: stdint.h:77
unsigned char uint8_t
Definition: stdint.h:78
#define _TRUE
Definition: config.h:159
pdf_obj * entry
Definition: pdfdoc.c:64
#define MAKE_TEX_PK_BY_DEFAULT
Definition: c-auto.h:53
#define timeb
Definition: win32lib.h:98
long time_t
Definition: types.h:18
char * filename[256]
Definition: pbmtopk.c:46
set set set set set set set set set set set set set set set set set set set set *set set set macro pixldst op &r &cond WK op &r &cond WK op &r &cond WK else op &m &cond &ia op &r &cond WK else op &m &cond &ia elseif elseif else error unsupported base if elseif elseif else error unsupported unaligned pixldst unaligned endm macro pixst base base else pixldst base endif endm macro PF ptr
int g
Definition: ppmqvga.c:68
int r
Definition: ppmqvga.c:68
int Tp
Definition: rate.c:101
#define uint32_t
Definition: stdint.in.h:168
#define uint64_t
Definition: stdint.in.h:215
#define int32_t
Definition: stdint.in.h:167
#define uint16_t
Definition: stdint.in.h:161
#define int8_t
Definition: stdint.in.h:153
#define int64_t
Definition: stdint.in.h:194
#define uint8_t
Definition: stdint.in.h:154
#define int16_t
Definition: stdint.in.h:160
Definition: dvi2xx.h:373
subpixels xOffset
Definition: dvipng.h:248
short yOffset
Definition: dvi2xx.h:376
pixels h
Definition: dvipng.h:247
uint32_t length
Definition: dvipng.h:245
unsigned char * data
Definition: dvipng.h:243
unsigned char * pkdata
Definition: dvipng.h:250
pixels w
Definition: dvipng.h:247
dviunits tfmw
Definition: dvipng.h:242
unsigned char flag_byte
Definition: dvi2xx.h:387
int red
Definition: dvipng.h:152
int blue
Definition: dvipng.h:152
int green
Definition: dvipng.h:152
char * name
Definition: dvipng.h:134
struct page_list * pagelistp
Definition: dvipng.h:139
struct font_num * fontnump
Definition: dvipng.h:138
uint32_t num
Definition: dvipng.h:130
int type
Definition: dvipng.h:128
time_t mtime
Definition: dvipng.h:137
int32_t conv
Definition: dvipng.h:131
FILE * filep
Definition: dvipng.h:136
struct dvi_data * next
Definition: dvipng.h:129
char * outname
Definition: dvipng.h:135
uint32_t mag
Definition: dvipng.h:130
uint32_t flags
Definition: dvipng.h:142
uint32_t den
Definition: dvipng.h:130
char * charname[257]
Definition: dvipng.h:216
char * name
Definition: dvipng.h:215
struct encoding * next
Definition: dvipng.h:214
size_t size
Definition: dvipng.h:191
char * data
Definition: dvipng.h:190
int fd
Definition: dvipng.h:188
Definition: defs.h:190
int dpi
Definition: dvipng.h:260
struct filemmap fmmap
Definition: dvipng.h:262
char n[257]
Definition: defs.h:193
struct psfontmap * psfontmap
Definition: dvipng.h:268
FT_Face face
Definition: dvipng.h:267
int d
Definition: defs.h:192
int s
Definition: defs.h:192
struct font_entry * next
Definition: defs.h:206
uint32_t magnification
Definition: dvipng.h:263
int type
Definition: dvipng.h:255
int l
Definition: defs.h:192
char name[1024]
Definition: defs.h:207
uint32_t c
Definition: dvipng.h:257
uint8_t a
Definition: dvipng.h:258
void * chr[255+1]
Definition: dvipng.h:265
uint32_t designsize
Definition: dvipng.h:264
struct font_num * vffontnump
Definition: dvipng.h:270
int32_t defaultfont
Definition: dvipng.h:271
struct font_num * next
Definition: dvipng.h:276
int32_t k
Definition: dvipng.h:277
struct font_entry * fontp
Definition: dvipng.h:278
struct font_entry * currentfont
Definition: dvipng.h:381
int32_t count[11]
Definition: dvipng.h:158
int csp
Definition: dvipng.h:159
struct dvi_color cstack[2]
Definition: dvipng.h:160
struct page_list * next
Definition: dvipng.h:156
int offset
Definition: dvipng.h:157
char * end
Definition: dvipng.h:230
struct encoding * encoding
Definition: dvipng.h:231
struct psfontmap * next
Definition: dvipng.h:229
char * psfile
Definition: dvipng.h:230
FT_Matrix ft_transform
Definition: dvipng.h:233
char * tfmname
Definition: dvipng.h:230
FT_Matrix * ft_transformp
Definition: dvipng.h:232
char * line
Definition: dvipng.h:230
char * encname
Definition: dvipng.h:230
struct subfont * subfont
Definition: dvipng.h:234
int encoding
Definition: dvipng.h:223
char * infix
Definition: dvipng.h:222
char * name
Definition: dvipng.h:221
struct subfont * next
Definition: dvipng.h:220
int32_t charindex[256]
Definition: dvipng.h:224
#define FILE
Definition: t1stdio.h:34
char fmt[256]
Definition: tex4ht.c:3925