summaryrefslogtreecommitdiff
path: root/source/luametatex/source/tex/texnodes.h
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/tex/texnodes.h')
-rw-r--r--source/luametatex/source/tex/texnodes.h133
1 files changed, 68 insertions, 65 deletions
diff --git a/source/luametatex/source/tex/texnodes.h b/source/luametatex/source/tex/texnodes.h
index 113de8f40..e19ff933d 100644
--- a/source/luametatex/source/tex/texnodes.h
+++ b/source/luametatex/source/tex/texnodes.h
@@ -1743,46 +1743,47 @@ typedef struct noad_classes {
// # else
typedef enum noad_options {
// # endif
- noad_option_axis = 0x000000001,
- noad_option_no_axis = 0x000000002,
- noad_option_exact = 0x000000004,
- noad_option_left = 0x000000008, /* align option for overflown under/over */ /* used ? */
- noad_option_middle = 0x000000010, /* idem */
- noad_option_right = 0x000000020, /* idem */
- noad_option_adapt_to_left_size = 0x000000040, /* old trickery, might go away but kind of fun */
- noad_option_adapt_to_right_size = 0x000000080, /* idem */
- noad_option_no_sub_script = 0x000000100,
- noad_option_no_super_script = 0x000000200,
- noad_option_no_sub_pre_script = 0x000000400,
- noad_option_no_super_pre_script = 0x000000800,
- noad_option_no_script = 0x000001000,
- noad_option_no_overflow = 0x000002000, /* keep (middle) extensible widthin target size */
- noad_option_void = 0x000004000, /* wipe and set width to zero */
- noad_option_phantom = 0x000008000, /* wipe */
- noad_option_openup_height = 0x000010000,
- noad_option_openup_depth = 0x000020000,
- noad_option_limits = 0x000040000, /* traditional modifier */
- noad_option_no_limits = 0x000080000, /* idem */
- noad_option_prefer_font_thickness = 0x000100000,
- noad_option_no_ruling = 0x000200000,
- noad_option_shifted_sub_script = 0x000400000,
- noad_option_shifted_super_script = 0x000800000,
- noad_option_shifted_sub_pre_script = 0x001000000,
- noad_option_shifted_super_pre_script = 0x002000000,
- noad_option_unpack_list = 0x004000000,
- noad_option_no_check = 0x008000000, /* don't check for missing end fence */
- noad_option_auto = 0x010000000,
- noad_option_unroll_list = 0x020000000,
- noad_option_followed_by_space = 0x040000000,
- noad_option_proportional = 0x080000000,
+ noad_option_axis = 0x0000000001,
+ noad_option_no_axis = 0x0000000002,
+ noad_option_exact = 0x0000000004,
+ noad_option_left = 0x0000000008, /* align option for overflown under/over */ /* used ? */
+ noad_option_middle = 0x0000000010, /* idem */
+ noad_option_right = 0x0000000020, /* idem */
+ noad_option_adapt_to_left_size = 0x0000000040, /* old trickery, might go away but kind of fun */
+ noad_option_adapt_to_right_size = 0x0000000080, /* idem */
+ noad_option_no_sub_script = 0x0000000100,
+ noad_option_no_super_script = 0x0000000200,
+ noad_option_no_sub_pre_script = 0x0000000400,
+ noad_option_no_super_pre_script = 0x0000000800,
+ noad_option_no_script = 0x0000001000,
+ noad_option_no_overflow = 0x0000002000, /* keep (middle) extensible widthin target size */
+ noad_option_void = 0x0000004000, /* wipe and set width to zero */
+ noad_option_phantom = 0x0000008000, /* wipe */
+ noad_option_openup_height = 0x0000010000,
+ noad_option_openup_depth = 0x0000020000,
+ noad_option_limits = 0x0000040000, /* traditional modifier */
+ noad_option_no_limits = 0x0000080000, /* idem */
+ noad_option_prefer_font_thickness = 0x0000100000,
+ noad_option_no_ruling = 0x0000200000,
+ noad_option_shifted_sub_script = 0x0000400000,
+ noad_option_shifted_super_script = 0x0000800000,
+ noad_option_shifted_sub_pre_script = 0x0001000000,
+ noad_option_shifted_super_pre_script = 0x0002000000,
+ noad_option_unpack_list = 0x0004000000,
+ noad_option_no_check = 0x0008000000, /* don't check for missing end fence */
+ noad_option_auto = 0x0010000000,
+ noad_option_unroll_list = 0x0020000000,
+ noad_option_followed_by_space = 0x0040000000,
+ noad_option_proportional = 0x0080000000,
/*tex Watch out: the following options exceed halfword: |noad_options| are |long long|. */
} noad_options;
/*tex The Microsoft compiler truncates to int, so: */
-# define noad_option_source_on_nucleus 0x100000000
-# define noad_option_fixed_super_or_sub_script 0x200000000
-# define noad_option_fixed_super_and_sub_script 0x400000000
+# define noad_option_source_on_nucleus 0x0100000000
+# define noad_option_fixed_super_or_sub_script 0x0200000000
+# define noad_option_fixed_super_and_sub_script 0x0400000000
+# define noad_option_auto_base 0x0800000000
# define has_option(a,b) (((a) & (b)) == (b))
# define unset_option(a,b) ((a) & ~(b))
@@ -1809,37 +1810,38 @@ inline static int has_noad_no_script_option(halfword n, halfword option)
# define has_noad_option_nosubprescript(a) has_noad_no_script_option(a, noad_option_no_sub_pre_script)
# define has_noad_option_nosupprescript(a) has_noad_no_script_option(a, noad_option_no_super_pre_script)
-# define has_noad_option_shiftedsubscript(a) (has_option(noad_options(a), noad_option_shifted_sub_script))
-# define has_noad_option_shiftedsupscript(a) (has_option(noad_options(a), noad_option_shifted_super_script))
-# define has_noad_option_shiftedsubprescript(a) (has_option(noad_options(a), noad_option_shifted_sub_pre_script))
-# define has_noad_option_shiftedsupprescript(a) (has_option(noad_options(a), noad_option_shifted_super_pre_script))
-# define has_noad_option_axis(a) (has_option(noad_options(a), noad_option_axis))
-# define has_noad_option_exact(a) (has_option(noad_options(a), noad_option_exact))
-# define has_noad_option_noaxis(a) (has_option(noad_options(a), noad_option_no_axis))
-# define has_noad_option_openupheight(a) (has_option(noad_options(a), noad_option_openup_height))
-# define has_noad_option_openupdepth(a) (has_option(noad_options(a), noad_option_openup_depth))
-# define has_noad_option_adapttoleft(a) (has_option(noad_options(a), noad_option_adapt_to_left_size))
-# define has_noad_option_adapttoright(a) (has_option(noad_options(a), noad_option_adapt_to_right_size))
-# define has_noad_option_limits(a) (has_option(noad_options(a), noad_option_limits))
-# define has_noad_option_nolimits(a) (has_option(noad_options(a), noad_option_no_limits))
-# define has_noad_option_nooverflow(a) (has_option(noad_options(a), noad_option_no_overflow))
-# define has_noad_option_preferfontthickness(a) (has_option(noad_options(a), noad_option_prefer_font_thickness))
-# define has_noad_option_noruling(a) (has_option(noad_options(a), noad_option_no_ruling))
-# define has_noad_option_unpacklist(a) (has_option(noad_options(a), noad_option_unpack_list))
-# define has_noad_option_nocheck(a) (has_option(noad_options(a), noad_option_no_check))
-# define has_noad_option_exact(a) (has_option(noad_options(a), noad_option_exact))
-# define has_noad_option_left(a) (has_option(noad_options(a), noad_option_left))
-# define has_noad_option_middle(a) (has_option(noad_options(a), noad_option_middle))
-# define has_noad_option_right(a) (has_option(noad_options(a), noad_option_right))
-# define has_noad_option_auto(a) (has_option(noad_options(a), noad_option_auto))
-# define has_noad_option_phantom(a) (has_option(noad_options(a), noad_option_phantom))
-# define has_noad_option_void(a) (has_option(noad_options(a), noad_option_void))
-# define has_noad_option_unrolllist(a) (has_option(noad_options(a), noad_option_unroll_list))
-# define has_noad_option_followedbyspace(a) (has_option(noad_options(a), noad_option_followed_by_space))
-# define has_noad_option_proportional(a) (has_option(noad_options(a), noad_option_proportional))
-# define has_noad_option_source_on_nucleus(a) (has_option(noad_options(a), noad_option_source_on_nucleus))
+# define has_noad_option_shiftedsubscript(a) (has_option(noad_options(a), noad_option_shifted_sub_script))
+# define has_noad_option_shiftedsupscript(a) (has_option(noad_options(a), noad_option_shifted_super_script))
+# define has_noad_option_shiftedsubprescript(a) (has_option(noad_options(a), noad_option_shifted_sub_pre_script))
+# define has_noad_option_shiftedsupprescript(a) (has_option(noad_options(a), noad_option_shifted_super_pre_script))
+# define has_noad_option_axis(a) (has_option(noad_options(a), noad_option_axis))
+# define has_noad_option_exact(a) (has_option(noad_options(a), noad_option_exact))
+# define has_noad_option_noaxis(a) (has_option(noad_options(a), noad_option_no_axis))
+# define has_noad_option_openupheight(a) (has_option(noad_options(a), noad_option_openup_height))
+# define has_noad_option_openupdepth(a) (has_option(noad_options(a), noad_option_openup_depth))
+# define has_noad_option_adapttoleft(a) (has_option(noad_options(a), noad_option_adapt_to_left_size))
+# define has_noad_option_adapttoright(a) (has_option(noad_options(a), noad_option_adapt_to_right_size))
+# define has_noad_option_limits(a) (has_option(noad_options(a), noad_option_limits))
+# define has_noad_option_nolimits(a) (has_option(noad_options(a), noad_option_no_limits))
+# define has_noad_option_nooverflow(a) (has_option(noad_options(a), noad_option_no_overflow))
+# define has_noad_option_preferfontthickness(a) (has_option(noad_options(a), noad_option_prefer_font_thickness))
+# define has_noad_option_noruling(a) (has_option(noad_options(a), noad_option_no_ruling))
+# define has_noad_option_unpacklist(a) (has_option(noad_options(a), noad_option_unpack_list))
+# define has_noad_option_nocheck(a) (has_option(noad_options(a), noad_option_no_check))
+# define has_noad_option_exact(a) (has_option(noad_options(a), noad_option_exact))
+# define has_noad_option_left(a) (has_option(noad_options(a), noad_option_left))
+# define has_noad_option_middle(a) (has_option(noad_options(a), noad_option_middle))
+# define has_noad_option_right(a) (has_option(noad_options(a), noad_option_right))
+# define has_noad_option_auto(a) (has_option(noad_options(a), noad_option_auto))
+# define has_noad_option_phantom(a) (has_option(noad_options(a), noad_option_phantom))
+# define has_noad_option_void(a) (has_option(noad_options(a), noad_option_void))
+# define has_noad_option_unrolllist(a) (has_option(noad_options(a), noad_option_unroll_list))
+# define has_noad_option_followedbyspace(a) (has_option(noad_options(a), noad_option_followed_by_space))
+# define has_noad_option_proportional(a) (has_option(noad_options(a), noad_option_proportional))
+# define has_noad_option_source_on_nucleus(a) (has_option(noad_options(a), noad_option_source_on_nucleus))
# define has_noad_option_fixed_super_or_sub_script(a) (has_option(noad_options(a), noad_option_fixed_super_or_sub_script))
# define has_noad_option_fixed_super_and_sub_script(a) (has_option(noad_options(a), noad_option_fixed_super_and_sub_script))
+# define has_noad_option_auto_base(a) (has_option(noad_options(a), noad_option_auto_base))
/*tex
In the meantime the codes and subtypes are in sync. The variable component does not really
@@ -1928,7 +1930,8 @@ typedef enum math_modifier_types {
# define accent_top_overshoot noad_extra_5
# define accent_bot_overshoot noad_extra_6
-typedef enum math_accent_subtypes {
+typedef enum math_accent_subtypes {
+ /* we can be more specific: todo fixedoverlay_accent_subtype */
bothflexible_accent_subtype,
fixedtop_accent_subtype,
fixedbottom_accent_subtype,