summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD11
-rw-r--r--revert_allow_linear_scaling.patch55
3 files changed, 67 insertions, 5 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 8e6518fafd68..6765906474ea 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sun May 21 15:23:30 UTC 2017
+# Sun Jun 11 14:30:36 UTC 2017
pkgbase = freetype2-ttmetrics
pkgdesc = Font rasterization library with TrueType metrics enabled
pkgver = 2.8
- pkgrel = 1
+ pkgrel = 2
url = https://www.freetype.org/
install = freetype2.install
arch = i686
@@ -27,6 +27,7 @@ pkgbase = freetype2-ttmetrics
source = 0004-Enable-long-PCF-family-names.patch
source = freetype2.sh
source = enable_truetype_like_size_metrics.patch
+ source = revert_allow_linear_scaling.patch
sha1sums = 42c6b1f733fe13a3eba135f5025b22cb68450f91
sha1sums = 5b221ee14fe674cd5f6db0193d55360bc0bd3655
sha1sums = c3e91e668936206d3c158bffde0f69788a086a5b
@@ -35,6 +36,7 @@ pkgbase = freetype2-ttmetrics
sha1sums = 334f229875039794adeb574e27d365bb445fb314
sha1sums = bc6df1661c4c33e20f5ce30c2da8ad3c2083665f
sha1sums = 833a8622bc61fc6f41c0e87c3614dec73490c9b1
+ sha1sums = f2cc372aedce56b387ee0c5403745d642bd44fe8
pkgname = freetype2-ttmetrics
diff --git a/PKGBUILD b/PKGBUILD
index 0c5dbb9059ae..88f173157363 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,7 +3,7 @@
pkgname=freetype2-ttmetrics
pkgver=2.8
-pkgrel=1
+pkgrel=2
pkgdesc="Font rasterization library with TrueType metrics enabled"
arch=(i686 x86_64)
license=('GPL')
@@ -23,7 +23,8 @@ source=(https://download-mirror.savannah.gnu.org/releases/freetype/freetype-${pk
0003-Enable-infinality-subpixel-hinting.patch
0004-Enable-long-PCF-family-names.patch
freetype2.sh
- enable_truetype_like_size_metrics.patch)
+ enable_truetype_like_size_metrics.patch
+ revert_allow_linear_scaling.patch)
sha1sums=('42c6b1f733fe13a3eba135f5025b22cb68450f91'
'5b221ee14fe674cd5f6db0193d55360bc0bd3655'
'c3e91e668936206d3c158bffde0f69788a086a5b'
@@ -31,7 +32,8 @@ sha1sums=('42c6b1f733fe13a3eba135f5025b22cb68450f91'
'81586014ea44375ddc85dd9dbcabae6e91c34d62'
'334f229875039794adeb574e27d365bb445fb314'
'bc6df1661c4c33e20f5ce30c2da8ad3c2083665f'
- '833a8622bc61fc6f41c0e87c3614dec73490c9b1')
+ '833a8622bc61fc6f41c0e87c3614dec73490c9b1'
+ 'f2cc372aedce56b387ee0c5403745d642bd44fe8')
prepare() {
# Rename source dir to allow building the demos
@@ -45,6 +47,9 @@ prepare() {
# See https://bbs.archlinux.org/viewtopic.php?id=226380
patch -Np1 -i ../enable_truetype_like_size_metrics.patch
+
+ # Also see https://bbs.archlinux.org/viewtopic.php?id=226380
+ patch -Np1 -i ../revert_allow_linear_scaling.patch
}
build() {
diff --git a/revert_allow_linear_scaling.patch b/revert_allow_linear_scaling.patch
new file mode 100644
index 000000000000..6a12364bb6e7
--- /dev/null
+++ b/revert_allow_linear_scaling.patch
@@ -0,0 +1,55 @@
+diff -Nur original/src/truetype/ttdriver.c modified/src/truetype/ttdriver.c
+--- original/src/truetype/ttdriver.c 2017-04-29 05:38:17.000000000 +0100
++++ modified/src/truetype/ttdriver.c 2017-06-11 15:11:59.313798025 +0100
+@@ -357,6 +357,7 @@
+ if ( FT_IS_SCALABLE( size->face ) )
+ {
+ error = tt_size_reset( ttsize, 0 );
++ ttsize->root.metrics = *ttsize->metrics;
+
+ #ifdef TT_USE_BYTECODE_INTERPRETER
+ /* for the `MPS' bytecode instruction we need the point size */
+diff -Nur original/src/truetype/ttgload.c modified/src/truetype/ttgload.c
+--- original/src/truetype/ttgload.c 2017-05-03 22:40:41.000000000 +0100
++++ modified/src/truetype/ttgload.c 2017-06-11 15:17:43.758145947 +0100
+@@ -2038,7 +2038,7 @@
+
+ y_scale = 0x10000L;
+ if ( ( loader->load_flags & FT_LOAD_NO_SCALE ) == 0 )
+- y_scale = size->metrics->y_scale;
++ y_scale = size->root.metrics.y_scale;
+
+ if ( glyph->format != FT_GLYPH_FORMAT_COMPOSITE )
+ FT_Outline_Get_CBox( &glyph->outline, &bbox );
+@@ -2070,7 +2070,7 @@
+
+
+ widthp = tt_face_get_device_metrics( face,
+- size->metrics->x_ppem,
++ size->root.metrics.x_ppem,
+ glyph_index );
+
+ #ifdef TT_SUPPORT_SUBPIXEL_HINTING_INFINALITY
+@@ -2637,11 +2637,11 @@
+ if ( !glyph->metrics.horiAdvance && glyph->linearHoriAdvance )
+ glyph->metrics.horiAdvance =
+ FT_MulFix( glyph->linearHoriAdvance,
+- size->metrics->x_scale );
++ size->root.metrics.x_scale );
+ if ( !glyph->metrics.vertAdvance && glyph->linearVertAdvance )
+ glyph->metrics.vertAdvance =
+ FT_MulFix( glyph->linearVertAdvance,
+- size->metrics->y_scale );
++ size->root.metrics.y_scale );
+ }
+
+ return FT_Err_Ok;
+@@ -2737,7 +2737,7 @@
+ /* TrueType glyphs at all sizes using the bytecode interpreter. */
+ /* */
+ if ( !( load_flags & FT_LOAD_NO_SCALE ) &&
+- size->metrics->y_ppem < 24 )
++ size->root.metrics.y_ppem < 24 )
+ glyph->outline.flags |= FT_OUTLINE_HIGH_PRECISION;
+
+ Exit: