Major changes since 2.5.0:
* Handle bitmap-only TTF files that do not have a GLYF table
* Ignore point size and DPI for bitmap (PCF) fonts.
* Add fantasy and cursive generic families
* Merge Fedora and Mandriva configuration options
* Build fixes for cross compile and Win32 platforms
2.5
Keith Packard (4):
Document several function return values (Bug 13145).
Document that Match calls FcFontRenderPrepare (bug 13162).
Document that FcConfigGetFonts returns the internal fontset (bug 13197)
Revert "Remove fcprivate.h, move the remaining macros to fcint.h."
Tor Lillqvist (1):
Workaround for stat() brokenness in Microsoft's C library (bug 8526)
2.4.92 (2.5 RC2)
Behdad Esfahbod (14):
Make fc-match --sort call FcFontRenderPrepare.
Port fonts-persian.conf to new alias syntax with binding="same"
Fix trivial bugs in edit-sgml.c
Add FcGetLangs() and FcLangGetCharSet().
Add/update config files from Fedora.
Split 40-generic.conf into 40-nonlatin.conf and 45-latin.conf
Use binding="same" in 30-urw-aliases.conf and remove duplicate entries.
Remove redundant/obsolete comments from conf files.
Remove 20-lohit-gujarati.conf. It's covered by 25-unhint-nonlatin.conf now.
Oops, fix Makefile.am.
Remove 25-unhint-nonlatin.conf from default configuration by not linking it.
Fix documented conf-file naming format in README
Remove list of available conf files from README.
Simplify/improve 30-metric-aliases.conf
Keith Packard (25):
Also check configDirs mtimes in FcConfigUptoDate
Respect "binding" attribute in <alias> entries.
Correct documentation for FcAtomicLock (Bug 12947).
Remove fcprivate.h, move the remaining macros to fcint.h.
Correct documentation for FcConfigUptoDate (bug 12948).
Document skipping of fonts from FcFileScan/FcDirScan.
Make file_stat argument to FcDirCacheLoadFile optional.
Clean up exported names in fontconfig.h.
Track line numbers in sgml edit tool input.
Typo error in function name: Inverval -> interval
Don't check cache file time stamps when cleaning cache dir.
Use FcLangDifferentTerritory instead of FcLangDifferentCountry.
Verify documentation covers exposed symbols.
Document previously undocumented functions. (bug 12963)
Update documentation for FcStrCopyFilename (bug 12964).
Update documentation for stale FcConfigGetConfig function.
Have FcConfigSetCurrent accept the current configuration and simply return
Remove references to FcConfigParse and FcConfigLoad.
Replace incorrect documentation uses of 'char' with 'FcChar8' (bug 13002).
Fix formatting syntax in doc/fccache.fncs
Generate fccache.sgml, fcdircache.sgml and fclangset.sgml.
Formatting syntax mistake in doc/fclangset.fncs.
Link new function documentation into the fontconfig-devel.sgml
Ignore new generated documentation
Export FcConfig{G,S}etRescanInverval from .so, mark as deprecated.
2.4.91 (2.5 RC1)
Behdad Esfahbod (1):
Update CaseFolding.txt to Unicode 5.1.0
Dwayne Bailey (1):
Add/fix *.orth files for South African languages
Hideki Yamane (1):
Handle Japanese fonts better. (debian bug #435971)
Keith Packard (32):
rehash increment could be zero, causing rehash infinite loop.
Work around FreeType bug when glyph name buffer is too small.
Free temporary string in FcDirCacheUnlink (Bug #11758)
Fix ChangeLog generation to avoid circular make dependency
Store font directory mtime in cache file.
Comment about mmaping cache files was misleading.
Make FC_FULLNAME include all fullname entries, elide nothing. [bug 12827]
Remove unneeded call to access(2) in fc-cache.
Improve verbose messages from fc-cache.
Verbose message about cleaning directories was imprecise
Don't use X_OK bit when checking for writable directories (bug 12438)
Have fc-cache remove invalid cache files from cache directories.
FcConfigParseAndLoad doc was missing the last param.
Place language name in constant array instead of pointer.
Must not insert cache into hash table before completely validating.
Eliminate relocations for glyph name table.
Eliminate relocations from FcCodePageRange structure (bug 10982).
Leave generated headers out of distribution (bug 12734).
Move <cachedir> elements to the end of fonts.conf.
Add BRAILLE PATTERN BLANK to list of blank glyphs.
Replace makealias pattern with something supported by POSIX grep (bug 11083)
FcInit should return FcFalse when FcInitLoadConfigAndFonts fails. (bug 10976)
There is no U+1257 (bug 10899).
Spelling errors in documentation. (bug 10879).
Oops. Left debugging printf in previous commit.
Handle UltraBlack weight.
Fix parallel build in fontconfig/docs (bug 10481).
Distribute man source files for command line programs (bug 9678).
Ensure weight/slant values present even when style is supplied (bug 9313).
fontconfig needs configure option to use gnu iconv (bug 4083).
Match 'ultra' on word boundaries to detect ultra bold fonts. (bug 2511)
Build fix for Solaris 10 with GCC.
Mike FABIAN (1):
Avoid crashes if config files contain junk.
Stephan Kulow (1):
Make FcPatternDuplicate copy the binding instead of always using Strong.
Tilman Sauerbeck (2):
Store FcNoticeFoundries in read-only memory.
Store FcVendorFoundries in read-only memory.
2.4.2
Han-Wen Nienhuys:
FcStrCanonFileName buggy for mingw. (bug 8311)
More fixes for Win32 building (bug 8311)
Kean Johnston:
Don't use varargs CPP macros in fccache.c. (bug 8733)
Keith Packard:
Remove documentation for non-existant FcConfigNormalizeFontDir.
Build fontconfig.def from header files when needed.
Detect and use available random number generator (bug 8308)
Add sparc64 architecture string.
FcStrCanonAbsoluteFilename should be static.
Use explicit platform/nameid order when scanning ttf files.
Warn (and recover) from config file without <cachedir> elements.
Avoid writing uninitialized structure pad bytes to cache files.
Fix grep pattern in makealias to work on non-Gnu grep (bug 8368).
Add FcFreeTypeQueryFace external API. Bug #7311.
Segfault scanning non-font files. Disallow scan edit of user vars. (#8767)
Add space between type and formal in devel man pages (bug 8935)
Mike FABIAN:
Do not clean cache files for different architectures
Peter Breitenlohner:
A VPATH build of fontconfig-2.4.1 fails for various reasons. Bug 8933.
Use <literal> instead of <sgmltag> when documenting fonts.conf. Bug 8935.
Fix fc-cat documentation (bug 8935).
Fontconfig version 2.4 is API and ABI compatible with the 2.3
release, although some significant internal restructuring has
occurred.
Major changes from the 2.3 series:
* Shared mmap'ed cache files. All font cache files are mapped
read-only and shared across multiple processes. Startup
performance and memory footprint of the library have, as a
result, been significantly improved.
* Configuration split into multiple files. While 2.3 provided
the ability to incorporate additional configuration files from
a directory, it didn't use them extensively. The new configuration
structure places most of the configuration into separate files
and provides conventions for naming them that are designed to
permit user and distribution customization of the library
without needing to edit the master config file.
* Eliminate internal symbols from shared library symbol table.
The shared library now exports precisely the list of symbols
present in the public header files. Use of private symbols,
always unsupported, will now result in failure to link and run.
Thanks to all who have made this release possible, especially
Patrick Lam who built the shared cache file code and performed most
of the maintenance over the last year.
Keith Packard 2006-9-9
* Fix manuals in section 3 so they get built and installed.
* Rework GSUB/GPOS script parsing to avoid crashing when presented
with broken fonts.
* Add a few more example configuration files to /etc/fonts/conf.d
from the debian packaging.
Fix memory leak of patterns rejected by configuration (#2518)
Create prototype $PREFIX/etc/fontconfig/conf.d directory and populate
it with a few sample files. These samples are unused as the file
names don't start with numbers.
Update documentation.
changes:
2.2.97
Fc-cache sleeps before exiting to ensure filesystem timestamps are well
ordered.
Added Punjai orthography.
The timestamp in fonts.conf is gone now. Too many problems.
The default font path includes all of the X fonts; use selectfont/rejectfont
to eliminate bitmaps, as shown in the sample local.conf file.
<include> configuration elements may now reference a directory. Files
in that directory matching [0-9]* are loaded in UTF-8 collating sequence order.
<selectfont> configuration added to control which fonts are used.
fontformat font pattern elements built from the FT_Get_X11_Font_Format
function in newer versions of FreeType.
'capability' list constructed from gsub/gpos and silf values in TrueType
files.
Multi-lingual names (style, family, fullname) extracted and stored with
parallel <foo>lang properties marking language.
2.2.98
Share object name strings (Michael Meeks)
Eliminate a couple of codepoints from Russian orthography (John Thacker)
Add synthetic emboldening configuration changes (Jakub Pavelek)
Change FcFontSetSort to ignore language after fonts with the requested
languages have been found. (Owen Taylor)
Add some RedHat font configuration changes (Owen Tayler).
Add full Unicode case folding support to case-ignoring string functions
(Keith Packard)
Remove Han characters from Korean orthography (Tor Andersson)
All library names listed by *.la files no longer need to be listed
in the PLIST, e.g., instead of:
lib/libfoo.a
lib/libfoo.la
lib/libfoo.so
lib/libfoo.so.0
lib/libfoo.so.0.1
one simply needs:
lib/libfoo.la
and bsd.pkg.mk will automatically ensure that the additional library
names are listed in the installed package +CONTENTS file.
Also make LIBTOOLIZE_PLIST default to "yes".
in particular this fixes a problem where no font matches can be found
by gtk2 apps. This should fix the problem where even the gtk-demo
program fails run.
Lots more documentation installed, fontconfig-config replaced
with pkgconfig file.
Changelog covered some versions only:
Release 2.2.0:
* Change version number to 2.2.0
Prerelease 2.1.94:
* BDF property support for foundry and width (Juliusz Chroboczek)
* Clean up GCC warnings (Colin Walters)
Prerelease 2.1.93:
* Use Type1 FontInfoRec to get more detailed weight information
* Run fc-cache from source tree to try and resolve LFS install issues
* Fix fontconfig-user.html generation (was getting smashed)
* Debian build files are in CVS now
* Fixes to build on Windows
* Compute monospacing by looking at glyphs instead of trusting font
* Get widths and more detailed weight from TrueType OS/2 table
* Global cache was re-statting a lot of files.
* Yet more RPM fixes from RedHat
Fontconfig is a library for configuring and customizing font access.
Fontconfig can:
* discover new fonts when installed automatically, removing a common
source of configuration problems.
* perform font name substitution, so that appropriate alternative fonts
can be selected if fonts are missing.
* identify the set of fonts required to completely cover a set of
languages.
* have GUI configuration tools built as it uses an XML-based
configuration file (though with autodiscovery, we believe this need is
minimized).
* efficiently and quickly find the fonts you need among the set of fonts
you have installed, even if you have installed thousands of fonts,
while minimzing memory usage.
* be used in concert with the X Render Extension and FreeType to
implement high quality, anti-aliased and subpixel rendered text on a
display.
Fontconfig does not:
* render the fonts themselves (this is left to FreeType or other
rendering mechanisms).
* depend on the X Window System in any fashion, so that printer only
applications do not have such dependencies.
Approved by wiz.