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