diff options
Diffstat (limited to 'source/luametatex/source/lua')
-rw-r--r-- | source/luametatex/source/lua/lmtnodelib.c | 18 | ||||
-rw-r--r-- | source/luametatex/source/lua/lmttexlib.c | 21 |
2 files changed, 39 insertions, 0 deletions
diff --git a/source/luametatex/source/lua/lmtnodelib.c b/source/luametatex/source/lua/lmtnodelib.c index 58c3bb0a7..66cf528fc 100644 --- a/source/luametatex/source/lua/lmtnodelib.c +++ b/source/luametatex/source/lua/lmtnodelib.c @@ -2647,6 +2647,15 @@ static int nodelib_direct_getoptions(lua_State *L) case disc_node: lua_pushinteger(L, disc_options(n)); return 1; + case glue_node: + lua_pushinteger(L, glue_options(n)); + return 1; + case math_node: + lua_pushinteger(L, math_options(n)); + return 1; + case penalty_node: + lua_pushinteger(L, penalty_options(n)); + return 1; case simple_noad: case radical_noad: case fraction_noad: @@ -2674,6 +2683,15 @@ static int nodelib_direct_setoptions(lua_State *L) case disc_node: set_disc_options(n, lmt_tohalfword(L, 2)); break; + case glue_node: + tex_add_glue_option(n, lmt_tohalfword(L, 2)); + return 1; + case math_node: + tex_add_math_option(n, lmt_tohalfword(L, 2)); + return 1; + case penalty_node: + tex_add_penalty_option(n, lmt_tohalfword(L, 2)); + return 1; case simple_noad: case radical_noad: case fraction_noad: diff --git a/source/luametatex/source/lua/lmttexlib.c b/source/luametatex/source/lua/lmttexlib.c index 1bfd2c38c..4f2ecbb5c 100644 --- a/source/luametatex/source/lua/lmttexlib.c +++ b/source/luametatex/source/lua/lmttexlib.c @@ -5015,6 +5015,24 @@ static int texlib_getglyphoptionvalues(lua_State *L) return 1; } +static int texlib_getglueoptionvalues(lua_State *L) +{ + lua_createtable(L, 3, 0); + lua_set_string_by_index(L, glue_option_normal, "normal"); + lua_set_string_by_index(L, glue_option_no_auto_break, "noautobreak"); + lua_set_string_by_index(L, glue_option_short_math, "shortmath"); + return 1; +} + +static int texlib_getpenaltyoptionvalues(lua_State *L) +{ + lua_createtable(L, 3, 0); + lua_set_string_by_index(L, penalty_option_normal, "normal"); + lua_set_string_by_index(L, penalty_option_math_forward, "mathforward");; + lua_set_string_by_index(L, penalty_option_math_backward, "mathbackward"); + return 1; +} + static int texlib_getnoadoptionvalues(lua_State *L) { lua_createtable(L, 2, 37); @@ -5780,6 +5798,9 @@ static const struct luaL_Reg texlib_function_list[] = { { "setrunstate", texlib_setrunstate }, { "gethyphenationvalues", texlib_gethyphenationvalues }, { "getglyphoptionvalues", texlib_getglyphoptionvalues }, + { "getglueoptionvalues", texlib_getglueoptionvalues }, + { "getmathoptionvalues", texlib_getglueoptionvalues }, + { "getpenaltyoptionvalues", texlib_getpenaltyoptionvalues }, { "getnoadoptionvalues", texlib_getnoadoptionvalues }, { "getdiscoptionvalues", texlib_getdiscoptionvalues }, { "getlistanchorvalues", texlib_getlistanchorvalues }, |