diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2006-08-28 02:38:21 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2006-08-28 02:38:21 +0800 |
commit | 5b69d6a22223574eeae92fc0926cdbbe59818798 (patch) | |
tree | 4393f5e84f8dd92ea8cd53c013c56aa90e80b2b5 /print | |
parent | 1131e65a1faad808d56038d0e97c0eaf7a8ae9e3 (diff) | |
download | marcuscom-ports-5b69d6a22223574eeae92fc0926cdbbe59818798.tar.gz marcuscom-ports-5b69d6a22223574eeae92fc0926cdbbe59818798.tar.zst marcuscom-ports-5b69d6a22223574eeae92fc0926cdbbe59818798.zip |
Update freetype2 to 2.2.1, and fix various ports to allow compilation with
the new version. Please test heavily.
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@7159 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'print')
-rw-r--r-- | print/freetype2/Makefile | 66 | ||||
-rw-r--r-- | print/freetype2/distinfo | 3 | ||||
-rw-r--r-- | print/freetype2/files/patch-aa | 14 | ||||
-rw-r--r-- | print/freetype2/files/patch-builds::unix::configure | 13 | ||||
-rw-r--r-- | print/freetype2/files/patch-builds::unix::freetype-config.in | 17 | ||||
-rw-r--r-- | print/freetype2/files/patch-src_pcf_pcfdrivr.c | 50 | ||||
-rw-r--r-- | print/freetype2/files/patch-src_pcf_pcfread.c | 455 | ||||
-rw-r--r-- | print/freetype2/pkg-descr | 10 | ||||
-rw-r--r-- | print/freetype2/pkg-plist | 53 |
9 files changed, 681 insertions, 0 deletions
diff --git a/print/freetype2/Makefile b/print/freetype2/Makefile new file mode 100644 index 000000000..e6cb9f8bc --- /dev/null +++ b/print/freetype2/Makefile @@ -0,0 +1,66 @@ +# New ports collection makefile for: freetype +# Date created: January 24, 1998 +# Whom: jseger@FreeBSD.org +# +# $FreeBSD: ports/print/freetype2/Makefile,v 1.72 2006/05/16 05:07:44 mezz Exp $ +# + +PORTNAME= freetype2 +PORTVERSION= 2.2.1 +CATEGORIES= print +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:S,%SUBDIR%,freetype,} \ + http://sunsite.cnlab-switch.ch/ftp/mirror/freetype/%SUBDIR%/ \ + http://www.funet.fi/pub/mirrors/ftp.freetype.org/%SUBDIR%/ \ + http://ftp.sunet.se/pub/text-processing/freetype/%SUBDIR%/ \ + ${MASTER_SITE_RINGSERVER:S,%SUBDIR%,graphics/freetype/&,} \ + ftp://ftp.freetype.org/freetype/%SUBDIR%/ +MASTER_SITE_SUBDIR= ${PORTNAME} +DISTNAME= ${PORTNAME:S/2//}-${PORTVERSION} + +MAINTAINER= gnome@FreeBSD.org +COMMENT= A free and portable TrueType font rendering engine + +USE_BZIP2= yes +USE_GMAKE= yes +MAKE_ENV= TOP="" +INSTALLS_SHLIB= yes +GNU_CONFIGURE= yes +USE_GNOME= gnometarget pkgconfig +LIBTOOLFILES= builds/unix/configure +CONFIGURE_ARGS= --disable-nls +CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix + +.if !defined(WITHOUT_TTF_BYTECODE_ENABLED) +CFLAGS+= -DTT_CONFIG_OPTION_BYTECODE_INTERPRETER +.endif + +.if defined(WITH_CJK) +#PATCH_SITES+= http://lwj-hinet.myweb.hinet.net/ \ + ftp://local-distfiles.freebsd.org.cn/pub/china-ports/hamigua/ \ + http://bsdchat.com/dist/firefly-cjk-patchset/ +#PATCHFILES+= cjk-freetype-2.1.10-20051219.patch.gz +#PATCH_DIST_STRIP+= -p1 +.endif + +pre-everything:: +.if !defined(WITHOUT_TTF_BYTECODE_ENABLED) + @${ECHO_MSG} + @${ECHO_MSG} "You may want not to compile a bytecode interpreter into the" + @${ECHO_MSG} "TrueType driver. Without this you will only compile the code" + @${ECHO_MSG} "necessary to load TrueType glyphs without hinting." + @${ECHO_MSG} + @${ECHO_MSG} "Hit Ctrl-C now and use \"make WITHOUT_TTF_BYTECODE_ENABLED=yes\"" + @${ECHO_MSG} + @${ECHO_MSG} "Note that there are important patent issues related to the" + @${ECHO_MSG} "use of the interpreter." + @${ECHO_MSG} +.endif + +pre-patch: + @${REINPLACE_CMD} -e 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g' \ + ${WRKSRC}/builds/unix/install.mk + +post-configure: + @(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup) + +.include <bsd.port.mk> diff --git a/print/freetype2/distinfo b/print/freetype2/distinfo new file mode 100644 index 000000000..208832af0 --- /dev/null +++ b/print/freetype2/distinfo @@ -0,0 +1,3 @@ +MD5 (freetype-2.2.1.tar.bz2) = 5b2f827082c544392a7701f7423f0781 +SHA256 (freetype-2.2.1.tar.bz2) = 0e8eb40392752b306d3a3de21f9fa479d53c17bd774b8051771cb258e162e006 +SIZE (freetype-2.2.1.tar.bz2) = 1212258 diff --git a/print/freetype2/files/patch-aa b/print/freetype2/files/patch-aa new file mode 100644 index 000000000..87863d444 --- /dev/null +++ b/print/freetype2/files/patch-aa @@ -0,0 +1,14 @@ +--- builds/unix/detect.mk.orig Tue Aug 22 17:53:59 2006 ++++ builds/unix/detect.mk Tue Aug 22 17:54:09 2006 +@@ -78,9 +78,9 @@ ifeq ($(PLATFORM),unix) + ifdef must_configure + ifneq ($(have_Makefile),) + # we are building FT2 not in the src tree +- $(TOP_DIR)/builds/unix/configure $(CFG) ++# $(TOP_DIR)/builds/unix/configure $(CFG) + else +- cd builds/unix; ./configure $(CFG) ++# cd builds/unix; ./configure $(CFG) + endif + endif + diff --git a/print/freetype2/files/patch-builds::unix::configure b/print/freetype2/files/patch-builds::unix::configure new file mode 100644 index 000000000..f9bc13eef --- /dev/null +++ b/print/freetype2/files/patch-builds::unix::configure @@ -0,0 +1,13 @@ + +$FreeBSD: ports/print/freetype2/files/patch-builds::unix::configure,v 1.3 2005/03/10 00:52:03 marcus Exp $ + +--- builds/unix/configure.orig Mon Apr 22 19:50:27 2002 ++++ builds/unix/configure Fri Jun 21 15:48:06 2002 +@@ -8654,6 +8654,7 @@ + + # This can be used to rebuild libtool when needed + LIBTOOL_DEPS="$ac_aux_dir/ltmain.sh" ++$ac_aux_dir/ltconfig $LIBTOOL_DEPS + + # Always use our own libtool. + LIBTOOL='$(SHELL) $(top_builddir)/libtool' diff --git a/print/freetype2/files/patch-builds::unix::freetype-config.in b/print/freetype2/files/patch-builds::unix::freetype-config.in new file mode 100644 index 000000000..ca50202de --- /dev/null +++ b/print/freetype2/files/patch-builds::unix::freetype-config.in @@ -0,0 +1,17 @@ +--- builds/unix/freetype-config.in.orig Sun Jan 9 21:18:15 2005 ++++ builds/unix/freetype-config.in Sun Jan 9 21:18:57 2005 +@@ -105,12 +105,8 @@ + fi + + if test "$echo_cflags" = "yes" ; then +- cflags="-I$includedir/freetype2" +- if test "$includedir" != "/usr/include" ; then +- echo $cflags -I$includedir +- else +- echo $cflags +- fi ++ cflags="-I@includedir@/freetype2 -I@includedir@" ++ echo $cflags + fi + + if test "$echo_libs" = "yes" ; then diff --git a/print/freetype2/files/patch-src_pcf_pcfdrivr.c b/print/freetype2/files/patch-src_pcf_pcfdrivr.c new file mode 100644 index 000000000..01758d8a9 --- /dev/null +++ b/print/freetype2/files/patch-src_pcf_pcfdrivr.c @@ -0,0 +1,50 @@ +--- src/pcf/pcfdrivr.c.orig 2006-02-17 07:40:36.000000000 +0100 ++++ src/pcf/pcfdrivr.c +@@ -203,19 +203,23 @@ THE SOFTWARE. + + /* free properties */ + { +- PCF_Property prop = face->properties; ++ PCF_Property prop; + FT_Int i; + + +- for ( i = 0; i < face->nprops; i++ ) ++ if ( face->properties ) + { +- prop = &face->properties[i]; ++ for ( i = 0; i < face->nprops; i++ ) ++ { ++ prop = &face->properties[i]; + +- FT_FREE( prop->name ); +- if ( prop->isString ) +- FT_FREE( prop->value.atom ); ++ if ( prop ) { ++ FT_FREE( prop->name ); ++ if ( prop->isString ) ++ FT_FREE( prop->value.atom ); ++ } ++ } + } +- + FT_FREE( face->properties ); + } + +@@ -258,6 +262,8 @@ THE SOFTWARE. + FT_Error error2; + + ++ PCF_Face_Done( pcfface ); ++ + /* this didn't work, try gzip support! */ + error2 = FT_Stream_OpenGzip( &face->gzip_stream, stream ); + if ( FT_ERROR_BASE( error2 ) == FT_Err_Unimplemented_Feature ) +@@ -357,6 +363,7 @@ THE SOFTWARE. + + Fail: + FT_TRACE2(( "[not a valid PCF file]\n" )); ++ PCF_Face_Done( pcfface ); + error = PCF_Err_Unknown_File_Format; /* error */ + goto Exit; + } diff --git a/print/freetype2/files/patch-src_pcf_pcfread.c b/print/freetype2/files/patch-src_pcf_pcfread.c new file mode 100644 index 000000000..c9117f206 --- /dev/null +++ b/print/freetype2/files/patch-src_pcf_pcfread.c @@ -0,0 +1,455 @@ +--- src/pcf/pcfread.c.orig 2006-01-23 17:35:18.000000000 +0100 ++++ src/pcf/pcfread.c +@@ -102,7 +102,8 @@ THE SOFTWARE. + return PCF_Err_Cannot_Open_Resource; + + if ( toc->version != PCF_FILE_VERSION || +- toc->count > FT_ARRAY_MAX( face->toc.tables ) ) ++ toc->count > FT_ARRAY_MAX( face->toc.tables ) || ++ toc->count == 0 ) + return PCF_Err_Invalid_File_Format; + + if ( FT_NEW_ARRAY( face->toc.tables, toc->count ) ) +@@ -116,6 +117,41 @@ THE SOFTWARE. + tables++; + } + ++ /* Sort tables and check for overlaps. Because they are almost */ ++ /* always ordered already, an in-place bubble sort with simultaneous */ ++ /* boundary checking seems appropriate. */ ++ tables = face->toc.tables; ++ ++ for ( n = 0; n < toc->count - 1; n++ ) ++ { ++ FT_UInt i, have_change; ++ ++ ++ have_change = 0; ++ ++ for ( i = 0; i < toc->count - 1 - n; i++ ) ++ { ++ PCF_TableRec tmp; ++ ++ ++ if ( tables[i].offset > tables[i + 1].offset ) ++ { ++ tmp = tables[i]; ++ tables[i] = tables[i + 1]; ++ tables[i + 1] = tmp; ++ ++ have_change = 1; ++ } ++ ++ if ( ( tables[i].size > tables[i + 1].offset ) || ++ ( tables[i].offset > tables[i + 1].offset - tables[i].size ) ) ++ return PCF_Err_Invalid_Offset; ++ } ++ ++ if ( !have_change ) ++ break; ++ } ++ + #if defined( FT_DEBUG_LEVEL_TRACE ) + + { +@@ -130,7 +166,8 @@ THE SOFTWARE. + tables = face->toc.tables; + for ( i = 0; i < toc->count; i++ ) + { +- for( j = 0; j < sizeof ( tableNames ) / sizeof ( tableNames[0] ); j++ ) ++ for ( j = 0; j < sizeof ( tableNames ) / sizeof ( tableNames[0] ); ++ j++ ) + if ( tables[i].type == (FT_UInt)( 1 << j ) ) + name = tableNames[j]; + +@@ -153,13 +190,15 @@ THE SOFTWARE. + } + + ++#define PCF_METRIC_SIZE 12 ++ + static + const FT_Frame_Field pcf_metric_header[] = + { + #undef FT_STRUCTURE + #define FT_STRUCTURE PCF_MetricRec + +- FT_FRAME_START( 12 ), ++ FT_FRAME_START( PCF_METRIC_SIZE ), + FT_FRAME_SHORT_LE( leftSideBearing ), + FT_FRAME_SHORT_LE( rightSideBearing ), + FT_FRAME_SHORT_LE( characterWidth ), +@@ -176,7 +215,7 @@ THE SOFTWARE. + #undef FT_STRUCTURE + #define FT_STRUCTURE PCF_MetricRec + +- FT_FRAME_START( 12 ), ++ FT_FRAME_START( PCF_METRIC_SIZE ), + FT_FRAME_SHORT( leftSideBearing ), + FT_FRAME_SHORT( rightSideBearing ), + FT_FRAME_SHORT( characterWidth ), +@@ -187,13 +226,15 @@ THE SOFTWARE. + }; + + ++#define PCF_COMPRESSED_METRIC_SIZE 5 ++ + static + const FT_Frame_Field pcf_compressed_metric_header[] = + { + #undef FT_STRUCTURE + #define FT_STRUCTURE PCF_Compressed_MetricRec + +- FT_FRAME_START( 5 ), ++ FT_FRAME_START( PCF_COMPRESSED_METRIC_SIZE ), + FT_FRAME_BYTE( leftSideBearing ), + FT_FRAME_BYTE( rightSideBearing ), + FT_FRAME_BYTE( characterWidth ), +@@ -221,7 +262,7 @@ THE SOFTWARE. + ? pcf_metric_msb_header + : pcf_metric_header; + +- /* the following sets 'error' but doesn't return in case of failure */ ++ /* the following sets `error' but doesn't return in case of failure */ + (void)FT_STREAM_READ_FIELDS( fields, metric ); + } + else +@@ -261,17 +302,19 @@ THE SOFTWARE. + for ( i = 0; i < ntables; i++ ) + if ( tables[i].type == type ) + { +- if ( stream->pos > tables[i].offset ) { ++ if ( stream->pos > tables[i].offset ) ++ { + error = PCF_Err_Invalid_Stream_Skip; + goto Fail; + } + +- if ( FT_STREAM_SKIP( tables[i].offset - stream->pos ) ) { ++ if ( FT_STREAM_SKIP( tables[i].offset - stream->pos ) ) ++ { + error = PCF_Err_Invalid_Stream_Skip; + goto Fail; + } + +- *asize = tables[i].size; /* unused - to be removed */ ++ *asize = tables[i].size; + *aformat = tables[i].format; + + return PCF_Err_Ok; +@@ -298,13 +341,15 @@ THE SOFTWARE. + } + + ++#define PCF_PROPERTY_SIZE 9 ++ + static + const FT_Frame_Field pcf_property_header[] = + { + #undef FT_STRUCTURE + #define FT_STRUCTURE PCF_ParsePropertyRec + +- FT_FRAME_START( 9 ), ++ FT_FRAME_START( PCF_PROPERTY_SIZE ), + FT_FRAME_LONG_LE( name ), + FT_FRAME_BYTE ( isString ), + FT_FRAME_LONG_LE( value ), +@@ -318,7 +363,7 @@ THE SOFTWARE. + #undef FT_STRUCTURE + #define FT_STRUCTURE PCF_ParsePropertyRec + +- FT_FRAME_START( 9 ), ++ FT_FRAME_START( PCF_PROPERTY_SIZE ), + FT_FRAME_LONG( name ), + FT_FRAME_BYTE( isString ), + FT_FRAME_LONG( value ), +@@ -353,8 +398,8 @@ THE SOFTWARE. + PCF_Face face ) + { + PCF_ParseProperty props = 0; +- PCF_Property properties = 0; +- FT_Int nprops, i; ++ PCF_Property properties; ++ FT_UInt nprops, i; + FT_ULong format, size; + FT_Error error; + FT_Memory memory = FT_FACE(face)->memory; +@@ -390,6 +435,15 @@ THE SOFTWARE. + + FT_TRACE4(( " nprop = %d\n", nprops )); + ++ /* rough estimate */ ++ if ( nprops > size / PCF_PROPERTY_SIZE ) ++ { ++ error = PCF_Err_Invalid_Table; ++ goto Bail; ++ } ++ ++ face->nprops = nprops; ++ + if ( FT_NEW_ARRAY( props, nprops ) ) + goto Bail; + +@@ -427,6 +481,13 @@ THE SOFTWARE. + + FT_TRACE4(( " string_size = %ld\n", string_size )); + ++ /* rough estimate */ ++ if ( string_size > size - nprops * PCF_PROPERTY_SIZE ) ++ { ++ error = PCF_Err_Invalid_Table; ++ goto Bail; ++ } ++ + if ( FT_NEW_ARRAY( strings, string_size ) ) + goto Bail; + +@@ -437,13 +498,24 @@ THE SOFTWARE. + if ( FT_NEW_ARRAY( properties, nprops ) ) + goto Bail; + ++ face->properties = properties; ++ + for ( i = 0; i < nprops; i++ ) + { +- /* XXX: make atom */ ++ FT_Long name_offset = props[i].name; ++ ++ ++ if ( ( name_offset < 0 ) || ++ ( (FT_ULong)name_offset > string_size ) ) ++ { ++ error = PCF_Err_Invalid_Offset; ++ goto Bail; ++ } ++ + if ( FT_NEW_ARRAY( properties[i].name, +- ft_strlen( strings + props[i].name ) + 1 ) ) ++ ft_strlen( strings + name_offset ) + 1 ) ) + goto Bail; +- ft_strcpy( properties[i].name, strings + props[i].name ); ++ ft_strcpy( properties[i].name, strings + name_offset ); + + FT_TRACE4(( " %s:", properties[i].name )); + +@@ -451,8 +523,18 @@ THE SOFTWARE. + + if ( props[i].isString ) + { ++ FT_Long value_offset = props[i].value; ++ ++ ++ if ( ( value_offset < 0 ) || ++ ( (FT_ULong)value_offset > string_size ) ) ++ { ++ error = PCF_Err_Invalid_Offset; ++ goto Bail; ++ } ++ + if ( FT_NEW_ARRAY( properties[i].value.atom, +- ft_strlen( strings + props[i].value ) + 1 ) ) ++ ft_strlen( strings + value_offset ) + 1 ) ) + goto Bail; + ft_strcpy( properties[i].value.atom, strings + props[i].value ); + +@@ -466,14 +548,8 @@ THE SOFTWARE. + } + } + +- face->properties = properties; +- face->nprops = nprops; +- +- FT_FREE( props ); +- FT_FREE( strings ); +- +- return PCF_Err_Ok; +- ++ error = PCF_Err_Ok; ++ + Bail: + FT_FREE( props ); + FT_FREE( strings ); +@@ -488,11 +564,9 @@ THE SOFTWARE. + { + FT_Error error = PCF_Err_Ok; + FT_Memory memory = FT_FACE(face)->memory; +- FT_ULong format = 0; +- FT_ULong size = 0; ++ FT_ULong format, size; + PCF_Metric metrics = 0; +- int i; +- int nmetrics = -1; ++ FT_ULong nmetrics, i; + + + error = pcf_seek_to_table_type( stream, +@@ -504,7 +578,8 @@ THE SOFTWARE. + if ( error ) + return error; + +- error = FT_READ_ULONG_LE( format ); ++ if ( FT_READ_ULONG_LE( format ) ) ++ goto Bail; + + if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) && + !PCF_FORMAT_MATCH( format, PCF_COMPRESSED_METRICS ) ) +@@ -524,16 +599,30 @@ THE SOFTWARE. + else + (void)FT_READ_USHORT_LE( nmetrics ); + } +- if ( error || nmetrics == -1 ) ++ if ( error ) + return PCF_Err_Invalid_File_Format; + + face->nmetrics = nmetrics; + ++ FT_TRACE4(( "pcf_get_metrics:\n" )); ++ ++ FT_TRACE4(( " number of metrics: %d\n", nmetrics )); ++ ++ /* rough estimate */ ++ if ( PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) ++ { ++ if ( nmetrics > size / PCF_METRIC_SIZE ) ++ return PCF_Err_Invalid_Table; ++ } ++ else ++ { ++ if ( nmetrics > size / PCF_COMPRESSED_METRIC_SIZE ) ++ return PCF_Err_Invalid_Table; ++ } ++ + if ( FT_NEW_ARRAY( face->metrics, nmetrics ) ) + return PCF_Err_Out_Of_Memory; + +- FT_TRACE4(( "pcf_get_metrics:\n" )); +- + metrics = face->metrics; + for ( i = 0; i < nmetrics; i++ ) + { +@@ -541,7 +630,7 @@ THE SOFTWARE. + + metrics[i].bits = 0; + +- FT_TRACE4(( " idx %d: width=%d, " ++ FT_TRACE5(( " idx %d: width=%d, " + "lsb=%d, rsb=%d, ascent=%d, descent=%d, swidth=%d\n", + i, + ( metrics + i )->characterWidth, +@@ -557,6 +646,8 @@ THE SOFTWARE. + + if ( error ) + FT_FREE( face->metrics ); ++ ++ Bail: + return error; + } + +@@ -597,14 +688,16 @@ THE SOFTWARE. + if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) ) + return PCF_Err_Invalid_File_Format; + ++ FT_TRACE4(( "pcf_get_bitmaps:\n" )); ++ ++ FT_TRACE4(( " number of bitmaps: %d\n", nbitmaps )); ++ + if ( nbitmaps != face->nmetrics ) + return PCF_Err_Invalid_File_Format; + + if ( FT_NEW_ARRAY( offsets, nbitmaps ) ) + return error; + +- FT_TRACE4(( "pcf_get_bitmaps:\n" )); +- + for ( i = 0; i < nbitmaps; i++ ) + { + if ( PCF_BYTE_ORDER( format ) == MSBFirst ) +@@ -612,7 +705,7 @@ THE SOFTWARE. + else + (void)FT_READ_LONG_LE( offsets[i] ); + +- FT_TRACE4(( " bitmap %d: offset %ld (0x%lX)\n", ++ FT_TRACE5(( " bitmap %d: offset %ld (0x%lX)\n", + i, offsets[i], offsets[i] )); + } + if ( error ) +@@ -640,15 +733,22 @@ THE SOFTWARE. + FT_UNUSED( sizebitmaps ); /* only used for debugging */ + + for ( i = 0; i < nbitmaps; i++ ) +- face->metrics[i].bits = stream->pos + offsets[i]; ++ { ++ /* rough estimate */ ++ if ( ( offsets[i] < 0 ) || ++ ( (FT_ULong)offsets[i] > size ) ) ++ { ++ FT_ERROR(( "pcf_get_bitmaps:")); ++ FT_ERROR(( " invalid offset to bitmap data of glyph %d\n", i )); ++ } ++ else ++ face->metrics[i].bits = stream->pos + offsets[i]; ++ } + + face->bitmapsFormat = format; + +- FT_FREE ( offsets ); +- return error; +- + Bail: +- FT_FREE ( offsets ); ++ FT_FREE( offsets ); + return error; + } + +@@ -734,7 +834,7 @@ THE SOFTWARE. + + tmpEncoding[j].glyph = (FT_Short)encodingOffset; + +- FT_TRACE4(( " code %d (0x%04X): idx %d\n", ++ FT_TRACE5(( " code %d (0x%04X): idx %d\n", + tmpEncoding[j].enc, tmpEncoding[j].enc, + tmpEncoding[j].glyph )); + +@@ -828,7 +928,8 @@ THE SOFTWARE. + if ( error ) + goto Bail; + +- error = FT_READ_ULONG_LE( format ); ++ if ( FT_READ_ULONG_LE( format ) ) ++ goto Bail; + + if ( !PCF_FORMAT_MATCH( format, PCF_DEFAULT_FORMAT ) && + !PCF_FORMAT_MATCH( format, PCF_ACCEL_W_INKBOUNDS ) ) +@@ -876,7 +977,6 @@ THE SOFTWARE. + accel->ink_minbounds = accel->minbounds; /* I'm not sure about this */ + accel->ink_maxbounds = accel->maxbounds; + } +- return error; + + Bail: + return error; +@@ -1082,11 +1182,12 @@ THE SOFTWARE. + else + root->family_name = NULL; + +- /* Note: We shift all glyph indices by +1 since we must ++ /* ++ * Note: We shift all glyph indices by +1 since we must + * respect the convention that glyph 0 always corresponds +- * to the "missing glyph". ++ * to the `missing glyph'. + * +- * This implies bumping the number of "available" glyphs by 1. ++ * This implies bumping the number of `available' glyphs by 1. + */ + root->num_glyphs = face->nmetrics + 1; + +@@ -1171,7 +1272,7 @@ THE SOFTWARE. + Exit: + if ( error ) + { +- /* this is done to respect the behaviour of the original */ ++ /* This is done to respect the behaviour of the original */ + /* PCF font driver. */ + error = PCF_Err_Invalid_File_Format; + } diff --git a/print/freetype2/pkg-descr b/print/freetype2/pkg-descr new file mode 100644 index 000000000..538d9a8f8 --- /dev/null +++ b/print/freetype2/pkg-descr @@ -0,0 +1,10 @@ +This includes some tools that are in FreeType 1's contrib directory. + +ttf2pfb: Converting TrueType fonts to the Postscript Type 1 format. +ttf2pk: A simple conversion tool to bring TrueType quality to the + TeX world. +ttf2bdf: Produce bitmapped fonts from TrueType files for your X11 + applications. +ttfbanner: make posters using a TrueType font + +WWW: http://freetype.sourceforge.net/freetype1/projects.html diff --git a/print/freetype2/pkg-plist b/print/freetype2/pkg-plist new file mode 100644 index 000000000..1be8c7350 --- /dev/null +++ b/print/freetype2/pkg-plist @@ -0,0 +1,53 @@ +bin/freetype-config +include/freetype2/freetype/config/ftconfig.h +include/freetype2/freetype/config/ftheader.h +include/freetype2/freetype/config/ftmodule.h +include/freetype2/freetype/config/ftoption.h +include/freetype2/freetype/config/ftstdlib.h +include/freetype2/freetype/freetype.h +include/freetype2/freetype/ftbbox.h +include/freetype2/freetype/ftbdf.h +include/freetype2/freetype/ftbitmap.h +include/freetype2/freetype/ftcache.h +include/freetype2/freetype/ftchapters.h +include/freetype2/freetype/fterrdef.h +include/freetype2/freetype/fterrors.h +include/freetype2/freetype/ftglyph.h +include/freetype2/freetype/ftgxval.h +include/freetype2/freetype/ftgzip.h +include/freetype2/freetype/ftimage.h +include/freetype2/freetype/ftincrem.h +include/freetype2/freetype/ftlist.h +include/freetype2/freetype/ftlzw.h +include/freetype2/freetype/ftmac.h +include/freetype2/freetype/ftmm.h +include/freetype2/freetype/ftmodapi.h +include/freetype2/freetype/ftmoderr.h +include/freetype2/freetype/ftotval.h +include/freetype2/freetype/ftoutln.h +include/freetype2/freetype/ftpfr.h +include/freetype2/freetype/ftrender.h +include/freetype2/freetype/ftsizes.h +include/freetype2/freetype/ftsnames.h +include/freetype2/freetype/ftstroke.h +include/freetype2/freetype/ftsynth.h +include/freetype2/freetype/ftsystem.h +include/freetype2/freetype/fttrigon.h +include/freetype2/freetype/fttypes.h +include/freetype2/freetype/ftwinfnt.h +include/freetype2/freetype/ftxf86.h +include/freetype2/freetype/t1tables.h +include/freetype2/freetype/ttnameid.h +include/freetype2/freetype/tttables.h +include/freetype2/freetype/tttags.h +include/freetype2/freetype/ttunpat.h +include/ft2build.h +lib/libfreetype.a +lib/libfreetype.la +lib/libfreetype.so +lib/libfreetype.so.9 +libdata/pkgconfig/freetype2.pc +share/aclocal/freetype2.m4 +@dirrm include/freetype2/freetype/config +@dirrm include/freetype2/freetype +@dirrm include/freetype2 |