Index: head/print/freetype2/Makefile =================================================================== --- head/print/freetype2/Makefile (revision 392889) +++ head/print/freetype2/Makefile (revision 392890) @@ -1,49 +1,50 @@ # Created by: jseger@FreeBSD.org # $FreeBSD$ PORTNAME= freetype2 PORTVERSION= 2.6 +PORTREVISION= 1 CATEGORIES= print MASTER_SITES= http://savannah.nongnu.org/download/freetype/ \ SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \ http://sunsite.cnlab-switch.ch/ftp/mirror/freetype/freetype2/ \ http://www.funet.fi/pub/mirrors/ftp.freetype.org/freetype2/ \ http://ftp.sunet.se/pub/text-processing/freetype/freetype2/ \ ftp://ftp.freetype.org/freetype/freetype2/ DISTNAME= ${PORTNAME:S/2//}-${PORTVERSION} MAINTAINER= gnome@FreeBSD.org COMMENT= Free and portable TrueType font rendering engine USES= cpe gmake libtool tar:bzip2 MAKE_ENV= TOP="" USE_LDCONFIG= yes GNU_CONFIGURE= yes CONFIGURE_ARGS= --without-harfbuzz CONFIGURE_WRKSRC= ${WRKSRC}/builds/unix CPE_PRODUCT= freetype CPE_VENDOR= freetype OPTIONS_DEFINE= LCD_FILTERING PNG OPTIONS_DEFAULT= LCD_FILTERING LCD_FILTERING_DESC?= Sub-pixel rendering (patented) PNG_DESC= Png compressed OpenType embedded bitmaps support LCD_FILTERING_CFLAGS= -DFT_CONFIG_OPTION_SUBPIXEL_RENDERING PNG_LIB_DEPENDS= libpng.so:${PORTSDIR}/graphics/png PNG_CONFIGURE_OFF= --without-png 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} \ ${MAKE_CMD} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} setup) post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/libfreetype.so.* .include Index: head/print/freetype2/files/patch-5cd2155 =================================================================== --- head/print/freetype2/files/patch-5cd2155 (nonexistent) +++ head/print/freetype2/files/patch-5cd2155 (revision 392890) @@ -0,0 +1,163 @@ +Revert commit below to fix cut off text + +https://savannah.nongnu.org/bugs/?45520 + +From 5cd21551131ef3a9690ecbefcc9782286ee5199e Mon Sep 17 00:00:00 2001 +From: Werner Lemberg +Date: Fri, 10 Apr 2015 05:01:01 +0000 +Subject: [cff] Update advance width handling to OpenType 1.7. + +Problem reported by Behdad. + +* src/cff/cffdrivr.c (cff_get_advances): Handle SFNT case +separately. + +* src/cff/cffgload.c (cff_slot_load): Use advance width and side +bearing values from `hmtx' table if present. +--- + +--- src/cff/cffdrivr.c.orig 2015-04-28 09:15:13.000000000 +0200 ++++ src/cff/cffdrivr.c 2015-07-25 17:42:23.025572000 +0200 +@@ -195,68 +195,6 @@ + FT_GlyphSlot slot = face->glyph; + + +- if ( FT_IS_SFNT( face ) ) +- { +- /* OpenType 1.7 mandates that the data from `hmtx' table be used; */ +- /* it is no longer necessary that those values are identical to */ +- /* the values in the `CFF' table */ +- +- TT_Face ttface = (TT_Face)face; +- FT_Short dummy; +- +- +- if ( flags & FT_LOAD_VERTICAL_LAYOUT ) +- { +- /* check whether we have data from the `vmtx' table at all; */ +- /* otherwise we extract the info from the CFF glyphstrings */ +- /* (instead of synthesizing a global value using the `OS/2' */ +- /* table) */ +- if ( !ttface->vertical_info ) +- goto Missing_Table; +- +- for ( nn = 0; nn < count; nn++ ) +- { +- FT_UShort ah; +- +- +- ( (SFNT_Service)ttface->sfnt )->get_metrics( ttface, +- 1, +- start + nn, +- &dummy, +- &ah ); +- +- FT_TRACE5(( " idx %d: advance height %d font units\n", +- start + nn, ah )); +- advances[nn] = ah; +- } +- } +- else +- { +- /* check whether we have data from the `hmtx' table at all */ +- if ( !ttface->horizontal.number_Of_HMetrics ) +- goto Missing_Table; +- +- for ( nn = 0; nn < count; nn++ ) +- { +- FT_UShort aw; +- +- +- ( (SFNT_Service)ttface->sfnt )->get_metrics( ttface, +- 0, +- start + nn, +- &dummy, +- &aw ); +- +- FT_TRACE5(( " idx %d: advance width %d font units\n", +- start + nn, aw )); +- advances[nn] = aw; +- } +- } +- +- return error; +- } +- +- Missing_Table: + flags |= (FT_UInt32)FT_LOAD_ADVANCE_ONLY; + + for ( nn = 0; nn < count; nn++ ) +--- src/cff/cffgload.c.orig 2015-04-16 07:02:23.000000000 +0200 ++++ src/cff/cffgload.c 2015-07-25 17:42:23.027008000 +0200 +@@ -2725,7 +2725,7 @@ + face->vertical_info && + face->vertical.number_Of_VMetrics > 0 ); + +- /* get the vertical metrics from the vmtx table if we have one */ ++ /* get the vertical metrics from the vtmx table if we have one */ + if ( has_vertical_info ) + { + (void)( (SFNT_Service)face->sfnt )->get_metrics( face, 1, +@@ -2953,43 +2953,25 @@ + FT_Bool has_vertical_info; + + +- if ( face->horizontal.number_Of_HMetrics ) +- { +- FT_Short horiBearingX = 0; +- FT_UShort horiAdvance = 0; +- +- +- ( (SFNT_Service)face->sfnt )->get_metrics( face, 0, +- glyph_index, +- &horiBearingX, +- &horiAdvance ); +- metrics->horiAdvance = horiAdvance; +- metrics->horiBearingX = horiBearingX; +- glyph->root.linearHoriAdvance = horiAdvance; +- } +- else +- { +- /* copy the _unscaled_ advance width */ +- metrics->horiAdvance = decoder.glyph_width; +- glyph->root.linearHoriAdvance = decoder.glyph_width; +- } +- ++ /* copy the _unscaled_ advance width */ ++ metrics->horiAdvance = decoder.glyph_width; ++ glyph->root.linearHoriAdvance = decoder.glyph_width; + glyph->root.internal->glyph_transformed = 0; + + has_vertical_info = FT_BOOL( face->vertical_info && + face->vertical.number_Of_VMetrics > 0 ); + +- /* get the vertical metrics from the vmtx table if we have one */ ++ /* get the vertical metrics from the vtmx table if we have one */ + if ( has_vertical_info ) + { + FT_Short vertBearingY = 0; + FT_UShort vertAdvance = 0; + + +- ( (SFNT_Service)face->sfnt )->get_metrics( face, 1, +- glyph_index, +- &vertBearingY, +- &vertAdvance ); ++ (void)( (SFNT_Service)face->sfnt )->get_metrics( face, 1, ++ glyph_index, ++ &vertBearingY, ++ &vertAdvance ); + metrics->vertBearingY = vertBearingY; + metrics->vertAdvance = vertAdvance; + } +@@ -3064,9 +3046,7 @@ + metrics->width = cbox.xMax - cbox.xMin; + metrics->height = cbox.yMax - cbox.yMin; + +- if ( !face->horizontal.number_Of_HMetrics ) +- metrics->horiBearingX = cbox.xMin; +- ++ metrics->horiBearingX = cbox.xMin; + metrics->horiBearingY = cbox.yMax; + + if ( has_vertical_info ) Property changes on: head/print/freetype2/files/patch-5cd2155 ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/print/freetype2/pkg-descr =================================================================== --- head/print/freetype2/pkg-descr (revision 392889) +++ head/print/freetype2/pkg-descr (revision 392890) @@ -1,10 +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/ +WWW: http://www.freetype.org/