Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 Jul 2019 13:29:58 +0000 (UTC)
From:      Steve Wills <swills@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r506925 - in head/print/freetype2: . files
Message-ID:  <201907191329.x6JDTwDM090083@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: swills
Date: Fri Jul 19 13:29:57 2019
New Revision: 506925
URL: https://svnweb.freebsd.org/changeset/ports/506925

Log:
  print/freetype2: update to 2.10.1
  
  PR:		239165
  Submitted by:	lightside@gmx.com
  Exp-run by:	antoine

Added:
  head/print/freetype2/files/patch-2.10.1.diff   (contents, props changed)
Deleted:
  head/print/freetype2/files/patch-2.10.0.diff
Modified:
  head/print/freetype2/Makefile   (contents, props changed)
  head/print/freetype2/distinfo   (contents, props changed)
  head/print/freetype2/files/patch-builds_unix_detect.mk   (contents, props changed)
  head/print/freetype2/files/pkg-message.in   (contents, props changed)
  head/print/freetype2/pkg-plist   (contents, props changed)

Modified: head/print/freetype2/Makefile
==============================================================================
--- head/print/freetype2/Makefile	Fri Jul 19 11:13:10 2019	(r506924)
+++ head/print/freetype2/Makefile	Fri Jul 19 13:29:57 2019	(r506925)
@@ -2,7 +2,7 @@
 # $FreeBSD$
 
 PORTNAME=	freetype2
-PORTVERSION=	2.10.0
+PORTVERSION=	2.10.1
 CATEGORIES=	print
 MASTER_SITES=	http://savannah.nongnu.org/download/freetype/ \
 		SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \
@@ -22,7 +22,7 @@ LICENSE_FILE_FTL=	${WRKSRC}/docs/FTL.TXT
 LICENSE_FILE_GPLv2+ =	${WRKSRC}/docs/GPLv2.TXT
 LICENSE_PERMS_FTL=	dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
 
-USES=		cpe gmake libtool tar:bzip2
+USES=		cpe gmake libtool tar:xz
 MAKE_ENV=	TOP=""
 USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
@@ -44,7 +44,7 @@ OPTIONS_SINGLE=	RENDERING
 OPTIONS_SINGLE_RENDERING=	LCD_FILTERING LCD_RENDERING
 OPTIONS_RADIO=		SIZE_METRICS_CHOICE
 OPTIONS_RADIO_SIZE_METRICS_CHOICE=	FIX_SIZE_METRICS TT_SIZE_METRICS
-OPTIONS_DEFAULT=	CONFIG LCD_RENDERING V40
+OPTIONS_DEFAULT=	CONFIG LCD_RENDERING LONG_PCF_NAMES V40
 OPTIONS_SUB=	yes
 
 CONFIG_DESC=	Install freetype-config

Modified: head/print/freetype2/distinfo
==============================================================================
--- head/print/freetype2/distinfo	Fri Jul 19 11:13:10 2019	(r506924)
+++ head/print/freetype2/distinfo	Fri Jul 19 13:29:57 2019	(r506925)
@@ -1,3 +1,3 @@
-TIMESTAMP = 1552633282
-SHA256 (freetype-2.10.0.tar.bz2) = fccc62928c65192fff6c98847233b28eb7ce05f12d2fea3f6cc90e8b4e5fbe06
-SIZE (freetype-2.10.0.tar.bz2) = 2743740
+TIMESTAMP = 1561996538
+SHA256 (freetype-2.10.1.tar.xz) = 16dbfa488a21fe827dc27eaf708f42f7aa3bb997d745d31a19781628c36ba26f
+SIZE (freetype-2.10.1.tar.xz) = 2378784

Added: head/print/freetype2/files/patch-2.10.1.diff
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/print/freetype2/files/patch-2.10.1.diff	Fri Jul 19 13:29:57 2019	(r506925)
@@ -0,0 +1,200 @@
+# [psaux] (1/2) Handle fonts that use SEAC for ligatures (#56580).
+# http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=f2b64583cb2587373e126b06d8da9ac97b287681
+# [psaux] (2/2) Handle fonts that use SEAC for ligatures (#56580).
+# http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=05439f5cc69eaa3deaf3db52a7999af09a2c293a
+# Properly handle phantom points for variation fonts (#56601).
+# http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=12e4307dc7b48c9a4a4fc3ac6c32220874ab18ec
+# [sfnt, winfonts] Avoid memory leaks in case of error (#56587).
+# http://git.savannah.gnu.org/cgit/freetype/freetype2.git/commit/?id=b110acba9e6f7e40314f0da5d249cb3cb3beeab8
+
+--- src/psaux/psintrp.c.orig	2019-03-05 10:28:19 UTC
++++ src/psaux/psintrp.c
+@@ -1433,6 +1433,13 @@
+                       lastError = error2; /* pass FreeType error through */
+                       goto exit;
+                     }
++
++                    /* save the left bearing and width of the SEAC   */
++                    /* glyph as they will be erased by the next load */
++
++                    left_bearing = *decoder->builder.left_bearing;
++                    advance      = *decoder->builder.advance;
++
+                     cf2_interpT2CharString( font,
+                                             &component,
+                                             callbacks,
+@@ -1443,11 +1450,14 @@
+                                             &dummyWidth );
+                     cf2_freeT1SeacComponent( decoder, &component );
+ 
+-                    /* save the left bearing and width of the base       */
+-                    /* character as they will be erased by the next load */
++                    /* If the SEAC glyph doesn't have a (H)SBW of its */
++                    /* own use the values from the base glyph.        */
+ 
+-                    left_bearing = *decoder->builder.left_bearing;
+-                    advance      = *decoder->builder.advance;
++                    if ( !haveWidth )
++                    {
++                      left_bearing = *decoder->builder.left_bearing;
++                      advance      = *decoder->builder.advance;
++                    }
+ 
+                     decoder->builder.left_bearing->x = 0;
+                     decoder->builder.left_bearing->y = 0;
+@@ -1473,8 +1483,8 @@
+                                             &dummyWidth );
+                     cf2_freeT1SeacComponent( decoder, &component );
+ 
+-                    /* restore the left side bearing and   */
+-                    /* advance width of the base character */
++                    /* restore the left side bearing and advance width   */
++                    /* of the SEAC glyph or base character (saved above) */
+ 
+                     *decoder->builder.left_bearing = left_bearing;
+                     *decoder->builder.advance      = advance;
+--- src/psaux/t1decode.c.orig	2019-02-23 09:06:07 UTC
++++ src/psaux/t1decode.c
+@@ -367,6 +367,12 @@
+ 
+     FT_GlyphLoader_Prepare( decoder->builder.loader );  /* prepare loader */
+ 
++    /* save the left bearing and width of the SEAC   */
++    /* glyph as they will be erased by the next load */
++
++    left_bearing = decoder->builder.left_bearing;
++    advance      = decoder->builder.advance;
++
+     /* the seac operator must not be nested */
+     decoder->seac = TRUE;
+     error = t1_decoder_parse_glyph( decoder, (FT_UInt)bchar_index );
+@@ -374,11 +380,14 @@
+     if ( error )
+       goto Exit;
+ 
+-    /* save the left bearing and width of the base character */
+-    /* as they will be erased by the next load.              */
++    /* If the SEAC glyph doesn't have a (H)SBW of its */
++    /* own use the values from the base glyph.        */
+ 
+-    left_bearing = decoder->builder.left_bearing;
+-    advance      = decoder->builder.advance;
++    if ( decoder->builder.parse_state != T1_Parse_Have_Width )
++    {
++      left_bearing = decoder->builder.left_bearing;
++      advance      = decoder->builder.advance;
++    }
+ 
+     decoder->builder.left_bearing.x = 0;
+     decoder->builder.left_bearing.y = 0;
+@@ -396,8 +405,8 @@
+     if ( error )
+       goto Exit;
+ 
+-    /* restore the left side bearing and   */
+-    /* advance width of the base character */
++    /* restore the left side bearing and advance width   */
++    /* of the SEAC glyph or base character (saved above) */
+ 
+     decoder->builder.left_bearing = left_bearing;
+     decoder->builder.advance      = advance;
+--- src/sfnt/sfwoff.c.orig	2019-05-31 05:59:06 UTC
++++ src/sfnt/sfwoff.c
+@@ -371,18 +371,18 @@
+                                     sfnt + table->OrigOffset, &output_len,
+                                     stream->cursor, table->CompLength );
+         if ( error )
+-          goto Exit;
++          goto Exit1;
+         if ( output_len != table->OrigLength )
+         {
+           FT_ERROR(( "woff_font_open: compressed table length mismatch\n" ));
+           error = FT_THROW( Invalid_Table );
+-          goto Exit;
++          goto Exit1;
+         }
+ 
+ #else /* !FT_CONFIG_OPTION_USE_ZLIB */
+ 
+         error = FT_THROW( Unimplemented_Feature );
+-        goto Exit;
++        goto Exit1;
+ 
+ #endif /* !FT_CONFIG_OPTION_USE_ZLIB */
+       }
+@@ -424,6 +424,10 @@
+     }
+ 
+     return error;
++
++  Exit1:
++    FT_FRAME_EXIT();
++    goto Exit;
+   }
+ 
+ 
+--- src/truetype/ttgload.c.orig	2019-05-29 06:13:12 UTC
++++ src/truetype/ttgload.c
+@@ -1102,9 +1102,16 @@
+       }
+ 
+ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+-      /* if we have a HVAR table, `pp1' and/or `pp2' are already adjusted */
+-      if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) ||
+-           !IS_HINTED( loader->load_flags )                                 )
++      /* if we have a HVAR table, `pp1' and/or `pp2' */
++      /* are already adjusted but unscaled           */
++      if ( ( loader->face->variation_support & TT_FACE_FLAG_VAR_HADVANCE ) &&
++           IS_HINTED( loader->load_flags )                                 )
++      {
++        loader->pp1.x = FT_MulFix( loader->pp1.x, x_scale );
++        loader->pp2.x = FT_MulFix( loader->pp2.x, x_scale );
++        /* pp1.y and pp2.y are always zero */
++      }
++      else
+ #endif
+       {
+         loader->pp1 = outline->points[n_points - 4];
+@@ -1112,9 +1119,17 @@
+       }
+ 
+ #ifdef TT_CONFIG_OPTION_GX_VAR_SUPPORT
+-      /* if we have a VVAR table, `pp3' and/or `pp4' are already adjusted */
+-      if ( !( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) ||
+-           !IS_HINTED( loader->load_flags )                                 )
++      /* if we have a VVAR table, `pp3' and/or `pp4' */
++      /* are already adjusted but unscaled           */
++      if ( ( loader->face->variation_support & TT_FACE_FLAG_VAR_VADVANCE ) &&
++           IS_HINTED( loader->load_flags )                                 )
++      {
++        loader->pp3.x = FT_MulFix( loader->pp3.x, x_scale );
++        loader->pp3.y = FT_MulFix( loader->pp3.y, y_scale );
++        loader->pp4.x = FT_MulFix( loader->pp4.x, x_scale );
++        loader->pp4.y = FT_MulFix( loader->pp4.y, y_scale );
++      }
++      else
+ #endif
+       {
+         loader->pp3 = outline->points[n_points - 2];
+--- src/winfonts/winfnt.c.orig	2019-02-23 09:06:07 UTC
++++ src/winfonts/winfnt.c
+@@ -331,7 +331,7 @@
+         {
+           FT_TRACE2(( "invalid alignment shift count for resource data\n" ));
+           error = FT_THROW( Invalid_File_Format );
+-          goto Exit;
++          goto Exit1;
+         }
+ 
+ 
+@@ -597,6 +597,10 @@
+ 
+   Exit:
+     return error;
++
++  Exit1:
++    FT_FRAME_EXIT();
++    goto Exit;
+   }
+ 
+ 

Modified: head/print/freetype2/files/patch-builds_unix_detect.mk
==============================================================================
--- head/print/freetype2/files/patch-builds_unix_detect.mk	Fri Jul 19 11:13:10 2019	(r506924)
+++ head/print/freetype2/files/patch-builds_unix_detect.mk	Fri Jul 19 13:29:57 2019	(r506925)
@@ -1,4 +1,4 @@
---- builds/unix/detect.mk.orig	2016-02-03 18:13:58 UTC
+--- builds/unix/detect.mk.orig	2019-02-23 09:06:06 UTC
 +++ builds/unix/detect.mk
 @@ -22,6 +22,9 @@ ifeq ($(PLATFORM),ansi)
                       $(wildcard /usr/sbin/init) \
@@ -10,7 +10,7 @@
    ifneq ($(is_unix),)
  
      PLATFORM := unix
-@@ -80,10 +83,10 @@ ifeq ($(PLATFORM),unix)
+@@ -86,10 +89,10 @@ ifeq ($(PLATFORM),unix)
    ifdef must_configure
      ifneq ($(have_Makefile),)
        # we are building FT2 not in the src tree

Modified: head/print/freetype2/files/pkg-message.in
==============================================================================
--- head/print/freetype2/files/pkg-message.in	Fri Jul 19 11:13:10 2019	(r506924)
+++ head/print/freetype2/files/pkg-message.in	Fri Jul 19 13:29:57 2019	(r506925)
@@ -14,6 +14,17 @@ FREETYPE_PROPERTIES=truetype:interpreter-version=35 \
 This allows to select, say, the subpixel hinting mode at runtime for a given
 application.
 
+If LONG_PCF_NAMES port's option was enabled, the PCF family names may include
+the foundry and information whether they contain wide characters. For example,
+"Sony Fixed" or "Misc Fixed Wide", instead of "Fixed". This can be disabled at
+run time with using pcf:no-long-family-names property, if needed. Example:
+
+FREETYPE_PROPERTIES=pcf:no-long-family-names=1
+
+How to recreate fontconfig cache with using such environment variable,
+if needed:
+# env FREETYPE_PROPERTIES=pcf:no-long-family-names=1 fc-cache -fsv
+
 The controllable properties are listed in the section "Controlling FreeType
 Modules" in the reference's table of contents
 (%%DOCSDIR%%/reference/site/index.html, if documentation was installed).

Modified: head/print/freetype2/pkg-plist
==============================================================================
--- head/print/freetype2/pkg-plist	Fri Jul 19 11:13:10 2019	(r506924)
+++ head/print/freetype2/pkg-plist	Fri Jul 19 13:29:57 2019	(r506925)
@@ -52,7 +52,7 @@ include/freetype2/ft2build.h
 lib/libfreetype.a
 lib/libfreetype.so
 lib/libfreetype.so.6
-lib/libfreetype.so.6.17.0
+lib/libfreetype.so.6.17.1
 libdata/pkgconfig/freetype2.pc
 %%CONFIG%%man/man1/freetype-config.1.gz
 share/aclocal/freetype2.m4



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201907191329.x6JDTwDM090083>