texmlist.h /size: 1783 b    last modification: 2025-02-21 11:03
1/*
2    See license.txt in the root of this project.
3*/
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