# # spec file for package ft2demos (Version 2.3.7) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild Name: ft2demos BuildRequires: xorg-x11-devel License: GPL v2 or later Group: Productivity/Publishing/Other AutoReqProv: on %if %suse_version > 1000 Supplements: fonts-config %endif Version: 2.3.7 Release: 29 %define freetype_version %{version} Url: http://www.freetype.org Summary: Freetype2 Utilities and Demo Programs # 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://savannah.nongnu.org/download/freetype/freetype-%{version}.tar.bz2 # Uncomment to save space: #NoSource: 0 Source1: http://savannah.nongnu.org/download/freetype/ft2demos-%{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 Patch9: fix-build.patch Patch308961: bugzilla-308961-cmex-workaround.patch Patch50: ft2demos-build-testname.patch Patch100: freetype2-bc.patch Patch101: ft2demos-bc.patch Patch200: freetype2-subpixel.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %description Freetype2 utilities and demo programs. 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 -n freetype-%{freetype_version} -b 1 %patch3 -p 1 -b .bitmap-foundry %patch4 -p 1 -b .ft2-stream-compat #%patch5 -p 1 #%patch8 -p 1 %patch9 -p 1 %patch308961 -p 1 pushd ../ft2demos-%{version} %patch50 -p 1 popd %if %{enable_bytecode_interpreter} %patch100 -p 1 -b .bytecode %endif # pushd ../ft2demos-%{version} # %patch101 -p 1 # popd %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 cp /usr/share/automake*/config.{guess,sub} builds/unix %build sh ./autogen.sh export CFLAGS="$RPM_OPT_FLAGS -g -fno-strict-aliasing " ln -s /usr/bin/libtool ./builds/unix/libtool make setup CFG="--prefix=/usr --libdir=%{_libdir} --with-zlib" 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 pushd .. ln -s freetype-%{freetype_version} freetype2 cd ft2demos-%{version} make prefix=/usr libdir=%{_libdir} \ X11_PATH="/usr/X11R6" \ LDFLAGS="-L/usr/X11R6/%{_lib} -lm " popd %install #make prefix=$RPM_BUILD_ROOT/usr libdir=$RPM_BUILD_ROOT/%{_libdir} install mkdir -p $RPM_BUILD_ROOT%{_bindir} pushd ../ft2demos-%{version}/bin/.libs install -m 755 ft* testname $RPM_BUILD_ROOT%{_bindir} popd %clean %files %defattr(-,root,root) %{_bindir}/ft* %{_bindir}/testname %changelog * Mon Aug 18 2008 mfabian@suse.de - fix uninitialized pointer "FT_STREAM stream" in function FT_Open_Face() which made fontforge crash while trying to apply a workaround to the sazanami-fonts because fontforge called FT_Open_Face() with 0 for the FT_Library argument and then freetype crashed in FT_Stream_Free(). * Wed Jul 23 2008 mfabian@suse.de - update to 2.3.7. Extract from the docs/CHANGES file: • If the library was compiled on an i386 platform using gcc, and compiler option -O3 was given, `FT_MulFix' sometimes returned incorrect results which could have caused problems with `FT_Request_Metrics' and `FT_Select_Metrics', returning an incorrect descender size. • Pure CFFs without subfonts were scaled incorrectly if the font matrix was non-standard. This bug has been introduced in version 2.3.6. • The `style_name' field in the `FT_FaceRec' structure often contained a wrong value for Type 1 fonts. This misbehaviour has been introduced in version 2.3.6 while trying to fix another problem. [Note, however, that this value is informative only since the used algorithm to extract it is very simplistic.] • Two new macros, FT_OUTLINE_SMART_DROPOUTS and FT_OUTLINE_EXCLUDE_STUBS, have been introduced. Together with FT_OUTLINE_IGNORE_DROPOUTS (which was ignored previously) it is now possible to control the dropout mode of the `raster' module (for B&W rasterization), using the `flags' field in the `FT_Outline' structure. • The TrueType bytecode interpreter now passes the dropout mode to the B&W rasterizer. This greatly increases the output for small ppem values of many fonts like `pala.ttf'. • A bunch of potential security problems have been found. All users should update. • Microsoft Unicode cmaps in TrueType fonts are now always preferred over Apple cmaps. This is not a bug per se, but there exist some buggy fonts created for MS which have broken Apple cmaps. This affects only the automatic selection of FreeType; it's always possible to manually select an Apple Unicode cmap if desired. • Many bug fixes to the TrueType bytecode interpreter. • Improved Mac support. • Subsetted CID-keyed CFFs are now supported correctly. • CID-keyed CFFs with subfonts which are scaled in a non-standard way are now handled correctly. • A call to FT_Open_Face with `face_index' < 0 crashed FreeType if the font was a Windows (bitmap) FNT/FON. • The new function `FT_Get_CID_Registry_Ordering_Supplement' gives access to those fields in a CID-keyed font. The code has been contributed by Derek Clegg. • George Williams contributed code to validate the new `MATH' OpenType table (within the `otvalid' module). The `ftvalid' demo program has been extended accordingly. • An API for cmap 14 support (for Unicode Variant Selectors, UVS) has been contributed by George Williams. • A new face flag FT_FACE_FLAG_CID_KEYED has been added, together with a macro FT_IS_CID_KEYED which evaluates to 1 if the font is CID-keyed. • Build support for symbian has been contributed. • Better WGL4 glyph name support, contributed by Sergey Tolstov. • Debugging output of the various FT_TRACEX macros is now sent to stderr. • The `ftview' demo program now provides artificial slanting too. • The `ftvalid' demo program has a new option `-f' to select the font index. - remove patch for bnc#399169 (came from upstream). * Fri Jun 13 2008 mfabian@suse.de - bnc#399169: fix multiple vulnerabilities. * Mon Apr 14 2008 schwab@suse.de - Make sure config.guess and config.sub exist. * Thu Oct 18 2007 mfabian@suse.de - Bugzilla #334565: avoid crash in xpdf caused by a bug in the workaround patch for bug #308961 (fixed by Peng Wu ). * Mon Oct 08 2007 mfabian@suse.de - Bugzilla #308961: improve workaround patch for the broken underlining in the CMEX fonts (again by Peng Wu ). * Tue Oct 02 2007 mfabian@suse.de - Bugzilla #308961: add workaround for broken underlining when using the CMEX fonts (by Peng Wu ). * Mon Aug 20 2007 sbrabec@suse.cz - Commented out NoSource to provide comfortable rebuild. * 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). * 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. * 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 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 • Add support for LCD color filtering to ftview. * Wed Aug 16 2006 mfabian@suse.de - use "Supplements: fonts-config" only for SuSE Linux >= 10.1. * Thu Aug 10 2006 mfabian@suse.de - Bugzilla #195835: add "Supplements: fonts-config" to .spec file. * Mon Jul 10 2006 mfabian@suse.de - Bugzilla #190902: add patch from upstream CVS to handle bad PCF files. * 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. - Bugzilla #159304: fix wrong glyph index handling in ftview when rendering embolden or outline mode. * 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). * Thu Jul 21 2005 mfabian@suse.de - fix typo in .spec file. * 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. * 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 Mar 15 2004 mfabian@suse.de - mark freetype2 tarball as Nosource, it is already in the source rpm of the main freetype2 package. * Mon Jan 12 2004 adrian@suse.de - add %%defattr * Fri Jan 09 2004 mfabian@suse.de - add "-fno-strict-aliasing" compile option to prevent crashes for example in ftdump and mkfontscale. * Wed Dec 17 2003 mfabian@suse.de - update to 2.1.7. - remove freetype2-type1.patch (included upstream) * 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. * Wed Aug 27 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. * Fri May 16 2003 mfabian@suse.de - don't install files which will not be packaged. * Tue Apr 08 2003 mfabian@suse.de - update to 2.1.4 * Fri Apr 04 2003 mfabian@suse.de - freetype updated to 2.1.4rc2 * Sat Mar 08 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. * Wed Jan 29 2003 mfabian@suse.de - add freetype2-bc.patch * Sat Jan 25 2003 mfabian@suse.de - use the original names for the utilities, i.e. ftdump instead of ft2dump, etc. ... (I renamed the utilities in freetype1 to ft1dump, ft1view, etc. ... * Mon Jan 13 2003 mfabian@suse.de - new package ft2demos, version 2.1.3