The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.
This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
- Have a set of libharu gstate update related wrapper routines which minimizes the gstate updates in the PDF file
resulting in smaller PDF file size.
- Colour values were wrongly scaled (was dividing by 256 instead of by 255).
- pdf_plot_polygon(): last (closing) lineto wasn't needed, a fill operation will do that automatically.
- pdf_scale/pdf_set_scale(): moved to desktop/save_pdf/font_haru.c as pdf_text_scale/haru_nsfont_set_scale().
- desktop/save_pdf/pdf_plotters.c(pdf_set_scale): moved to desktop/save_pdf/font_haru.h as haru_nsfont_set_scale().
- desktop/save_pdf/font_haru.c:
- moved pdf_scale variable from pdf_plotters.c to here.
- haru_nsfont_set_scale(): was pdf_set_scale from pdf_plotters.c
- haru_nsfont_apply_style(): always calculate font size and pass it on to caller when requested.
- desktop/save_pdf/font_haru.h:
- haru_nsfont_set_scale(): declare.
- haru_nsfont_apply_style(): add font size parameter
- gtk/gtk_scaffolding.c(MENUHANDLER(export_pdf)): call haru_nsfont_set_scale() instead of pdf_set_scale().
svn path=/trunk/netsurf/; revision=6363
- riscos/save_draw.c(ro_save_draw_plotters): Make it static.
- desktop/save_pdf/pdf_plotters.c(pdf_plot_path): fix broken implementation (coordinates path were wrong, no clip/text mode update, transformation matrix was overwritten); only update fill and/or
stroke color when fill and/or stroke is done.
(pdf_begin): disable compression when PDF_DEBUG is set
svn path=/trunk/netsurf/; revision=6361
- save_pdf(): constify path parameter and routine no longer frees it.
Follow latter change in pdf_end(), nsgtk_PDF_set_pass() and nsgtk_PDF_no_pass()
- pdf_printer: constify
- last_clip_x0, last_clip_y0, last_clip_x1, last_clip_y1, in_text_mode, text_mode_request: make static
- pdf_doc: free previous PDF document if previous save attempt failed.
- set PDF Creator entry based on our user_agent_string().
* other minor changes.
svn path=/trunk/netsurf/; revision=5452