Plugged memory leaks in GUI, and converted most of the strings to UTF8, so that
[pspp-builds.git] / src / output / ChangeLog
1 Thu May 25 18:02:53 WST 2006 John Darrington <john@darrington.wattle.id.au>
2
3         * table.c: Removed redundant extern declaration.
4
5 Sun May 14 14:03:56 2006  Ben Pfaff  <blp@gnu.org>
6
7         * output.c (outp_eject_page): Always make sure that a page is open
8         upon return.
9
10 Sun May 14 13:54:58 2006  Ben Pfaff  <blp@gnu.org>
11
12         * postscript.c: (ps_chart_finalise) Fix format of %%EndDocument
13         comment, which screwed up gv's idea of where one page ended and
14         the next one began.  Thanks to John Darrington for pointing out
15         the bug.
16
17 Sun Apr 16 11:48:25 2006  Ben Pfaff  <blp@gnu.org>
18
19         Start reforming error message support.  In this phase, we get rid
20         of "installation errors" and change all uses of msg() in the
21         output drivers to uses of error() or error_at_line().
22
23         * Removed all inclusion of <libpspp/message.h> in this directory.
24
25         * output.c: Changed all uses of msg() to error() or
26         error_at_line().
27         (outp_read_devices) Maintain line number in int variable instead
28         of "struct file_locator".
29         (tokener) Renamed get_option_token(), rewritten, changed interface.
30         (outp_parse_options) Change `options' argument to type const
31         struct string *.  Rewritten.
32         (configure_driver) Passes a struct string * to ->open_driver()
33         instead of char *.
34         (outp_get_paper_size) Maintain line number in int variable instead
35         of "struct file_locator".  Removed stupid cache.
36
37         * output.h: (struct outp_class) Change `open_driver' function to
38         take const struct string * instead of const char *.  Updated all
39         implementations.
40
41 Mon Apr  3 11:14:38 2006  Ben Pfaff  <blp@gnu.org>
42
43         Rewrite a lot of the output drivers and infrastructure.
44         Started transitioning from msg() to error().
45         Vertical rules in tables now default to putting a small gap
46         between columns, instead of no gap or rule at all.
47         See NEWS for user-visible changes.
48
49         * automake.mk: (output_sources) Add afm.c, afm.h.  Remove font.h,
50         groff-font.c.
51         
52         * afm.c, afm.h: New files.
53
54         * font.h: Removed.
55
56         * groff-font.c: Removed.
57         
58         * ascii.c: Rewrote and simplified.
59
60         * html.c: Ditto.
61
62         * postscript.c: Ditto.
63
64         * output.c: (struct outp_driver_class_list) Move here from
65         output.h.  Remove ref_count member and all references to it.
66         (outp_init) Remove epsf_class references.
67         (init_default_drivers) Use new configure_driver_line() interface.
68         (parse_options) Renamed outp_parse_options(), changed interface.
69         (configure_driver) Changed args from `const char *'s to `const
70         struct string *'s.  Rewrote.  Don't call ->open_global().  Now
71         just calls ->open_driver() instead of ->preopen_driver(),
72         ->option(), ->postopen_driver().
73         (configure_driver_line) Adapt to new configure_driver() interface.
74         (destroy_driver) Don't call ->close_global().
75         (option_cmp) Removed.
76         (outp_match_keyword) Rewrite for simplicity.
77         (outp_open_page) New function.  Changed all equivalent
78         functionality to use this function instead.
79         (outp_close_page) Ditto.
80         (outp_eject_page) Use above functions.
81         (outp_string_width) Add font argument and change all callers to
82         pass one.
83
84         * output.h: (struct rect) Removed.
85         (OUTP_L_*) Name this enumeration "enum outp_line_style".
86         (OUTP_L_SPECIAL) Removed.
87         (struct color) Removed.
88         (OUTP_F_*) Removed.
89         (struct outp_styles) Removed.
90         (OUTP_T_*) Removed.
91         (enum outp_justification) New, containing OUTP_RIGHT, OUTP_LEFT,
92         OUTP_CENTER.
93         (enum outp_font) New, containing OUTP_FIXED, OUTP_PROPORTIONAL,
94         and OUTP_EMPHASIS.
95         (struct outp_text) Replaced `options' member by `font' and
96         `justification'.  Renamed `s' to `string'.  Removed `w', `l'.
97         Updated all usages.
98         (struct outp_class) Removed `magic', `open_global',
99         `close_global', `font_sizes', `preopen_driver', `option',
100         `postopen_driver', `line_horz', `line_vert', `line_intersection',
101         `box', `polyline_begin', `polyline_point', `polyline_end',
102         `text_set_font_by_name', `text_set_font_by_position',
103         `text_set_font_family', `text_get_font_name',
104         `text_get_font_family', `text_set_Size', and `text_get_size'
105         members.  Added `open_driver', `close_driver', `line' members.
106         Changed interface of `open_page', `close_page', `text_metrics',
107         `text_draw' members.  Updated all usages.
108         (struct outp_driver) Rearranged members.  Removed `driver_open',
109         `res', `horiz', `vert', `horiz_line_spacing', `vert_line_spacing'
110         members.
111         (struct outp_option_info) Removed.
112         (struct outp_driver_class_list) Removed.
113         (outp_match_keyword) Changed interface.
114
115         * table.c: (tab_create) Now ignores reallocable argument: tables
116         can always be reallocated.  Use pool_create_container().
117         Initialize vertical rules to UCHAR_MAX.
118         (options_to_font) New function.
119         (tab_destroy) Remove futile assignment.
120         (tab_realloc) Initialize vertical rules to UCHAR_MAX.
121         (text_format) Use xvasprintf() instead of local_alloc().
122         (tab_title) Always format the argument, and drop the option
123         argument.  Change all callers to agree.
124         (tab_natural_width) Adapt to new ->text_metrics() interface.
125         (tab_natural_height) Ditto.
126         (tab_joint_text) Clear rules within the joined cell.  Now
127         necessary because of the default to put spacing between cells.
128         (tab_output_text) Use xvasprintf() instead of local_alloc().
129         Remove special cases for fixed-width font.
130         (rule_to_spacing_type) New function.
131         (tabi_driver) Calculate rule widths manually now that we don't
132         have ->trh or ->trv.  Implement new default for vertical rules.
133         (render_rows) New function.
134         (tabi_render) Rewrite in terms of render_rows() for clarity.
135         (translate_justification) New function.
136         (rule_to_draw_type) New function.
137         (get_hrule) New function.
138         (get_vrule) New function.
139         (render_horz_rule) New function.
140         (render_vert_rule) New function.
141         (render_rule_intersection) New function.
142         (strip_width) New function.
143         (strip_height) New function.
144         (render_cell) New function.
145         (render_strip) Rewrite in terms of new functions.
146
147         * table.h: (TAB_EMPH) New flag.
148         (TAB_FIX) New flag.
149         (TAL_3) Removed.
150         (TAL_GAP) Added.
151         (TAL_SPACING) Removed.
152         (struct tab_table) Members `trh', `hrv', `hr_tot', `vr_tot'
153         removed.
154         [DEBUGGING] (reallocable) Removed.
155         (TAT_FIX) Removed.  All references replaced by TAB_FIX.
156         (TAT_TITLE) Now implies TAB_EMPH.
157                 
158 Thu Mar 30 16:26:56 2006  Ben Pfaff  <blp@gnu.org>
159
160         * output.c: (colon_tokenize) Removed.
161         (configure_driver_line) Rewrote to use ds_separate().  Fixed leak.
162
163 Tue Mar 28 13:50:53 WST 2006 John Darrington <john@darrington.wattle.id.au>
164
165         * html.c, postscript.c, output.c:  Changed to fit the new signature 
166         of fn_interp_vars
167         
168 Sun Mar  5 13:19:32 2006  Ben Pfaff  <blp@gnu.org>
169
170         * postscript.c: (postopen) Fix segfault when the active file has
171         no title.
172
173 Sat Mar  4 13:48:16 2006  Ben Pfaff  <blp@gnu.org>
174
175         We didn't provide a way to define these macros, so obviously
176         there's little demand for them.
177
178         * html.c: Don't test for NO_HTML.
179
180         * postscript.c: Don't test for NO_POSTSCRIPT.
181
182         * output.c: Don't test for either of those.
183
184 Thu Mar  2 08:40:33 WST 2006 John Darrington <john@darrington.wattle.id.au>
185         
186         * Moved files from src directory