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
Chris Wilson
bf957ee0f2
cairo-png - handle short reads
...
During MT cairo testing we get the error "libpng: Read Error" which is
emitted should the fread return fewer bytes than asked. However, this is
not necessarily an error, so double-check the ferror() status before
raising a png_error().
2007-04-20 09:52:49 +01:00
Behdad Esfahbod
d00aa44206
[Makefile.am] Add a "make snapshot" target
...
that creates a tarball named with version, date, and git hash of
the tree. Like cairo-1.4.5-20070420-2a0389.tar.gz.
2007-04-20 01:28:56 -04:00
Behdad Esfahbod
2a03895663
[pixman] Fix typo in Makefile.am
2007-04-20 00:55:03 -04:00
Behdad Esfahbod
abcd929c57
[boilerplate] Add cairo_boilerplate_format_from_content
2007-04-20 00:52:04 -04:00
Behdad Esfahbod
97624dc488
[boilerplate] Strip test-surfaces boilerplate into cairo-boilerplate-test-surfaces*
2007-04-20 00:52:04 -04:00
Behdad Esfahbod
2e709321d8
[boilerplate] Move xasprintf to xmalloc.c
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
5331445c12
[boilerplate] Cleanup includes in cairo-boilerplate-beos.cpp
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
56e916d40c
[boilerplate] Fix typos in cairo-boilerplate-glitz.c
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
06718b0da6
[boilerplate] Remove leftover call to cairo_test_log
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
99737a60cb
[boilerplate] Clean up includes and remove unnecessary ones
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
4b569f13d7
[boilerplate] Strip win32 boilerplate into cairo-boilerplate-win32*
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
0a03d66fff
[boilerplate] Rename create_win32_surface to _cairo_boilerplate_win32_create_surface
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
5ee882d394
[boilerplate] Remove empty cleanup_win32
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
a684fd80e7
[directfb] Silence compiler warning
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
23e6abc3fc
[boilerplate] Strip glitz boilerplate into cairo-boilerplate-glitz*
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
7d576a3767
[boilerplate] Minor indentation fix
2007-04-20 00:52:03 -04:00
Behdad Esfahbod
06b657ccf1
[boilerplate] Strip xcb boilerplate into cairo-boilerplate-xcb*
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
65f636649d
[boilerplate] Strip svg boilerplate into cairo-boilerplate-svg*
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
8c9960675b
[boilerplate] Strip pdf boilerplate into cairo-boilerplate-pdf*
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
d9ce7de575
[boilerplate] Rename xcairo_surface_set_user_data to cairo_boilerplate_surface_set_user_data
...
and make it public.
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
df6b8ecc89
[boilerplate] Strip ps boilerplate into cairo-boilerplate-ps*
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
6461f0d120
[boilerplate] Remove unused variables
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
f2d6275352
[boilerplate] Fix renaming typo
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
d5535c993b
[boilerplate/test] Move vector_ignored_tests from boilerplate/ to test/
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
d6dc4f9783
[boilerplate] Add a boolean is_vector to boilerplate target type
...
This is used to move the skip-these-tests-for-vector code into
cairo-test which it belongs.
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
0b5e2dbaa8
[boilerplate] Sort backend entries in Makefile.am alphabetically
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
be0320c4f8
[boilerplate] Properly namespace boilerplate methods
...
in preparation for ripping them into per-backend files.
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
9b660a3d54
[boilerplate] Strip xlib boilerplate into cairo-boilerplate-xlib*
2007-04-20 00:52:02 -04:00
Behdad Esfahbod
d945f64346
[boilerplate] Move includes around
2007-04-20 00:52:01 -04:00
Behdad Esfahbod
0130cca692
[boilerplate] Rename test-directfb to boilerplate-directfb
2007-04-20 00:52:01 -04:00
Behdad Esfahbod
fb2c0daa09
[boilerplate] Rename test-beos to boilerplate-beos
2007-04-20 00:52:01 -04:00
Behdad Esfahbod
01760286b3
[boilerplate] Rename quartz-boilerplate to boilerplate-quartz
2007-04-20 00:52:01 -04:00
Chris Wilson
d64ef35521
Include cairo-perf in make check
...
Although cairo-perf is not written to perform explicit failure testing of
cairo, it does generate long sequences of cairo operations which often
trigger unexpected errors. By including it with make check, it becomes
even easier for the programmer to check that one has not broken cairo in
terms of expected behaviour or performance.
2007-04-19 23:12:09 +01:00
Behdad Esfahbod
0ffb021e9b
[cairo-mutex] If no mutex implementation is found, should #error instead of #warning
...
otherwise we will cause compile errors before the sanity check macros get
a chance to err.
2007-04-19 16:53:24 -04:00
Behdad Esfahbod
813cdd7150
[configure.in] Support --disable-pthread
...
Also allows for --enable-pthread=yes which will make configure abort
if pthread is not found (as opposed to silently disabling it).
2007-04-19 16:53:24 -04:00
Chris Wilson
6d01e89988
Add callgrind output files to CLEANFILES and .gitignore.
2007-04-19 21:46:00 +01:00
Chris Wilson
2c79f8b75b
Fix command line for running cairo-perf under valgrind.
...
The CAIRO_PERF_ENVIRONMENT slipped into the middle of the command line
instead of at the start.
2007-04-19 21:42:13 +01:00
Behdad Esfahbod
3631c11eb4
[cairo-mutex] Switch to HAVE_WINDOWS_H to use Win32 mutexes
2007-04-19 16:38:23 -04:00
Behdad Esfahbod
d2a824a191
[cairo-commit] Update attribution headers in cairo-mutex-private.h
2007-04-19 16:37:36 -04:00
Behdad Esfahbod
12dfd8bb4b
[cairo-mutex] Warn if no mutex definition found and let sanity macros err
...
about undefined CAIRO_MUTEX macros.
2007-04-19 16:36:43 -04:00
Behdad Esfahbod
6aa823841d
[cairo-mutex] Support non-reentrant compilation if CAIRO_NO_MUTEX defined
...
to 1.
2007-04-19 16:36:10 -04:00
Behdad Esfahbod
e5980f69ad
[cairo-commit] Just warn for BeOS and let the sanity check macros err
...
about undefined CAIRO_MUTEX macros.
2007-04-19 16:31:47 -04:00
Behdad Esfahbod
8ebb054ff9
[cairo-mutex] Prefer "#if CAIRO_SOMETHING" over "#if defined CAIRO_SOMETHING"
2007-04-19 16:30:21 -04:00
Behdad Esfahbod
97c1974780
[cairo-mutex] Add default implementation for CAIRO_MUTEX_INIT
...
that uses CAIRO_MUTEX_NIL_INITIALIZER. This used to be the
implementation for pthread because pthread_mutex_init() is
broken. See d48bb4fbe8 .
2007-04-19 16:26:21 -04:00
Behdad Esfahbod
6d2a2dd6d9
[cairo-mutex] Add default no-op implementation for CAIRO_MUTEX_FINI
2007-04-19 16:24:16 -04:00
Behdad Esfahbod
2067d6fa90
[cairo-mutex] Use CAIRO_MUTEX_NOOP when applicable
2007-04-19 16:23:14 -04:00
Behdad Esfahbod
5dda76c90f
[cairo-mutex] Err if at least one of mutex macros are not defined
2007-04-19 16:22:02 -04:00
Behdad Esfahbod
f771b9157c
[cairo-mutex] Define and use CAIRO_MUTEX_USE_GENERIC_INITIALIZATION
...
We use the generic initialization if CAIRO_MUTEX_INITIALIZE is not
defined.
2007-04-19 16:21:13 -04:00