Commit graph

3796 commits

Author SHA1 Message Date
Chris Wilson
260dcb316e Add a _cairo_error() to png_simple_error_callback()
With the introduction of the error callbacks for PNG, we have the
opportunity for the user to set a breakpoint (via _cairo_error) at the
point the error is first rasied.
2007-04-23 13:54:37 +01:00
Chris Wilson
0fce7e85a1 Do not print out libpng error messages to stderr.
We wish to avoid writing to file descriptors (and streams) that are
outside cairo's control. In this case, the messages are superfluous as
the errors are propagated via the cairo_status_t returns.
2007-04-23 13:10:15 +01:00
Behdad Esfahbod
59670dd5d3 [ROADMAP] Add URL to David Turner's patchset 2007-04-23 05:19:56 -04:00
Behdad Esfahbod
ce91a17648 [cairo-mutex] Add a poor man's mutex implementation in case of CAIRO_NO_MUTEX
just for fun.
2007-04-22 16:13:33 -04:00
Behdad Esfahbod
97b50e99bf [BeOS] Remove old-style mutex initialization cruft 2007-04-22 16:05:25 -04:00
Behdad Esfahbod
0fd13a3db0 [BeOS] Add mutex implementation 2007-04-22 16:04:49 -04:00
Behdad Esfahbod
fc83784525 [cairo-mutex] Properly paranthesize macro arguments 2007-04-22 15:56:18 -04:00
Behdad Esfahbod
406fc63b68 [util] Change make target from "tools" to "util"
to match targets like "test", "perf", and "doc", that match
their directory names.
2007-04-22 07:11:47 -04:00
Peter Weilbacher
5bc1f3365d [perf] Add OS/2 implementation for timer routines 2007-04-22 07:11:00 -04:00
Behdad Esfahbod
3b46e105bd [util] Import my malloc wrapper that prints simple statistics
To build, do:

	make malloc-stats.so

inside util/, and to use, run:

	LD_PRELOAD=malloc-stats.so some-program

For binaries managed by libtool, eg, cairo-perf, do:

	../libtool --mode=execute /bin/true ./cairo-perf
	LD_PRELOAD="../util/malloc-stats.so" .libs/lt-cairo-perf

The code also includes Jeff Muizelaar's libbacktracesymbols that
is a much better implementation of backtrace_symbols() than what
is provided by glibc.  That can be built by:

	make backtrace-symbols.so
2007-04-21 08:23:15 -04:00
Peter Weilbacher
d3cf2144db Merge branch 'master' of git+ssh://pmw@git.freedesktop.org/git/cairo 2007-04-21 13:50:30 +02:00
Peter Weilbacher
6c12961140 Use deprecated png symbol only when compiling against old version
png_set_gray_1_2_4_to_8 is deprecated in libpng >= 1.2.9, the identical
substitute for it is png_set_expand_gray_1_2_4_to_8
2007-04-21 13:49:04 +02:00
Behdad Esfahbod
515491334c Add util/ to distribution
We already reference an script in util/ in PORTING_GUIDE, but was
not shipping it!
2007-04-21 07:48:10 -04:00
Behdad Esfahbod
abdcbf896a [boilerplate] Add missing headers. Oops!
I blame git for it...
2007-04-21 07:23:30 -04:00
Behdad Esfahbod
781f2533a3 [.gitignore] Add cairo-*.*.* 2007-04-21 07:21:38 -04:00
Behdad Esfahbod
febcd689e7 Update .gitignore to ignore .perf 2007-04-21 07:19:47 -04:00
Behdad Esfahbod
de425ada87 [doc/public/Headers.mk] Update. 2007-04-21 03:46:18 -04:00
Behdad Esfahbod
519b722747 [RELEASING] Remove *-test.h from instructions
as they are all removed now.
2007-04-21 03:45:51 -04:00
Behdad Esfahbod
0108f9c69f [check-def.sh] Do not allow _cairo_.*_test_ symbols anymore
as all are removed now.
2007-04-21 03:44:53 -04:00
Behdad Esfahbod
79098c0370 [scaled-font] Get rid of _cairo_scaled_font_test_set_max_glyphs_cached_per_font
in favor of cairo_boilerplate_scaled_font_set_max_glyphs_cached.
2007-04-21 03:43:04 -04:00
Behdad Esfahbod
44563161de Move a couple typedefs to cairo-types-private.h 2007-04-21 03:38:24 -04:00
Behdad Esfahbod
737d20a570 Move cairo_hash_entry_t to cairo-types-private.h 2007-04-21 03:35:07 -04:00
Behdad Esfahbod
51ce92c3db [scaled-font] Move cairo_scaled_font_t to cairo-scaled-font-private.h 2007-04-21 03:24:31 -04:00
Behdad Esfahbod
91f1056caf Move cairo_cache_t to cairo-types-private.h 2007-04-21 03:18:30 -04:00
Behdad Esfahbod
d2bb5f3007 [svg] Get rid of _cairo_svg_test_force_fallbacks
in favor of cairo_boilerplate_svg_surface_force_fallbacks.
2007-04-21 03:08:26 -04:00
Behdad Esfahbod
ea1b7c2d8a [paginated] Include cairo-surface-private.h 2007-04-21 03:04:03 -04:00
Behdad Esfahbod
7e0ae8bd43 [svg] Move cairo_svg_surface_t to cairo-svg-surface-private.h 2007-04-21 02:57:55 -04:00
Behdad Esfahbod
3885fff3e6 [ps] Get rid of _cairo_ps_test_force_fallbacks
in favor of cairo_boilerplate_ps_surface_force_fallbacks.
2007-04-21 02:51:22 -04:00
Behdad Esfahbod
57dc972d6e [ps] Move cairo_ps_surface_t to cairo-ps-surface-private.h 2007-04-21 02:51:17 -04:00
Behdad Esfahbod
3e69fbca62 [pdf] Fix header file header! 2007-04-21 02:51:10 -04:00
Behdad Esfahbod
29247e5010 [ps/pdf/svg] Fix minor coding style issue 2007-04-21 02:51:04 -04:00
Behdad Esfahbod
20ce190e71 [pdf] Get rid of _cairo_pdf_test_force_fallbacks
in favor of cairo_boilerplate_pdf_surface_force_fallbacks.
2007-04-21 02:50:53 -04:00
Behdad Esfahbod
03477064fa [paginated] Move cairo_paginated_surface_t to cairo-paginated-surface-private.h
The old cairo-paginated-surface-private.h is cairo-paginated-private.h now.
2007-04-21 02:43:28 -04:00
Behdad Esfahbod
21a7de61c2 [boilerplate] Add cairo-boilerplate-xlib.h to Makefile.am 2007-04-21 02:10:34 -04:00
Behdad Esfahbod
68e2158aae [pdf] Move cairo_pdf_surface_t to cairo-pdf-surface-private.h 2007-04-21 02:10:34 -04:00
Behdad Esfahbod
183c6af4f1 [paginated] Move cairo_paginated_mode_t to cairo-types-private.h
as it is used in surface structs for PS/PDF/SVG and we will need
it.
2007-04-21 02:08:38 -04:00
Behdad Esfahbod
cd72167ede [xlib] Get rid of _cairo_xlib_test_disable_render
in favor of cairo_boilerplate_xlib_surface_disable_render.
2007-04-21 02:08:38 -04:00
Behdad Esfahbod
908418cb4d [cairo-surface] Move cairo_surface_t struct in cairo-surface-private.h 2007-04-21 02:08:37 -04:00
Behdad Esfahbod
8ae02fa470 [boilerplate] Minor indentation fix 2007-04-21 02:08:37 -04:00
Behdad Esfahbod
1345552ac2 [xlib] Move cairo_xlib_surface_t definition into cairo-xlib-surface-private.h 2007-04-21 02:08:37 -04:00
Peter Weilbacher
735be3f09d Fix build break related to mutexes on OS/2
cairo_mutex_t is HTMX which is ULONG on OS/2, so we have to set the
mutex itself to 0 and not the address...
2007-04-20 20:46:55 +02:00
Chris Wilson
5135bcf414 cairo-boilerplate - use xmalloc and friends
Prefer to abort gracefully if we run out of memory (or simply to protect
them from memfault).
2007-04-20 19:08:07 +01:00
Chris Wilson
b6be361d0e Clean up compiler warnings from cairo-png
I introduced some compiler warnings into read_png() with the superfluous
introduction of a couple of volatile qualifiers. I'm sure at the time,
the reason was that gcc suggested adding them - however, ATM gcc issues
no warnings without them.
2007-04-20 17:49:10 +01:00
Adrian Johnson
fc455c53ec Ensure _cairo_scaled_font_subsets_map_glyph() returns correct values
The CID font subsetting exposed a bug where the subset_glyph->is_scaled
return argument of _cairo_scaled_font_subsets_map_glyph() is sometimes
not assigned a value.
2007-04-21 00:26:25 +09:30
Adrian Johnson
9d8eb42c01 Exclude Type1 fonts from CID subsets
Make cairo-scaled-font-subsets.c limit Type1 font subsets to
256 glyphs. This allows Type1 subsetting to be enabled again
with type1-fallback as the fallback option for Type1 fonts.
2007-04-20 22:45:12 +09:30
Adrian Johnson
56ad56263b Enable embedding of CID fonts in PDF
Update cairo-pdf-surface.c to embed CFF and TrueType fonts
as CID fonts. Update the ToUnicode CMap to handle CID fonts.
2007-04-20 22:44:04 +09:30
Adrian Johnson
ca3662d6fc Make cairo-output-stream.c accept variable width printf fields 2007-04-20 22:43:37 +09:30
Adrian Johnson
0c2a653033 Add CFF CID Fallback
Switching to CID font embedding requires a fallback font for
the case where CFF CID or TrueType CID subsetting fails.

The new function _cairo_type2_charstrings_init() added to
cairo-type1-fallback.c creates Type2 charstrings from glyph
paths. _cairo_cff_fallback_init() in cairo-cff-subset.c
wraps these charstrings in a CFF CID font.
2007-04-20 22:30:55 +09:30
Adrian Johnson
c68a2389f5 Make CFF Subsetting create CID subsets
OpenType/CFF fonts come in two types: CID and non CID.
CFF CID font subsetting was previously disabled in cairo
due 1) to the need to embed CFF CID fonts in PDF as a CID fonts
and 2) there is no easy way to convert CFF CID to CFF non CID.

With the switch to CID fonts cairo-cff-subset.c has been
updated to subset CID fonts and to covert non CID fonts to
CID. A further advantage of converting non CID CFF fonts
to CID is the reduction in size due to not embedding the
name of each glyph in the font subset.
2007-04-20 22:30:05 +09:30
Adrian Johnson
073fce5a85 Add support for creating CID/composite font subsets
cairo-scaled-font-subsets.c now provides three functions for creating subsets:

  _cairo_scaled_font_subsets_create_scaled()
    Create a subset for each scaled font with maximum size INT_MAX.

  _cairo_scaled_font_subsets_create_simple()
    Create subsets suitable for embedding as simple fonts in PS/PDF.

  _cairo_scaled_font_subsets_create_composite()
    Create subsets suitable for embedding as composite fonts in PS/PDF.

The _create_simple() and _create_composite() functions both merge
scaled fonts with the same face and an outline path available into
the same subset. _create_composite() has a maximum subset size of
65536 for outline fonts. Bitmap fonts have a separate subset for
each scale with a maximum subset size of 256.

The _create_simple() and _create_composite() functions both reserve
the first glyph in the subset for the .notdef glyph. CID fonts require
CID 0 to be .notdef.

Update Type1, TrueType and CFF subsetting to expect glyph 0 of each
subset to be the .notdef.
2007-04-20 22:29:41 +09:30