[cairo-commit] src/cairo-truetype-subset.c test/Makefile.sources test/truetype-tables.c

Chris Wilson ickle at kemper.freedesktop.org
Tue Mar 3 03:23:34 PST 2009


 src/cairo-truetype-subset.c |   15 ++++++++++
 test/Makefile.sources       |    1 
 test/truetype-tables.c      |   63 --------------------------------------------
 3 files changed, 15 insertions(+), 64 deletions(-)

New commits:
commit a8158d443e6a4bafae28a46b883cbdcfd5789eec
Author: Chris Wilson <chris at chris-wilson.co.uk>
Date:   Tue Mar 3 11:21:35 2009 +0000

    [truetype] Move the sizeof asserts to compile time.
    
    Eliminate the need for a runtime test on the sizeof the private structures
    by performing the check at compile time. This was provoked by Ginn Chenn
    noting that the test was including a private header.

diff --git a/src/cairo-truetype-subset.c b/src/cairo-truetype-subset.c
index d01b089..31e3971 100644
--- a/src/cairo-truetype-subset.c
+++ b/src/cairo-truetype-subset.c
@@ -94,6 +94,21 @@ struct _cairo_truetype_font {
 
 };
 
+/*
+ * Test that the structs we define for TrueType tables have the
+ * correct size, ie. they are not padded.
+ */
+#define check(T, S) COMPILE_TIME_ASSERT (sizeof (T) == (S))
+check (tt_head_t,	54);
+check (tt_hhea_t,	36);
+check (tt_maxp_t,	32);
+check (tt_name_record_t, 12);
+check (tt_name_t,	18);
+check (tt_name_t,	18);
+check (tt_composite_glyph_t, 18);
+check (tt_glyph_data_t,	28);
+#undef check
+
 static cairo_status_t
 cairo_truetype_font_use_glyph (cairo_truetype_font_t	    *font,
 	                       unsigned short		     glyph,
diff --git a/test/Makefile.sources b/test/Makefile.sources
index eb118ac..f8c19fd 100644
--- a/test/Makefile.sources
+++ b/test/Makefile.sources
@@ -190,7 +190,6 @@ test_sources = \
 	transforms.c					\
 	translate-show-surface.c			\
 	trap-clip.c					\
-	truetype-tables.c				\
 	twin.c						\
 	unantialiased-shapes.c				\
 	unbounded-operator.c				\
diff --git a/test/truetype-tables.c b/test/truetype-tables.c
deleted file mode 100644
index bab119f..0000000
--- a/test/truetype-tables.c
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright © 2006 Red Hat, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software
- * and its documentation for any purpose is hereby granted without
- * fee, provided that the above copyright notice appear in all copies
- * and that both that copyright notice and this permission notice
- * appear in supporting documentation, and that the name of
- * Red Hat, Inc. not be used in advertising or publicity pertaining to
- * distribution of the software without specific, written prior
- * permission. Red Hat, Inc. makes no representations about the
- * suitability of this software for any purpose.  It is provided "as
- * is" without express or implied warranty.
- *
- * RED HAT, INC. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS
- * SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
- * FITNESS, IN NO EVENT SHALL RED HAT, INC. BE LIABLE FOR ANY SPECIAL,
- * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER
- * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
- * IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * Author: Behdad Esfahbod <behdad at behdad.org>
- */
-/*
- * Test that the structs we define for TrueType tables have the
- * correct size, ie. they are not padded.
- */
-
-#include "cairo-test.h"
-
-#include <cairo-truetype-subset-private.h>
-
-static cairo_test_status_t
-preamble (cairo_test_context_t *ctx)
-{
-    cairo_test_status_t ret = CAIRO_TEST_SUCCESS;
-
-#define check(st, sz) \
-	if (sizeof (st) != (sz)) { \
-	    cairo_test_log (ctx, "sizeof (%s): got %d, expected %d", #st, (int)sizeof (st), sz); \
-	    ret = CAIRO_TEST_FAILURE; \
-	}
-#if CAIRO_HAS_FONT_SUBSET
-    check (tt_head_t,	54);
-    check (tt_hhea_t,	36);
-    check (tt_maxp_t,	32);
-    check (tt_name_record_t,	12);
-    check (tt_name_t,	18);
-    check (tt_name_t,	18);
-    check (tt_composite_glyph_t,	18);
-    check (tt_glyph_data_t,	28);
-#endif
-
-    return ret;
-}
-
-CAIRO_TEST (truetype_tables,
-	    "Test that the size of TrueType table structs is correct",
-	    "ft, api", /* keywords */
-	    NULL, /* requirements */
-	    0, 0,
-	    preamble, NULL)


More information about the cairo-commit mailing list