summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/luatexdir/pdf
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-09-23 12:35:11 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2016-09-23 12:35:11 +0000
commit8b5b4f556944eac343069de79302d0ecc386442c (patch)
treee96592b152ec51fca993c7dd5e7fbc1871bde75f /Build/source/texk/web2c/luatexdir/pdf
parenta109e77c63fb849f1bb5f45bca427f4f712c4b15 (diff)
luatexdir: sync with the upstream
git-svn-id: svn://tug.org/texlive/trunk@42133 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/luatexdir/pdf')
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfgen.h12
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfliteral.w9
-rw-r--r--Build/source/texk/web2c/luatexdir/pdf/pdfrule.w16
3 files changed, 27 insertions, 10 deletions
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h b/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h
index 551f686e6fe..f2086663c70 100644
--- a/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h
+++ b/Build/source/texk/web2c/luatexdir/pdf/pdfgen.h
@@ -27,8 +27,8 @@
# define PROCSET_IMAGE_C (1 << 3)
# define PROCSET_IMAGE_I (1 << 4)
-# define inf_pdf_mem_size 10000 /* min size of the |mem| array */
-# define sup_pdf_mem_size 10000000 /* max size of the |mem| array */
+# define inf_pdf_mem_size 10000 /* min size of the |mem| array */
+# define sup_pdf_mem_size 100000000 /* max size of the |mem| array */
extern PDF static_pdf;
@@ -43,10 +43,10 @@ be the first written bytes.
*/
-# define inf_pdfout_buf_size 16384 /* initial value of |pdf->buf| size */
-# define sup_pdfout_buf_size 16384 /* arbitrary upper hard limit of |pdf->buf| size */
-# define inf_objstm_buf_size 1 /* initial value of |os->buf[OBJSTM_BUF]| size */
-# define sup_objstm_buf_size 5000000 /* arbitrary upper hard limit of |os->buf[OBJSTM_BUF]| size */
+# define inf_pdfout_buf_size 16384 /* initial value of |pdf->buf| size */
+# define sup_pdfout_buf_size 8*16384 /* arbitrary upper hard limit of |pdf->buf| size */
+# define inf_objstm_buf_size 1 /* initial value of |os->buf[OBJSTM_BUF]| size */
+# define sup_objstm_buf_size 5000000 /* arbitrary upper hard limit of |os->buf[OBJSTM_BUF]| size */
# define PDF_OS_MAX_OBJS 100 /* maximum number of objects in object stream */
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfliteral.w b/Build/source/texk/web2c/luatexdir/pdf/pdfliteral.w
index 3c6b6f6efbf..64a36dc67bf 100644
--- a/Build/source/texk/web2c/luatexdir/pdf/pdfliteral.w
+++ b/Build/source/texk/web2c/luatexdir/pdf/pdfliteral.w
@@ -66,6 +66,9 @@ void pdf_out_literal(PDF pdf, halfword p)
pdf_end_string_nl(pdf);
ps->need_tm = true;
break;
+ case direct_raw:
+ pdf_end_string_nl(pdf);
+ break;
default:
normal_error("pdf backend","bad literal mode");
break;
@@ -114,6 +117,9 @@ void pdf_literal(PDF pdf, str_number s, int literal_mode, boolean warn)
} else if (str_in_cstr(s, "page:", strlen("PDF:"))) {
j = j + (pool_pointer) strlen("page:");
literal_mode = direct_page;
+ } else if (str_in_cstr(s, "raw:", strlen("PDF:"))) {
+ j = j + (pool_pointer) strlen("raw:");
+ literal_mode = direct_raw;
} else {
literal_mode = set_origin;
}
@@ -131,6 +137,9 @@ void pdf_literal(PDF pdf, str_number s, int literal_mode, boolean warn)
pdf_end_string_nl(pdf);
p->need_tm = true;
break;
+ case direct_raw:
+ pdf_end_string_nl(pdf);
+ break;
default:
normal_error("pdf backend","bad literal mode");
break;
diff --git a/Build/source/texk/web2c/luatexdir/pdf/pdfrule.w b/Build/source/texk/web2c/luatexdir/pdf/pdfrule.w
index 2f75b4c761e..df4979088c8 100644
--- a/Build/source/texk/web2c/luatexdir/pdf/pdfrule.w
+++ b/Build/source/texk/web2c/luatexdir/pdf/pdfrule.w
@@ -30,14 +30,22 @@ void pdf_place_rule(PDF pdf, halfword q, scaledpos size, int callback_id)
pdfpos dim;
pdfstructure *p = pdf->pstruct;
scaledpos pos = pdf->posstruct->pos;
+ halfword s = subtype(q);
/* (void) q; */
- if (subtype(q) == box_rule) {
+ if (s >= math_over_rule && s <= math_radical_rule) {
+ if (callback_id == 0) {
+ s = normal_rule;
+ } else {
+ s = user_rule;
+ }
+ }
+ if (s == box_rule) {
pdf_place_form(pdf,q);
- } else if (subtype(q) == image_rule) {
+ } else if (s == image_rule) {
pdf_place_image(pdf,q);
- } else if (subtype(q) == empty_rule) {
+ } else if (s == empty_rule) {
/* place nothing, only take space */
- } else if (subtype(q) == user_rule) {
+ } else if (s == user_rule) {
if (callback_id != 0) {
pdf_goto_pagemode(pdf);
pdf_puts(pdf, "q\n");