diff options
author | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
---|---|---|
committer | Denis Bitouzé <dbitouze@wanadoo.fr> | 2021-02-25 18:23:07 +0000 |
commit | c6101f91d071883b48b1b4b51e5eba0f36d9a78d (patch) | |
tree | 1bf7f5a881d7a4f5c5bf59d0b2821943dd822372 /Build/source/texk/dviout-util/dd.h | |
parent | 07ee7222e389b0777456b427a55c22d0e6ffd267 (diff) |
French translation for tlmgr updated
git-svn-id: svn://tug.org/texlive/trunk@57912 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dviout-util/dd.h')
-rw-r--r-- | Build/source/texk/dviout-util/dd.h | 763 |
1 files changed, 0 insertions, 763 deletions
diff --git a/Build/source/texk/dviout-util/dd.h b/Build/source/texk/dviout-util/dd.h deleted file mode 100644 index ae14628d619..00000000000 --- a/Build/source/texk/dviout-util/dd.h +++ /dev/null @@ -1,763 +0,0 @@ -/* - * TEX Device Driver ver 2.02- - * copyright(c) 1988,89 by TSG, 1990- by SHIMA - * 1991 changed by hideki - * - * dd.h : common header file - * - */ -#ifndef INC_DD_H -#define INC_DD_H - -#ifndef __STDIO_H -#include <stdio.h> -#endif - -/* reduce harmless warning messsages */ -#if defined(MSVC) && !defined(_WARNING_) -#define _WARNING_ -#pragma warning( disable : 4244 4018 4028 4102 4761 4146 4047 4305 4113 4245) -#endif - -#ifdef WIN32 -#define WIN32G -#define STR_SEARCH -#define USE_COLOR -#define HYPERTEX -#define PLUG 1 -#define DOUBLE_PAGE -#define DVI_ADD -#define USE_ETF -#endif - -#if defined(WIN32G) || defined(WIN32C) -#define USE_WINAPI -#define MAX_KPS_DEPTH 16 -#elif defined(UNIX) -#define MAX_KPS_DEPTH 16 -#endif - -#ifdef USE_WINAPI -#define USE_WINFONT -#endif - -#ifdef NOPS -#define NOPSFRAG -#endif - -int strlcmp(const char *, const char *); - -#ifndef MSVC -long filelength(int); -int strcmpi(const char *, const char *); -#ifndef GCC -char *stpcpy(char *, const char *); -#endif -#endif - -#if !defined(GCC1) || defined(UNIX) -#define GetCh() getch() -#define KbHit() kbhit() -#endif - -#ifdef UNIX -#define MAXPATH 256 -#define MAXDRIVE 1 -#define MAXDIR 256 -#define MAXFILE 128 -#define MAXEXT 128 -#define O_BINARY 0 -#define PATH_SEP '/' -#define DELIMITER ':' -#else -#define PATH_SEP '\\' -#define DELIMITER ';' -#endif - -#ifndef max -#define max(a,b) ( (a) > (b) ? (a) : (b) ) -#define min(a,b) ( (a) < (b) ? (a) : (b) ) -#endif - -/* standard definitons */ - -#define uchar unsigned char -#define uint unsigned int -#define ulong unsigned long -typedef void (*void_func_ptr) (); -typedef int (*int_func_ptr) (); -typedef int (* COMP)(const void *, const void *); - -#ifdef FALSE -#undef FALSE -#endif -#ifdef TRUE -#undef TRUE -#endif -#ifdef BOOL -#undef BOOL -#endif -typedef enum{ - FALSE = 0, - TRUE = 1 -} BOOL; - -#define NOTHING 0 -#define FAILURE (-1) -#define NOMORE (-2) - -#ifndef SEEK_SET -#define SEEK_SET 0 -#define SEEK_CUR 1 -#define SEEK_END 2 -#endif - -#if defined(LIPS3)||defined(ESCPAGE) -#define LBP -#endif - -#ifdef LBP -#define FDOWN -#else -#undef JDWN -#endif - -#if !defined(JDWN) && defined(JGAIJI) -#undef JGAIJI -#endif - -void Free0(void *); - -#ifdef WIN32 -void Free(void *); -#define get_near_work(x) marea(x) -#else -#define Free(x) free(x) -extern uchar *get_near_work(uint); -#endif - -/* definitons for device driver */ - - -//#ifdef GCC -#define far -#define huge -//#endif - -#define BUFFER uchar far -#define HUGE_BUF uchar huge - /* Both BUFFER pointer and HUGE_BUF pointer are 32bit-pointer. - * HUGE_BUF will be used for larger buffers ( correctly speaking, - * ones which keep more data than 64Kbytes ). - * And it is noteworthy that the pointers of these types are impossible - * to express continually ( ex. BUFFER *a, *b ), because they are not - * "typedef" but "#define." This foolish error is because of 8086CPU, - * which has only 16bit-pointer, so we must add "far" or "huge" for use of - * 32bit-pointer. However, "far" and "huge" are permitted to "typedef." - * How wonderful SEGMENT !! - */ -#ifdef NOFLOAT -#define SIZE_PARA long -#else -#define SIZE_PARA double -#endif - /* This device driver calculate units with double. - */ -#define F_SIZE_PARA long - /* This device driver calculate units with double. - */ -#define PIXEL int -#define SCALED_PT long - /* the units of pixel and scaled-point - */ - -#define HEADER_DEPTH 0xe0000L -#define FOOTER_DEPTH 0xe0000L - /* the header depth and the footer depth ( scaled point ) - */ - -typedef enum { - UNKNOWN, ONDEMAND, ONDEMAND2, UNRESOLVE, - PK_FONT, PXL1001, PXL1002, PXL1003, PKD_FONT, JXL, - SUBTFM, -#ifdef VFD /* Fonts before JXL should be unscalable */ - VFD_FONT, -#endif -#ifdef TTFONT /* European TrueType fonts (expand by dviout) */ - CMTTF, -#endif -#ifdef USE_WINFONT /* Europian TrueType fonts (WinAPI) */ - WINTT_FONT, -#endif -#ifdef VIRTUALFONT - VIRTUAL_FONT, -#endif - SUBJFM, ROM_FONT, ZS_FONT, -#ifdef BEZIERFONT - JG_FONT, -#endif -#ifdef TTFONT /* Japanese TrueType fonts (expand by dviout) */ - TT_FONT, -#endif -#ifdef USE_WINFONT /* Japanese TrueType fonts (WinAPI) */ - WINJTT_FONT, -#endif -#ifdef USE_ETF - ETF_FONT, -#endif - JLBP, JIS_FONT, JIS_PK, JIS_PKH, GAIJI -} FONT_TYPE; - - /* FONT_TYPE shows the type of fonts */ - -typedef enum { - HORIZONTAL, VERTICAL -} PRINT_DIR; - - /* Direction at printing, HORIZONTAL normally. - */ - -typedef enum { - PreviousPart, NextPart, - PreviousPage, NextPage, - NextPageDirection, - EscapeQuit -} NEXT_ACTION; - - /* These values are returned by device-output module, which says - * what to do next. - */ - -#define PREAMBLE struct PREAMBLE_REC far - /* Information about Preamble of a font-file - */ -struct PREAMBLE_REC { - PIXEL width, height, pitch_offset, depth_offset; - /* the size of the character, and the offset for typesetting. - */ - BUFFER *raster; - /* the pointer of Raster-data buffer - */ - long tfm_width; - int byte_width; - /* equal width/8, raised decimal - */ - PIXEL shift_up_ptex, shift_right_ptex; - /* the offset when lateral-Kanji used (when in pTeX tate mode) - */ - int rotate_ptex; - /* the flag of rotation (when in pTeX tate mode) - */ -}; - -#define CHAR_INFO struct CHAR_INFO_REC far - /* This buffer is a linked-list one, which keeps pointers of unpacked - * fonts. - */ -struct CHAR_INFO_REC { - uint code; - /* character code - */ - CHAR_INFO *next_char; - CHAR_INFO *former_char; - /* needless to say? */ - struct PREAMBLE_REC pre; - /* preamble of an unpacked font - */ -}; - -#define f_HUGE 0x8000 -#define f_EMS 0x4000 - -#define BUF_INFO struct BUF_INFO_REC - /* Information about buffers - */ -struct BUF_INFO_REC { - BUFFER *start; - BUFFER *current; - BUFFER *end; - /* Each means starting, current, and ending pointer of the buffer. - * Especially, 'end' means 'start+size', so the pointer above ( or - * which equals )'end' will be out of the buffer. - */ - long size; - int flush; -}; - -typedef struct { - long offset; - int number; -#ifdef HYPERTEX - int hyper0; -#endif -} -PAGE_INDEX; -/* _REC; - -#define PAGE_INDEX PAGE_INDEX_REC far -*/ - - /* page index buffer */ - -#define DVIFILE_INFO struct DVIFILE_INFO_REC - /* Information about Preamble of DVI-file. ( to say the truth, this is - * the same thing as Preamble itself. So, you'd better see - * "TeX : The Program." ) - */ -struct DVIFILE_INFO_REC { - FILE *file_ptr; - char *file_name; - long post, last_bop; - long num, den, mag; - SCALED_PT l, u; - int stack_depth; - int total_page; -}; - -#define DIMENSION struct DIMENSION_REC - /* Information about device-output - */ - -struct DIMENSION_REC { - int dpi; - /* is horizontal dot-per-inch ratio of the device - */ - int DPI; - /* is vertical dot-per-inch ratio of the device . - */ - PIXEL max_width, max_height; - /* These tell us the maximum size the device can output. - * They are represented by pixel-unit. - */ - PIXEL output_width, output_height; - /* is the final size to be output to the device - */ - PIXEL buf_width, buf_height; - /* These tell us the maximum size Bitmap-buffer can hold. - * oriented by text direction - */ - PIXEL text_width, text_height; - /* These are the maxmum size directed in DVI-file. - */ - int mag; - /* is the magnification for output. This is the same value as 'mag' in - * DVI-file ( so equal the one in DVI_INFO ), when no '-mag' & '-half' - * options directed. - */ - int split; - /* Our Device-driver divides the text to several parts, if that can't - * be output at once. 'split' is the number of parts. Then, if 'split' - * holds '1', Device-driver will put the text at a time. - */ - PRINT_DIR print_direction; - /* This shows the direction for output, responsing '-V' option. - * So there is no meaning for PREVIEWER. - */ - SIZE_PARA size_para; - /* is size-parameter for conversion pixel<-->scaled pt. - * ( equal "num * den / mag" ) - */ - PIXEL x_offset, y_offset; - /* the offset of the head of text. These are directed by '-X' and - * '-Y' options. - */ - PAGE_INDEX *page_index; - /* the index of file-offset of pages in dvifile - */ - int total_page; - /* same as 'total_page' in DVI_INFO. - */ - int start_page, end_page; - /* the starting and the ending page to print. - */ - int max_nombre_page; - /* the maximal nombre page - */ - int prt_type; - /* the type of the printer, ESC/P, PC-PR, PC-MN, LIPS3 or Previewer etc - */ -}; - -#define NO_PRN_OUT 0x1000 - -#define OUTPUT_INFO struct OUTPUT_INFO_REC - /* Information about output. Interpreting-module and Device-output-module - * receive the pointer of this. - */ -struct OUTPUT_INFO_REC { - FILE *dvifile_ptr; - /* DVI-file pointer - */ - long page_start_offset; - /* the file-offset at the position the page starts from. - */ - PRINT_DIR print_direction; - /* equal the one in DIMENSION. - */ - PIXEL h_0, v_0; - /* the original point for output. - */ - PIXEL width, height; - /* the size for output.; it is assigned for all the size of the text - * to be held in the buffer. - */ - int byte_width, byte_height; - /* equal width/8 and height/8. - */ - int split, page; - /* the current part and page. - */ - HUGE_BUF *bitmap_ptr; - /* Bitmap pointer - */ -}; - -typedef struct { /* KANJI fonts */ - int width; /* width by dots (without counting K_DBL) */ - int height; /* height by dots (without counting K_DBL) */ - int size; /* size by bytes = (width+7)/8*height */ - int base; /* number of dots under base line */ - int fh; /* file handle number */ - char *name; /* Kanji font file_name */ -} -KFONT; - -typedef struct { - int char_type; - int id; - long width; /* character width */ - long height; /* character height(length above the baseline) */ - long depth; /* character depth (length under the baseline) */ - long italic; - long glue; - long plus; - long minus; -} -JFM_DATA; - -#define KFONT_SIZE sizeof(KFONT) - -#define FONT_INFO struct FONT_INFO_REC far - /* Information about fonts. This is linked-list. - */ -union EXT { - BUFFER *dir; /* PXL1001, PXL1002, PXL1003 - address of the directory for PXLFONT */ - KFONT *kdir; /* JLBP, JIS_FONT, JIS_PK, JIS_PKH, GAIJI */ - int fh; /* JXL, PKD_FONT, VFD_FONT (file handle) */ - /* ZS_FONT, JG_FONT, TT_FONT (use as ID) */ - long count; -#ifdef VIRTUALFONT - FONT_INFO *local_font; -#endif -}; - -#define CHAR_ROOT 8 /* should be a power of 2 */ -#define MAX_NAME_LEN 128 - -struct FONT_INFO_REC { /* 4*CHAR_ROOT + 46 = 78 bytes - + 4 = 82 bytes (FDOWN) - + 6 = 88 bytes (NTTRPL)*/ - int font_code; - /* sent from dvi-file, when the font is defined. - */ - FONT_TYPE font_type; - /* type of font. - */ - FONT_TYPE etf_type; - /* type of ETF_FONT. - */ - int f_goth; - /* flag for gothic etc. - */ - char *name; - /* the file-name of the font. - */ - BUFFER *pk; - /* the pointer of unpacked data of the font. - * it is NULL, when data is unloaded or flushed. - */ - CHAR_INFO *char_info[CHAR_ROOT]; - /* the pointers of the first CHAR_INFO of the font. - * Also, it is NULL, when data is unloaded or flushed. - */ - FONT_INFO *k_top; - FONT_INFO *k_next; - - F_SIZE_PARA size_para; - - F_SIZE_PARA des_para; - /* design size. - */ - int dpi; - /* requested dpi - */ - int sdpi; - /* substituted dpi - */ - char n[MAX_NAME_LEN]; - /* font name - */ - FONT_INFO *next_font; - /* equal NULL, when no next font. - */ - FONT_INFO *before_font; - /* equal NULL, when no former font - */ - FONT_INFO *after_font; - /* equal NULL, when no after font - */ - int k_width; - /* normal allowable maximal width of Kanji character by bits - * counting k_scale - * in PTeX TATE-KUMI fonts, it shows height of fonts. - */ - int k_height; - /* normal allowable maximal height of Kanji character by bits - * counting k_scale - * in PTeX TATE-KUMI fonts, it shows width of fonts. - */ - int last; - /* last JIS CODE of Kanji font, - offset of character packet of Virtual Font - */ - long c; - /* checksum (id) - */ - union EXT ext; - - int texpk_pos; - -#ifdef LBP - int lbp_font_inf; /*0-3bit:フォント番号-80H, - 4,5:bold flag (0:normal, 1:1dot, 2:2dot) - 6:ouline flag 8-15:フォント縦横比(0-200)*/ -#endif -#ifdef FDOWN - uchar *d_flag; -#endif - void *vjfm; /* WINTT_FONT or VIRTUAL_FONT */ - -#ifndef NO_NTTRPL - int code_offset; - int pt_size; - int family_code; -#endif -#ifdef USE_SUBFONT - int sfd_id; -#endif -}; - -#ifdef LBP -#ifdef FDOWN -typedef struct { /*ダウンロード情報*/ - int assign_num; /*割当番号*/ - int maxwidth; /*フォント最大幅*/ - int maxheight; /*フォント最大高*/ - int mincharcode; /*最小コード*/ - int maxcharcode; /*最大コード*/ - int numoffonts; /*ダウンロードしたフォントの数*/ - long total_send; /*ダウンロードしたトータルバイト数*/ - long total_off; /*実サイズを使う場合のバイト数の差*/ - long total_mem; /*セルサイズで計ったトータルバイト数*/ -} -DL_INFO; - -struct DJFONT_COUNT { /*和文フォントの文字の出現頻度情報 - : 8 byte -> should be even size*/ - unsigned short int code; /*文字コード*/ - unsigned char font_code; /*フォント番号*/ - unsigned char count; /*出現回数-1*/ - unsigned short int after; /*次のノード*/ - unsigned short int before; /*前のノード*/ -}; - -struct DJFONT_TABLE { /*和文フォントのダウンロードした文字情報: 5 byte*/ - unsigned short int code; /*元の文字コード*/ - unsigned char font_code; /*元のフォント番号*/ - unsigned char new_code; /*ダウンロードで埋め込んだ文字コード*/ - unsigned char new_font_code; /*ダウンロードで埋め込んだフォント番号*/ -}; - -#define DJFONT struct DJFONT_COUNT -#define DJTABLE struct DJFONT_TABLE - -struct REAL_SIZE { /*文字の左右の空白を削った実ボックスサイズ、左上が原点*/ - int left; /*最左端のx-座標*/ - int top; /*最上端のy-座標*/ - int right; /*最右端のx-座標 + 1*/ - int bottom; /*最下端のy-座標 + 1*/ -}; - -# endif/*FDOWN*/ - -typedef struct { - void (*init) (void); - void (*init2) (int, int); - void (*end) (void); - void (*set_font) (FONT_INFO *, KFONT *, int, int, int); - void (*move_cap) (PIXEL, PIXEL); - void (*move_homepoint) (PIXEL, PIXEL); - void (*pre_put_char) (FONT_INFO *, PREAMBLE*, uint *, PIXEL *, PIXEL *); - void (*put_jis_font) (uint); - void (*put_dl_font) (uint); - long (*get_dlhsize) (int num); - void (*pre_download) (FONT_INFO *, DL_INFO *, int, int); - void (*download_rastor) (FONT_INFO *, DL_INFO *, uint, int); - void (*post_download) (FONT_INFO *, DL_INFO *); - void (*drawbox) (PIXEL, PIXEL, PIXEL, PIXEL, int); - void (*rotate) (int); - void (*tate_yoko) (int); - struct LIPS_LFONT *data; -} LBP_FUNC; - -struct LIPS_LFONT { - char *font_name; - int no; -}; - -#endif /*LBP*/ - -/* extern variables */ - -extern BUF_INFO buffers[]; - -extern FONT_INFO *first_font_info; - - /* the first position of the font-list. - */ - -#define pk_buf_pointer (&buffers[1]) - - /* the buffer for pk-font-data loaded from disk directly. - */ - -#define raster_buf_pointer (&buffers[0]) - - /* the buffer for the raster-data of unpacked fonts. - */ - -#define bitmap_buf_pointer (&buffers[2]) - - /* Virtual VRAM buffer. Interpret-module will draw the figure onto this. - * This is casted to HUGE_BUF when used. - */ - - /* Buffer for working in far heap: default size = 0 - */ - - /* Buffer for working in EMS - */ - -#ifdef GCC -#define COMMON_SIZE 0x4000 -#else -#define COMMON_SIZE 2560 -#endif -extern char common_work[COMMON_SIZE]; -#define tmp_buf common_work - - /* Buffer for working in near heap - COMMON_SIZE should not be smaller than 2048 - */ - -extern BUFFER *get_work(uint); -extern FILE *fopenf(char*, char*); - -#define F_GOTH 1 -#define K_DBL 2 -#define F_LBP 4 -#define F_DWN 8 -#define F_FILL 0x10 -#define F_SHADOW 0x20 -#define F_OUTLINE 0x40 -#define F_GGOTH 0x80 -#define K_SCALE 0x100 -#define F_TATE 0x200 -#define K_SCALE2 0x400 -#define F_TOPT 0x800 -#define F_DTATE 0x1000 -#define F_DYOKO 0x2000 - -#define F_ATTR (F_GOTH|F_FILL|F_SHADOW|F_OUTLINE|F_GGOTH) - -/* Definition for DVI commands */ - -#define SET_CHAR_0 0 -#define SET1 128 -#define SET_RULE 132 -#define PUT1 133 -#define PUT_RULE 137 -#define NOP 138 -#define BOP 139 -#define EOP 140 -#define PUSH 141 -#define POP 142 -#define RIGHT1 143 -#define W0 147 -#define W1 148 -#define X0 152 -#define X1 153 -#define DOWN1 157 -#define Y0 161 -#define Y1 162 -#define Z0 166 -#define Z1 167 -#define FNT_NUM_0 171 -#define FNT1 235 -#define XXX1 239 -#define FNT_DEF_1 243 -#define PRE 247 -#define POST 248 -#define POST_POST 249 -#define EOFNC 255 /* end of func */ - -/* Units for length : mm, inch(in), point(pt), scaled point(sp) and macros - * for them. - * by K.Yoshizawa Dec. 26, 1992 - */ -#define ROUND(X) (int)((X)+0.5) /* 浮動小数点数→整数時の四捨五入 */ - -#define MM_PER_IN 25.4 /* 1in = 25.4mm */ -#define PT_PER_IN 72.27 /* 1in = 72.27pt */ -#define BP_PER_IN 72.0 /* 1in = 72.0pt */ - -#define IN_PER_MM (1.0/MM_PER_IN) -#define PT_PER_MM (PT_PER_IN/MM_PER_IN) - -#define PT_PER_BP (PT_PER_IN/BP_PER_IN) - -#define MM_PER_PT (MM_PER_IN/PT_PER_IN) -#define IN_PER_PT (1.0/PT_PER_IN) - -#define MM_TO_SP(X) PT_TO_SP(MM_TO_PT(X)) -#define IN_TO_SP(X) PT_TO_SP(IN_TO_PT(X)) -#define BP_TO_SP(X) PT_TO_SP(BP_TO_PT(X)) -#define PT_TO_SP(X) ((SCALED_PT)ROUND((double)(X)*65536.0)) - -#define IN_TO_MM(X) ((X)*MM_PER_IN) -#define PT_TO_MM(X) ((X)*MM_PER_PT) -#define SP_TO_MM(X) PT_TO_MM(SP_TO_PT(X)) - -#define MM_TO_IN(X) ((X)*IN_PER_MM) -#define PT_TO_IN(X) ((X)*IN_PER_PT) -#define SP_TO_IN(X) PT_TO_IN(SP_TO_PT(X)) - -#define MM_TO_PT(X) ((X)*PT_PER_MM) -#define IN_TO_PT(X) ((X)*PT_PER_IN) -#define BP_TO_PT(X) ((X)*PT_PER_BP) -#define SP_TO_PT(X) ((double)(X)/65536.0) - -/* - * type of machine - */ -#define M_PC98 0 -#define M_DOSV 1 -#define M_J31 2 - -#define M_DBCS 1 - -#define issjis1(x) ((x)>=0x81&&(x)<=0xfc&&((x)<=0x9f||(x)>=0xe0)) - -#endif // INC_DD_H -/* end of file : dd.h */ |