summaryrefslogtreecommitdiff
path: root/source/luametatex/source/lua
diff options
context:
space:
mode:
Diffstat (limited to 'source/luametatex/source/lua')
-rw-r--r--source/luametatex/source/lua/lmtinterface.h9
-rw-r--r--source/luametatex/source/lua/lmttexlib.c15
2 files changed, 23 insertions, 1 deletions
diff --git a/source/luametatex/source/lua/lmtinterface.h b/source/luametatex/source/lua/lmtinterface.h
index d98b55294..2636ea2d7 100644
--- a/source/luametatex/source/lua/lmtinterface.h
+++ b/source/luametatex/source/lua/lmtinterface.h
@@ -405,7 +405,13 @@ extern lmt_interface_info lmt_interface;
# define lmt_name_of_math_indirect(n) lmt_interface.math_indirect_values [n].name
# define lmt_name_of_field_type(n) lmt_interface.field_type_values [n].name
-/*tex This list will be made smaller because not all values need the boost. */
+/*tex
+ This list will be made smaller because not all values need the boost. Before we define the
+ lot we undefine some possibly conflicting snippets. Actually, we don't really define the
+ key's here but assemble more complex references to registry indices and variables.
+*/
+
+# undef quad /* CYGWIN */
# define declare_shared_lua_keys(L) \
/* */\
@@ -872,6 +878,7 @@ make_lua_key(L, mathcontrol);\
make_lua_key(L, mathdir);\
make_lua_key(L, mathfence);\
make_lua_key(L, mathfraction);\
+make_lua_key(L, mathkern);\
make_lua_key(L, mathkerns);\
make_lua_key(L, MathLeading);\
make_lua_key(L, mathoperator);\
diff --git a/source/luametatex/source/lua/lmttexlib.c b/source/luametatex/source/lua/lmttexlib.c
index 0ce5bfd08..e87a88292 100644
--- a/source/luametatex/source/lua/lmttexlib.c
+++ b/source/luametatex/source/lua/lmttexlib.c
@@ -1037,6 +1037,16 @@ static const char *texlib_aux_scan_dimen_part(lua_State * L, const char *ss, int
numerator = 49838;
denominator = 7739;
goto CONVERSION;
+ } else if (strncmp(str, "es", 2) == 0) {
+ str += 2;
+ numerator = 9176;
+ denominator = 129;
+ goto CONVERSION;
+ } else if (strncmp(str, "ts", 2) == 0) {
+ str += 2;
+ numerator = 4588;
+ denominator = 645;
+ goto CONVERSION;
} else if (strncmp(str, "em", 2) == 0) {
str += 2;
special = tex_get_font_em_width(cur_font_par);
@@ -1045,6 +1055,11 @@ static const char *texlib_aux_scan_dimen_part(lua_State * L, const char *ss, int
str += 2;
special = tex_get_font_ex_height(cur_font_par);
goto SPECIAL;
+ } else if (strncmp(str, "eu", 2) == 0) {
+ str += 2;
+ numerator = 9176 * eu_factor_par;
+ denominator = 129 * 10;
+ goto CONVERSION;
} else if (strncmp(str, "px", 2) == 0) {
str += 2;
special = px_dimen_par;