View | Details | Raw Unified | Return to bug 219608 | Differences between
and this patch

Collapse All | Expand All

(-)freetype2/Makefile (-3 / +16 lines)
Lines 3-8 Link Here
3
3
4
PORTNAME=	freetype2
4
PORTNAME=	freetype2
5
PORTVERSION=	2.8
5
PORTVERSION=	2.8
6
PORTREVISION=	1
6
CATEGORIES=	print
7
CATEGORIES=	print
7
MASTER_SITES=	http://savannah.nongnu.org/download/freetype/ \
8
MASTER_SITES=	http://savannah.nongnu.org/download/freetype/ \
8
		SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \
9
		SF/freetype/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/}/ \
Lines 36-45 Link Here
36
CPE_PRODUCT=	freetype
37
CPE_PRODUCT=	freetype
37
CPE_VENDOR=	freetype
38
CPE_VENDOR=	freetype
38
39
39
OPTIONS_DEFINE=		DEBUG DOCS LCD_FILTERING PNG TABLE_VALIDATION \
40
OPTIONS_DEFINE=		DEBUG DOCS LCD_FILTERING LONG_PCF_NAMES PNG \
40
			TT_SIZE_METRICS
41
		TABLE_VALIDATION
41
OPTIONS_GROUP=		SUBPIXEL_HINTING
42
OPTIONS_GROUP=		SUBPIXEL_HINTING
42
OPTIONS_GROUP_SUBPIXEL_HINTING=	V38 V40
43
OPTIONS_GROUP_SUBPIXEL_HINTING=	V38 V40
44
OPTIONS_RADIO=		SIZE_METRICS_CHOICE
45
OPTIONS_RADIO_SIZE_METRICS_CHOICE=	FIX_SIZE_METRICS TT_SIZE_METRICS
43
OPTIONS_DEFAULT=	LCD_FILTERING V40
46
OPTIONS_DEFAULT=	LCD_FILTERING V40
44
47
45
PNG_DESC=		Png compressed OpenType embedded bitmaps support
48
PNG_DESC=		Png compressed OpenType embedded bitmaps support
Lines 48-58 Link Here
48
51
49
TABLE_VALIDATION_DESC=	TrueType GX/AAT and OpenType table validation
52
TABLE_VALIDATION_DESC=	TrueType GX/AAT and OpenType table validation
50
53
51
TT_SIZE_METRICS_DESC=	TrueType-like size metrics for 'light' (V40) auto-hinting
54
SIZE_METRICS_CHOICE_DESC=	Size metrics for TrueType fonts
55
FIX_SIZE_METRICS_DESC=	Fix metrics on size request for scalable fonts (alternative method)
56
FIX_SIZE_METRICS_EXTRA_PATCHES=	${FILESDIR}/extra-patch-fix_size_metrics.diff
57
TT_SIZE_METRICS_DESC=	TrueType-like size metrics for 'light' auto-hinting
52
58
53
LCD_FILTERING_DESC?=	Sub-pixel rendering (patented)
59
LCD_FILTERING_DESC?=	Sub-pixel rendering (patented)
54
LCD_FILTERING_CFLAGS=	-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING
60
LCD_FILTERING_CFLAGS=	-DFT_CONFIG_OPTION_SUBPIXEL_RENDERING
55
61
62
LONG_PCF_NAMES_DESC=	Enable long PCF family names
63
56
SUBPIXEL_HINTING_DESC=	Sub-pixel hinting support
64
SUBPIXEL_HINTING_DESC=	Sub-pixel hinting support
57
V38_DESC=	v38 mode (Infinality code)
65
V38_DESC=	v38 mode (Infinality code)
58
V38_VARS=	SUBPIXEL_HINTING_MODE+=1
66
V38_VARS=	SUBPIXEL_HINTING_MODE+=1
Lines 90-95 Link Here
90
		-e 's|.*\(#define FT_DEBUG_MEMORY\).*|\1|' \
98
		-e 's|.*\(#define FT_DEBUG_MEMORY\).*|\1|' \
91
		${WRKSRC}/include/freetype/config/ftoption.h
99
		${WRKSRC}/include/freetype/config/ftoption.h
92
100
101
post-patch-LONG_PCF_NAMES-on:
102
	@${REINPLACE_CMD} -i '.names.bak' \
103
		-e 's|.*\(#define PCF_CONFIG_OPTION_LONG_FAMILY_NAMES\).*|\1|' \
104
		${WRKSRC}/include/freetype/config/ftoption.h
105
93
post-patch-TABLE_VALIDATION-on:
106
post-patch-TABLE_VALIDATION-on:
94
	@${REINPLACE_CMD} -e '/valid$$/s|#.*\(AUX_MODULES\)|\1|' \
107
	@${REINPLACE_CMD} -e '/valid$$/s|#.*\(AUX_MODULES\)|\1|' \
95
		${WRKSRC}/modules.cfg
108
		${WRKSRC}/modules.cfg
(-)freetype2/files/extra-patch-fix_size_metrics.diff (+48 lines)
Line 0 Link Here
1
# Fix metrics on size request for scalable fonts.
2
# Based on b0962ac34e66052ccfee7996e5468f30d4bd5a72 commit with changes for new version.
3
# Reverts bcc74f4dafee25ea89f1d3144646cba7e30f9908 commit for src/truetype/ttdriver.c file.
4
# Adapts 8ab08cff63eeb23b6c9f2c4470ae9809f2acf244 commit for src/truetype/ttobjs.c file.
5
6
--- src/truetype/ttdriver.c.orig	2017-04-29 04:38:17 UTC
7
+++ src/truetype/ttdriver.c
8
@@ -357,6 +357,8 @@
9
     if ( FT_IS_SCALABLE( size->face ) )
10
     {
11
       error = tt_size_reset( ttsize, 0 );
12
+      if ( !error )
13
+        ttsize->root.metrics = *ttsize->metrics;
14
 
15
 #ifdef TT_USE_BYTECODE_INTERPRETER
16
       /* for the `MPS' bytecode instruction we need the point size */
17
--- src/truetype/ttobjs.c.orig	2017-05-07 11:05:56 UTC
18
+++ src/truetype/ttobjs.c
19
@@ -1262,6 +1262,13 @@
20
     /*                                                               */
21
     if ( face->header.Flags & 8 )
22
     {
23
+      if ( !only_height )
24
+      {
25
+        size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
26
+                                           face->root.units_per_EM );
27
+        size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
28
+                                           face->root.units_per_EM );
29
+      }
30
       /* the TT spec always asks for ROUND, not FLOOR or CEIL */
31
       size_metrics->ascender = FT_PIX_ROUND(
32
                                  FT_MulFix( face->root.ascender,
33
@@ -1281,12 +1288,15 @@
34
 
35
     if ( face->header.Flags & 8 )
36
     {
37
+      if ( only_height )
38
+      {
39
       /* base scaling values on integer ppem values, */
40
       /* as mandated by the TrueType specification   */
41
       size_metrics->x_scale = FT_DivFix( size_metrics->x_ppem << 6,
42
                                          face->root.units_per_EM );
43
       size_metrics->y_scale = FT_DivFix( size_metrics->y_ppem << 6,
44
                                          face->root.units_per_EM );
45
+      }
46
 
47
       size_metrics->max_advance = FT_PIX_ROUND(
48
                                     FT_MulFix( face->root.max_advance_width,

Return to bug 219608