TeX in C
Explore TeX with modern c compiler.
|
结构体 | |
struct | MovePtr |
宏定义 | |
#define | ID_BYTE 2 |
[#587]: identifies the kind of DVI files described here 更多... | |
#define | MOVEMENT_NODE_SIZE 3 |
[#605]: number of words per entry in the down and right stacks 更多... | |
#define | vetglue(x) |
[p223#605] DVI byte number for a movement command 更多... | |
#define | LOCATION(x) ((x)->locationf) |
DVI byte number for a movement command 更多... | |
#define | WIDTH(x) ((x)->widthf) |
#define | LINK(x) ((x)->linkf) |
#define | INFO(x) ((x)->infof) |
#define | FREE_NODE(x, y) free(x) |
#define | synchh() |
[p229#619] label not_use 更多... | |
#define | synchv() |
类型定义 | |
typedef Pointer | DVI_Index |
[#594]: an index into the output buffer. 更多... | |
枚举 | |
enum | DVISetting { Y_HERE = 1 , Z_HERE , YZ_OK , Y_OK , Z_OK , D_FIXED } |
p224#608 更多... | |
enum | StackState { NONE_SEEN = 0 , Y_SEEN = 6 , Z_SEEN = 12 } |
P226#611 更多... | |
函数 | |
void | dviout_init (void) |
[#593, #596, #606] 初始化 dviout 内部变量 更多... | |
static void | write_dvi (DVI_Index a, DVI_Index b) |
[#597]: The actual output of dvi_buf[a,b] to dvi file. 更多... | |
static void | dvi_swap (void) |
[#598]: outputs half of the buffer. 更多... | |
void | dviout (int x) |
[#598] 更多... | |
void | dvi_four (Integer x) |
[#600]: outputs four bytes in two’s complement notation, without risking arithmetic overflow. 更多... | |
void | dvi_pop (Integer l) |
[#601] 更多... | |
void | dviout_helper (ASCIICode c) |
void | dvi_font_def (InternalFontNumber f) |
[#602] 更多... | |
static MovePtr | get_move_node (void) |
static void | movement (Scaled w, enum DVICommands dvicmd) |
[p224#607] produces a DVI command for some specified downward or rightward motion. 更多... | |
void | prune_movements (Integer l) |
[p227#615]: delete movement nodes with LOCATION ≥ l. 更多... | |
Scaled | synch_h (Scaled cur_h, Scaled dvi_h) |
[#616] 返回 cur_h 在 tex.c 中通过赋值更新 dvi_h. 更多... | |
Scaled | synch_v (Scaled cur_v, Scaled dvi_v) |
void | hlistout (void) |
void | vlistout (void) |
void | shipout (Pointer p) |
void | dviout_ID_BYTE (void) |
void | dviout_SET_RULE (void) |
void | dviout_PUT_RULE (void) |
void | dviout_EOP (void) |
void | dviout_PUSH (void) |
void | dviout_POP (void) |
void | dviout_PRE (void) |
void | dviout_POST (void) |
void | dviout_XXX1 (void) |
void | dviout_XXX4 (void) |
long | get_dvi_mark (void) |
Boolean | dvi_openout (void) |
void | _dvibop (Integer counts[]) |
used in [p236#638]: shipout 更多... | |
void | _dvi_lastbop (void) |
void | dvi_set_font (int f) |
void | dvi_set_char (long c) |
long | dviflush (void) |
变量 | |
static EightBits | dvibuf [DVI_BUF_SIZE+1] |
buffer for DVI output 更多... | |
static DVI_Index | half_buf |
half of dvi buf size 更多... | |
static DVI_Index | dvi_limit |
end of the current half buffer 更多... | |
static DVI_Index | dvi_ptr |
the next available buffer address. 更多... | |
static Integer | dvi_offset |
DVI_BUF_SIZE times the number of times the output buffer has been fully emptied. 更多... | |
static Integer | dvigone |
the number of bytes already output to dvi file 更多... | |
static FILE * | dvifile |
static Integer | last_bop |
LOCATION of previous bop in the DVI output. 更多... | |
static MovePtr | down_ptr |
static MovePtr | right_ptr |
Scaled | maxh |
Scaled | maxv |
Integer | totalpages |
Integer | maxpush |
Integer | deadcycles |
Boolean | doingleaders |
Static Integer | lq |
Static Integer | lr |
Static Scaled | ruleht |
Static Scaled | ruledp |
Static Scaled | rulewd |
Scaled | dvih = 0 |
Scaled | dviv = 0 |
Scaled | curh |
Scaled | curv |
Scaled | curmu |
Static InternalFontNumber | dvif = NULL_FONT |
Integer | curs |
#define FREE_NODE | ( | x, | |
y | |||
) | free(x) |
#define ID_BYTE 2 |
[#587]: identifies the kind of DVI files described here
#define INFO | ( | x | ) | ((x)->infof) |
#define LINK | ( | x | ) | ((x)->linkf) |
#define LOCATION | ( | x | ) | ((x)->locationf) |
DVI byte number for a movement command
#define MOVEMENT_NODE_SIZE 3 |
[#605]: number of words per entry in the down and right stacks
#define synchh | ( | ) |
#define synchv | ( | ) |
#define vetglue | ( | x | ) |
[p223#605] DVI byte number for a movement command
[p231#625]
#define WIDTH | ( | x | ) | ((x)->widthf) |
enum DVISetting |
p224#608
enum StackState |
void _dvi_lastbop | ( | void | ) |
void _dvibop | ( | Integer | counts[] | ) |
used in [p236#638]: shipout
void dvi_font_def | ( | InternalFontNumber | f | ) |
[#602]
void dvi_four | ( | Integer | x | ) |
[#600]: outputs four bytes in two’s complement notation, without risking arithmetic overflow.
TODO: check
Boolean dvi_openout | ( | void | ) |
void dvi_pop | ( | Integer | l | ) |
[#601]
void dvi_set_char | ( | long | c | ) |
void dvi_set_font | ( | int | f | ) |
|
static |
[#598]: outputs half of the buffer.
long dviflush | ( | void | ) |
void dviout | ( | int | x | ) |
[#598]
|
inline |
void dviout_helper | ( | ASCIICode | c | ) |
|
inline |
void dviout_init | ( | void | ) |
[#593, #596, #606] 初始化 dviout 内部变量
[#593]
[#596]
[#606]
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
long get_dvi_mark | ( | void | ) |
|
static |
void hlistout | ( | void | ) |
|
static |
[p224#607] produces a DVI command for some specified downward or rightward motion.
parameters:
have we seen a y or z?
current and top nodes on the stack
index into dvi buf , modulo dvi buf size
void prune_movements | ( | Integer | l | ) |
[p227#615]: delete movement nodes with LOCATION ≥ l.
void shipout | ( | Pointer | p | ) |
[ #640 ]: Ship box p out
[p236#639] Flush the box from memory, showing statistics if requested
void vlistout | ( | void | ) |
[#597]: The actual output of dvi_buf[a,b] to dvi file.
Scaled curh |
Scaled curmu |
Integer curs |
Scaled curv |
Integer deadcycles |
Boolean doingleaders |
|
static |
|
static |
end of the current half buffer
|
static |
DVI_BUF_SIZE
times the number of times the output buffer has been fully emptied.
|
static |
the next available buffer address.
|
static |
buffer for DVI output
Static InternalFontNumber dvif = NULL_FONT |
|
static |
|
static |
the number of bytes already output to dvi file
Scaled dvih = 0 |
Scaled dviv = 0 |
|
static |
half of dvi buf size
|
static |
LOCATION of previous bop in the DVI output.
last_bop: [592], 593, 640, 642
Scaled maxh |
Integer maxpush |
Scaled maxv |
|
static |
Integer totalpages |