From 24deaaa61ff97455011a65667fd4fe7157c81b40 Mon Sep 17 00:00:00 2001 From: Peter Breitenlohner Date: Wed, 3 Mar 2010 12:43:04 +0000 Subject: runtime settable Metafont screen size git-svn-id: svn://tug.org/texlive/trunk@17302 c570f23f-e606-0410-a88d-b1316a301751 --- Build/source/texk/kpathsea/ChangeLog | 5 +++++ Build/source/texk/kpathsea/texmf.cnf | 4 ++++ Build/source/texk/web2c/ChangeLog | 7 +++++++ Build/source/texk/web2c/mf.ch | 21 +++++++++++++++++++-- Build/source/texk/web2c/triptrap/texmf.cnf | 7 ++----- 5 files changed, 37 insertions(+), 7 deletions(-) diff --git a/Build/source/texk/kpathsea/ChangeLog b/Build/source/texk/kpathsea/ChangeLog index 9a857af60ee..5534b6a2826 100644 --- a/Build/source/texk/kpathsea/ChangeLog +++ b/Build/source/texk/kpathsea/ChangeLog @@ -1,3 +1,8 @@ +2010-03-03 Peter Breitenlohner + + * texmf.cnf (screen_width, screen_depth): Increase Metafont + screen size (used to be fixed values in mf.ch). + 2010-03-01 Karl Berry * texmf.cnf (TW_LIBPATH, TW_INIPATH): TeXworks config/settings. diff --git a/Build/source/texk/kpathsea/texmf.cnf b/Build/source/texk/kpathsea/texmf.cnf index 20e730c5201..d5d057b3423 100644 --- a/Build/source/texk/kpathsea/texmf.cnf +++ b/Build/source/texk/kpathsea/texmf.cnf @@ -686,3 +686,7 @@ gf_buf_size = 16384 % MF error_line = 79 half_error_line = 50 max_print_line = 79 + +% Metafont only. +screen_width = 1664 +screen_depth = 1200 diff --git a/Build/source/texk/web2c/ChangeLog b/Build/source/texk/web2c/ChangeLog index 84a26b1d363..35c0bfccaf6 100644 --- a/Build/source/texk/web2c/ChangeLog +++ b/Build/source/texk/web2c/ChangeLog @@ -1,3 +1,10 @@ +2010-03-03 Peter Breitenlohner + + * mf.ch: Make screen size settable at runtime; move the previous + increased values (768x1024 => 1664x1200) into texmf.cnf. + * triptrap/texmf.cnf: Use screen size 100x200 for trap test as + recommended in trapman.tex. + 2010-03-02 Peter Breitenlohner * am/web.am: New bibtex test data. diff --git a/Build/source/texk/web2c/mf.ch b/Build/source/texk/web2c/mf.ch index abce9532c7d..3e1a52b696f 100644 --- a/Build/source/texk/web2c/mf.ch +++ b/Build/source/texk/web2c/mf.ch @@ -100,11 +100,11 @@ @y @d file_name_size == maxint @d ssup_error_line = 255 +@d ssup_screen_width = 32767 +@d ssup_screen_depth = 32767 @= @!max_internal=300; {maximum number of internal quantities} -@!screen_width=1664; {number of pixels in each row of screen display} -@!screen_depth=1200; {number of pixels in each column of screen display} @!stack_size=300; {maximum number of simultaneous input sources} @!max_strings=7500; {maximum number of strings; must not exceed |max_halfword|} @!string_vacancies=74000; {the minimum number of characters that should be @@ -188,6 +188,8 @@ tini@/ error messages; should be between 30 and |error_line-15|} @!max_print_line:integer; {width of longest text lines output; should be at least 60} +@!screen_width:integer; {number of pixels in each row of screen display} +@!screen_depth:integer; {number of pixels in each column of screen display} @!gf_buf_size:integer; {size of the output buffer, must be a multiple of 8} @!parse_first_line_p:c_int_type; {parse the first line for options} @!file_line_error_style_p:c_int_type; {output file:line:error style errors.} @@ -1312,6 +1314,16 @@ end; {These functions/procedures are defined externally in C.} @z +@x [27.565] screen_row, screen_col are variables, so can't be subrange array bounds. +@!screen_row=0..screen_depth; {a row number on the screen} +@!screen_col=0..screen_width; {a column number on the screen} +@!trans_spec=array[screen_col] of screen_col; {a transition spec, see below} +@y +@!screen_row=0..ssup_screen_depth; {a row number on the screen} +@!screen_col=0..ssup_screen_width; {a column number on the screen} +@!trans_spec=^screen_col; {a transition spec, see below} +@z + @x [27.567] @p procedure blank_rectangle(@!left_col,@!right_col:screen_col; @!top_row,@!bot_row:screen_row); @@ -2118,8 +2130,12 @@ print(" (base="); print(job_name); print_char(" "); setup_bound_var (79)('error_line')(error_line); setup_bound_var (50)('half_error_line')(half_error_line); setup_bound_var (79)('max_print_line')(max_print_line); + setup_bound_var (768)('screen_width')(screen_width); + setup_bound_var (1024)('screen_depth')(screen_depth); setup_bound_var (16384)('gf_buf_size')(gf_buf_size); if error_line > ssup_error_line then error_line := ssup_error_line; + if screen_width > ssup_screen_width then screen_width := ssup_screen_width; + if screen_depth > ssup_screen_depth then screen_depth := ssup_screen_depth; const_chk (main_memory); {|mem_top| is an index, |main_memory| is a size} @@ -2128,6 +2144,7 @@ print(" (base="); print(job_name); print_char(" "); const_chk (buf_size); buffer:=xmalloc_array (ASCII_code, buf_size); + row_transition:=xmalloc_array (screen_col, screen_width); gf_buf:=xmalloc_array (eight_bits, gf_buf_size); source_filename_stack:=xmalloc_array (str_number, max_in_open); full_source_filename_stack:=xmalloc_array (str_number, max_in_open); diff --git a/Build/source/texk/web2c/triptrap/texmf.cnf b/Build/source/texk/web2c/triptrap/texmf.cnf index 5682426c764..348bda03c47 100644 --- a/Build/source/texk/web2c/triptrap/texmf.cnf +++ b/Build/source/texk/web2c/triptrap/texmf.cnf @@ -48,11 +48,8 @@ dvi_buf_size = 800 % Metafont only. gf_buf_size = 8 % trapman.tex says to use this. MFTERM = trap % get the right screen output -% trapman.tex says these values will help reduce the diffs, but it -% actually only gives us one extra hunk (a BLANKRECTANGLE), so they -% don't seem worth dynamicizing. -%screen_width = 100 -%screen_depth = 200 +screen_width = 100 +screen_depth = 200 % MetaPost only. Turn off callmakempx, i.e., makempx, % since we can only test tex and dvitomp, and we'll test those in other -- cgit v1.2.3