cairo/src/Makefile.sources
Behdad Esfahbod d5a998387b Add an internal font face
The font data and rendering is adapted from Keith Packard's Twin
window system.  The hinting stuff is not ported yet, but hey, it renders!

The implementation uses user fonts, and the user font backend is modified
to use this font face (which we call "twin" font face internally) when
a toy font is needed.

The font face layer is then modified to use this font if:

  - The toy font face "cairo" is asked for, or

  - No native font backend is available, or

  - The preferred native font backend fails to return a font with
    STATUS_UNSUPPORTED.  No font backend does this right now but
    the idea is to change FreeType to return it if no fonts found
    on the system.

We also allow building with no font backends now!

The new doc/tutorial/src/twin.c file tests the twin face at various
sizes.
2008-09-25 19:25:11 -04:00

244 lines
7.3 KiB
Text

# Makefile.sources
#
# This file is the canonical location listing all the source files used
# to build the cairo library. Every source file is categorized as one of:
#
# * public header file
# * private header file (must end in -private.h except for cairoint.h)
# * source code file
#
# Every source file should be specified exactly once, grouped with the
# feature that uses the source file. If more than one feature use the
# file (like pdf_operators or font_subset files), the files should be
# appended to to the base cairo files, and the code inside them
# enabled/disabled using C preprocessor macros defined in cairoint.h.
# See how pdf_operators or font_subset are handled.
#
# The sources are picked up according to the configured features
# by the generated file Makefile.am.config or Makefile.win32.config.
#
# These are a few special source files. Those are not included in this
# file to not confuse build systems. Each build system must handle them
# separately. These files include:
#
# * cairo-features.h:
# This file is generated by configure and includes macros signifying
# which features are enabled. This file should be installed like
# other public headers, but should NOT be distributed in the cairo
# distribution.
#
# * cairo-version.h:
# This is a dummy header file used during the build, but it should
# NOT be installed. Its sole purpose is to make sure changes in the
# cairo version do not trigger a full rebuild of the library, but
# just the functions actually using the version information.
#
# * $(top_srcdir)/cairo-version.h:
# This is the real file holding the cairo version number. This file
# should be installed like other public headers. This is used during
# the build by cairo-version.c only.
#
# * cairo-supported-features.h:
# This file is generated by configure and includes macros signifying
# all supported features. This is used by gtk-doc to generate
# documentation for all those macros, enabled or not.
# This file is NOT used during the build of the library and should
# NOT be installed or distributed.
#
# Please follow the strict syntax of this file, including keeping file
# lists sorted.
#
cairo_headers = cairo.h cairo-deprecated.h
cairo_private = \
cairoint.h \
cairo-analysis-surface-private.h \
cairo-arc-private.h \
cairo-atomic-private.h \
cairo-cache-private.h \
cairo-clip-private.h \
cairo-compiler-private.h \
cairo-fixed-private.h \
cairo-fixed-type-private.h \
cairo-freelist-private.h \
cairo-gstate-private.h \
cairo-hash-private.h \
cairo-malloc-private.h \
cairo-meta-surface-private.h \
cairo-mutex-impl-private.h \
cairo-mutex-list-private.h \
cairo-mutex-private.h \
cairo-mutex-type-private.h \
cairo-output-stream-private.h \
cairo-paginated-private.h \
cairo-paginated-surface-private.h \
cairo-path-fixed-private.h \
cairo-path-private.h \
cairo-private.h \
cairo-reference-count-private.h \
cairo-region-private.h \
cairo-scaled-font-private.h \
cairo-skiplist-private.h \
cairo-surface-fallback-private.h \
cairo-surface-private.h \
cairo-types-private.h \
cairo-user-font-private.h \
cairo-wideint-private.h \
cairo-wideint-type-private.h \
$(NULL)
cairo_sources = \
cairo-analysis-surface.c \
cairo-arc.c \
cairo-array.c \
cairo-atomic.c \
cairo-base85-stream.c \
cairo-bentley-ottmann.c \
cairo.c \
cairo-cache.c \
cairo-clip.c \
cairo-color.c \
cairo-debug.c \
cairo-fixed.c \
cairo-font-face.c \
cairo-font-face-twin.c \
cairo-font-face-twin-data.c \
cairo-font-options.c \
cairo-freelist.c \
cairo-gstate.c \
cairo-hash.c \
cairo-hull.c \
cairo-image-surface.c \
cairo-lzw.c \
cairo-matrix.c \
cairo-meta-surface.c \
cairo-misc.c \
cairo-mutex.c \
cairo-output-stream.c \
cairo-paginated-surface.c \
cairo-path-bounds.c \
cairo-path.c \
cairo-path-fill.c \
cairo-path-fixed.c \
cairo-path-stroke.c \
cairo-pattern.c \
cairo-pen.c \
cairo-polygon.c \
cairo-rectangle.c \
cairo-region.c \
cairo-scaled-font.c \
cairo-skiplist.c \
cairo-slope.c \
cairo-spline.c \
cairo-stroke-style.c \
cairo-surface.c \
cairo-surface-fallback.c \
cairo-system.c \
cairo-traps.c \
cairo-unicode.c \
cairo-user-font.c \
cairo-version.c \
cairo-wideint.c \
$(NULL)
_cairo_font_subset_private = \
cairo-scaled-font-subsets-private.h \
cairo-truetype-subset-private.h \
cairo-type1-private.h \
cairo-type3-glyph-surface-private.h \
$(NULL)
_cairo_font_subset_sources = \
cairo-cff-subset.c \
cairo-scaled-font-subsets.c \
cairo-truetype-subset.c \
cairo-type1-fallback.c \
cairo-type1-subset.c \
cairo-type3-glyph-surface.c \
$(NULL)
cairo_private += $(_cairo_font_subset_private)
cairo_sources += $(_cairo_font_subset_sources)
_cairo_pdf_operators_private = cairo-pdf-operators-private.h
_cairo_pdf_operators_sources = cairo-pdf-operators.c
cairo_private += $(_cairo_pdf_operators_private)
cairo_sources += $(_cairo_pdf_operators_sources)
cairo_png_sources = cairo-png.c
cairo_ps_headers = cairo-ps.h
cairo_ps_private = cairo-ps-surface-private.h
cairo_ps_sources = cairo-ps-surface.c
cairo_pdf_headers = cairo-pdf.h
cairo_pdf_private = cairo-pdf-surface-private.h
cairo_pdf_sources = cairo-pdf-surface.c cairo-deflate-stream.c
cairo_svg_headers = cairo-svg.h
cairo_svg_private = cairo-svg-surface-private.h
cairo_svg_sources = cairo-svg-surface.c
cairo_ft_headers = cairo-ft.h
cairo_ft_private = cairo-ft-private.h
cairo_ft_sources = cairo-ft-font.c
# These are private, even though they look like public headers
cairo_test_surfaces_private = \
test-fallback-surface.h \
test-meta-surface.h \
test-paginated-surface.h \
$(NULL)
cairo_test_surfaces_sources = \
test-fallback-surface.c \
test-meta-surface.c \
test-paginated-surface.c \
$(NULL)
cairo_xlib_headers = cairo-xlib.h
cairo_xlib_private = \
cairo-xlib-private.h \
cairo-xlib-surface-private.h \
cairo-xlib-xrender-private.h \
$(NULL)
cairo_xlib_sources = \
cairo-xlib-display.c \
cairo-xlib-screen.c \
cairo-xlib-surface.c \
cairo-xlib-visual.c \
$(NULL)
cairo_xlib_xrender_headers = cairo-xlib-xrender.h
# XXX split xcb-xrender. or better yet, merge it into xcb. xcb is so recent
# that it's hard to imagine having xcb but not render.
cairo_xcb_headers = cairo-xcb.h cairo-xcb-xrender.h
cairo_xcb_sources = cairo-xcb-surface.c
cairo_quartz_headers = cairo-quartz.h
cairo_quartz_private = cairo-quartz-private.h
cairo_quartz_sources = cairo-quartz-surface.c
cairo_quratz_image_headers = cairo-quartz-image.h
cairo_quratz_image_sources = cairo-quartz-image-surface.c
cairo_quartz_font_sources = cairo-quartz-font.c
cairo_win32_headers = cairo-win32.h
cairo_win32_private = cairo-win32-private.h
cairo_win32_sources = cairo-win32-surface.c cairo-win32-printing-surface.c
cairo_win32_font_sources = cairo-win32-font.c
cairo_os2_headers = cairo-os2.h
cairo_os2_private = cairo-os2-private.h
cairo_os2_sources = cairo-os2-surface.c
# automake is stupid enough to always use c++ linker if we enable the
# following lines, even if beos surface is not enabled. Disable it for now.
cairo_beos_headers = cairo-beos.h
#cairo_beos_sources = cairo-beos-surface.cpp
cairo_glitz_headers = cairo-glitz.h
cairo_glitz_private = cairo-glitz-private.h
cairo_glitz_sources = cairo-glitz-surface.c
cairo_directfb_headers = cairo-directfb.h
cairo_directfb_sources = cairo-directfb-surface.c