summaryrefslogtreecommitdiff
path: root/Build
diff options
context:
space:
mode:
authorMartin Schröder <martin@oneiros.de>2008-05-13 20:14:34 +0000
committerMartin Schröder <martin@oneiros.de>2008-05-13 20:14:34 +0000
commit00f7c0e494a99e890d20c7723c15feeddd85c73e (patch)
treee3ab623f9495dc83f9e6c4e75a117112988f6851 /Build
parent0bb14294123cfedb8ff0a7515d4cc4a2ba70e2a9 (diff)
pdftex: compile in the pool file
git-svn-id: svn://tug.org/texlive/trunk@8115 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build')
-rw-r--r--Build/source/texk/web2c/pdftexdir/NEWS1
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.ch73
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.mk5
-rw-r--r--Build/source/texk/web2c/pdftexdir/pdftex.web2
4 files changed, 79 insertions, 2 deletions
diff --git a/Build/source/texk/web2c/pdftexdir/NEWS b/Build/source/texk/web2c/pdftexdir/NEWS
index 424dd18e752..edf84569fe6 100644
--- a/Build/source/texk/web2c/pdftexdir/NEWS
+++ b/Build/source/texk/web2c/pdftexdir/NEWS
@@ -2,6 +2,7 @@
pdfTeX 3.1415926-1.40.8 was released on 2008-05-??
--------------------------------------------------
- Incorporated the new version of TeX: 3.1415926
+- The pool file is now compiled in
- Bugfix:
- Fonts from included PDFs for which maplines existed missed their /StemV
values
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.ch b/Build/source/texk/web2c/pdftexdir/pdftex.ch
index c5089fc0e68..22ef15ee939 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.ch
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.ch
@@ -63,6 +63,79 @@
@z
@x
+@ @d bad_pool(#)==begin wake_up_terminal; write_ln(term_out,#);
+ a_close(pool_file); get_strings_started:=false; return;
+ end
+@<Read the other strings...@>=
+name_length := strlen (pool_name);
+name_of_file := xmalloc_array (ASCII_code, name_length + 1);
+strcpy (stringcast(name_of_file+1), pool_name); {copy the string}
+if a_open_in (pool_file, kpse_texpool_format) then
+ begin c:=false;
+ repeat @<Read one string, but return |false| if the
+ string memory space is getting too tight for comfort@>;
+ until c;
+ a_close(pool_file); get_strings_started:=true;
+ end
+else bad_pool('! I can''t read ', pool_name, '; bad path?')
+@.I can't read TEX.POOL@>
+
+@ @<Read one string...@>=
+begin if eof(pool_file) then bad_pool('! ', pool_name, ' has no check sum.');
+@.TEX.POOL has no check sum@>
+read(pool_file,m); read(pool_file,n); {read two digits of string length}
+if m='*' then @<Check the pool check sum@>
+else begin if (xord[m]<"0")or(xord[m]>"9")or@|
+ (xord[n]<"0")or(xord[n]>"9") then
+ bad_pool('! ', pool_name, ' line doesn''t begin with two digits.');
+@.TEX.POOL line doesn't...@>
+ l:=xord[m]*10+xord[n]-"0"*11; {compute the length}
+ if pool_ptr+l+string_vacancies>pool_size then
+ bad_pool('! You have to increase POOLSIZE.');
+@.You have to increase POOLSIZE@>
+ for k:=1 to l do
+ begin if eoln(pool_file) then m:=' '@+else read(pool_file,m);
+ append_char(xord[m]);
+ end;
+ read_ln(pool_file); g:=make_string;
+ end;
+end
+
+@ The \.{WEB} operation \.{@@\$} denotes the value that should be at the
+end of this \.{TEX.POOL} file; any other value means that the wrong pool
+file has been loaded.
+@^check sum@>
+
+@<Check the pool check sum@>=
+begin a:=0; k:=1;
+loop@+ begin if (xord[n]<"0")or(xord[n]>"9") then
+ bad_pool('! ', pool_name, ' check sum doesn''t have nine digits.');
+@.TEX.POOL check sum...@>
+ a:=10*a+xord[n]-"0";
+ if k=9 then goto done;
+ incr(k); read(pool_file,n);
+ end;
+done: if a<>@$ then
+ bad_pool('! ', pool_name, ' doesn''t match; tangle me again (or fix the path).');
+@.TEX.POOL doesn't match@>
+c:=true;
+end
+@y
+@ @<Read the other strings...@>=
+ g := loadpoolstrings((pool_size-string_vacancies));
+ if g=0 then begin
+ wake_up_terminal; write_ln(term_out,'! You have to increase POOLSIZE.');
+ get_strings_started:=false;
+ return;
+ end;
+ get_strings_started:=true;
+
+@ Empty module
+
+@ Empty module
+@z
+
+@x
@d frozen_null_font=frozen_control_sequence+11
{permanent `\.{\\nullfont}'}
@y
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.mk b/Build/source/texk/web2c/pdftexdir/pdftex.mk
index c649f7cfeef..8130c237a26 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.mk
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.mk
@@ -25,7 +25,8 @@ $(pdftexdir)/pdftex.version: $(srcdir)/$(pdftexdir)/pdftex.web
# The C sources.
pdftex_c = pdftexini.c pdftex0.c pdftex1.c pdftex2.c pdftex3.c
-pdftex_o = pdftexini.o pdftex0.o pdftex1.o pdftex2.o pdftex3.o pdftexextra.o
+pdftex_o = pdftexini.o pdftex0.o pdftex1.o pdftex2.o pdftex3.o pdftexextra.o \
+pdftex-pool.o
# Making pdftex
pdftex: pdftexd.h $(pdftex_o) $(pdftexextra_o) $(pdftexlibsdep)
@@ -42,6 +43,8 @@ $(pdftexdir)/pdftexextra.h: $(pdftexdir)/pdftexextra.in $(pdftexdir)/pdftex.vers
sed -e s/PDFTEX-VERSION/`cat $(pdftexdir)/pdftex.version`/ \
-e s/ETEX-VERSION/`cat etexdir/etex.version`/ \
$(srcdir)/$(pdftexdir)/pdftexextra.in >$@
+pdftex-pool.c: pdftex.pool $(makecpool)
+ $(makecpool) pdftex.pool pdftexdir/ptexlib.h >$@ || rm -f $@
# Tangling
pdftex.p pdftex.pool: tangle $(srcdir)/$(pdftexdir)/pdftex.web pdftex.ch
diff --git a/Build/source/texk/web2c/pdftexdir/pdftex.web b/Build/source/texk/web2c/pdftexdir/pdftex.web
index 050154437c6..2f1948a7b4e 100644
--- a/Build/source/texk/web2c/pdftexdir/pdftex.web
+++ b/Build/source/texk/web2c/pdftexdir/pdftex.web
@@ -289,7 +289,7 @@ known as `\eTeX'.
@#
@d pdftex_version==140 { \.{\\pdftexversion} }
@d pdftex_revision=="8" { \.{\\pdftexrevision} }
-@d pdftex_version_string=='-1.40.8-beta-20080506' {current \pdfTeX\ version}
+@d pdftex_version_string=='-1.40.8-beta-20080513' {current \pdfTeX\ version}
@#
@d pdfeTeX_banner=='This is pdfeTeX, Version 3.1415926',pdftex_version_string,eTeX_version_string
{printed when \pdfeTeX\ starts}