From 906c279c9dd7243e6037495597b8aa3e7999ee2a Mon Sep 17 00:00:00 2001 From: Martin Schröder Date: Sun, 7 Jan 2007 23:38:50 +0000 Subject: pdftex 1.40.1 git-svn-id: svn://tug.org/texlive/trunk@3219 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/web2c/pdftexdir/NEWS | 9 +++ Build/source/texk/web2c/pdftexdir/README | 4 +- Build/source/texk/web2c/pdftexdir/pdftex.web | 78 ++++++++++++++------------ Build/source/texk/web2c/pdftexdir/pdftexlib.mk | 6 +- Build/source/texk/web2c/pdftexdir/writeimg.c | 5 ++ 5 files changed, 60 insertions(+), 42 deletions(-) diff --git a/Build/source/texk/web2c/pdftexdir/NEWS b/Build/source/texk/web2c/pdftexdir/NEWS index 04a5e091901..c3f919ca9b9 100644 --- a/Build/source/texk/web2c/pdftexdir/NEWS +++ b/Build/source/texk/web2c/pdftexdir/NEWS @@ -1,3 +1,12 @@ +------------------------------------------------- +pdfTeX 3.141592-1.40.1 was released on 2007-01-08 +------------------------------------------------- +- bugfix: the shell escape function was a bit broken +- bugfix: \pdffontattr gave confusing warnings +- allow JBIG2 images only with PDF >= 1.4 +- allow \pdfglyphtounicode in dvi mode for format generation +- pdfTeX uses libpng 1.2.15 + ------------------------------------------------- pdfTeX 3.141592-1.40.0 was released on 2007-01-01 ------------------------------------------------- diff --git a/Build/source/texk/web2c/pdftexdir/README b/Build/source/texk/web2c/pdftexdir/README index 72ca851d292..d71f361e0bd 100644 --- a/Build/source/texk/web2c/pdftexdir/README +++ b/Build/source/texk/web2c/pdftexdir/README @@ -1,10 +1,10 @@ pdfTeX ====== -README for version 3.14159-1.40.0 +README for version 3.14159-1.40.1 ================================= -This directory contains the version 1.40.0 of pdfTeX, an extended version +This directory contains the version 1.40.1 of pdfTeX, an extended version of eTeX that can create PDF directly from TeX source files and enhance the result of TeX typesetting with the help of PDF. When PDF output is not selected, pdfTeX produces normal DVI output, otherwise it produces PDF diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web index cb017ce885f..bb5c71b1b45 100644 --- a/Build/source/texk/web2c/pdftexdir/pdftex.web +++ b/Build/source/texk/web2c/pdftexdir/pdftex.web @@ -286,8 +286,8 @@ known as `\eTeX'. {printed when \eTeX\ starts} @# @d pdftex_version==140 { \.{\\pdftexversion} } -@d pdftex_revision=="0" { \.{\\pdftexrevision} } -@d pdftex_version_string=='-1.40.0' {current \pdfTeX\ version} +@d pdftex_revision=="1" { \.{\\pdftexrevision} } +@d pdftex_version_string=='-1.40.1' {current \pdfTeX\ version} @# @d pdfeTeX_banner=='This is pdfeTeX, Version 3.141592',pdftex_version_string,eTeX_version_string {printed when \pdfeTeX\ starts} @@ -4062,7 +4062,33 @@ font will be printed. @ Boxes, rules, inserts, whatsits, marks, and things in general that are sort of ``complicated'' are indicated only by printing `\.{[]}'. -@p procedure short_display(@!p:integer); {prints highlights of list |p|} +@p +procedure print_font_identifier(f: internal_font_number); +begin + if pdf_font_blink[f] = null_font then + print_esc(font_id_text(f)) + else + print_esc(font_id_text(pdf_font_blink[f])); + if pdf_tracing_fonts > 0 then begin + print(" ("); + print(font_name[f]); + if font_size[f] <> font_dsize[f] then begin + print("@@"); + print_scaled(font_size[f]); + print("pt"); + end; + print(")"); + end else + if pdf_font_expand_ratio[f] <> 0 then begin + print(" ("); + if pdf_font_expand_ratio[f] > 0 then + print("+"); + print_int(pdf_font_expand_ratio[f]); + print(")"); + end; +end; + +procedure short_display(@!p:integer); {prints highlights of list |p|} var n:integer; {for replacement counts} begin while p>mem_min do begin if is_char_node(p) then @@ -4071,7 +4097,7 @@ begin while p>mem_min do begin if (font(p)font_max) then print_char("*") @.*\relax@> - else @; + else print_font_identifier(font(p)); print_char(" "); font_in_short_display:=font(p); end; print_ASCII(qo(character(p))); @@ -4110,7 +4136,7 @@ its reference count, and one to print a rule dimension. begin if p>mem_end then print_esc("CLOBBERED.") else begin if (font(p)font_max) then print_char("*") @.*\relax@> - else @; + else print_font_identifier(font(p)); print_char(" "); print_ASCII(qo(character(p))); end; end; @@ -6771,31 +6797,6 @@ primitive'. (Primitives consisting of a single nonalphabetic character, Meanwhile, this is a convenient place to catch up on something we were unable to do before the hash table was defined: -@= -begin - if pdf_font_blink[font(p)] = null_font then - print_esc(font_id_text(font(p))) - else - print_esc(font_id_text(pdf_font_blink[font(p)])); - if pdf_tracing_fonts > 0 then begin - print(" ("); - print(font_name[font(p)]); - if font_size[font(p)] <> font_dsize[font(p)] then begin - print("@@"); - print_scaled(font_size[font(p)]); - print("pt"); - end; - print(")"); - end else - if pdf_font_expand_ratio[font(p)] <> 0 then begin - print(" ("); - if pdf_font_expand_ratio[font(p)] > 0 then - print("+"); - print_int(pdf_font_expand_ratio[font(p)]); - print(")"); - end; -end - @* \[19] Saving and restoring equivalents. The nested structure provided by `$\.{\char'173}\ldots\.{\char'175}$' groups in \TeX\ means that |eqtb| entries valid in outer groups should be saved @@ -14943,7 +14944,7 @@ while p>mem_min do begin if (font(p)font_max) then print_char("*") @.*\relax@> - else @; + else print_font_identifier(font(p)); print_char(" "); font_in_short_display:=font(p); end; print_ASCII(qo(character(p))); @@ -19340,11 +19341,15 @@ for k := font_base + 1 to font_ptr do if pdf_char_marked(k, j) then pdf_mark_char(i, j); if (length(pdf_font_attr[i]) = 0) and (length(pdf_font_attr[k]) <> 0) then - pdf_font_attr[i] := pdf_font_attr[k]; - if not ((pdf_font_attr[i] = pdf_font_attr[k]) or - str_eq_str(pdf_font_attr[i], pdf_font_attr[k])) then begin - pdf_warning("\pdffontattr", "font ", false, false); - print_esc(font_id_text(k)); + pdf_font_attr[i] := pdf_font_attr[k] + else if (length(pdf_font_attr[k]) = 0) and (length(pdf_font_attr[i]) <> 0) then + pdf_font_attr[k] := pdf_font_attr[i] + else if (length(pdf_font_attr[i]) <> 0) and (length(pdf_font_attr[k]) <> 0) and + not str_eq_str(pdf_font_attr[i], pdf_font_attr[k]) then begin + pdf_warning("\pdffontattr", "fonts ", false, false); + print_font_identifier(i); + print(" and "); + print_font_identifier(k); print(" has conflicting attributes"); print_ln; print_ln; end; end; @@ -34334,7 +34339,6 @@ end @ @= begin - check_pdfoutput("\pdfglyphtounicode", true); glyph_to_unicode; end diff --git a/Build/source/texk/web2c/pdftexdir/pdftexlib.mk b/Build/source/texk/web2c/pdftexdir/pdftexlib.mk index 021e5c1576e..6c0b25956b4 100644 --- a/Build/source/texk/web2c/pdftexdir/pdftexlib.mk +++ b/Build/source/texk/web2c/pdftexdir/pdftexlib.mk @@ -59,15 +59,15 @@ md5lib-clean: rm -f $(LIBMD5DEP) # obsdcompat -LIBOBSDCOMPATDIR=../../libs/obsdcompat +LIBOBSDDIR=../../libs/obsdcompat LIBOBSDSRCDIR=$(srcdir)/$(LIBOBSDCOMPATDIR) LIBOBSDDEP=@LIBOBSDDEP@ LDLIBOBSD=@LDLIBOBSD@ -$(LIBOBSDCOMPATDIR)/libopenbsd-compat.a: $(LIBOBSDSRCDIR)/*.c $(LIBOBSDSRCDIR)/*.h +$(LIBOBSDDIR)/libopenbsd-compat.a: $(LIBOBSDSRCDIR)/*.c $(LIBOBSDSRCDIR)/*.h # common_makeargs = $(MFLAGS) CC='$(CC)' CFLAGS='$(CFLAGS)' LDFLAGS='$(LDFLAGS)' $(XMAKEARGS) # CFLAGS setzt libopenbsd-compat selbst, nicht durchreichen! - cd $(LIBOBSDCOMPATDIR); $(MAKE) $(MFLAGS) $(XMAKEARGS) libopenbsd-compat.a + cd $(LIBOBSDDIR); $(MAKE) $(MFLAGS) $(XMAKEARGS) libopenbsd-compat.a # libpdf itself pdflib = pdftexdir/libpdf.a diff --git a/Build/source/texk/web2c/pdftexdir/writeimg.c b/Build/source/texk/web2c/pdftexdir/writeimg.c index 0de534d28ec..29e0cd00e24 100644 --- a/Build/source/texk/web2c/pdftexdir/writeimg.c +++ b/Build/source/texk/web2c/pdftexdir/writeimg.c @@ -311,6 +311,11 @@ integer readimage(strnumber s, integer page_num, strnumber page_name, read_jpg_info(img); break; case IMAGE_TYPE_JBIG2: + if (pdfversion < 4) { + pdftex_fail + ("JBIG2 images only possible with at least PDF 1.4; you are generating PDF 1.%i", + pdfversion); + } jbig2_ptr(img) = xtalloc(1, JBIG2_IMAGE_INFO); img_type(img) = IMAGE_TYPE_JBIG2; jbig2_ptr(img)->selected_page = page_num; -- cgit v1.2.3