cairo/src
Adrian Johnson edcefa87ed type1: Use correct glyph advance when subsetting type 1 fonts
Previously the glyph advance in font units was used for the widths in
the PDF font dictionary. This only works for Type 1 fonts that use a
[0.001 0 0 0.001 0 0] font matrix.

https://bugs.freedesktop.org/show_bug.cgi?id=28061
2010-05-16 20:52:31 +09:30
..
drm color: Special case comparing color stops. 2010-05-13 09:52:39 +01:00
glew glew: don't pull in GL/glu.h 2010-03-07 16:59:57 +00:00
.gitignore [build] Include all generated win32 build files in the repo 2009-01-09 15:55:24 -05:00
cairo-analysis-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-analysis-surface.c ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-arc-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-arc.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-array.c Fix typo in docs 2010-05-05 12:30:01 +02:00
cairo-atomic-private.h atomic: Add Andrea's copyright notice 2010-04-30 14:14:01 +01:00
cairo-atomic.c atomic: Tweak for compilation x86. 2010-04-29 10:04:54 +01:00
cairo-base64-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-base85-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann-rectangular.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann-rectilinear.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-bentley-ottmann.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-beos-surface.cpp Update FSF address 2010-04-27 11:13:38 +02:00
cairo-beos.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-botor-scan-converter.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-boxes-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-boxes.c drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-cache-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-cache.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-cff-subset.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-clip-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-clip.c clip: Fill instead of creating intermediate surfaces. 2010-05-12 20:42:18 +01:00
cairo-color.c Make _cairo_color_equal() work for unmultiplied colors, too 2010-05-13 12:11:09 +02:00
cairo-combsort-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-compiler-private.h Add an implementation of ffs() for MSVC 2010-05-06 11:43:52 -04:00
cairo-composite-rectangles-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-composite-rectangles.c Revert bd672d080c 2010-05-13 01:57:24 +02:00
cairo-debug.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-deflate-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-deprecated.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-device-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-device.c device: Reorder finalization so that user data is destroyed last. 2010-05-06 17:07:02 +01:00
cairo-directfb-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-directfb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-drm-xr.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-drm.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-egl-context.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-error-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-features-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-features.pc.in More fixes for pkgconfig files 2008-09-10 12:41:57 -04:00
cairo-fixed-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-fixed-type-private.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-fixed.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-face-twin-data.c [twin] Improve glyph hints 2008-12-25 02:46:27 -05:00
cairo-font-face-twin.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-face.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-font-options.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-freed-pool-private.h atomic: Correct implementation of _atomic_fetch () 2010-04-29 10:52:48 +02:00
cairo-freed-pool.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-freelist-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-freelist.c drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-ft-font.c ft: Convert an assert into an unlikely error return. 2010-05-03 19:18:49 +01:00
cairo-ft-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ft.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gl-device.c gl: Make the shader implementation per-context, not global 2010-05-08 18:08:18 +02:00
cairo-gl-glyphs.c gl: Don't keep a temporary surface in the device 2010-05-13 12:11:09 +02:00
cairo-gl-private.h gl: Don't keep a temporary surface in the device 2010-05-13 12:11:09 +02:00
cairo-gl-shaders.c gl: Make the shader implementation per-context, not global 2010-05-08 18:08:18 +02:00
cairo-gl-surface.c gl: gl surfaces are only similar when they share the same device 2010-05-14 21:07:03 +02:00
cairo-gl.h gl: Get rid of cairo_gl_surface_glfinish() from public API 2010-05-05 12:30:01 +02:00
cairo-glx-context.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gstate-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-gstate.c Use a solid color for 0xN and Nx0 surfaces 2010-05-13 12:11:09 +02:00
cairo-hash-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hash.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-hull.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-info-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-info.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-image-surface.c image: Fix wholly unbounded fixup 2010-05-13 12:11:09 +02:00
cairo-list-private.h drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
cairo-lzw.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-malloc-private.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-matrix.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-misc.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-impl-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-list-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex-type-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-mutex.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-os2-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-os2-surface.c os2: Fix get_extents() segfaulting. 2010-05-03 10:20:51 +02:00
cairo-os2.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-output-stream-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-output-stream.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-paginated-surface.c paginated: Mark as clear initially. 2010-05-04 18:53:50 +01:00
cairo-path-bounds.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fill.c region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-path-fixed-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-fixed.c Remove useless null checks of a and b in _cairo_path_fixed_equal 2010-05-07 10:24:49 -04:00
cairo-path-in-fill.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path-stroke.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-path.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pattern.c Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-pdf-operators-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-operators.c pdf: Assert that no other error can occur for an invertible matrix. 2010-05-04 18:53:50 +01:00
cairo-pdf-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pdf-surface.c type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09:30
cairo-pdf.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-pen.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-png.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-polygon.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ps-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-ps-surface.c Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-ps.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt-surface.cpp Update FSF address 2010-04-27 11:13:38 +02:00
cairo-qt.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-font.c quartz: Work around bad glyph extents returned by CoreGraphics for empty glyphs in Al Bayan font 2010-05-07 10:16:32 -04:00
cairo-quartz-image-surface.c Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-quartz-image.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-quartz-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-quartz-surface.c Ensure the quartz backend returns the first stop for negative positions on the gradient line of a nonrepeating linear gradient. 2010-05-11 13:59:58 -04:00
cairo-quartz.h Update license blocks to use "Mozilla Foundation" instead of "Mozilla Corporation" 2010-05-06 16:07:43 -04:00
cairo-recording-surface-private.h recording: Avoid refcycles by always copying the command array. 2010-05-05 09:23:59 +01:00
cairo-recording-surface.c recording: Mark an empty recording surface as clear. 2010-05-05 09:25:25 +01:00
cairo-rectangle.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-rectangular-scan-converter.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-reference-count-private.h atomic: Remove unused function _cairo_atomic_int_set() 2010-04-29 10:52:47 +02:00
cairo-region-private.h region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-region.c region: _cairo_region_create_in_error() 2010-05-10 12:45:31 +01:00
cairo-rtree-private.h rtree: Actually pin the node when pinning. 2010-05-16 10:23:30 +01:00
cairo-rtree.c rtree: Remove the unused evict hook. 2010-05-12 20:54:49 +01:00
cairo-scaled-font-private.h scaled-font: Convert to cairo_list_t 2010-05-04 18:53:03 +01:00
cairo-scaled-font-subsets-private.h type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09:30
cairo-scaled-font-subsets.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-scaled-font.c scaled-font: Pluck last glyph from the most recent page. 2010-05-05 18:07:29 +01:00
cairo-script-surface.c script: Replace the missing " " after pop 2010-04-28 10:01:06 +01:00
cairo-script.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia-surface.cpp Update FSF address 2010-04-27 11:13:38 +02:00
cairo-skia.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-slope-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-slope.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-spans-private.h spans: Add a rectangular scan converter 2010-01-22 23:01:51 +00:00
cairo-spans.c spans: Initialise rects->is_bounded for polygon compat. 2010-03-11 01:48:08 +00:00
cairo-spline.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-stroke-style.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-clipper-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-clipper.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-fallback-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-fallback.c fallback: Remove span renderer paths 2010-05-14 15:56:17 +02:00
cairo-surface-offset-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-offset.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-private.h ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-snapshot-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-surface-snapshot.c snapshot: Attach the backend generated snapshot to the target 2010-04-30 10:16:23 +01:00
cairo-surface-subsurface-private.h ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-subsurface.c subsurface: Don't double apply device offset for deep subsurfaces. 2010-05-08 18:24:48 +01:00
cairo-surface-wrapper-private.h ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface-wrapper.c ps: Enable native encoding of subsurface patterns. 2010-04-30 10:16:24 +01:00
cairo-surface.c device: Reorder finalization so that user data is destroyed last. 2010-05-06 17:07:02 +01:00
cairo-svg-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-svg-surface.c Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-svg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-system.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tee-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-tor-scan-converter.c spans: Pass multiple rows of identical spans to the renders. 2010-01-22 23:01:51 +00:00
cairo-toy-font-face.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-traps.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-truetype-subset-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-truetype-subset.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-fallback.c type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09:30
cairo-type1-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type1-subset.c type1: Use correct glyph advance when subsetting type 1 fonts 2010-05-16 20:52:31 +09:30
cairo-type3-glyph-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-type3-glyph-surface.c type3: Minor tweaks to remove a redundant check. 2010-05-04 18:53:50 +01:00
cairo-types-private.h Make cairo_color_stop_t a unique type. 2010-05-13 10:00:18 +01:00
cairo-unicode.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-uninstalled.pc.in Build -uninstalled.pc files 2008-09-11 00:38:30 -04:00
cairo-user-font-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-user-font.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-version.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-version.h Some nasty tracks to make changing version number not cause a total rebuild 2008-08-28 18:18:23 -04:00
cairo-vg-surface.c surface: Convert snapshots from an array to a double-linked list. 2010-04-30 10:16:23 +01:00
cairo-vg.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint-type-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-wideint.c Remove excessive semicolons 2010-04-29 20:45:23 +02:00
cairo-win32-font.c Bug 28100 - Font option CAIRO_HINT_METRICS_OFF unhonoured on win32 2010-05-14 14:48:46 -04:00
cairo-win32-printing-surface.c win32-printing: compile fix. 2010-05-12 20:09:44 +01:00
cairo-win32-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-win32-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-win32.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-core.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection-render.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-connection-shm.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-connection.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-private.h xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-screen.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-shm.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-cairo.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-core.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xcb-surface-render.c xcb: discard glyph mask and use dst directly when possible. 2010-05-12 20:54:48 +01:00
cairo-xcb-surface.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xcb.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-display.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-private.h xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-screen.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-surface-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-surface.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-visual.c xlib: Remove reference counting for cairo_xlib_screen_t 2010-05-06 10:46:49 +01:00
cairo-xlib-xcb-surface.c xcb: trivial memfault fixes. 2010-05-10 13:36:53 +01:00
cairo-xlib-xrender-private.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib-xrender.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xlib.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xml-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
cairo-xml.h Update FSF address 2010-04-27 11:13:38 +02:00
cairo.c cairo_paint_with_alpha(cr, 0.0) is only a noop when bounded by mask 2010-05-13 12:11:09 +02:00
cairo.h subsurface: s/region/rectangle/ 2010-04-30 10:16:06 +01:00
cairo.pc.in Improve backend .pc files generation: 2006-07-12 04:27:55 -04:00
cairoint.h cairo: Missing private markup for _cairo_format_to_pixman_format 2010-05-16 10:11:02 +01:00
check-def.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-doc-syntax.sh Improve doc syntax check to allow inline macro docs 2010-04-01 01:53:53 -04:00
check-has-hidden-symbols.c [check] Move the hidden symbol check into check-{def,plt}.sh 2008-01-11 21:21:34 +00:00
check-headers.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-link.c [src/check-link.c] Simple test to check we can link to the built cairo.so 2008-09-02 21:31:43 -04:00
check-plt.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
check-preprocessor-syntax.sh Set LC_ALL=C instead of LANG=C 2009-09-16 15:50:34 -04:00
Makefile.am Add a private copy of GLEW 2009-09-14 09:26:02 +01:00
Makefile.am.analysis [check] Quieten output during checking headers-standalone 2009-05-07 15:14:14 +01:00
Makefile.sources drm: code dump, sorry. 2010-05-12 20:54:49 +01:00
Makefile.win32 [win32] Include $(OPT) flags when linking cairo.dll 2009-02-26 16:04:49 -05:00
Makefile.win32.features gallium: Refresh. 2010-05-12 20:54:49 +01:00
README Fix various README typos 2009-01-02 02:56:38 -05:00
test-fallback-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback16-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-fallback16-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-null-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-null-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-paginated-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-paginated-surface.h Update FSF address 2010-04-27 11:13:38 +02:00
test-wrapping-surface.c Update FSF address 2010-04-27 11:13:38 +02:00
test-wrapping-surface.h Update FSF address 2010-04-27 11:13:38 +02:00

Cairo Library Source Code
=========================

This directory contains the source code of the cairo library.


Source Code Listing
-------------------

The canonical list of source files is the file Makefile.sources.  See that
file for how it works.


New Backends
------------

The rule of the thumb for adding new backends is to see how other
backends are integrated.  Pick one of the simpler, unsupported, backends
and search the entire tree for it, and go from there.

To add new backends you need to basically:

  * Modify $(top_srcdir)/configure.in to add checks for your backend.

  * Modify Makefile.sources to add source files for your backend,

  * Modify $(top_srcdir)/boilerplate/ to add boilerplate code for
    testing your new backend.


New API
-------

After adding new API, run "make check" in this directory and fix any
reported issues.  Also add new API to the right location in
$(top_srcdir)/doc/public/cairo-sections.txt and run "make check"
in $(top_builddir)/doc/public to make sure that any newly added
documentation is correctly hooked up.

Do not forget to add tests for the new API.  See next section.


Tests
-----

There are some tests in this directory that check the source code and
the build for various issues.  The tests are very quick to run, and
particularly should be run after any documentation or API changes.  It
does not hurt to run them after any source modification either.  Run
them simply by calling:

	make check

There are also extensive regression tests in $(top_srcdir)/test.  It is
a good idea to run that test suite for any changes made to the source
code.  Moreover, for any new feature, API, or bug fix, new tests should
be added to the regression test suite to test the new code.


Bibliography
------------

A detailed list of academic publications used in cairo code is available
in the file $(top_srcdir)/BIBLIOGRAPHY.  Feel free to update as you
implement more papers.

For more technical publications (eg. Adobe technical reports) just
point them out in a comment in the header of the file implementing them.