# # spec file for package freetype2 (Version 2.3.5) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: freetype2 BuildRequires: zlib-devel License: Other uncritical OpenSource License Group: System/Libraries AutoReqProv: on Version: 2.3.5 Release: 19 Url: http://www.freetype.org Summary: A TrueType Font Library # CVS repository: # cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype login # cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co freetype2 # cvs -d :pserver:anonymous@cvs.savannah.nongnu.org:/sources/freetype co ft2demos Source0: http://download.savannah.gnu.org/releases/freetype/freetype-%{version}.tar.bz2 Source1: http://download.savannah.gnu.org/releases/freetype/freetype-doc-%{version}.tar.bz2 # pregenerated to avoid build-dependence on python: Source2: freetype-doc-reference.tar.bz2 Patch3: freetype2-bitmap-foundry.patch Patch4: ft2-stream-compat.diff Patch5: revert-fix-bytecode.patch Patch8: bugzilla-159166-reduce-embolden-distance.patch Patch308961: bugzilla-308961-cmex-workaround.patch Patch100: freetype2-bc.patch Patch200: freetype2-subpixel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description This library features TrueType fonts for open source projects. This version also contains an autohinter for producing improved output. Authors: -------- David Turner Robert Wilhelm Werner Lemberg %package devel Summary: Development environment for the freetype2 TrueType font library Group: Development/Libraries/C and C++ Requires: %{name} = %{version}, zlib-devel %description devel This package contains all necessary include files, libraries and documentation needed to develop applications that require the freetype2 TrueType font library. It also contains a small tutorial for using that library. Authors: -------- David Turner Robert Wilhelm Werner Lemberg %prep # The byte code interpreter is compiled in by default # because of the following option. # For most fonts it is disabled again by default in the # fontconfig setup in /etc/fonts. But if it is already # enabled at compilation time, it can be easily enabled # at runtime. See also the variable BYTECODE_BW_MAX_PIXEL # in /etc/sysconfig/fonts-config. # %define enable_bytecode_interpreter 1 %define enable_subpixel_rendering 0%{?opensuse_bs} %setup -q -n freetype-%{version} -a 1 %patch3 -p 1 -b .bitmap-foundry %patch4 -p 1 -b .ft2-stream-compat #%patch5 -p 1 #%patch8 -p 1 %patch308961 -p 1 %if %{enable_bytecode_interpreter} %patch100 -p 1 -b .bytecode %endif %if %{enable_subpixel_rendering} %patch200 -p 1 -b .subpixel %endif pushd docs tar xf $RPM_SOURCE_DIR/freetype-doc-reference.tar.bz2 popd find . -name CVS -type d | xargs rm -rf find . -name ".cvsignore" | xargs rm -f %{?suse_update_config:%{suse_update_config -f}} sh ./autogen.sh export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing " make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib" %build export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing " make prefix=/usr libdir=%{_libdir} %{?jobs:-j %jobs} # build the documentation in the references subdirectory: # (this needs python and we cannot have python in the BuildRequires of # a basic package like freetype2, therefore we cannot do it here but we have # to generate this documentation manually) #make refdoc %install rm -rf $RPM_BUILD_ROOT; # these development documents should go into the freetype2-devel package: mv docs/reference freetype-%{version}/docs make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install %clean rm -rf $RPM_BUILD_ROOT; %post -p /sbin/ldconfig %postun -p /sbin/ldconfig %files %defattr(-,root,root) %doc ChangeLog README %doc docs/* %{_libdir}/libfreetype.so.* %files devel %defattr(-,root,root) %doc freetype-%{version}/docs/* /usr/include/* %{_libdir}/libfreetype.*a %{_libdir}/libfreetype.so %{_libdir}/pkgconfig/freetype2.pc /usr/bin/* /usr/share/aclocal/* %changelog * Tue Oct 02 2007 - mfabian@suse.de - Bugzilla #308961: add workaround for broken underlining when using the CMEX fonts (by Peng Wu ). * Tue Jul 03 2007 - mfabian@suse.de - update to 2.3.5. Extract from the doc/CHANGES file: • Some subglyphs in TrueType fonts were handled incorrectly due to a missing graphics state reinitialization. • Large .Z files (as distributed with some X11 packages) weren't handled correctly, making FreeType increase the heap stack in an endless loop. • A large number of bugs have been fixed to avoid crashes and endless loops with invalid fonts. • The two new cache functions `FTC_ImageCache_LookupScaler' and `FTC_SBit_Cache_LookupScaler' have been added to allow lookup of glyphs using an `FTC_Scaler' object; this makes it possible to use fractional pixel sizes in the cache. The demo programs have been updated accordingly to use this feature. • A new API `FT_Get_CMap_Format' has been added to get the cmap format of a TrueType font. This is useful in handling PDF files. The code has been contributed by Derek Clegg. • The auto-hinter now produces better output by default for non-Latin scripts like Indic. This was done by using the CJK hinting module as the default instead of the Latin one. Thanks to Rahul Bhalerao for this suggestion. • A new API `FT_Face_CheckTrueTypePatents' has been added to find out whether a given TrueType font uses patented bytecode instructions. The `ft2demos' bundle contains a new program called `ftpatchk' which demonstrates its usage. • A new API `FT_Face_SetUnpatentedHinting' has been added to enable or disable the unpatented hinter. • Support for Windows FON files in PE format has been contributed by Dmitry Timoshkov. * Mon Jun 04 2007 - mfabian@suse.de - Bugzilla #275072: (from upstream CVS): Check for negative number of points in contours. Problem reported by Victor Stinner . * Tue May 22 2007 - mfabian@suse.de - fix last patch to avoid crashes when loader->exec == NULL. (caused crashes in xpdf, kpdf, acroread for me for many .pdf files). * Mon May 21 2007 - mfabian@suse.de - Bugzilla #273714: ('¼', '½', and '¾' in "Albany AMT" are rendered very badly): apply fix from upstream CVS, thanks to Werner LEMBERG. * Tue Apr 10 2007 - mfabian@suse.de - update to 2.3.4. Extract from the doc/CHANGES file: • A serious bug in the handling of bitmap fonts (and bitmap strikes of outline fonts) has been introduced in 2.3.3. • Remove a serious regression in the TrueType bytecode interpreter that was introduced in version 2.3.2. Note that this does not disable the improvements introduced to the interpreter in version 2.3.2, only some ill cases that occurred with certain fonts (though a few popular ones). • The auto-hinter now ignores single-point contours for computing blue zones. This bug created `wavy' baselines when rendering text with various fonts that use these contours to model mark-attach points (these are points that are never rasterized and are placed outside of the glyph's real outline). • The `rsb_delta' and `lsb_delta' glyph slot fields are now set to 0 for mono-spaced fonts. Otherwise code that uses them would essentially ruin the fixed-advance property. • Fix CVE-2007-1351 which can cause an integer overflow while parsing BDF fonts, leading to a potentially exploitable heap overflow condition. • FreeType returned incorrect kerning information from TrueType fonts when the bytecode interpreter was enabled. This happened due to a typo introduced in version 2.3.0. • Negative kerning values from PFM files are now reported correctly (they were read as 16-bit unsigned values from the file). • Fixed a small memory leak when `FT_Init_FreeType' failed for some reason. • The Postscript hinter placed and sized very thin and ghost stems incorrectly. • The TrueType bytecode interpreter has been fixed to get rid of most of the rare differences seen in comparison to the Windows font loader. • A new demo program `ftdiff' has been added to compare TrueType hinting, FreeType's auto hinting, and rendering without hinting in three columns. • The auto-hinter now better deals with serifs and corner cases (e.g., glyph '9' in Arial at 9pt, 96dpi). It also improves spacing adjustments and doesn't change widths for non-spacing glyphs. * Mon Apr 02 2007 - rguenther@suse.de - add zlib-devel BuildRequires * Wed Mar 28 2007 - mfabian@suse.de - Bugzilla #258335: fix buffer overflow in handling of bdf fonts. * Mon Feb 05 2007 - mfabian@suse.de - update to 2.3.1. • The TrueType interpreter sometimes returned incorrect horizontal metrics due to a bug in the handling of the SHZ instruction. • A typo in a security check introduced after version 2.2.1 prevented FreeType to render some glyphs in CFF fonts. * Sun Jan 21 2007 - mfabian@suse.de - update to 2.3.0 (from rc1 to final release) * Fri Jan 12 2007 - mfabian@suse.de - update to 2.2.1.20070112 (= 2.3.0rc1). • bugzilla #231417 fixed, see ChangeLog: 2007-01-10 David Turner [...] * src/pshinter/pshalgo.c (psh_glyph_compute_inflections): fixed a typo which created an endless loop with some malformed font files * Wed Jan 10 2007 - mfabian@suse.de - update to 2.2.1.20070110. - remove bugzilla-216793-local-variable-used-before-set.patch, bugzilla-217388-fix-advance-handling-in-FT_GlyphSlot_Embolden.patch (included upstream). * Wed Nov 22 2006 - mfabian@suse.de - Bugzilla #222693: disable bugzilla-159166-reduce-embolden-distance.patch * Thu Nov 09 2006 - mfabian@suse.de - Bugzilla #216793: "local variable used before set" * Tue Nov 07 2006 - mfabian@suse.de - Bugzilla #217388: fix advance handling in FT_GlyphSlot_Embolden() * Fri Oct 27 2006 - mfabian@suse.de - Bugzilla #158573: update to 2.2.1.20061027. * Fri Oct 20 2006 - mfabian@suse.de - disable the recent fixes of the byte code interpreter because if breaks the rendering of "Luxi Mono" (/usr/share/fonts/truetype/luximr.ttf) See also: http://lists.gnu.org/archive/html/freetype/2006-10/msg00034.html * Fri Oct 13 2006 - mfabian@suse.de - update to 2.2.1.20061013 • fixes bugzilla #207959. • autohinter improved * Fri Aug 04 2006 - mfabian@suse.de - Bugzilla #196931: add zlib-devel to Requires of freetype2-devel. * Mon Jul 10 2006 - mfabian@suse.de - Bugzilla #190902: add patch from upstream CVS to handle bad PCF files. * Mon Jun 26 2006 - mfabian@suse.de - Bugzilla #188210: move development documents of into -devel package. * Tue Jun 20 2006 - mfabian@suse.de - update to 2.2.1: + remove bugzilla-97202-fix-x-crash.patch + remove bugzilla-157441-autofit-cjk-cvs.patch (was from upstream CVS). + remove bugzilla-158156-memory-leak.patch (was from upstream CVS). + remove bugzilla-158573-fix-orientation-detection.patch (included upstream). + remove bugzilla-133086-enable-kerning.patch (was from upstream). + remove bugzilla-154928-integer-overflows.patch (was from upstream). + remove bugzilla-159304-fix-ftview-glyph-index.patch (fixed upstream). + remove enable_ft_optimize_memory.patch (is already enabled by default now). + adapt bugzilla-159166-reduce-embolden-distance.patch a little bit to achieve the same boldness effect as with the last package. * Thu Jun 01 2006 - mfabian@suse.de - Bugzilla #154928: fix several integer overflows. * Mon Apr 24 2006 - mfabian@suse.de - Bugzilla #133086: enable kerning, see http://lists.nongnu.org/archive/html/freetype-devel/2005-09/msg00027.html * Tue Mar 21 2006 - dmueller@suse.de - build parallel * Mon Mar 20 2006 - zsu@suse.de - Bugzilla #158573: fix corrupt embolden glyphs issue for CJK fonts. - Bugzilla #159166: reduce embolden strength to get better rendering effect. * Wed Mar 15 2006 - mfabian@suse.de - Bugzilla #157441: remove 0x0100-0xFFFF from CJK Unicode range, as it might cause side effects for non-CJK scripts. * Wed Mar 15 2006 - mfabian@suse.de - Bugzilla #158156: fix a memory leak (by Zhe Su ). * Tue Mar 14 2006 - mfabian@suse.de - Bugzilla #157441: instead of Takashi's patches, use a patch from upstream CVS which renders slightly better. * Tue Mar 14 2006 - mfabian@suse.de - Bugzilla #157441: FZSongTi.ttf contains a lot more (CJK)-glyphs than most other fonts, therefore we have to expand the cjk range in Takashi Iwai's "ft2-autofit-02-cjk.diff" to render these glyphs correctly as well. - Bugzilla #157441: don't apply ft2-autofit-03-latin-baseline.diff as it has some side effects. * Wed Jan 25 2006 - mls@suse.de - converted neededforbuild to BuildRequires * Mon Jan 09 2006 - mfabian@suse.de - Bugzilla #105626: add patches by Takashi IWAI to improve the autohinting (mainly for CJK fonts). * Wed Jul 20 2005 - mfabian@suse.de - Bugzilla #97202: apply workaround to avoid crashing the Xserver. I need to disable FT_OPTIMIZE_MEMORY again to apply that workaround. * Tue Jul 19 2005 - mfabian@suse.de - enable FT_OPTIMIZE_MEMORY. - enable the byte code interpreter again. * Tue Jul 12 2005 - mfabian@suse.de - update to 2.1.10. + fixes serious bug introduced in 2.1.8 which caused many distortions for TrueType fonts + amount of heap memory used is drastically reduced For more details see /usr/share/doc/packages/freetype2/CHANGES. - disable freetype-autohint-cjkfonts.patch for the moment, the auto-hinter has been replaced with a new module called the 'auto-fitter' which is "prepared better to support non-latin1 scripts in next releases". Currently the rendering quality of CJK fonts seems to have suffered though compared to 2.1.9 with the freetype-autohint-cjkfonts.patch. * Mon Jul 04 2005 - meissner@suse.de - Use system zlib. * Wed Aug 25 2004 - kukuk@suse.de - Avoid /bin/sh as PreRequires * Tue Jul 06 2004 - mfabian@suse.de - update to 2.1.9. * Mon May 10 2004 - mfabian@suse.de - update to 2.1.8. remove the bdf-pcf fixes for bitmap font metric issues which were backported from CVS, they are included in this release * Fri Apr 16 2004 - mfabian@suse.de - Bugzilla #38205: add patch from http://www.kde.gr.jp/~akito/patch/freetype2/2.1.7 to improve the hinting results (mainly for CJK fonts). * Wed Mar 24 2004 - mfabian@suse.de - Add ft2-stream-compat.diff for binary compatibility when upgrading from SLES8 to SLES9. The FT_Stream functions have been renamed and although these functions were declared for internal use only by the freetype developers, they have been used in Qt (and possibly elsewhere). Therefore, 3rd party which linked statically against Qt might not work after upgrading from SLES8 to SLES9. Fix this problem with a patch by Kurt Garloff which defines appropriate weak symbols. * Tue Mar 16 2004 - mfabian@suse.de - fix Bugzilla# 36143: backport fixes for bitmap font metric issues from CVS to fix crashes when using bitmap fonts caused by the new libXft-2.1.5 from the X.org tree. * Mon Jan 12 2004 - adrian@suse.de - add %%defattr and %%run_ldconfig * Fri Jan 09 2004 - mfabian@suse.de - add "-fno-strict-aliasing" compile option to prevent crashes for example in ftdump and mkfontscale. * Tue Dec 16 2003 - mfabian@suse.de - update to 2.1.7. - remove freetype2-type1.patch (included upstream) - add documentation. * Thu Oct 09 2003 - schwab@suse.de - Fix invalid free. * Fri Sep 26 2003 - mfabian@suse.de - update to 2.1.5. - remove freetype-bdf-pcf-drivr.patch, freetype2-bitmap-style.patch (included upstream). - remove gzip-eof.patch. * Mon Sep 01 2003 - mfabian@suse.de - add gzip-eof.patch to fix the problem that some gzipped bitmap fonts could not be opened by freetype2. See also: http://marc.theaimsgroup.com/?l=freetype-devel&m=105505219505600&w=2 and followups. * Tue Aug 26 2003 - mfabian@suse.de - add freetype2-bitmap-style.patch: check the bdf properties WEIGHT_NAME and SLANT case insensitively. Without that, these properties are not correctly recognized when the fonts specify them in lower case. * Tue Apr 08 2003 - mfabian@suse.de - update to 2.1.4 * Fri Apr 04 2003 - mfabian@suse.de - update to 2.1.4rc2 - freetype2-gzip-header.patch is obsolete -> removed * Fri Mar 07 2003 - mfabian@suse.de - Bug #24755: further improvement: add " Wide" to the family name for fonts which have an average width >= point size, i.e. fonts which have glyphs which are at least square (or maybe even wider). This makes fonts which contain only double width characters (for example the "misc-fixed" 18x18ja.bdf) clearly distinct from single width fonts of the same family and avoids that they get accidentally selected via freetype2/Xft2. * Fri Mar 07 2003 - mfabian@suse.de - Bug #24775: partly fixed by a patch to freetype which returns "FOUNDRY FAMILY_NAME" as the family_name for bitmap fonts. Without that change, all bitmap fonts which have "Fixed" in FAMILY_NAME also had the same family_name "Fixed" via freetype/Xft2 and it was not possible to distinguish between them, therefore the selection of "Fixed" bitmap fonts produced quite surprising results. After this change, the fonts show up for example as "Misc Fixed", "Etl Fixed", etc. via freetype2/Xft2, which makes it easy to select the right one. * Mon Mar 03 2003 - mfabian@suse.de - fix for the bug that caused FreeType to loop endlessly when trying to read certain compressed gzip files. The following test could be used to reveal the bug: touch 0123456789 ; gzip 0123456789 ; ftdump 0123456789.gz (from upstream CVS) * Fri Feb 14 2003 - mfabian@suse.de - freetype-bdf-pcf-drivr.patch: use FT_UShort instead of FT_Short for the glyph number of bitmap fonts. The GNU Unicode font has 34725 glyphs and because of the usage of signed short all glyphs with an index above 2^15 couldn't be displayed. Thanks to Gerd Knorr . * Thu Jan 30 2003 - mfabian@suse.de - disable freetype2-bc.patch, see http://www.freetype.org/freetype2/2.1.3-explained.html * Wed Jan 29 2003 - mfabian@suse.de - add freetype2-bc.patch * Mon Jan 13 2003 - mfabian@suse.de - split out ft2demos into extra package to avoid adding x-devel-packages to '# neededforbuild' (XFree86 needs freetype2, this would be a loop in the requirements) - add doc files and license texts. * Fri Jan 10 2003 - mfabian@suse.de - fix checking of .gz header (fixes Bug #22712, i.e. fixes the problem that freetype2 couldn't open .pcf.gz files which contain the original file name or extra fields) - add programs from ft2demos-2.1.3. * Thu Nov 21 2002 - mfabian@suse.de - update to 2.1.3. * Tue Nov 05 2002 - mfabian@suse.de - add /usr/share/aclocal/* to filelist (thanks to for noticing the omission) * Thu Oct 24 2002 - mfabian@suse.de - update to 2.1.2. From the release notes: That's probably the first release of FreeType in the 2.1.x development branch that can safely replace 2.0.9 on any system. * Sat Aug 10 2002 - mfabian@suse.de - freetype2-devel package should require freetype2 package * Tue Apr 02 2002 - mfabian@suse.de - upgrade to 2.0.9 (considerably improved rendering of Type1 fonts) * Wed Mar 06 2002 - mfabian@suse.de - use the byte code interpreter * Mon Feb 11 2002 - mfabian@suse.de - upgrade to 2.0.8 - remove freetype-config.patch (included upstream) * Tue Feb 05 2002 - adrian@suse.de - enable debug informations to debug a sig11 in inst-sys * Tue Feb 05 2002 - pmladek@suse.cz - fixed missing 'fi' in freetype-config * Mon Feb 04 2002 - mfabian@suse.de - update to 2.0.7 - remove freetype-2.0.6-gsf-segv.patch (included in 2.0.7 already) * Tue Jan 29 2002 - mfabian@suse.de - add freetype-2.0.6-gsf-segv.patch from upstream CVS to prevent SEGV caused by gsf files. * Tue Jan 22 2002 - mfabian@suse.de - use %%{_libdir} instead of /usr/lib * Wed Jan 16 2002 - adrian@suse.de - updated to 2.0.6 * important fixes which causes crashes with pfb fonts * improved rendering * Fri Nov 09 2001 - mfabian@suse.de - updated to 2.0.5 * Sat Jul 21 2001 - egger@suse.de - Updated to version 2.0.4. - Use RPM_OPT_FLAGS. * Wed Jun 06 2001 - egger@suse.de - Fix filelist. * Mon Jun 04 2001 - egger@suse.de - Updated to version 2.0.3. * Mon Mar 26 2001 - ro@suse.de - fix build-rooting * Thu Dec 14 2000 - kukuk@suse.de - split devel package * Mon Dec 11 2000 - egger@suse.de - Updated to version 2.0.1. * Fri Nov 10 2000 - egger@suse.de - Initial SuSE package.