# ChangeLog for media-libs/freetype
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.107 2007/03/09 23:46:42 beandog Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/ChangeLog,v 1.108 2007/03/25 15:10:04 dirtyepic Exp $
+
+*freetype-2.3.2-r1 (25 Mar 2007)
+
+ 25 Mar 2007; Ryan Hill <dirtyepic@gentoo.org>
+ +files/freetype-2.3.2-truetype-regression.patch,
+ +freetype-2.3.2-r1.ebuild:
+ Revision bump to fix bug #170512 and bug #170532.
*freetype-2.3.2 (09 Mar 2007)
MD5 7c46e7d6f0159a84608bf4bd85fe6bb8 files/freetype-2.2.1-foobillard.patch 951
RMD160 d077f6a3ce5645183e8656169347d698a18f184f files/freetype-2.2.1-foobillard.patch 951
SHA256 9ba8c5ede47f5a2eb7a9cad5f245325035da1df13eaca8bc24fa6da51b3370f4 files/freetype-2.2.1-foobillard.patch 951
+AUX freetype-2.3.2-truetype-regression.patch 4892 RMD160 f1120ff608dc19eeb3b5f887fdda182b8903a3ce SHA1 8095fe264ce5ac3bc4951bdf41d8f166bae9eab5 SHA256 b0a688533a5b7cc205b179565d28aed9d11ff9f83dda8556e13a6ab82ef258be
+MD5 fac7a7cbe58f59fe4ab2f575d2695b85 files/freetype-2.3.2-truetype-regression.patch 4892
+RMD160 f1120ff608dc19eeb3b5f887fdda182b8903a3ce files/freetype-2.3.2-truetype-regression.patch 4892
+SHA256 b0a688533a5b7cc205b179565d28aed9d11ff9f83dda8556e13a6ab82ef258be files/freetype-2.3.2-truetype-regression.patch 4892
DIST freetype-1.3.1.tar.gz 1427072 RMD160 43993a667b536b4f85d32318dec32eb3f3b66454 SHA1 a398fb4d6dd756826e459058d8075759086f8ca4 SHA256 a27271fc5b2d91ee8931972dfb9683cd3971272cfe04d03caf5d13b1db5287c4
DIST freetype-2.1.10-security_batch-r1.patch.bz2 10300 RMD160 3994ed6bd5fc3c1e09467267a00ae0166f180fc5 SHA1 3d9a74e6c2ccd18711610e39d339e8796108e2a5 SHA256 d1d31feb556c21a51a08451b14eccb697cf18979e2d24d4412ec47fa1597b296
DIST freetype-2.1.10.tar.bz2 1037107 RMD160 3d31d548632f14784283c97ece64c7425efc3975 SHA1 f9e5c52e466c3e41483d5d6d44b4f3135a9c4b16 SHA256 fed2ed148d7d105b95493c5e95561c8b05ee7909e00f828f036d8ed1be6a5e53
MD5 16522a0064c8bc8419a6b03d07ada7d5 freetype-2.3.1.ebuild 2294
RMD160 aec6206dccba8032cf3a9deb8860185564d034a1 freetype-2.3.1.ebuild 2294
SHA256 b81b5a7c9c4a17b21e3b0de58e1b662103efb841e583a930e2b2db35e2260a39 freetype-2.3.1.ebuild 2294
+EBUILD freetype-2.3.2-r1.ebuild 2382 RMD160 2af4edd7589441737764f4cdbae2c70e96eccf9d SHA1 f5709a614d23a481ee62544117994b0fb38f0ef5 SHA256 870fbff6bd8393e3a77253c3a83a1713a8cdaff12dae08fb116135af33b64d41
+MD5 6e39378120978577eaf031669a6f68ca freetype-2.3.2-r1.ebuild 2382
+RMD160 2af4edd7589441737764f4cdbae2c70e96eccf9d freetype-2.3.2-r1.ebuild 2382
+SHA256 870fbff6bd8393e3a77253c3a83a1713a8cdaff12dae08fb116135af33b64d41 freetype-2.3.2-r1.ebuild 2382
EBUILD freetype-2.3.2.ebuild 2294 RMD160 d57c91afe9d95aebbf80b1777d89523f55a6ed81 SHA1 8f2ddbbe098475edee68b5a3e20332b44743b79d SHA256 5888543a530ab1f90a0a1ee21ce4b1a3c94adcdc47621c4bc8af5aacdf925345
MD5 e15f98270ae95e1d6b9d630da5892349 freetype-2.3.2.ebuild 2294
RMD160 d57c91afe9d95aebbf80b1777d89523f55a6ed81 freetype-2.3.2.ebuild 2294
SHA256 5888543a530ab1f90a0a1ee21ce4b1a3c94adcdc47621c4bc8af5aacdf925345 freetype-2.3.2.ebuild 2294
-MISC ChangeLog 15754 RMD160 ab4ab0f13759401e57aa273563b9e8b1f0a25b4f SHA1 2f4a74577464ecbab86750ad6c5ffd8ce5a487dc SHA256 1605d118a1e9b7a30ff655fb9ecb5221a02a360fa6f78ac5ad67605ca5341518
-MD5 4d87c5e4b8237e81db50a68a8fa9dcc5 ChangeLog 15754
-RMD160 ab4ab0f13759401e57aa273563b9e8b1f0a25b4f ChangeLog 15754
-SHA256 1605d118a1e9b7a30ff655fb9ecb5221a02a360fa6f78ac5ad67605ca5341518 ChangeLog 15754
+MISC ChangeLog 15971 RMD160 548893cc21ef3150363912c8b0778309c0597efe SHA1 66be9a265ced1bc7ac49166131832f36e6f745b3 SHA256 2dc559a3a43b52eb35c667dc7deeadb65df987441800e551b067877776bc24cc
+MD5 a64f6360afad80f11b3ecb3bf7bd8a66 ChangeLog 15971
+RMD160 548893cc21ef3150363912c8b0778309c0597efe ChangeLog 15971
+SHA256 2dc559a3a43b52eb35c667dc7deeadb65df987441800e551b067877776bc24cc ChangeLog 15971
MISC metadata.xml 449 RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 SHA1 7491212724f2bb6e5068b47ebf4047f1f2c57056 SHA256 4a2b47a4958439e0e153d37652d2165891f490c3cbf356424636edb0b91114a7
MD5 bc35457473f59e79ce028b34001d3e95 metadata.xml 449
RMD160 1aa0a350b9b93a527af79a3d6aa6233d498d6366 metadata.xml 449
MD5 acaa568c2c8efed8764cdbbaa7c62c0c files/digest-freetype-2.3.2 506
RMD160 264289318167f326e2c89e5080d865646e3c4139 files/digest-freetype-2.3.2 506
SHA256 c4706259a8f0e032c3428e0a02e3321dcf9420a437146c49d68d3306f18c347d files/digest-freetype-2.3.2 506
+MD5 acaa568c2c8efed8764cdbbaa7c62c0c files/digest-freetype-2.3.2-r1 506
+RMD160 264289318167f326e2c89e5080d865646e3c4139 files/digest-freetype-2.3.2-r1 506
+SHA256 c4706259a8f0e032c3428e0a02e3321dcf9420a437146c49d68d3306f18c347d files/digest-freetype-2.3.2-r1 506
--- /dev/null
+MD5 119e1fe126fcfa5a70bc56db55f573d5 freetype-2.3.2.tar.bz2 1252007
+RMD160 e4da77b6f8956d69e57269c5681560beda0ddb27 freetype-2.3.2.tar.bz2 1252007
+SHA256 ba97537c711ea1970ccd97f957cabd63474de9c05aff0fc5ae931f8c90a47e7e freetype-2.3.2.tar.bz2 1252007
+MD5 d732b9b5971d019fab9c695dfa496247 freetype-doc-2.3.2.tar.bz2 98679
+RMD160 ecd619ded06bf5bf144c18c8d981aec88bab6370 freetype-doc-2.3.2.tar.bz2 98679
+SHA256 c30052d7d860b45edde95075525dd1c9d477d2b7ab5d99b5c601ac0a44b7d75c freetype-doc-2.3.2.tar.bz2 98679
--- /dev/null
+Logs for commits 1.100-1.102
+
+Log message:
+ another bytecode regression fix. Hopefully, this should be the latest
+Log message:
+ another bytecode interpreter regression fix
+Log message:
+ fixing TrueType bytecode interpreter regression for HLB_____.TTF, needs
+more testing with other fonts
+===================================================================
+RCS file: /var/lib/cvs/sources/freetype/freetype2/src/truetype/ttinterp.c,v
+retrieving revision 1.99
+retrieving revision 1.102
+diff -u -r1.99 -r1.102
+--- freetype/freetype2/src/truetype/ttinterp.c 2007/02/16 08:12:50 1.99
++++ freetype/freetype2/src/truetype/ttinterp.c 2007/03/18 07:35:08 1.102
+@@ -4839,16 +4839,18 @@
+
+
+ if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
+- FT_ARRAY_COPY( CUR.twilight.orus,
+- CUR.twilight.org,
+- CUR.twilight.n_points );
+-
+- /* get scaled orus coordinates */
+- vec1.x = TT_MULFIX( CUR.zp0.orus[L].x - CUR.zp1.orus[K].x,
+- CUR.metrics.x_scale );
+- vec1.y = TT_MULFIX( CUR.zp0.orus[L].y - CUR.zp1.orus[L].y,
+- CUR.metrics.y_scale );
+-
++ {
++ vec1.x = CUR.zp0.org[L].x - CUR.zp1.org[K].x;
++ vec1.y = CUR.zp0.org[L].y - CUR.zp1.org[K].y;
++ }
++ else
++ {
++ /* get scaled orus coordinates */
++ vec1.x = TT_MULFIX( CUR.zp0.orus[L].x - CUR.zp1.orus[K].x,
++ CUR.metrics.x_scale );
++ vec1.y = TT_MULFIX( CUR.zp0.orus[L].y - CUR.zp1.orus[K].y,
++ CUR.metrics.y_scale );
++ }
+ D = CUR_fast_dualproj( &vec1 );
+
+ #else
+@@ -5780,23 +5782,28 @@
+
+ #ifdef FIX_BYTECODE
+
++ /* UNDOCUMENTED: twilight zone special case */
++
++ if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
++ {
++ FT_Vector* vec1 = &CUR.zp1.org[point];
++ FT_Vector* vec2 = &CUR.zp0.org[CUR.GS.rp0];
++
++ org_dist = CUR_Func_dualproj( vec1, vec2 );
++ }
++ else
+ {
+ FT_Vector* vec1 = &CUR.zp1.orus[point];
+ FT_Vector* vec2 = &CUR.zp0.orus[CUR.GS.rp0];
+
+
+- if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 )
+- FT_ARRAY_COPY( CUR.twilight.orus,
+- CUR.twilight.org,
+- CUR.twilight.n_points );
+-
+- if ( CUR.metrics.x_scale == CUR.metrics.y_scale )
++ if ( CUR.metrics.x_scale == CUR.metrics.y_scale )
+ {
+ /* this should be faster */
+ org_dist = CUR_Func_dualproj( vec1, vec2 );
+ org_dist = TT_MULFIX( org_dist, CUR.metrics.x_scale );
+ }
+- else
++ else
+ {
+ FT_Vector vec;
+
+@@ -6173,6 +6180,7 @@
+ FT_F26Dot6 old_range, cur_range;
+ FT_Vector* orus_base;
+ FT_Vector* cur_base;
++ FT_Int twilight;
+
+ FT_UNUSED_ARG;
+
+@@ -6184,21 +6192,18 @@
+ }
+
+ /*
+- * We need to deal in a special way with the twilight zone. The easiest
+- * solution is simply to copy the coordinates from `org' to `orus'
+- * whenever a font tries to perform intersections based on some of its
+- * points.
+- *
++ * We need to deal in a special way with the twilight zone.
+ * Otherwise, by definition, the value of CUR.twilight.orus[n] is (0,0),
+- * whatever value of `n'.
++ * for every n.
+ */
+- if ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 || CUR.GS.gep2 == 0 )
+- FT_ARRAY_COPY( CUR.twilight.orus,
+- CUR.twilight.org,
+- CUR.twilight.n_points );
++ twilight = ( CUR.GS.gep0 == 0 || CUR.GS.gep1 == 0 || CUR.GS.gep2 == 0 );
++
++ if (twilight)
++ orus_base = &CUR.zp0.org[CUR.GS.rp1];
++ else
++ orus_base = &CUR.zp0.orus[CUR.GS.rp1];
+
+- orus_base = &CUR.zp0.orus[CUR.GS.rp1];
+- cur_base = &CUR.zp0.cur[CUR.GS.rp1];
++ cur_base = &CUR.zp0.cur[CUR.GS.rp1];
+
+ /* XXX: There are some glyphs in some braindead but popular */
+ /* fonts out there (e.g. [aeu]grave in monotype.ttf) */
+@@ -6212,7 +6217,11 @@
+ }
+ else
+ {
+- old_range = CUR_Func_dualproj( &CUR.zp1.orus[CUR.GS.rp2], orus_base );
++ if (twilight)
++ old_range = CUR_Func_dualproj( &CUR.zp1.org[CUR.GS.rp2], orus_base );
++ else
++ old_range = CUR_Func_dualproj( &CUR.zp1.orus[CUR.GS.rp2], orus_base );
++
+ cur_range = CUR_Func_project ( &CUR.zp1.cur[CUR.GS.rp2], cur_base );
+ }
+
+@@ -6233,7 +6242,11 @@
+ continue;
+ }
+
+- org_dist = CUR_Func_dualproj( &CUR.zp2.orus[point], orus_base );
++ if (twilight)
++ org_dist = CUR_Func_dualproj( &CUR.zp2.org[point], orus_base );
++ else
++ org_dist = CUR_Func_dualproj( &CUR.zp2.orus[point], orus_base );
++
+ cur_dist = CUR_Func_project ( &CUR.zp2.cur[point], cur_base );
+ new_dist = (old_range != 0)
+ ? TT_MULDIV( org_dist, cur_range, old_range )
--- /dev/null
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-libs/freetype/freetype-2.3.2-r1.ebuild,v 1.1 2007/03/25 15:10:04 dirtyepic Exp $
+
+inherit eutils flag-o-matic libtool
+
+DESCRIPTION="A high-quality and portable font engine"
+HOMEPAGE="http://www.freetype.org/"
+SRC_URI="mirror://sourceforge/freetype/${P/_/}.tar.bz2
+ doc? ( mirror://sourceforge/${PN}/${PN}-doc-${PV}.tar.bz2 )"
+
+LICENSE="FTL GPL-2"
+SLOT="2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="zlib bindist doc"
+
+# The RDEPEND below makes sure that if there is a version of moz/ff/tb
+# installed, then it will have the freetype-2.1.8+ binary compatibility patch.
+# Otherwise updating freetype will cause moz/ff/tb crashes. #59849
+# 20 Nov 2004 agriffis
+DEPEND="zlib? ( sys-libs/zlib )"
+
+RDEPEND="${DEPEND}
+ !<www-client/mozilla-1.7.3-r3
+ !<www-client/mozilla-firefox-1.0-r3
+ !<mail-client/mozilla-thunderbird-0.9-r3
+ !<media-libs/libwmf-0.2.8.2"
+
+src_unpack() {
+
+ unpack ${A}
+ cd "${S}"
+
+ enable_option() {
+ sed -i -e "/#define $1/a #define $1" \
+ include/freetype/config/ftoption.h \
+ || die "unable to enable option $1"
+ }
+
+ disable_option() {
+ sed -i -e "/#define $1/ { s:^:/*:; s:$:*/: }" \
+ include/freetype/config/ftoption.h \
+ || die "unable to disable option $1"
+ }
+
+ if ! use bindist; then
+ # Bytecodes and subpixel hinting supports are patented
+ # in United States; for safety, disable them while building
+ # binaries, so that no risky code is distributed.
+ # See http://freetype.org/patents.html
+
+ enable_option TT_CONFIG_OPTION_BYTECODE_INTERPRETER
+ enable_option FT_CONFIG_OPTION_SUBPIXEL_RENDERING
+ disable_option TT_CONFIG_OPTION_UNPATENTED_HINTING
+ fi
+
+ disable_option FT_CONFIG_OPTION_OLD_INTERNALS
+
+ # 2.3.2 only - bug #170532
+ epatch "${FILESDIR}"/${P}-truetype-regression.patch
+
+ elibtoolize
+ epunt_cxx
+
+}
+
+src_compile() {
+ # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=118021
+ append-flags "-fno-strict-aliasing"
+
+ type -p gmake &> /dev/null && export GNUMAKE=gmake
+ econf $(use_with zlib) || die
+
+ emake || die
+}
+
+src_install() {
+ emake -j1 DESTDIR="${D}" install || die
+
+ dodoc ChangeLog README
+ dodoc docs/{CHANGES,CUSTOMIZE,DEBUG,*.txt,PATENTS,TODO}
+
+ #cd "${WORKDIR}"/${PN}-doc-${PV}
+ use doc && dohtml -r docs/*
+}