1
4
5# ifndef LMT_MLIST_H
6# define LMT_MLIST_H
7
8typedef struct kernset {
9 scaled topright;
10 scaled bottomright;
11 scaled topleft;
12 scaled bottomleft;
13 scaled height;
14 scaled depth;
15 scaled toptotal;
16 scaled bottomtotal;
17 halfword dimensions;
18 halfword font;
19 halfword character;
20 halfword padding;
21} kernset;
22
23typedef enum mlist_to_hlist_contexts {
24 m_to_h_callback = 1,
25 m_to_h_cleanup = 2,
26 m_to_h_pre = 3,
27 m_to_h_post = 4,
28 m_to_h_replace = 5,
29 m_to_h_sublist = 6,
30 m_to_h_engine = 7,
31} mlist_to_hlist_contexts;
32
33extern void tex_run_mlist_to_hlist (halfword p, halfword penalties, halfword style, int beginclass, int endclass);
34extern halfword tex_mlist_to_hlist (halfword, int penalties, int mainstyle, int beginclass, int endclass, kernset *kerns, int where);
35extern halfword tex_make_extensible (halfword fnt, halfword chr, scaled target, scaled min_overlap, int horizontal, halfword att, halfword size);
36extern halfword tex_new_math_glyph (halfword fnt, halfword chr);
37extern halfword tex_math_spacing_glue (halfword ltype, halfword rtype, halfword style);
38
39extern halfword tex_math_font_char_ht (halfword fnt, halfword chr, halfword style);
40extern halfword tex_math_font_char_dp (halfword fnt, halfword chr, halfword style);
41extern void tex_set_math_text_font (halfword style, int usefamfont);
42
43extern scaled tex_math_parameter_x_scaled (int style, int param);
44extern scaled tex_math_parameter_y_scaled (int style, int param);
45
46# endif
47 |