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