summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/lua/lpdflib.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/lua/lpdflib.c')
-rw-r--r--Build/source/texk/web2c/luatexdir/lua/lpdflib.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/Build/source/texk/web2c/luatexdir/lua/lpdflib.c b/Build/source/texk/web2c/luatexdir/lua/lpdflib.c
index 88f9eac7c24..096600de34f 100644
--- a/Build/source/texk/web2c/luatexdir/lua/lpdflib.c
+++ b/Build/source/texk/web2c/luatexdir/lua/lpdflib.c
@@ -43,9 +43,13 @@ static int luapdfprint(lua_State * L)
literal_mode = direct_always;
else if (lua_key_eq(modestr_s,page))
literal_mode = direct_page;
+ else if (lua_key_eq(modestr_s,text))
+ literal_mode = direct_text;
else if (lua_key_eq(modestr_s,raw))
literal_mode = direct_raw;
- else {
+ else if (lua_key_eq(modestr_s,origin))
+ literal_mode = set_origin;
+ else {
luaL_error(L, "invalid first argument for print literal mode");
}
}
@@ -63,6 +67,10 @@ static int luapdfprint(lua_State * L)
pdf_goto_pagemode(static_pdf);
(void) calc_pdfpos(static_pdf->pstruct, static_pdf->posstruct->pos);
break;
+ case (direct_text):
+ pdf_goto_textmode(static_pdf);
+ (void) calc_pdfpos(static_pdf->pstruct, static_pdf->posstruct->pos);
+ break;
case (direct_always):
pdf_end_string_nl(static_pdf);
break;
@@ -1126,6 +1134,8 @@ static int newpdfcolorstack(lua_State * L)
literal_mode = set_origin;
} else if (lua_key_eq(l,page)) {
literal_mode = direct_page;
+ } else if (lua_key_eq(l,text)) {
+ literal_mode = direct_text;
} else if (lua_key_eq(l,direct)) {
literal_mode = direct_always;
} else if (lua_key_eq(l,raw)) {
@@ -1255,7 +1265,7 @@ int luaopen_pdf(lua_State * L)
lua_newtable(L);
lua_settable(L,LUA_REGISTRYINDEX);
/* */
- luaL_register(L, "pdf", pdflib);
+ luaL_openlib(L, "pdf", pdflib, 0);
/*
luaL_newmetatable(L, "pdf.meta");
lua_pushstring(L, "__index");