README 13.2 KB
Newer Older
Keith Packard's avatar
Keith Packard committed
1 2
			Fontconfig
	Font configuration and customization library
Keith Packard's avatar
Keith Packard committed
3 4
		      Version 2.3.96
		         2006-09-03
5

Keith Packard's avatar
Keith Packard committed
6

Keith Packard's avatar
Keith Packard committed
7 8 9
Check INSTALL for compilation and installation instructions.
Report bugs to https://bugs.freedesktop.org in the fontconfig module.

Keith Packard's avatar
Keith Packard committed
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
2.3.96

Keith Packard:
      Make path names in cache files absolute (NB, cache format change) Stop
      Eliminate pattern freezing
      Add .gitignore
      Construct short architecture name from architecture signature.
      Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
      Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
      Add architecture to cache filename.
      Eliminate global cache. Eliminate multi-arch cache code.
      Fix up fc-cache and fc-cat for no global cache changes.
      Eliminate ./ and ../ elements from font directory names when scanning.
      Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
      Add x86-64 architecture and signature.
      During test run, remove cache directory to avoid stale cache usage.
      Add ppc architecture
      Revert to original FcFontSetMatch algorithm to avoid losing fonts.
      Rework cache files to use offsets for all data structures.
      Fix build problems caused by cache rework.
      FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.
      Rework Object name database to unify typechecking and object lookup.
      Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache.
      Fix fc-cat again. Sigh.
      Use intptr_t instead of off_t inside FcCache structure.
      Serialized value lists were only including one value.
      Automatically remove invalid cache files.
      With no args, fc-cat now dumps all directories.
      Revert ABI changes from version 2.3
      Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am
      Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
      Remove stale architecture signatures.
      Pass directory information around in FcCache structure. Freeze charsets.
      Fix fc-lang to use new charset freezer API.
      Fontset pattern references are relative to fontset, not array.
      Add some ignores
      Only rebuild caches for system fonts at make install time.
      Fix memory leaks in fc-cache directory cleaning code.
      Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
      Avoid #warning directives on non-GCC compilers. (bug 7683)
      Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)
      Add Assamese orthography (as.orth). Bug #8050
      Really only rebuild caches for system fonts at make install time.
      Fonts matching lang not territory should satisfy sort pattern lang.
      Prefer Bitstream Vera to DejaVu families.
      Guess that mac roman names with lots of high bits are actually SJIS.
      Document FC_DEBUG values (bug 6393). Document name \ escape syntax.
      Move Free family names to bottom of respective aliases. (bug 7429)
      Unify directory canonicalization into FcStrAddFilename.
      Allow font caches to contain newer version numbers
      Add FcMatchScan to resolve Delicious font matching issues (bug #6769)
      Fix missing initialization/destruction of new 'scan' target subst list.
      Don't segfault when string values can't be parsed as charsets or langsets.
      Using uninitialized (and wrong) variable in FcStrCopyFilename.
      Oops; missed the 60-delicious.conf file.

Patrick Lam:
      Keith Packard <keithp@keithp.com>
      2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
      2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
      2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
      2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam

73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
2.3.95

Match 'Standard Symbols L' for 'Symbol'.  Add URW fonts as aliases for
all of the PostScript fonts.  (reported by Miguel Rodriguez).  Fix a
number of Coverity defects (Frederic Crozat).  Speed up FcFontSort
(fix suggested by Kenichi Handa).  Fix error with charsets.  Survive
missing docbook2pdf.  Compile on HP-UX, AIX, SGI and Windows (Cygwin,
MinGW).  Fix intel compiler warnings.  Fix multiarch support (don't
destroy multiarch files!)  Require pkg-config.  (Thanks Behdad; better
solution wanted for libxml2 detection!)  Fix typos in orth files and
add orth for Lingala (reported by Denis Jacquerye).  Remove debian/
directory.  Add a configuration file that disables hinting for the
Lohit Gujarati font (since the hinting distorts some glyphs quite
badly).  Sort directory entries while scanning them from disk;
prevents Heisenbugs due to file ordering in a directory (due to Egmont
Koblinger).  Fix Wine's problem with finding fonts.  (Reported by
Patrick Lam's avatar
Patrick Lam committed
89 90 91
Bernhard Rosenkraenzer.)  Fix the issues with GNU libiconv vs. libc
iconv (which especially appear on Solarii); patch by Behdad Esfahbod,
approach suggested by Tim Mooney.
92

Patrick Lam's avatar
Patrick Lam committed
93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
2.3.94

fc-cat can take directories as input and creates old-style fonts.cache
listings.
fc-cache takes -r --really-force which blows away all old caches and
regenerates.
Robustness fixes, integer overflow fixes (notably to cache handling
code), toast broken global cache files.
Change binary format to make it compatible with static langset
information (thanks to Takashi Iwai).
Open hashed caches before fonts.cache-2 (Takashi Iwai).
Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for
not declaring certain elements (Takashi Iwai).
Fix matching bug when multiple elements match; don't use
the sum of all scores, but the best score (James Su).
Make fc-lang more friendly to Windows systems.
Remove archaic chars from Georgian charset; add Euro character to
charsets for European languages.
Fix treatment of broken PCF fonts that don't declare family names.
Pass O_BINARY to open if appropriate (reported by Doodle).
Normalize font directories to the form in which they appear in 
config files.  
Add a record of the cached directory to the cache file.
Perf optimizations (Dirk Mueller; some reported by Michael Meeks.)
Don't loop infinitely on recursive symlinks.
Make 'make distcheck' work with automake 1.6.3.
Replace 'stamp' target with mkinstalldirs.
Don't stop scanning if a directory in fonts.conf doesn't exist,
because subsequent directories might exist.
Put directory names into global cache (reported by Ronny V. Vindenes).
Treat zh-hk fonts differently from zh-tw fonts.  This patch may cause
fontconfig to treat A-X fonts differently from A-Y fonts; please mail
the fontconfig list if this causes any problems.
Fix for unaligned memory accesses (Andreas Schwab).
Fix treatment of cache directory as read from cache file; don't use
string equality to determine if we have the right file, use inode
equality.
Properly skip past dir caches that contain zero fonts, as occurs
in global caches (reported by Mike Fabian).
Print out full pathname in fc-match -v (reported by Frederic Crozat).
Fix bug where fc-match crashes when given __DUMMY__ property to
match on.

Patrick Lam's avatar
Patrick Lam committed
136 137 138 139 140 141 142 143 144 145 146 147 148
2.3.93

Create cache files in /var/cache/fontconfig with hashed filenames, if
possible, for added FHS compliance.  
Make fc-cat read both per-directory and global cache files.  
Add config file for Persian fonts from Sharif FarsiWeb, Inc.  
Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions.
Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen.
Don't use freetype internal headers (patch by Matthias Clasen).  
Further space improvements: create langsets statically, so that they can live in .rodata.
Properly align mmapped data structures to make e.g. ia64 happy.  
Bug fixes.

Patrick Lam's avatar
Patrick Lam committed
149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173
2.3.92

Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian).
Store only basename in the cache, reconstitute on demand 
(reported by James Cloos).
Change the rule for artificial emboldening in fonts.conf.in.  This
enables the support for artificial emboldening included in cairo
(patch by Zhe Su).
Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
to load embedded bitmaps or not (patch by Jinghua Luo).
Fix GCC4 warnings (some by Behdad Esfahbod).
Support localized font family and style names; this has been reported
to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work
fine (patch by Zhe Su).
Prevent fc-list from escaping strings when printing them (reported by
Matthias Clasen).
Add valist sentinel markup for FcObjectSetBuild and 
FcPatternBuild (patch by Marcus Meissner).
Add consts to variables so as to move arrays into .rodata (patch by
Ross Burton).
Modify config file to use Greek fonts before Asian fonts with
Greek glyphs. (patch by Simos Xenitellis).
Use libtool -no-undefined flag on all platforms (patch by Christian
Biesinger).

Patrick Lam's avatar
Patrick Lam committed
174 175 176 177 178 179 180 181 182 183 184 185 186
2.3.91

Use libxml2 if requested or if expat not available. (Mathias Hasselmann)
Fix multi-arch cache files: compute the position for the
block to be added using info from OrigFile, not NewFile. (plam)
Cast results of sizeof() to unsigned int to get rid of
warnings on x86_64 (reported by Matthias Clasen).
Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2
file even if there's no data to write; just write an empty cache file.
(Reported by Lubos Lunak)
Allocate room for the subdirectory names in each directory cache. 
(Reported by James Cloos)

187 188 189 190 191
2.3.90

Development release of mmap patch: load pattern information
directly from cache files.  (Patrick Lam)

Keith Packard's avatar
Keith Packard committed
192 193
2.3.2

194 195
Patch memory leaks in using iconv.  (Reported by Chris Capoccia)
Patch memory leaks in fc-cache. (Reported by Chris Capoccia)
Keith Packard's avatar
Keith Packard committed
196 197 198 199
Fetch bitmap glyphs to get widths during font evaluation. (keithp)
Share strings through FcObjectStaticName (Ross Burton)
Windows build updates (Tor Lillqvist)

Keith Packard's avatar
Keith Packard committed
200 201 202 203 204 205 206 207
2.3.1

Be more careful about broken GSUB/GPOS tables (Manish Singh)
Include debian packaging stuff in CVS (Josselin Mouette)
Add more conf.d examples (Keith Packard)
Make manuals build again (Keith Packard)
Johap -> Johab (Funda Wang)

Keith Packard's avatar
Keith Packard committed
208 209 210 211 212 213 214 215 216 217
2.3.0

Fix memory leak of patterns rejected by configuration (#2518)

Create prototype /etc/fonts/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.

Keith Packard's avatar
Keith Packard committed
218 219 220 221 222 223 224 225 226 227 228 229
2.2.99

Verify cache for FC_FILE and FC_FAMILY in every entry (#2219)

Update blanks list from recent Unicode docs (#86)

Various small build fixes (#280, #2278, 

Documentation fixes (#2085, #2284, #2285)

Add polite typechecking to config file loader (#229)

Keith Packard's avatar
Keith Packard committed
230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246
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)
Keith Packard's avatar
Keith Packard committed
247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272

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.
Keith Packard's avatar
Keith Packard committed
273 274 275 276 277 278 279 280

2.2.96

Fix FcConfigUpToDate to actually check all font directories and eliminate
a typo which completely prevented it from working (Lubos Lunak
<l.lunak@suse.cz>)

Remove comma at end of FcResult enum definition for picky compilers.
Keith Packard's avatar
Keith Packard committed
281 282 283 284 285 286 287

2.2.95

Add FcResultOutOfMemory so FcFontSetMatch can return accurate error.

Replace MIN/MAX/ABS macros which happened to be in old FreeType releases
with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig.
288 289 290 291 292

2.2.94

The 2.2.93 release was prepared with a broken libtool which created
the shared library without the '.so' in the file names.
293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315

2.2.93

This is the third prerelease of fontconfig 2.3.  Significant changes from
2.2.92 are:

 o	Use new FreeType #include syntax
 o	use y_ppem field instead of 'height' in bitmap sizes rec -
 	FreeType changed the semantics.  Still uses height for
	older versions of FreeType
 o	Don't construct program manuals unless docbook is available

2.2.92

 o	make distcheck work

2.2.91

 o	Switch to SGML manuals
 o	Add FC_DUAL width spacing value
 o	Add FcFini to close out fontconfig and release all memory
 
2.2
316

317
This is the third public release of fontconfig, a font configuration and
318 319 320 321 322 323 324 325 326
customization library.  Fontconfig is designed to locate fonts within the
system and select them according to requirements specified by applications.

Fontconfig is not a rasterization library, nor does it impose a particular
rasterization library on the application.  The X-specific library
'Xft' uses fontconfig along with freetype to specify and rasterize fonts.

Keith Packard
keithp@keithp.com