Add sparc64 architecture string.
[platform/upstream/fontconfig.git] / README
1                         Fontconfig
2         Font configuration and customization library
3                       Version 2.4.1
4                         2006-09-15
5
6
7 Check INSTALL for compilation and installation instructions.
8 Report bugs to https://bugs.freedesktop.org in the fontconfig module.
9
10 2.4.1
11
12 Keith Packard:
13       Update installation notes for 2.4 base.
14       Add ppc64 signature. Bug 8227
15       Add signatures for m68k and mipsel (thanks debian buildd)
16       Add warning flags to fc-cache build. Clean up warnings in fc-cache.
17       Reimplement FcConfigAppFontAddDir; function was lost in 2.4.0.
18
19 2.4.0
20
21 David Turner:
22       Replace character discovery loop with simpler, faster version.
23
24 James Cloos:
25       Move files from conf.d to conf.avail
26       Standardize conf.avail number prefixing convention
27       Support all five possibilities for sub-pixel
28       Move user and local conf file loading into conf.avail files
29       Number the remaining conf.avail files
30       Update Makefile.am to match conf.avail changes
31       Replace load of conf.d in fonts.conf.in
32       Make room for chunks from fonts.conf in conf.avail
33       Re-order old conf.d files
34       Move some section from fonts.conf into conf.avail files
35       Update Makefile.am files
36       Make conf.avail and conf.d work
37
38 Keith Packard:
39       Create fc_cachedir at install time. Bug 8157.
40       Reference patterns in FcCacheCopySet.
41       Replace gnu-specific sed command with simple grep.
42       Attempt to fix makealias usage for build on Mac OS X.
43       Accept locale environment variables that do not contain territory.
44       Merge branch 'jhcloos'
45       Insert newly created caches into reference data structure.
46       Add XML headers to new conf files. Move link make commands to conf.avail dir
47       Rename conf.avail to conf.d
48       Fix conf.d directory sorting.
49       Include cachedir in fonts.dtd.
50       Don't display tests for DESTDIR on make install.
51       Split much of the configuration into separate files. Renumber files
52
53 2.3.97
54
55 Carl Worth:
56       Rename FcPatternThawAll to FcPatternFini.
57       Add a configuration file that disables hinting for the Lohit Gujarati font
58
59 Keith Packard:
60       Various GCC 4 cleanups for signed vs unsigned char
61       Finish INSTALL changes. .gitignore ChangeLog
62       Merge branch 'fc-2_4_branch' to master
63       Remove all .cvsignore files
64       Hide private functions in shared library. Export functionality for utilities.
65       Hide FreeType glue code from library ABI.
66       Can't typecheck values for objects with no known type.
67       Leave cache files mapped permanently.
68       Reference count cache objects.
69       Make cache reference counting more efficient.
70       Oops, fc-lang broke when I added cache referencing.
71       Correct reference count when sharing cache file objects.
72       Eliminate .so PLT entries for local symbols. (thanks to Arjan van de Ven)
73       Update architecture signatures for x86-64 and ppc.
74       Parallel build fix for fcalias.h and fcaliastail.h
75       Charset hashing depended on uniqueness of leaves.
76
77 Patrick Lam:
78       file Makefile.am was initially added on branch fc-2_4_branch.
79       Modify config file to use Greek fonts before Asian fonts with Greek glyphs.
80       Use libtool -no-undefined flag on all platforms.
81       file ftglue.c was initially added on branch fc-2_4_branch.
82       2005-11-23 Frederic Crozat <fcrozat@mandriva.com>: reviewed by: plam
83       file 10-fonts-persian.conf was initially added on branch fc-2_4_branch.
84       Sort directory entries while scanning them from disk; prevents Heisenbugs
85       file ln.orth was initially added on branch fc-2_4_branch.
86       Fix typos in orth files. Reported by Denis Jacquerye.
87       On Windows, unlink before rename. Reported by Tim Evans.
88       file fc-match.sgml was initially added on branch fc-2_4_branch.
89
90 2.3.96
91
92 Keith Packard:
93       Make path names in cache files absolute (NB, cache format change) Stop
94       Eliminate pattern freezing
95       Add .gitignore
96       Construct short architecture name from architecture signature.
97       Write caches to first directory with permission. Valid cache in FcDirCacheOpen.
98       Eliminate NormalizeDir. Eliminate gratuitous stat/access calls per dir.
99       Add architecture to cache filename.
100       Eliminate global cache. Eliminate multi-arch cache code.
101       Fix up fc-cache and fc-cat for no global cache changes.
102       Eliminate ./ and ../ elements from font directory names when scanning.
103       Regenerate x86 line in fcarch.tmpl.h to match change in cache data.
104       Add x86-64 architecture and signature.
105       During test run, remove cache directory to avoid stale cache usage.
106       Add ppc architecture
107       Revert to original FcFontSetMatch algorithm to avoid losing fonts.
108       Rework cache files to use offsets for all data structures.
109       Fix build problems caused by cache rework.
110       FcCharSetSerialize was using wrong offset for leaves. Make fc-cat work.
111       Rework Object name database to unify typechecking and object lookup.
112       Skip broken caches. Cache files are auto-written, don't rewrite in fc-cache.
113       Fix fc-cat again. Sigh.
114       Use intptr_t instead of off_t inside FcCache structure.
115       Serialized value lists were only including one value.
116       Automatically remove invalid cache files.
117       With no args, fc-cat now dumps all directories.
118       Revert ABI changes from version 2.3
119       Change $(pkgcachedir) to $(fc_cachedir) in fc-cat and fc-cache Makefile.am
120       Allow FcTypeLangSet to match either FcTypeLangSet or FcTypeString.
121       Remove stale architecture signatures.
122       Pass directory information around in FcCache structure. Freeze charsets.
123       Fix fc-lang to use new charset freezer API.
124       Fontset pattern references are relative to fontset, not array.
125       Add some ignores
126       Only rebuild caches for system fonts at make install time.
127       Fix memory leaks in fc-cache directory cleaning code.
128       Add @EXPAT_LIBS@ to Libs.private in fontconfig.pc (bug 7683)
129       Avoid #warning directives on non-GCC compilers. (bug 7683)
130       Chinese/Macau needs the Hong Kong orthography instead of Taiwan (bug 7884)
131       Add Assamese orthography (as.orth). Bug #8050
132       Really only rebuild caches for system fonts at make install time.
133       Fonts matching lang not territory should satisfy sort pattern lang.
134       Prefer Bitstream Vera to DejaVu families.
135       Guess that mac roman names with lots of high bits are actually SJIS.
136       Document FC_DEBUG values (bug 6393). Document name \ escape syntax.
137       Move Free family names to bottom of respective aliases. (bug 7429)
138       Unify directory canonicalization into FcStrAddFilename.
139       Allow font caches to contain newer version numbers
140       Add FcMatchScan to resolve Delicious font matching issues (bug #6769)
141       Fix missing initialization/destruction of new 'scan' target subst list.
142       Don't segfault when string values can't be parsed as charsets or langsets.
143       Using uninitialized (and wrong) variable in FcStrCopyFilename.
144       Oops; missed the 60-delicious.conf file.
145
146 Patrick Lam:
147       Keith Packard <keithp@keithp.com>
148       2006-04-27 Paolo Borelli (pborelli@katamail.com) reviewed by: plam
149       2006-05-31 Yong Li (rigel863@gmail.com) reviewed by: plam, Bedhad Esfahbod
150       2006-07-19 Jon Burgess (jburgess@uklinux.net) reviewed by: plam
151       2006-08-04 Keith Packard (keithp@keithp.com) reviewed by: plam
152
153 2.3.95
154
155 Match 'Standard Symbols L' for 'Symbol'.  Add URW fonts as aliases for
156 all of the PostScript fonts.  (reported by Miguel Rodriguez).  Fix a
157 number of Coverity defects (Frederic Crozat).  Speed up FcFontSort
158 (fix suggested by Kenichi Handa).  Fix error with charsets.  Survive
159 missing docbook2pdf.  Compile on HP-UX, AIX, SGI and Windows (Cygwin,
160 MinGW).  Fix intel compiler warnings.  Fix multiarch support (don't
161 destroy multiarch files!)  Require pkg-config.  (Thanks Behdad; better
162 solution wanted for libxml2 detection!)  Fix typos in orth files and
163 add orth for Lingala (reported by Denis Jacquerye).  Remove debian/
164 directory.  Add a configuration file that disables hinting for the
165 Lohit Gujarati font (since the hinting distorts some glyphs quite
166 badly).  Sort directory entries while scanning them from disk;
167 prevents Heisenbugs due to file ordering in a directory (due to Egmont
168 Koblinger).  Fix Wine's problem with finding fonts.  (Reported by
169 Bernhard Rosenkraenzer.)  Fix the issues with GNU libiconv vs. libc
170 iconv (which especially appear on Solarii); patch by Behdad Esfahbod,
171 approach suggested by Tim Mooney.
172
173 2.3.94
174
175 fc-cat can take directories as input and creates old-style fonts.cache
176 listings.
177 fc-cache takes -r --really-force which blows away all old caches and
178 regenerates.
179 Robustness fixes, integer overflow fixes (notably to cache handling
180 code), toast broken global cache files.
181 Change binary format to make it compatible with static langset
182 information (thanks to Takashi Iwai).
183 Open hashed caches before fonts.cache-2 (Takashi Iwai).
184 Fix FcFontSetMatch's algorithm, which used to unjustly kill fonts for
185 not declaring certain elements (Takashi Iwai).
186 Fix matching bug when multiple elements match; don't use
187 the sum of all scores, but the best score (James Su).
188 Make fc-lang more friendly to Windows systems.
189 Remove archaic chars from Georgian charset; add Euro character to
190 charsets for European languages.
191 Fix treatment of broken PCF fonts that don't declare family names.
192 Pass O_BINARY to open if appropriate (reported by Doodle).
193 Normalize font directories to the form in which they appear in 
194 config files.  
195 Add a record of the cached directory to the cache file.
196 Perf optimizations (Dirk Mueller; some reported by Michael Meeks.)
197 Don't loop infinitely on recursive symlinks.
198 Make 'make distcheck' work with automake 1.6.3.
199 Replace 'stamp' target with mkinstalldirs.
200 Don't stop scanning if a directory in fonts.conf doesn't exist,
201 because subsequent directories might exist.
202 Put directory names into global cache (reported by Ronny V. Vindenes).
203 Treat zh-hk fonts differently from zh-tw fonts.  This patch may cause
204 fontconfig to treat A-X fonts differently from A-Y fonts; please mail
205 the fontconfig list if this causes any problems.
206 Fix for unaligned memory accesses (Andreas Schwab).
207 Fix treatment of cache directory as read from cache file; don't use
208 string equality to determine if we have the right file, use inode
209 equality.
210 Properly skip past dir caches that contain zero fonts, as occurs
211 in global caches (reported by Mike Fabian).
212 Print out full pathname in fc-match -v (reported by Frederic Crozat).
213 Fix bug where fc-match crashes when given __DUMMY__ property to
214 match on.
215
216 2.3.93
217
218 Create cache files in /var/cache/fontconfig with hashed filenames, if
219 possible, for added FHS compliance.  
220 Make fc-cat read both per-directory and global cache files.  
221 Add config file for Persian fonts from Sharif FarsiWeb, Inc.  
222 Major performance improvements by Dirk Mueller, Stephen Kulow, and Michael Matz at SuSE: in particular, speed up FcFontSetMatch, and inline many functions.
223 Fix treatment of globs in config files, broken since 2.3.2 and discovered by Mathias Clasen.
224 Don't use freetype internal headers (patch by Matthias Clasen).  
225 Further space improvements: create langsets statically, so that they can live in .rodata.
226 Properly align mmapped data structures to make e.g. ia64 happy.  
227 Bug fixes.
228
229 2.3.92
230
231 Fix corrupted caches bugs from 2.3.91 (reported by Mike Fabian).
232 Store only basename in the cache, reconstitute on demand 
233 (reported by James Cloos).
234 Change the rule for artificial emboldening in fonts.conf.in.  This
235 enables the support for artificial emboldening included in cairo
236 (patch by Zhe Su).
237 Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
238 to load embedded bitmaps or not (patch by Jinghua Luo).
239 Fix GCC4 warnings (some by Behdad Esfahbod).
240 Support localized font family and style names; this has been reported
241 to break old apps like xfd, but modern (gtk+/qt/mozilla) apps work
242 fine (patch by Zhe Su).
243 Prevent fc-list from escaping strings when printing them (reported by
244 Matthias Clasen).
245 Add valist sentinel markup for FcObjectSetBuild and 
246 FcPatternBuild (patch by Marcus Meissner).
247 Add consts to variables so as to move arrays into .rodata (patch by
248 Ross Burton).
249 Modify config file to use Greek fonts before Asian fonts with
250 Greek glyphs. (patch by Simos Xenitellis).
251 Use libtool -no-undefined flag on all platforms (patch by Christian
252 Biesinger).
253
254 2.3.91
255
256 Use libxml2 if requested or if expat not available. (Mathias Hasselmann)
257 Fix multi-arch cache files: compute the position for the
258 block to be added using info from OrigFile, not NewFile. (plam)
259 Cast results of sizeof() to unsigned int to get rid of
260 warnings on x86_64 (reported by Matthias Clasen).
261 Use FcAtomic to rewrite cache files; don't unlink the fonts.cache-2
262 file even if there's no data to write; just write an empty cache file.
263 (Reported by Lubos Lunak)
264 Allocate room for the subdirectory names in each directory cache. 
265 (Reported by James Cloos)
266
267 2.3.90
268
269 Development release of mmap patch: load pattern information
270 directly from cache files.  (Patrick Lam)
271
272 2.3.2
273
274 Patch memory leaks in using iconv.  (Reported by Chris Capoccia)
275 Patch memory leaks in fc-cache. (Reported by Chris Capoccia)
276 Fetch bitmap glyphs to get widths during font evaluation. (keithp)
277 Share strings through FcObjectStaticName (Ross Burton)
278 Windows build updates (Tor Lillqvist)
279
280 2.3.1
281
282 Be more careful about broken GSUB/GPOS tables (Manish Singh)
283 Include debian packaging stuff in CVS (Josselin Mouette)
284 Add more conf.d examples (Keith Packard)
285 Make manuals build again (Keith Packard)
286 Johap -> Johab (Funda Wang)
287
288 2.3.0
289
290 Fix memory leak of patterns rejected by configuration (#2518)
291
292 Create prototype /etc/fonts/conf.d directory and populate it with a few
293 sample files.  These samples are unused as the file names don't start with
294 numbers.
295
296 Update documentation.
297
298 2.2.99
299
300 Verify cache for FC_FILE and FC_FAMILY in every entry (#2219)
301
302 Update blanks list from recent Unicode docs (#86)
303
304 Various small build fixes (#280, #2278, 
305
306 Documentation fixes (#2085, #2284, #2285)
307
308 Add polite typechecking to config file loader (#229)
309
310 2.2.98
311
312 Share object name strings (Michael Meeks)
313
314 Eliminate a couple of codepoints from Russian orthography (John Thacker)
315
316 Add synthetic emboldening configuration changes (Jakub Pavelek)
317
318 Change FcFontSetSort to ignore language after fonts with the requested
319 languages have been found. (Owen Taylor)
320
321 Add some RedHat font configuration changes (Owen Tayler).
322
323 Add full Unicode case folding support to case-ignoring string functions
324 (Keith Packard)
325
326 Remove Han characters from Korean orthography (Tor Andersson)
327
328 2.2.97
329
330 Fc-cache sleeps before exiting to ensure filesystem timestamps are well
331 ordered.
332
333 Added Punjai orthography.
334
335 The timestamp in fonts.conf is gone now.  Too many problems.
336
337 The default font path includes all of the X fonts; use selectfont/rejectfont
338 to eliminate bitmaps, as shown in the sample local.conf file.
339
340 <include> configuration elements may now reference a directory.  Files
341 in that directory matching [0-9]* are loaded in UTF-8 collating sequence order.
342
343 <selectfont> configuration added to control which fonts are used.
344
345 fontformat font pattern elements built from the FT_Get_X11_Font_Format
346 function in newer versions of FreeType.
347
348 'capability' list constructed from gsub/gpos and silf values in TrueType
349 files.
350
351 Multi-lingual names (style, family, fullname) extracted and stored with
352 parallel <foo>lang properties marking language.
353
354 2.2.96
355
356 Fix FcConfigUpToDate to actually check all font directories and eliminate
357 a typo which completely prevented it from working (Lubos Lunak
358 <l.lunak@suse.cz>)
359
360 Remove comma at end of FcResult enum definition for picky compilers.
361
362 2.2.95
363
364 Add FcResultOutOfMemory so FcFontSetMatch can return accurate error.
365
366 Replace MIN/MAX/ABS macros which happened to be in old FreeType releases
367 with FC_MIN/FC_MAX/FC_ABS macros owned by fontconfig.
368
369 2.2.94
370
371 The 2.2.93 release was prepared with a broken libtool which created
372 the shared library without the '.so' in the file names.
373
374 2.2.93
375
376 This is the third prerelease of fontconfig 2.3.  Significant changes from
377 2.2.92 are:
378
379  o      Use new FreeType #include syntax
380  o      use y_ppem field instead of 'height' in bitmap sizes rec -
381         FreeType changed the semantics.  Still uses height for
382         older versions of FreeType
383  o      Don't construct program manuals unless docbook is available
384
385 2.2.92
386
387  o      make distcheck work
388
389 2.2.91
390
391  o      Switch to SGML manuals
392  o      Add FC_DUAL width spacing value
393  o      Add FcFini to close out fontconfig and release all memory
394  
395 2.2
396
397 This is the third public release of fontconfig, a font configuration and
398 customization library.  Fontconfig is designed to locate fonts within the
399 system and select them according to requirements specified by applications.
400
401 Fontconfig is not a rasterization library, nor does it impose a particular
402 rasterization library on the application.  The X-specific library
403 'Xft' uses fontconfig along with freetype to specify and rasterize fonts.
404
405 Keith Packard
406 keithp@keithp.com