Reduce platform dependence.
[pspp-builds.git] / src / output / ChangeLog
1 Sun Feb 11 17:59:30 2007  Ben Pfaff  <blp@gnu.org>
2
3         * html.c (html_initialise_chart): Mark `this' parameter UNUSED to
4         account for NO_CHARTS case.
5
6 Sat Feb  3 21:56:46 2007  Ben Pfaff  <blp@gnu.org>
7
8         * table.c (tab_hline): Allow t->nr as y argument, so that we can
9         draw a line below the bottom row of the table.
10
11 Wed Feb  7 21:38:12 2007  Ben Pfaff  <blp@gnu.org>
12
13         * afm.c: Add #include <limits.h>.  Thanks to John McCabe-Dansted
14         <gmatht@gmail.com> for pointing out the need.
15
16 Sun Oct  8 07:09:34 WST 2006 John Darrington <john@darrington.wattle.id.au>
17
18         * table.c (tab_destroy): Freed title, since this is not allocated
19         from the pool.
20
21         * html.c (html_open_driver): Freed chart_file_name.
22
23 Wed Jul 12 21:03:37 2006  Ben Pfaff  <blp@gnu.org>
24
25         * table.c (tab_natural_width): Get rid of warning on empty column,
26         which tended to just trigger false positives because we handle
27         joined cells so badly.  We need a real fix, and the warning is not
28         helpful.
29
30         * table.c (tab_offset): [DEBUGGING] Let row, col arguments be as
31         big as row or column count.
32         
33 Wed Jul 12 20:58:19 2006  Ben Pfaff  <blp@gnu.org>
34
35         * output.c (outp_drivers): [DEBUGGING] Delete unused declaration.
36
37 Sat Jul  1 17:20:03 2006  Ben Pfaff  <blp@gnu.org>
38
39         Make the destination for charts configurable in the HTML driver.
40         Fixes bug #15723, "HTML driver creates .png files insecurely".
41
42         * htmlP.h: (struct html_driver_ext) Add chart_file_name, chart_cnt
43         members.
44         
45         * html.c: (html_open_driver) Initialize new members.
46         (option_tab var) Add "chart-files" option.
47         (handle_option) Parse "chart-files" option.
48         (html_initialise_chart) Name file based on "chart-files" option.
49         
50 Sat Jul  1 22:41:26 2006  Ben Pfaff  <blp@gnu.org>
51
52         Fix bug #16644: Output Driver crashes in DISPLAY VARIABLES.
53         
54         * table.c (tab_create): Don't allocate t->hrh, t->wrv yet, because
55         the table size might change before we're ready to use them.
56         (tabi_table) Allocate them here instead.
57
58 Fri Jun  9 14:42:35 2006  Ben Pfaff  <blp@gnu.org>
59
60         Reform string library.
61         
62         * output.c (init_default_drivers): Update call to
63         configure_driver() to new interface.
64         (get_option_token) Use a modifiable substring in interface instead
65         of a separate position parameter.  Use ss_get_*() functions.
66         (configure_driver) Take and work with substrings.
67         (configure_driver_line) Update call to configure_driver() to new
68         interface.
69         (outp_get_paper_size) Use substrings.
70
71         * output.h (struct outp_class): Change open_driver interface to
72         use substring.  Update all implementations.
73
74         * table.c (text_format): Change to return substring.
75         (tab_title) Use xvasprintf().
76
77         * table.h (struct tab_table): Change title member to char *.
78
79 Thu May 25 18:02:53 WST 2006 John Darrington <john@darrington.wattle.id.au>
80
81         * table.c: Removed redundant extern declaration.
82
83 Sun May 14 14:03:56 2006  Ben Pfaff  <blp@gnu.org>
84
85         * output.c (outp_eject_page): Always make sure that a page is open
86         upon return.
87
88 Sun May 14 13:54:58 2006  Ben Pfaff  <blp@gnu.org>
89
90         * postscript.c: (ps_chart_finalise) Fix format of %%EndDocument
91         comment, which screwed up gv's idea of where one page ended and
92         the next one began.  Thanks to John Darrington for pointing out
93         the bug.
94
95 Sun Apr 16 11:48:25 2006  Ben Pfaff  <blp@gnu.org>
96
97         Start reforming error message support.  In this phase, we get rid
98         of "installation errors" and change all uses of msg() in the
99         output drivers to uses of error() or error_at_line().
100
101         * Removed all inclusion of <libpspp/message.h> in this directory.
102
103         * output.c: Changed all uses of msg() to error() or
104         error_at_line().
105         (outp_read_devices) Maintain line number in int variable instead
106         of "struct file_locator".
107         (tokener) Renamed get_option_token(), rewritten, changed interface.
108         (outp_parse_options) Change `options' argument to type const
109         struct string *.  Rewritten.
110         (configure_driver) Passes a struct string * to ->open_driver()
111         instead of char *.
112         (outp_get_paper_size) Maintain line number in int variable instead
113         of "struct file_locator".  Removed stupid cache.
114
115         * output.h: (struct outp_class) Change `open_driver' function to
116         take const struct string * instead of const char *.  Updated all
117         implementations.
118
119 Mon Apr  3 11:14:38 2006  Ben Pfaff  <blp@gnu.org>
120
121         Rewrite a lot of the output drivers and infrastructure.
122         Started transitioning from msg() to error().
123         Vertical rules in tables now default to putting a small gap
124         between columns, instead of no gap or rule at all.
125         See NEWS for user-visible changes.
126
127         * automake.mk: (output_sources) Add afm.c, afm.h.  Remove font.h,
128         groff-font.c.
129         
130         * afm.c, afm.h: New files.
131
132         * font.h: Removed.
133
134         * groff-font.c: Removed.
135         
136         * ascii.c: Rewrote and simplified.
137
138         * html.c: Ditto.
139
140         * postscript.c: Ditto.
141
142         * output.c: (struct outp_driver_class_list) Move here from
143         output.h.  Remove ref_count member and all references to it.
144         (outp_init) Remove epsf_class references.
145         (init_default_drivers) Use new configure_driver_line() interface.
146         (parse_options) Renamed outp_parse_options(), changed interface.
147         (configure_driver) Changed args from `const char *'s to `const
148         struct string *'s.  Rewrote.  Don't call ->open_global().  Now
149         just calls ->open_driver() instead of ->preopen_driver(),
150         ->option(), ->postopen_driver().
151         (configure_driver_line) Adapt to new configure_driver() interface.
152         (destroy_driver) Don't call ->close_global().
153         (option_cmp) Removed.
154         (outp_match_keyword) Rewrite for simplicity.
155         (outp_open_page) New function.  Changed all equivalent
156         functionality to use this function instead.
157         (outp_close_page) Ditto.
158         (outp_eject_page) Use above functions.
159         (outp_string_width) Add font argument and change all callers to
160         pass one.
161
162         * output.h: (struct rect) Removed.
163         (OUTP_L_*) Name this enumeration "enum outp_line_style".
164         (OUTP_L_SPECIAL) Removed.
165         (struct color) Removed.
166         (OUTP_F_*) Removed.
167         (struct outp_styles) Removed.
168         (OUTP_T_*) Removed.
169         (enum outp_justification) New, containing OUTP_RIGHT, OUTP_LEFT,
170         OUTP_CENTER.
171         (enum outp_font) New, containing OUTP_FIXED, OUTP_PROPORTIONAL,
172         and OUTP_EMPHASIS.
173         (struct outp_text) Replaced `options' member by `font' and
174         `justification'.  Renamed `s' to `string'.  Removed `w', `l'.
175         Updated all usages.
176         (struct outp_class) Removed `magic', `open_global',
177         `close_global', `font_sizes', `preopen_driver', `option',
178         `postopen_driver', `line_horz', `line_vert', `line_intersection',
179         `box', `polyline_begin', `polyline_point', `polyline_end',
180         `text_set_font_by_name', `text_set_font_by_position',
181         `text_set_font_family', `text_get_font_name',
182         `text_get_font_family', `text_set_Size', and `text_get_size'
183         members.  Added `open_driver', `close_driver', `line' members.
184         Changed interface of `open_page', `close_page', `text_metrics',
185         `text_draw' members.  Updated all usages.
186         (struct outp_driver) Rearranged members.  Removed `driver_open',
187         `res', `horiz', `vert', `horiz_line_spacing', `vert_line_spacing'
188         members.
189         (struct outp_option_info) Removed.
190         (struct outp_driver_class_list) Removed.
191         (outp_match_keyword) Changed interface.
192
193         * table.c: (tab_create) Now ignores reallocable argument: tables
194         can always be reallocated.  Use pool_create_container().
195         Initialize vertical rules to UCHAR_MAX.
196         (options_to_font) New function.
197         (tab_destroy) Remove futile assignment.
198         (tab_realloc) Initialize vertical rules to UCHAR_MAX.
199         (text_format) Use xvasprintf() instead of local_alloc().
200         (tab_title) Always format the argument, and drop the option
201         argument.  Change all callers to agree.
202         (tab_natural_width) Adapt to new ->text_metrics() interface.
203         (tab_natural_height) Ditto.
204         (tab_joint_text) Clear rules within the joined cell.  Now
205         necessary because of the default to put spacing between cells.
206         (tab_output_text) Use xvasprintf() instead of local_alloc().
207         Remove special cases for fixed-width font.
208         (rule_to_spacing_type) New function.
209         (tabi_driver) Calculate rule widths manually now that we don't
210         have ->trh or ->trv.  Implement new default for vertical rules.
211         (render_rows) New function.
212         (tabi_render) Rewrite in terms of render_rows() for clarity.
213         (translate_justification) New function.
214         (rule_to_draw_type) New function.
215         (get_hrule) New function.
216         (get_vrule) New function.
217         (render_horz_rule) New function.
218         (render_vert_rule) New function.
219         (render_rule_intersection) New function.
220         (strip_width) New function.
221         (strip_height) New function.
222         (render_cell) New function.
223         (render_strip) Rewrite in terms of new functions.
224
225         * table.h: (TAB_EMPH) New flag.
226         (TAB_FIX) New flag.
227         (TAL_3) Removed.
228         (TAL_GAP) Added.
229         (TAL_SPACING) Removed.
230         (struct tab_table) Members `trh', `hrv', `hr_tot', `vr_tot'
231         removed.
232         [DEBUGGING] (reallocable) Removed.
233         (TAT_FIX) Removed.  All references replaced by TAB_FIX.
234         (TAT_TITLE) Now implies TAB_EMPH.
235                 
236 Thu Mar 30 16:26:56 2006  Ben Pfaff  <blp@gnu.org>
237
238         * output.c: (colon_tokenize) Removed.
239         (configure_driver_line) Rewrote to use ds_separate().  Fixed leak.
240
241 Tue Mar 28 13:50:53 WST 2006 John Darrington <john@darrington.wattle.id.au>
242
243         * html.c, postscript.c, output.c:  Changed to fit the new signature 
244         of fn_interp_vars
245         
246 Sun Mar  5 13:19:32 2006  Ben Pfaff  <blp@gnu.org>
247
248         * postscript.c: (postopen) Fix segfault when the active file has
249         no title.
250
251 Sat Mar  4 13:48:16 2006  Ben Pfaff  <blp@gnu.org>
252
253         We didn't provide a way to define these macros, so obviously
254         there's little demand for them.
255
256         * html.c: Don't test for NO_HTML.
257
258         * postscript.c: Don't test for NO_POSTSCRIPT.
259
260         * output.c: Don't test for either of those.
261
262 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
263         
264         * Moved files from src directory