Allow font caches to contain newer version numbers
[platform/upstream/fontconfig.git] / ChangeLog
1 2006-08-04  Keith Packard  (keithp@keithp.com)
2         reviewed by: plam
3
4         * configure.in:
5         * fonts.conf.in:
6         * fonts.dtd:
7         * fc-cache/fc-cache.c (scanDirs):
8         * fontconfig/fontconfig.h:
9         * src/Makefile.am:
10         * src/fcint.h:
11         * src/fccache.c (FcDirCacheValid, FcDirHasCurrentArch, 
12                          FcDirCacheUnlink, FcDirCacheBasename,
13                          FcCacheReadDirs, FcDirCacheOpen, FcDirCacheRead,
14                          FcMakeDirectory, FcDirCacheWrite):
15         * src/fccfg.c (FcConfigCreate, FcConfigDestroy, FcConfigAddCacheDir,
16                        FcConfigGetCacheDirs):
17         * src/fcdir.c (FcDirScanConfig, FcDirSave):
18         * src/fcinit.c (FcInitFallbackConfig):
19         * src/fcxml.c (fcElementMap, FcEndElement):
20         * test/fonts.conf.in, test/run-test.sh:
21
22         Make cache directories configurable.  Simplify and correct
23         some code which deals with per-directory caches.
24
25 2006-07-19  Jon Burgess  (jburgess@uklinux.net)
26         reviewed by: plam
27
28         * src/fccache.c (FcGlobalCacheDestroy):
29
30         Fix file-descriptor leak in FcGlobalCacheDestroy.
31
32 2006-05-31  Yong Li  (rigel863@gmail.com)
33         reviewed by: plam, Bedhad Esfahbod
34
35         * src/ftglue.c (_hb_ftglue_face_goto_table): 
36
37         TrueType Collection table offsets are absolute, not relative.
38
39 2006-04-27  Paolo Borelli  (pborelli@katamail.com)
40         reviewed by: plam
41         
42         * src/fcstr.c (FcStrCopy):
43
44         Make FcStrCopy slightly more efficient.
45
46 2006-04-27  Patrick Lam  <plam@mit.edu>
47             Keith Packard  <keithp@keithp.com>
48         * src/fcstr.c (FcStrBufChar):
49
50         Reduce transient memory usage during config file parsing
51         by allocating smaller buffers (64 seems to be a magic number).
52         
53 2006-04-27  Keith Packard  <keithp@keithp.com>
54
55         * src/fcinit.c: (FcMemReport):
56         * src/fcint.h:
57         * src/fcpat.c: (FcPatternFini):
58         * src/fcxml.c: (FcParsePatelt):
59         Eliminate pattern freezing
60
61 2006-04-27  Keith Packard  <keithp@keithp.com>
62         reviewed by: Patrick Lam <plam@mit.edu>
63
64         * src/fccache.c: (FcDirCacheUnlink), (FcDirCacheHashName),
65         (FcDirCacheOpen), (FcDirCacheWrite):
66         * src/fcfreetype.c: (FcFreeTypeQuery):
67         * src/fcint.h:
68         * src/fclist.c: (FcListAppend):
69         * src/fcmatch.c: (FcFontRenderPrepare):
70         * src/fcpat.c: (FcPatternDestroy), (FcPatternBaseFreeze),
71         (FcPatternFreeze), (FcPatternGet), (FcPatternDuplicate),
72         (FcStrUnserialize):
73         Make path names in cache files absolute (NB, cache format change)
74         Stop permitting cache files to be stored in font dirs.
75         Bump cache magic.
76         Don't include /fonts.cache-2 in cache hash construction.
77
78 2006-04-25  Patrick Lam  <plam@mit.edu>
79         * ChangeLog:
80         * README:
81         * configure.in:
82         * fontconfig/fontconfig.h:
83
84         Bump version to 2.3.95.
85
86 2006-04-25  Behdad Esfahbod  <behdad@cs.toronto.edu>
87         reviewed by: plam
88
89         * configure.in:
90         * src/Makefile.am:
91         * src/fcfreetype.c:
92
93         Fix the issues with GNU libiconv vs. libc iconv (which especially
94         appear on Solarii).  Approach suggested by Tim Mooney.
95         
96 2006-04-24  Dominic Lachowicz  <cinamod@hotmail.com>
97         reviewed by: plam
98         
99         * src/Makefile.am:
100
101         Include $(top_srcdir), $(top_srcdir)/src before anything else.
102
103         * fc-cache/fc-cache.c, fc-cat/fc-cat.c, fc-match/fc-match.c:
104         * src/fccache.c, src/fccfg.c, src/fccharset.c, src/fcdbg.c:
105         * src/fcfreetype.c, src/fcfs.c, src/fcinit.c, src/fclist.c:
106         * src/fcmatch.c, src/fcmatrix.c, src/fcname.c, src/fcpat.c:
107         * src/fcstr.c, src/fcxml.c:
108
109         Shuffle order of includes for building out of srcdir on win32.
110         
111 2006-04-20  Patrick Lam  <plam@mit.edu>
112         * src/fcmatch.c (FcSortWalk):
113
114         Prevent terrible perf regression by getting the if-condition
115         right (reported by Wouter Bolsterlee).
116
117 2006-04-19  Patrick Lam  <plam@mit.edu>
118             Dominic Lachowicz  <cinamod@hotmail.com>
119
120         * src/fccache.c (FcDirCacheConsume):
121
122         Implement mmap-like code for Windows using MapViewOfFile.
123         
124 2006-04-19  Patrick Lam  <plam@mit.edu>
125         * src/fccache.c (FcDirCacheConsume, FcCacheNextOffset):
126
127         Bail gracefully if the cache file does not contain enough data.
128
129 2006-04-14  Patrick Lam  <plam@mit.edu>
130         * fonts.conf.in:
131
132         Give the 'Standard Symbols L' match a strong (vs. weak) binding.
133
134 2006-04-14  Patrick Lam  <plam@mit.edu>
135         * src/fcname.c (FcObjectToPtrLookup):
136
137         Fix Gecko-exposed segfault from my last hack to
138         FcObjectToPtrLookup.  Simplify code and get things straight.
139
140 2006-04-14  Patrick Lam  <plam@mit.edu>
141         * fonts.conf.in:
142
143         Actually, just add URW fonts as aliases for all of the PostScript
144         fonts.  (reported by Miguel Rodriguez). 
145
146 2006-04-13  Patrick Lam  <plam@mit.edu>
147         * fonts.conf.in:
148
149         Add an alias 'Standard Symbols L' for 'Symbol'.
150
151 2006-04-12  Frederic Crozat  <fcrozat@mandriva.com>
152         reviewed by: plam
153         
154         * src/fcpat.c: (FcPatternFreeze):
155         Fix memory leak (Coverity defect #2089).
156
157         * src/fcfreetype.c: (GetScriptTags):
158         Ignore script if subtable is missing (Coverity defect #2088).
159
160 2006-04-12  Patrick Lam  <plam@mit.edu>
161         * src/fccfg.c (FcConfigSubstituteWithPat):
162
163         Fix possible null pointer dereference (Coverity defect #784)
164         and memory leak (Coverity defects #785, #786).
165
166 2006-04-12  Patrick Lam  <plam@mit.edu>
167         * src/fcmatch.c (FcSortWalk, FcFontSetSort):
168
169         Don't copy FcCharSet if we're going to throw it away anyway.
170         (Reported by Kenichi Handa).
171
172 2006-04-11  Ming Zhao  <ming@gentoo.org>
173         reviewed by: plam
174         
175         * src/fcname.c (FcObjectToPtrLookup):
176
177         Fix bad behaviour on realloc resulting in crash.
178
179 2006-04-11  Patrick Lam  <plam@mit.edu>
180         * src/fccache.c (FcGlobalCacheReadDir):
181
182         Don't crash if config is null (Coverity defect #984).
183
184 2006-04-11  Frederic Crozat  <fcrozat@mandriva.com>
185         reviewed by: plam
186
187         * src/fccharset.c (FcCharSetPutLeaf):
188         * src/fclang.c (FcNameUnparseLangSet):
189
190         Missing bits from previous patches.
191
192         * src/fccharset.c (FcCharSetSubtractCount):
193         Remove extra semi-colon.
194
195         * src/fccfg.c (FcConfigBuildFonts):
196         Fix memory leak in error case (Coverity defects #776, #985).
197
198         * src/fcxml.c (FcPopBinary, FcParsePatelt, FcParsePattern):
199         Fix memory leaks (Coverity defects #779, #781) 
200         and memory use after free (Coverity defect #780).
201
202 2006-04-11  Patrick Lam  <plam@mit.edu>
203         * src/fccharset.c (FcCharSetPutLeaf):
204
205         Properly convert static charsets to dynamic charsets.
206
207 2006-04-11  Frederic Crozat  <fcrozat@mandriva.com>
208         reviewed by: plam
209         
210         * src/fcpat.c: (FcValueListEntCreate, FcPatternBaseFreeze,
211         FcPatternFreeze):
212         Fix memory leak in error case (Coverity defects #1820, #1821, #1822).
213
214         * src/fclang.c: (FcNameUnparseLangSet):
215         Fix memory leak (Coverity defect #1819).
216
217         * fc-lang/fc-lang.c: (scan):
218         prevent crash when invalid include line is parsed (Coverity defect
219         #763).
220
221         * fc-cat/fc-cat.c: (FcCacheFileRead):
222         Fix potential null pointer access (Coverity defect #1804).
223
224         * src/fcname.c: (FcObjectUnserialize):
225         Remove dead code (Coverity defect #1194).
226
227         * src/fcfreetype.c: (GetScriptTags):
228         Prevent potential null pointer access (Coverity defect #767),
229         ensure error value is read (Coverity defect #1195).
230
231 2006-04-11  Behdad Esfahbod  <behdad@cs.toronto.edu>
232         reviewed by: plam
233
234         * doc/Makefile.am:
235
236         Survive missing docbook2pdf.
237
238 2006-04-10  Patrick Lam  <plam@mit.edu>
239         * fc-case/fc-case.c:
240         * fc-glyphname/fc-glyphname.c:
241         * fc-lang/fc-lang.c:
242
243         Include more stub definitions to make HP-UX's C compiler happy.
244
245 2006-04-10  Patrick Lam  <plam@mit.edu>
246         * src/fcname.c (FcObjectUnserialize):
247
248         Swap typo in order of ALIGN and dereferencing, fixing bug 6529.
249
250 2006-04-10  Frederic Crozat  <fcrozat@mandriva.com>
251         reviewed by: plam
252         
253         * src/fccfg.c: (FcConfigEvaluate):
254         Fix string memory leak (Coverity defect #1823).
255         
256         * src/fccache.c: (FcDirCacheUnlink):
257         Fix memory leak with hash collision (Coverity defect #1824).
258
259 2006-04-10  Frederic Crozat  <fcrozat@mandriva.com>
260         reviewed by: plam
261         
262         * src/fccache.c: (FcGlobalCacheSave):
263         Don't leak header in non-error case (Coverity defect #1825).
264
265 2006-04-10  Frederic Crozat  <fcrozat@mandriva.com>
266         reviewed by: plam
267
268         * src/fcdir.c (FcDirScanConfig)
269         Don't leak in error cases (Coverity defects #777, #1826)
270
271 2006-04-10  Frederic Crozat  <fcrozat@mandriva.com>
272         reviewed by: plam
273
274         * src/fccache.c: (FcDirCacheWrite):
275         Fix double free (spotted by Coverity, CID #1965).
276
277         * fc-match/fc-match.c: (main):
278         Check if pattern is not null before using it (Coverity defect #1883).
279
280         * src/fccache.c: (FcDirCacheWrite):
281         Fix memory leak with hash collision (Coverity defect #1829).
282
283         * src/fccfg.c: (FcConfigBuildFonts):
284         Fix memory leak when bail cases (Coverity defect #1828).
285
286         * src/fccache.c: (FcGlobalCacheLoad):
287         Don't leak directory name (Coverity defect #1827).
288
289 2006-04-07  Dominic Lachowicz  <cinamod@hotmail.com>
290         reviewed by: plam
291         * fc-cache/Makefile.am:
292         * fc-cat/Makefile.am:
293         * fc-list/Makefile.am:
294         * fc-match/Makefile.am:
295
296         LD_ADD missing dependencies for binaries.  Reported by
297         Edson Alves Pereira.
298
299 2006-04-07  Patrick Lam  <plam@mit.edu>
300         * src/fcint.h:
301         * fc-lang/fc-lang.c (main):
302
303         SGI compilation fixes (reported by Christoph Bauer):
304         1) reorder union definition of _FcChar;
305         2) omit .stats =.
306
307 2006-04-07  Dominic Lachowicz  <cinamod@hotmail.com>
308         reviewed by: plam
309         * configure.in:
310         * src/fccharset.c (FcCharSetNeededBytes):
311         * src/fcfs.c (FcFontSetNeededBytes):
312         * src/fcint.h:
313         * src/fclang.c (FcLangSetNeededBytesAlign):
314         * src/fcname.c (FcObjectNeededBytesAlign):
315         * src/fcpat.c (FcPatternNeededBytesAlign, 
316                        FcValueListNeededBytesAlign, FcStrNeededBytesAlign):
317
318         Portability fixes for HP-UX (reported by Christoph Bauer).
319         Replace '__inline__' by AC_C_INLINE and 'inline'.
320         Replace '__alignof__' by 'fc_alignof'.
321
322 2006-04-07  Dominic Lachowicz  <cinamod@hotmail.com>
323         reviewed by: plam
324         * src/fcint.h:
325
326         Move up #include of config.h.
327         Fail if neither inttypes.h nor stdint.h is available.
328         Fixes bug 6171.
329
330 2006-04-07  Dominic Lachowicz  <cinamod@hotmail.com>
331             Patrick Lam  <plam@mit.edu>
332         * configure.in:
333         * fc-cache/fc-cache.c:
334         * fc-cat/fc-cat.c:
335         * src/fccache.c (FcGlobalCacheSave, FcCacheNextOffset, 
336                          FcDirCacheConsume, FcDirCacheProduce, 
337                          FcDirCacheWrite, FcCacheMachineSignature):
338         * src/fcfreetype.c (FcFreeTypeQuery):
339         * src/fontconfig.def.in:
340
341         Make fontconfig compile under MinGW: 
342         1) remove unneeded #includes;
343         2) make use of mmap and sysconf conditional;
344         3) replace rand_r by srand/rand if needed;
345         4) use chsize instead of ftruncate; and
346         5) update libtool exports file
347
348 2006-04-07  Patrick Lam  <plam@mit.edu>
349         * src/fcdir.c (FcDirScanConfig):
350
351         Eliminate warning.
352
353 2006-04-06  Patrick Lam  <plam@mit.edu>
354         * fc-match/.cvsignore:
355         * fc-match/Makefile.am:
356         * fc-match/fc-match.sgml:
357
358         Update documentation for fc-match (SGML-ize it).
359         (reported by Ilya Konstantinov)
360
361 2006-04-06  Diego Pettenò  <flameeyes@gentoo.org>
362         reviewed by: plam
363         * src/fcdefault.c:
364         * src/fcpat.c:
365         * src/fcxml.c:
366
367         Reduce amount of dirty rss by const'ing some data structures.
368
369 2006-04-06  Patrick Lam  <plam@mit.edu>
370         * fc-cache/Makefile.am:
371
372         Don't fail if we can't create or remove 
373         $(pkgcachedir) i.e. /var/cache/fontconfig.
374         (reported by Quanah Gibson-Mount).
375
376 2006-04-06  Kjartan Maraas  <kmaraas@gnome.org>
377         reviewed by: plam
378         * fc-case/fc-case.c:
379         * fc-glyphname/fc-glyphname.c:
380         * fc-lang/fc-lang.c (main):
381         * fc-match/fc-match.c:
382         * src/fccache.c (FcGlobalCacheSave, FcCacheSkipToArch, 
383                          FcDirCacheWrite):
384         * src/fcfreetype.c (FcFreeTypeQuery):
385         * src/fclang.c (FcFreeTypeLangSet):
386         * src/fcxml.c:
387
388         Fix intel compiler warnings: make many variables static,
389         eliminate duplicate names, reduce variable scopes, unsigned/signed
390         printf formatting.
391
392 2006-03-24  Mike Fabian  <mfabian@suse.de>
393         reviewed by: plam
394         * src/fccache.c (FcGlobalCacheLoad, FcCacheSkipToArch):
395
396         Fix multiarch support (don't destroy multiarch files!)
397
398 2006-03-24  Patrick Lam  <plam@mit.edu>
399         * configure.in:
400
401         Require pkg-config.  (Thanks Behdad; 
402         better solution wanted for libxml2 detection!)
403
404 2006-03-22  Patrick Lam  <plam@mit.edu>
405         * src/fcatomic.c:
406
407         On Windows, unlink before rename.  Reported by Tim Evans.
408
409 2006-03-15  Patrick Lam  <plam@mit.edu>
410         * fc-lang/ab.orth:
411         * fc-lang/ibo.orth:
412
413         Fix typos in orth files.  Reported by Denis Jacquerye.
414
415 2006-03-08  Patrick Lam  <plam@mit.edu>
416         * Makefile.am:
417         * config/config.guess:
418         * config/config.sub:
419
420         Fix Makefile.am for removal of debian/ directory.
421
422 2006-03-08  Patrick Lam  <plam@mit.edu>
423         * .cvsignore
424
425         Ignore debian/ directory for CVS.
426
427 2006-03-08  Patrick Lam  <plam@mit.edu>
428         * debian/*
429
430         Now remove debian/ directory.
431
432 2006-03-08  Patrick Lam  <plam@mit.edu>
433         * debian/po/*
434
435         Remove debian/ directory from sources.  See Debian's subversion
436         server at svn://svn.debian.org/pkg-freedesktop/trunk/fontconfig
437         instead.
438
439 2006-03-08  Denis Jacquerye  <moyogo@gmail.com>
440         reviewed by: plam
441
442         * fc-lang/ln.orth:
443         * fc-lang/iso639-1, fc-lang/iso639-2:
444
445         Add orthography for Lingala.
446         
447 2006-03-08  Carl Worth  <cworth@cworth.org>
448         reviewed by: keithp
449
450         * conf.d/Makefile.am:
451         * conf.d/10LohitGujarati.conf: 
452
453         Add a configuration file that disables hinting for the Lohit
454         Gujarati font (since the hinting distort some glyphs quite badly).
455
456 2006-03-08  Egmont Koblinger  <egmont@uhulinux.hu>
457         reviewed by: plam
458
459         * src/fcdir.c (FcDirScanConfig):
460
461         Sort directory entries while scanning them from disk;
462         prevents Heisenbugs due to file ordering in a directory.
463
464 2006-03-07  Behdad Esfahbod  <behdad@cs.toronto.edu>
465         reviewed by: plam
466
467         * src/fcfreetype.c (GetScriptTags):
468         * src/ftglue.c, src/ftglue.h:
469
470         Remove stuff we don't use, make get_{char,short,long} functions
471         of ftglue macros to be inlined.
472         
473         * src/fcint.h:
474         * src/fcname.c (FcObjectSerialize):
475
476         Code cleanups (excess prototype, old-style function definition).
477
478 2006-03-05  Patrick Lam  <plam@mit.edu>
479         * src/fcpat.c (FcPatternGetString):
480
481         Because we hacked FcPatternGet, we don't really need to expand the
482         filename again in FcPatternGetString.
483
484 2006-03-05  Patrick Lam  <plam@mit.edu>
485         * src/fcpat.c (FcPatternGetString, FcPatternGet):
486
487         Ok, so some people (wine!) use FcPatternGet to fetch FC_FILE.
488         Make that work.  Reported by Bernhard Rosenkraenzer.
489
490 2006-03-03  Patrick Lam  <plam@mit.edu>
491         * src/fcint.h:
492
493         Include inttypes.h instead of stdint.h if appropriate.
494
495 2006-03-03  Patrick Lam  <plam@mit.edu>
496         * fc-cat/fc-cat.c (FcFileIsDir):
497         * fc-glyphname/fc-flyphname.c:
498
499         More stub definitions and remove FcFileIsDir from fc-cat.
500
501 2006-03-03  Patrick Lam  <plam@mit.edu>
502         * fc-case/fc-case.c:
503
504         Fix compilation on AIX with stub definitions (bug 6097).
505
506 2006-03-03  Patrick Lam  <plam@mit.edu>
507         * src/fccache.c (FcCacheSkipToArch, FcDirCacheProduce):
508         * src/fcfreetype.c (GetScriptTags):
509         * src/fcfs.c (FcFontSetDistributeBytes):
510         * src/fcpat.c (FcValueListEntCreate, FcValueListNeededBytes):
511
512         Get rid of C++-style comments.
513
514 2006-03-03  Patrick Lam  <plam@mit.edu>
515         * debian/changelog
516
517         Enable creation of 2.3.94 Debian packages.
518
519 2006-03-02  Egmont Koblinger  <egmont@uhulinux.hu>
520         reviewed by: plam
521         
522         * src/fclang.c (FcCharSetForLang):
523
524         Fix suspicious return expression which causes junk 
525         to be returned.
526
527 2006-02-24  Patrick Lam  <plam@mit.edu>
528         * ChangeLog:
529         * README:
530         * configure.in:
531         * fontconfig/fontconfig.h:
532
533         Bump version to 2.3.94.
534
535 2006-02-24  Patrick Lam  <plam@mit.edu>
536         * Makefile.am:
537
538         Fix placement of @s.
539
540 2006-02-24  Patrick Lam  <plam@mit.edu>
541         * conf.d/10-fonts-persian.conf:
542
543         Remove unconditional emboldening (per Behdad's instructions).
544
545         * Makefile.am:
546
547         Add @s to hide some echos.
548
549 2006-02-24  Mike Fabian  <mfabian@suse.de>
550             Takashi Iwai  <tiwai@suse.de>
551         reviewed by: plam
552         
553         * src/fcfreetype.c (GetScriptTags):
554
555         Fix double-free on error case.
556
557 2006-02-21  Patrick Lam  <plam@mit.edu>
558         * fc-lang/fc-lang.c (scan):
559
560         Strip \r and whitespace from input; fixes bug 3454.
561
562 2006-02-21  Patrick Lam  <plam@mit.edu>
563         * fc-lang/fc-lang.c (main):
564
565         Allocate large arrays statically in fc-lang to fix crashes under
566         MinGW/MSYS.
567
568 2006-02-21  Diego Petten  <flameeyes@gentoo.org>
569         * src/fcfreetype.c (FcFreeTypeCharIndex):
570
571         Pass the buck; make fontconfig not crash on pango badness.
572
573 2006-02-21  Patrick Lam  <plam@mit.edu>
574         * conf.d/10-fonts-persian.conf:
575
576         Use embeddedbitmap rather than rh_prefer_bitmap.
577
578 2006-02-21  Paul Cornett  <paulcor1@bullseye.com>
579         reviewed by: plam
580
581         * src/fccache.c (FcDirCacheWrite):
582         * src/fcdir.c (FcFileScanConfig):
583         * src/fcfreetype.c (FcStringInPatternElement):
584         * src/fcxml.c (FcParseFamilies):
585         * src/ftglue.c (ftglue_face_goto_table):
586
587         Eliminate redundancies.
588
589 2006-02-21  Kjartan Maraas  <kmaraas@gnome.org>
590         reviewed by: plam
591
592         * fc-list/fc-list.c (main):
593         * src/fcfreetype.c (FcFreeTypeCharSetAndSpacing):
594         * src/fcstr.c (FcStrStr):
595         * src/fcxml.c (FcConfigSaveAttr):
596
597         Eliminate unused vars reported by Intel's compiler.
598
599 2006-02-21  Aiet Kolkhi  <aietkolkhi@gmail.com>
600         reviewed by: plam
601
602         * fc-lang/ka.orth:
603
604         Remove one more archaic character.
605
606 2006-02-21  Ross Burton  <ross@burtonini.com>
607         reviewed by: plam, keithp
608
609         * src/fcxml.c (FcParsePatelt):
610
611         Freeze patterns created by configuration file for tiny 
612         memory savings (every little bit helps).
613
614 2006-02-21  Mike Fabian  <mfabian@suse.de>
615         reviewed by: plam
616         
617         * fc-cat/fc-cat.c (main):
618
619         Initialize fontconfig library in fc-cat to avoid segfault.
620
621 2006-02-18  Patrick Lam  <plam@mit.edu>
622         * fc-cache/fc-cache.c (scanDirs):
623         * src/fccache.c (FcCacheReadDirs):
624         * src/fcdir.c (FcDirScanConfig):
625
626         Fix the underlying cause of the below segfault (must usually
627         call FcDirCacheHasCurrentArch after FcDirCacheValid).
628         
629 2006-02-18  Patrick Lam  <plam@mit.edu>
630         * src/fccache.c (FcDirCacheHasCurrentArch):
631
632         Fix triggering of segfault caused by misreading cache files
633         (reported by fcrozat).
634
635 2006-02-17  Patrick Lam  <plam@mit.edu>
636         * src/fcint.h  (FC_CACHE_MAGIC):
637
638         Bump up magic version; we changed the binary format.
639
640 2006-02-17  Patrick Lam  <plam@mit.edu>
641         * fc-cat/fc-cat.c (main):
642
643         Enable fc-cat to print out old-style cache info when given a
644         directory name.
645
646 2006-02-16  Patrick Lam  <plam@mit.edu>
647         * src/fccache.c (FcDirCacheHasCurrentArch):
648
649         Deal correctly with changing FC_CACHE_MAGIC.
650
651 2006-02-16  Patrick Lam  <plam@mit.edu>
652         * fc-cache/fc-cache.c (usage, scanDirs, main):
653
654         Add -r --really-force option which blows away cache files and then
655         regenerates them.
656
657 2006-02-16  Patrick Lam  <plam@mit.edu>
658         * src/fccache.c (FcDirCacheUnlink, FcCacheCopyOld, FcDirCacheWrite):
659
660         Don't bail if fontconfig can't remove a dir cache file.
661         Skip the ID of a cache file when copying.
662         Eliminate 'source file too small' bug in FcDirCacheWrite.
663
664 2006-02-13  Patrick Lam  <plam@mit.edu>
665         * src/fcfreetype.c (FcFreeTypeQuery):
666
667         Fix memory leak in error condition code.
668
669 2006-02-13  Mike Fabian  <mfabian@suse.de>
670         reviewed by: plam
671         * src/fcfreetype.c (FcFreeTypeQuery):
672
673         Skip bitmap fonts which can't even get it together enough to
674         declare a family name; this appears to reproduce previous
675         fontconfig behaviour.
676
677 2006-02-10  Takashi Iwai  <tiwai@suse.de>
678         reviewed by: plam
679         * src/fccache.c (FcDirCacheOpen):
680
681         Try to open /var/cache/fontconfig/[hashed name] before
682         fonts.cache-2 in a directory, because /var/cache/fontconfig
683         failures ought to be fixable, unlike fonts.cache-2 failures,
684         which may leave you screwed.
685
686 2006-02-10  Takashi Iwai  <tiwai@suse.de>
687         reviewed by: plam
688         * src/fcmatch.c (FcFontSetMatch):
689
690         Use a tri-state to mark the fonts which didn't get blocked but
691         were just missing an element, to distinguish them from the
692         fonts that do match the element.
693
694 2006-02-10  Takashi Iwai  <tiwai@suse.de>
695         reviewed by: plam
696         * src/fcmatch.c (FcFontSetMatch):
697
698         Don't kill fonts because they don't declare an element that's
699         being matched on.
700
701 2006-02-09  Patrick Lam  <plam@mit.edu>
702         * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave,
703                          FcDirCacheUnlink, FcDirCacheOpen, FcDirCacheWrite):
704
705         Define and pass O_BINARY to open if appropriate, for those
706         platforms that need it.  Reported by Doodle.
707
708 2006-02-09  Patrick Lam  <plam@mit.edu>
709         * src/fccharset.c (FcCharSetNeededBytes, FcCharSetSerialize, 
710                            FcCharSetGetLeaf):
711
712         Fix problem with missing 'en' due to euro.patch: change
713         cache file format slightly to coincide with that generated
714         by fc-lang.
715
716 2006-02-07  Patrick Lam  <plam@mit.edu>
717         * src/fccache.c (FcCacheReadDirs):
718
719         Fix warning.
720
721 2006-02-07  Patrick Lam  <plam@mit.edu>
722         * src/fcdir.c (FcDirScanConfig):
723
724         Don't reject dirs that can't be normalized (fixes lilypond, and
725         is correct in the context of application font directories.)
726
727 2006-02-07  Takashi Iwai  <tiwai@suse.de>
728         reviewed by: plam
729
730         * src/fccache.c (FcCacheReadDirs):
731
732         Use normalized directory name exclusively in FcCacheReadDirs.
733
734 2006-02-07  Dirk Mueller  <dmueller@suse.com>
735         reviewed by: plam
736
737         * src/fcpat.c (FcValueHash, FcValueListHash, FcValueListEntCreate): 
738
739         Perf optimizations.  Inline FcValueCanonicalize, 
740         reduce FcValueListPtrU usage, remove redundant cast.
741
742 2006-02-07  Takashi Iwai  <tiwai@suse.de>
743         reviewed by: plam
744
745         * src/fccharset.c (FcLangCharSetPopulate, FcCharSetInsertLeaf)
746         * fc-lang/fc-lang.c:
747
748         Fix missing FcCacheBankToIndex in FcCharSetInsertLeaf.
749         Declare extern for static arrays as arrays, not pointers.
750         (Part of the fix for 'fonts don't have en' issue after Euro patch.)
751
752 2006-02-07  Dirk Mueller  <dmueller@suse.com>
753         reviewed by: plam
754
755         * fc-lang/de.orth:
756         * fc-lang/el.orth:
757         * fc-lang/en.orth:
758         * fc-lang/es.orth:
759         * fc-lang/fi.orth:
760         * fc-lang/fr.orth:
761         * fc-lang/it.orth:
762         * fc-lang/nl.orth:
763         * fc-lang/pt.orth:
764
765         Add Euro sign to list of symbols required by European languages.
766
767 2006-02-07  Patrick Lam  <plam@mit.edu>
768         * src/fccache.c (FcCacheReadString):
769
770         Fix hidden variable warning.
771
772 2006-02-07  Dirk Mueller  <dmueller@suse.com>
773         reviewed by: plam
774
775         * src/fccache.c (FcCacheReadString, FcCacheSkipString):
776         
777         Remove de-escaping logic because FcCacheWriteString
778         doesn't escape anyway. Do blockwise reading instead
779         of byte-wise for performance.
780
781 2006-02-06  Patrick Lam  <plam@mit.edu>
782             Takashi Iwai  <tiwai@suse.de>
783
784         * src/fccache.c (FcCacheReadDirs, FcCacheRead):
785
786         Don't loop infinitely on recursive symlinks (client-side).
787
788 2006-02-06  Takashi Iwai  <tiwai@suse.de>
789         reviewed by: plam
790         * fc-cache/fc-cache.c (scanDirs, main):
791
792         Don't loop infinitely on recursive symlinks.
793
794 2006-02-06  Takashi Iwai  <tiwai@suse.de>
795         reviewed by: plam
796         * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheReadDir,
797                          FcGlobalCacheDirFind, FcGlobalCacheUpdate,
798                          FcGlobalCacheSave, FcCacheReadDirs):
799         * src/fcint.h:
800
801         Skip subdirs when skipping over stale bits of global cache.
802         Introduce state machine into FcGlobalCacheDir to avoid
803         doing inappropriate operations on global dir entries, e.g.
804         writing out an out-of-date cache entry.
805         
806 2006-02-06  Takashi Iwai  <tiwai@suse.de>
807         reviewed by: plam
808         * src/fcdir.c (FcFileScanConfig):
809
810         Hoist FcFileIsDir check out of FcFileScanConfig loop.
811
812 2006-02-06  Takashi Iwai  <tiwai@suse.de>
813         reviewed by: plam
814
815         * src/fccfg.c (FcConfigInodeMatchFontDir, FcConfigAddFontDir,
816                        FcConfigAddFontDirSubdirs, FcConfigNormalizeFontDir):
817
818         Don't rescan when trying to normalize a non-declared font dir.
819         Don't add font dirs multiple times (even if they're aliased).
820
821 2006-02-06  Dirk Mueller  <dmueller@suse.de>
822         reviewed by: plam
823
824         * src/fcfs.c (FcFontSetUnserialize):
825
826         Explain apples/oranges comparison and fix compilation error.
827
828 2006-02-06  Dirk Mueller  <dmueller@suse.de>
829         reviewed by: plam
830
831         * src/fcfs.c (FcFontSetUnserialize):
832
833         Insert check for integer overflow in # of fonts.
834
835 2006-02-04  Behdad Esfahbod  <behdad@cs.toronto.edu>
836         reviewed by: plam
837
838         * doc/Makefile.am:
839         * fc-cache/Makefile.am:
840         * fc-cat/Makefile.am: 
841         * fc-list/Makefile.am:
842
843         Make 'make distcheck' work with automake 1.6.3.
844         
845 2006-02-03  Takashi IWAI  <tiwai@suse.de>
846         reviewed by: plam
847
848         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, main,
849                            FcCacheFileRead):
850
851         * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheSave, 
852                          FcDirCacheConsume, FcDirCacheWrite)
853         * src/fcxml.c (FcConfigMessage):
854
855         Check I/O call return values and eliminate unused variable
856         warnings.
857
858 2006-02-03  Takashi Iwai  <tiwai@suse.de>
859         reviewed by: plam
860
861         * src/fccfg.c (FcConfigAppFontAddFile, FcConfigAppFontAddDir)
862
863         Fix memory leak.
864
865 2006-02-03  Dirk Mueller  <dmueller@suse.de>
866         reviewed by: plam
867
868         * src/fcfs.c (FcFontSetUnserialize):
869
870         Gracefully handle the case where a cache asserts that it
871         has a negative number of fonts, causing overflow.
872
873 2006-02-03  Patrick Lam  <plam@mit.edu>
874         * src/fccache.c (FcDirCacheUnlink):
875
876         Fix double free in error case.
877
878 2006-01-31  Behdad Esfabod  <behdad@cs.utoronto.edu>
879             Stephan Kulow  <coolo@suse.de>
880         reviewed by: plam
881
882         * fc-cache/Makefile.am:
883
884         Replace 'stamp' target with mkinstalldirs.
885
886 2006-01-31  Mike Fabian  <mfabian@suse.de>
887         reviewed by: plam
888
889         * src/fccache.c (FcGlobalCacheLoad):
890
891         Toast broken global cache files.
892
893 2006-01-30  Patrick Lam  <plam@mit.edu>
894         * src/fccache.c (FcGlobalCacheReadDir):
895
896         Actually use the directories that I added to the global cache.
897         Fixes 'make check'.
898
899 2006-01-30  Mike Fabian  <mfabian@suse.de>
900         reviewed by: plam
901         
902         * fc-cache/fc-cache.c (scanDirs):
903
904         Don't stop scanning if a directory in fonts.conf doesn't
905         exist, because subsequent directories might exist.
906         
907 2006-01-30  Patrick Lam  <plam@mit.edu>
908         * src/fccache.c (FcGlobalCacheLoad):
909
910         Make global cache work again after putting dir names into global
911         cache (I misplaced the recording of a file offset).
912
913 2006-01-30  Patrick Lam  <plam@mit.edu>
914         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint):
915         
916         Update fc-cat to handle subdir lists in global cache file.
917         
918         * src/fccache.c (FcGlobalCacheLoad):
919         
920         Another FcCacheReadString return value check.
921
922 2006-01-30  Mike Fabian  <mfabian@suse.de>
923         reviewed by: plam
924
925         * src/fccache.c (FcGlobalCacheLoad, FcDirCacheUnlink
926                          FcDirCacheOpen, FcDirCacheRead, FcDirCacheWrite):
927
928         Make fccache more resilient to broken cache files by checking
929         return value of FcCacheReadString all the time.
930
931 2006-01-30  Frederic Crozat  <fcrozat@mandriva.com>
932         reviewed by: plam
933
934         * fc-match/fc-match.1:
935         * fc-lang/fc-lang.man:
936
937         Remove references to dead fontconfig(3) manpages in
938         other fontconfig manpages.
939
940 2006-01-29  Behdad Esfabod  <behdad@cs.utoronto.edu>
941         reviewed by: plam
942         
943         * doc/fcpattern.fncs:
944
945         Fix world's tiniest typo in code example.
946
947 2006-01-29  Mike Fabian  <mfabian@suse.de>
948         reviewed by: plam
949
950         * src/fccache.c (FcGlobalCacheReadDir):
951
952         Fix global cache reads of subdirectories.
953
954 2006-01-29  Patrick Lam  <plam@mit.edu>
955         * doc/fcconfig.fncs:
956         Add documentation for FcConfigNormalizeFontDir.
957
958         * src/fccache.c (FcGlobalCacheDirDestroy, FcGlobalCacheLoad,
959                          FcGlobalCacheUpdate, FcGlobalCacheSave):
960         * src/fcdir.c (FcDirScanConfig):
961         * src/fcint.h:
962
963         Write directory information to global caches to fix make check
964         (reported by Ronny V. Vindenes).  This changes the global cache
965         format again.
966         
967 2006-01-27  Patrick Lam  <plam@mit.edu>
968         * fc-cache/fc-cache.c (scanDirs):
969         * fontconfig/fontconfig.h:
970         * src/fcint.h:
971         * src/fccache.c (FcDirCacheValid, FcDirCacheHasCurrentArch):
972
973         Move FcConfigNormalizeFontDir call so that it doesn't result in
974         infinite recursion (reported by Ronny V. Vindenes).
975
976 2006-01-26  Patrick Lam  <plam@mit.edu>
977         * src/fccache.c (FcDirCacheValid, FcDirCacheHasCurrentArch):
978         * src/fccfg.c (FcConfigNormalizeFontDir):
979
980         Add a couple of missing normalizations to make fc-cache work
981         right; only scan subdirectories once.
982
983 2006-01-26  Mike Fabian  <mfabian@suse.de>
984         reviewed by: plam
985         
986         * src/fcacache.c (FcGlobalCacheReadDir):
987
988         Don't crash on non-existant directories in global cache.
989
990 2006-01-26  Patrick Lam  <plam@mit.edu>
991         * src/fccache.c (FcGlobalCacheSave, FcDirCacheWrite):
992         * src/fccfg.c (FcConfigAddFontDirSubdirs, FcConfigNormalizeFontDir):
993         * src/fcdir.c (FcDirScanConfig):
994         * src/fcxml.c (FcEndElement):
995
996         Stop trampling the directory name when writing out caches.
997         (with Mike Fabian:) Beef up FcConfigNormalizeFontDir to scan
998         subdirs when necessary.  Don't scan directories that can't be
999         normalized.
1000
1001 2006-01-25  Patrick Lam  <plam@mit.edu>
1002         * src/fccache.c (FcDirCacheOpen, FcDirCacheWrite):
1003         * src/fccfg.c (FcConfigEvaluate):
1004         * src/fcfreetype.c (FcPatternAddWithBinding):
1005
1006         Fix additional memory leaks reported by Ronny V. Vindenes: don't
1007         invoke FcValueSave on hashed static strings in
1008         FcPatternAddWithBinding.  
1009
1010         Add another st_dev check in FcDirCacheOpen.
1011
1012 2006-01-24  James Su  <james.su@gmail.com>
1013         reviewed by: plam
1014         
1015         * src/fcfreetype.c (FcFreeTypeIsExclusiveLang):
1016         * fc-lang/zh_hk.orth:
1017
1018         Treat zh-hk fonts differently from zh-tw fonts.  This patch may
1019         cause fontconfig to treat A-X fonts differently from A-Y fonts;
1020         please mail the fontconfig list if this causes any problems.
1021
1022 2006-01-24  Patrick Lam  <plam@mit.edu>
1023         * src/fccache.c (FcDirCacheUnlink, FcDirCacheWrite):
1024         * src/fcfreetype.c (FcFreeTypeQuery):
1025
1026         Fix memory leaks reported by Ronny V. Vindenes.
1027
1028 2006-01-19  Andreas Schwab  <schwab@suse.de>
1029         reviewed by: plam
1030
1031         * src/fcpat.c (FcStrNeededBytes):
1032
1033         Fix for unaligned memory accesses.
1034
1035 2006-01-18  Mike Fabian  <mfabian@suse.de>
1036         reviewed by: plam
1037         
1038         * src/fcdir.c (FcDirScanConfig):
1039
1040         Properly order the FcConfigAddFontDir and FcConfigNormalizeFontDir
1041         calls to avoid crashes.
1042
1043 2006-01-14  Patrick Lam  <plam@mit.edu>
1044         * src/fccache.c (FcDirCacheConsume):
1045
1046         Fix segfault when consuming zero-length caches in fc-cat
1047         (which has no config, so FcConfigAddFontDir shouldn't be called.)
1048
1049 2006-01-14  Patrick Lam  <plam@mit.edu>
1050         * fc-cache/fc-cache.c (scanDirs):
1051         * fontconfig/fontconfig.h:
1052         * src/fccache.c (FcGlobalCacheReadDir, FcGlobalCacheUpdate,
1053                          FcGlobalCacheSave, FcDirCacheUnlink, FcDirCacheOpen):
1054         * src/fccfg.c (FcConfigBuildFonts, FcConfigNormalizeFontDir):
1055         * src/fcdir.c (FcDirScanConfig):
1056         * src/fcint.h:
1057         
1058         Compare device numbers as well as inodes.
1059         Always normalize directory names before comparing them.
1060
1061 2006-01-11  Mike Fabian  <mfabian@suse.de>
1062         reviewed by: plam
1063         
1064         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint):
1065
1066         Allocate extra space for appended '/' in directory name.
1067
1068 2006-01-10  Patrick Lam  <plam@mit.edu>
1069         * src/fccache.c (FcDirCacheConsume, FcDirCacheOpen,
1070                          FcDirCacheValid, FcDirCacheHasCurrentArch,
1071                          FcDirCacheUnlink, FcDirCacheRead, FcDirCacheConsume):
1072         * fc-cache/fc-cache.c (main):
1073
1074         Explicitly add font dirs to config.fontDirs even if they're empty.
1075         Set current config in fc-cache.c.
1076         Fix treatment of cache directory as read from cache file; don't
1077         use string equality to determine if we have the right file,
1078         use inode equality.
1079
1080 2006-01-09  Patrick Lam  <plam@mit.edu>
1081         * fc-cache/fc-cache.c (scanDirs):
1082         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, FcCacheFileRead):
1083         * src/fccache.c (FcGlobalCacheReadDir, FcCacheReadDirs, 
1084                          FcDirCacheRead, FcDirCacheConsume, FcDirCacheWrite):
1085         * src/fccfg.c (FcConfigNormalizeFontDir):
1086         * src/fcdir.c (FcDirScanConfig):
1087         * src/fcint.h:
1088
1089         Normalize font dirs by using the form, as given in fonts.conf, and
1090         recorded in FcConfig's fontDirs string set, as canonical.
1091         
1092         Actually update config.fontDirs as font directories are scanned.
1093
1094 2006-01-08  James Su  <james.su@gmail.com>
1095         * src/fcmatch.c (FcFontSetMatch):
1096
1097         Fix matching bug when multiple elements match; don't use
1098         the sum of all scores, but the best score.
1099
1100         Also more perf opts, e.g. evaluate best over all font sets
1101         rather than on a per-set basis (and other changes).
1102
1103 2006-01-08  Patrick Lam  <plam@mit.edu>
1104         * src/fccache.c (FcDirCacheConsume):
1105
1106         Properly skip past dir caches that contain zero fonts (as occurs
1107         in global caches.)  Reported by Mike Fabian.
1108
1109 2006-01-06  Patrick Lam  <plam@mit.edu>
1110         * src/fcdbg.c (FcPatternPrint):
1111
1112         Print out full pathname in fc-match -v as well.  Reported by
1113         Frederic Crozat.
1114         
1115 2006-01-06  Mike Fabian  <mfabian@suse.de>
1116         reviewed by: plam
1117         
1118         * src/fcname.c (FcNameParse):
1119
1120         Fix bug where fc-match crashes when given __DUMMY__ property to
1121         match on.
1122
1123         (I added the __DUMMY__ string to enable callers of
1124         FcObjectToPtrLookup to distinguish an error return from a
1125         successful return. -PL)
1126
1127 2006-01-05  Patrick Lam  <plam@mit.edu>
1128         * AUTHORS:
1129
1130         Add self to AUTHORS list.
1131
1132         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, 
1133                            FcCacheFileRead, FcCachePrintSet, main): 
1134         * src/fccache.c (FcGlobalCacheLoad, FcGlobalCacheUpdate, 
1135                          FcGlobalCacheSave, FcCacheNextOffset, 
1136                          FcDirCacheHasCurrentArch, FcDirCacheRead, 
1137                          FcDirCacheConsume, FcDirCacheWrite): 
1138         * src/fcint.h:
1139         * src/fcpat.c (comment):
1140
1141         Minor change to global cache file format to fix fc-cat bug
1142         reported by Frederic Crozat, and buglet with not globally caching
1143         directories with zero fonts cached.
1144
1145 2006-01-02  Lubos Lunak  <l.lunak@suse.cz>
1146         reviewed by: plam
1147         
1148         * src/fccfg.c (FcConfigEvaluate):
1149
1150         Fix double-free which occurs because FcValueCanonicalize doesn't
1151         create an extra copy of the returned value, it only canonicalizes
1152         it.
1153
1154 2006-01-02  Patrick Lam  <plam@mit.edu>
1155         * doc/fontconfig-user.sgml:
1156
1157         Fix version of .cache file (currently 1 -> currently 2).  Reported
1158         by Jim Osborn.
1159
1160 2005-12-21  Jinghua Luo  <sunmoon1997@gmail.com>
1161         reviewed by: plam
1162
1163         * src/fcpat.c (FcPatternAddFullFname, FcPatternFindFullFname):
1164
1165         Shut up GCC warnings on amd.
1166
1167 2005-12-20  Patrick Lam  <plam@mit.edu>
1168         * ChangeLog:
1169         * README:
1170         * configure.in:
1171         * fontconfig/fontconfig.h:
1172
1173         Bump version to 2.3.93.
1174
1175 2005-12-20  Patrick Lam  <plam@mit.edu>
1176         * src/fccharset.c (FcLangCharSetPopulate):
1177         * src/fcint.h (FcCacheBankToIndex):
1178
1179         Avoid check on _fcBankId nullness and fix case where it used to
1180         crash.
1181
1182 2005-12-20  Patrick Lam  <plam@mit.edu>
1183         * src/fcxml.c (FcConfigParseAndLoad):
1184
1185         Use open instead of fopen (requested by Phil Race for Sun).
1186
1187 2005-12-20  Patrick Lam  <plam@mit.edu>
1188         * src/fccache.c (FcDirCacheWrite);
1189         * fc-cache/Makefile.am:
1190
1191         Fix GCC4 warning and Makefile brokenness for /var/cache/fontconfig
1192         dir.
1193
1194 2005-12-20  Patrick Lam  <plam@mit.edu>
1195         * src/fcfreetype.c (FcFreeTypeQuery):
1196
1197         Restore code to skip over PCF fonts that have no encoded
1198         characters.
1199         (We guess that a font is PCF by presence of the PIXEL_SIZE
1200         BDF property.)
1201
1202 2005-12-12  Patrick Lam  <plam@mit.edu>
1203         * src/fccache.c (FcDirCacheOpen, FcDirCacheWrite):
1204
1205         Read and write the original location as a fallback for the
1206         hashed cache file locations.  This is mostly for users to be
1207         able to have per-directory cache files.
1208
1209 2005-12-12  Patrick Lam  <plam@mit.edu>
1210         * fc-cache/fc-cache.c (scanDirs):
1211         * fc-cache/Makefile.am:
1212         * src/fccache.c (FcDirCacheHashName):
1213
1214         Improve error message when fc-cache can't write the cache.  Add
1215         missing slash.  Reported by Behdad.  Incorporate Behdad's patch to
1216         create /var/cache/fontconfig when appropriate.
1217
1218 2005-12-12  Behdad Esfahbod  <behdad@cs.toronto.edu>
1219         reviewed by: plam
1220         
1221         * src/fcxml.c (FcConfigGetAttribute):
1222
1223         Fix crash reported by Frederic Crozat when using libxml2.
1224
1225 2005-12-09  Patrick Lam  <plam@mit.edu>
1226         * INSTALL:
1227         * configure.in:
1228         * fc-cache/Makefile.am:
1229         * fc-cat/Makefile.am:
1230         * src/Makefile.am:
1231         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, FcCacheFileRead):
1232         * fontconfig/fontconfig.h (FC_CACHE_SUFFIX):
1233         * src/fccache.c (FcCacheSkipString, FcGlobalCacheLoad,
1234                         FcGlobalCacheSave, FcCacheNextOffset, FcDirCacheValid,
1235                         FcDirCacheHasCurrentArch, FcDirCacheHashName,
1236                         FcDirCacheOpen, FcDirCacheRead, FcDirCacheWrite):
1237
1238         Migrate cache files from fonts directories to
1239         /var/cache/fontconfig.  This helps make fontconfig FHS-compliant,
1240         but requires that all caches get rebuilt.
1241
1242         Also, autogen.sh now needs the additional parameter
1243         --localstatedir=/var.
1244         
1245 2005-12-07  Patrick Lam  <plam@mit.edu>
1246         * src/fcpat.c (FcPatternAddString):
1247
1248         Because we've changed FcPatternAddString to use FcStrStaticName
1249         and not FcValueSave, explicitly handle the case of a null string.
1250
1251 2005-12-06  Patrick Lam  <plam@mit.edu>
1252         * fc-cat/fc-cat.c (FcCachePrintSet, FcCacheGlobalFileReadAndPrint):
1253
1254         Fix warnings.
1255
1256 2005-12-05  Patrick Lam  <plam@mit.edu>
1257         * src/fcname.c (FcNameGetObjectType):
1258
1259         Don't assign types to user object names.
1260
1261 2005-12-05  Patrick Lam  <plam@mit.edu>
1262         * src/fcpat.c (FcValueDestroy, FcValueListDestroy, FcStrHashed):
1263
1264         Don't free strings that have been returned from FcStrStaticName.
1265
1266 2005-12-01  Patrick Lam  <plam@mit.edu>
1267         * fc-cat/fc-cat.c (FcCacheGlobalFileReadAndPrint, main):
1268
1269         Add codepath for reading global cache files as well.
1270
1271 2005-12-01  Behdad Esfahbod  <behdad@cs.toronto.edu>
1272         reviewed by: plam
1273
1274         * conf.d/10-fonts.persian.conf:
1275         * conf.d/Makefile.am:
1276
1277         Add config file for Persian fonts from Sharif FarsiWeb, Inc.
1278
1279 2005-11-30  Behdad Esfahbod  <behdad@cs.toronto.edu>
1280         reviewed by: plam
1281
1282         * src/fcxml.c (FcConfigParseAndLoad):
1283
1284         Only add a config file to the set of config files once.
1285
1286 2005-11-29  Patrick Lam  <plam@mit.edu>
1287         * src/fcint.h (FcCacheBankToIndex);
1288
1289         Fix segfault by guarding array dereference.
1290
1291 2005-11-29  Dirk Mueller  <dmueller@suse.de>
1292         reviewed by: plam
1293         
1294         * fc-lang/fc-lang.c:
1295         * src/fccache.c (FcDirCacheConsume, FcCacheHaveBank,
1296                          FcCacheBankToIndex, FcCacheBankToIndexMTF,
1297                          FcCacheAddBankDir):
1298         * src/fcint.h:
1299
1300         Refactor FcCacheBankToIndex into an inlineable part
1301         (in fcint.h) which checks the front of the list and a
1302         non-inlineable part which finds and moves the appropriate element
1303         to the front of the list.
1304
1305 2005-11-29  Patrick Lam  <plam@mit.edu>
1306         * src/fccfg.c (FcConfigBuildFonts):
1307         * src/fccache.c (FcCacheReadDirs):
1308
1309         Make the perf guys hate me a bit less: hoist the directory-name
1310         FcConfigAcceptFont check for cached fonts up to directory cache
1311         read time, rather than running it for each font.
1312
1313 2005-11-29  Patrick Lam  <plam@mit.edu>
1314         * src/fccfg.c (FcConfigBuildFonts):
1315         * src/fcint.h:
1316         * src/fcpat.c (FcPatternFindFullFname):
1317
1318         Don't make FcPatternFindFullFname available to fccfg, it's not
1319         really safe.  Instead go through FcPatternGetString (sorry,
1320         perf guys.)  Also, use globs for dirs as well.
1321
1322 2005-11-28  Patrick Lam  <plam@mit.edu>
1323         * src/fccfg.c (FcConfigBuildFonts):
1324
1325         Fix segfault.
1326
1327 2005-11-28  Patrick Lam  <plam@mit.edu>
1328         * src/fcint.h:
1329         * src/fcpat.c (FcPatternFindFullFname):
1330         * src/fccfg.c (FcConfigBuildFonts):
1331
1332         Fix problem dating back at least to 2.3.2 where globs weren't
1333         being applied to patterns loaded from a cache.
1334
1335 2005-11-28  Patrick Lam  <plam@mit.edu>
1336         * doc/fontconfig-user.sgml:
1337
1338         Fix some obvious spelling mistakes.
1339         
1340 2005-11-28  Dirk Mueller  <dmueller@suse.com>
1341             Stephan Kulow  <coolo@suse.de>
1342         reviewed by: plam
1343
1344         * src/fcmatch.c (FcFontSetMatch):
1345
1346         Don't kill all fonts during match (oops!)
1347
1348
1349 2005-11-25  Dirk Mueller  <dmueller@suse.com>
1350             Stephan Kulow  <coolo@suse.de>
1351             Michael Matz  <matz@suse.de>
1352         reviewed by: plam
1353
1354         * src/fcmatch.c (FcObjectPtrToMatcher, FcCompareValueList,
1355                 FcFontSetMatch):
1356
1357         Rewrite FcFontSetMatch to a path-finding based algorithm, i.e.
1358         inline FcCompare into FcFontSetMatch and reorder the
1359         loops, adding a boolean array which blocks patterns from future
1360         consideration if they're known to not be best on some past
1361         criterion.
1362
1363 2005-11-26  Dirk Mueller  <dmueller@suse.com>
1364         reviewed by: plam
1365         
1366         * src/fcmatch.c (FcCompareValueList):
1367
1368         Fix incorrect merge.
1369
1370 2005-11-25  Patrick Lam  <plam@mit.edu>
1371         * src/fcmatch.c (FcMatchObjectPtrsInit, FcCompareValueList):
1372
1373         Don't do random matching when bad objects are passed into
1374         FcCompareValueList.
1375
1376 2005-11-25  Patrick Lam  <plam@mit.edu>
1377         * src/fcint.h:
1378         * src/fcpat.c (FcPatternEnsureBank, FcPatternDistributeBytes, 
1379                         FcPatternSerialize, FcPatternUnserialize, 
1380                         FcValueListEnsureBank, FcValueListDistributeBytes,
1381                         FcValueListUnserialize):
1382
1383         Rename fcpatterns, fcpatternelts, fcvaluelists to _fcPatterns,
1384         _fcPatternElts, _fcValueLists for consistency.
1385
1386 2005-11-25  Dirk Mueller  <dmueller@suse.com>
1387         reviewed by: plam
1388
1389         * src/fcmatch.c:
1390
1391         Pass the FcObjectPtr to FcCompareValueList, not the char * (perf).
1392
1393 2005-11-25  Patrick Lam  <plam@mit.edu>
1394         * src/fcint.h:
1395         * src/fccache.c (FcDirCacheConsume):
1396         * src/fccharset.c (FcCharSetUnserialize):
1397         * src/fcfs.c (FcFontSetUnserialize):
1398         * src/fclang.c (FcLangSetUnserialize):
1399         * src/fcname.c (FcObjectUnserialize):
1400         * src/fcpat.c (FcStrUnserialize, FcValueListUnserialize, 
1401                         FcPatternUnserialize):
1402
1403         Pass around FcCache *s to the Unserialize functions for extra
1404         consistency (and less overhead, for what that's worth).
1405
1406 2005-11-24  Dirk Mueller  <dmueller@suse.com>
1407         reviewed by: plam
1408
1409         * src/fcint.h:
1410         * src/fcmatch.c (FcCompare*, FcFontSetSort):
1411         * src/fcname.c (FcNameUnparseValue):
1412
1413         Inline the *PtrU functions to gain perf.
1414         Remove unneeded params for the FcCompare* functions.
1415
1416 2005-11-24  Dirk Mueller  <dmueller@suse.com>
1417         reviewed by: plam
1418         
1419         * src/fcint.h, fontconfig/fontconfig.h: 
1420         
1421         Move FC_BANK_DYNAMIC, FC_BANK_FIRST to internal header.
1422
1423         * src/fcpat.c, src/fcint.h, src/fcname.c:
1424           
1425         Check for type validity during FcPatternAddWithBinding, don't
1426         verify type in FcFontMatch, don't call FcCanonicalize here
1427         (which always does a deep copy).
1428
1429 2005-11-24  Dirk Mueller  <dmueller@suse.com>
1430         reviewed by: plam
1431
1432         * src/fcmatch.c (FcCompareNumber, FcCompareString, FcCompareFamily):
1433         * src/fcpat.c (FcPatternAddWithBinding):
1434
1435         Make FcCompareString and FcCompareFamily less expensive.
1436         Only add a value for FC_FAMILY if the proposed value is a string.
1437
1438 2005-11-24  Dirk Mueller  <dmueller@suse.com>
1439         reviewed by: plam
1440         
1441         * src/fcdbg.c (FcDebug, FcDebugInit, FcPatternPrint):
1442         * src/fcinit.c (FcInitLoadConfig, FcInitLoadConfigAndFonts):
1443         * src/fcint.h (FcDebug):
1444         
1445         Inline FcDebug invocations and only initialize once, in FcInit*.
1446         Improve debug msg in FcPatternPrint.
1447
1448 2005-11-23  Frederic Crozat  <fcrozat@mandriva.com>:
1449         reviewed by: plam
1450         
1451         * fontconfig/fontconfig.h:
1452         * fc-cat/fc-cat.c:
1453
1454         Minor code warning cleanups.
1455
1456 2005-11-23  Frederic Crozat  <fcrozat@mandriva.com>:
1457         reviewed by: plam
1458         
1459         * fc-match/fc-match.c (main):
1460
1461         Make getopt_long accept -s parameter to fc-match as well.
1462
1463 2005-11-21  Dirk Mueller <dmueller@suse.com>
1464         reviewed by: plam
1465
1466         * src/fcmatch.c (FcCompareValueList):
1467
1468         Manually perform inlining & partial redundancy elimination to
1469         reduce calls to FcValueListPtrU.
1470
1471 2005-11-21  Dirk Mueller <dmueller@suse.com>
1472         reviewed by: plam
1473
1474         * src/fcstr.c (FcStrFree, FcStrCaseWalkerInit, FcStrCaseWalkerLong,
1475                        FcStrCaseWalkerNext, FcStrCaseWalkerNextIgnoreBlanks): 
1476
1477         Only invoke strlen() when really necessary.
1478         
1479 2005-11-19  Matthias Clasen  <mclasen@redhat.com>
1480         reviewed by: plam
1481
1482         * src/Makefile.am:
1483         * src/fcfreetype.c (FcGetPixelSize, FcFreeTypeQuery, GetScriptTags,
1484                             FcFontCapabilities):
1485         * src/ftglue.c:
1486         * src/ftglue.h:
1487
1488         Get rid of the use of freetype internal headers in fcfreetype.c,
1489         since those headers will go away with freetype 2.2.  Replace with
1490         public domain ftglue code from pango.  Note that the patch removes
1491         some extra error checking in FT_Get_BDF_Property() and comments
1492         out the skipping of empty pcf fonts.
1493
1494 2005-11-19  Jinghua Luo  <sunmoon1997@gmail.com>
1495         reviewed by: plam
1496
1497         * fc-lang/fc-lang.c (main):
1498
1499         Further fix of patch from 2005-11-04: miscounted numbers count
1500         (numbers_count); didn't strip duplicate numbers (langBankNumbers);
1501         and leafidx_offset and numbers_offset in fcLangCharSets are wrong.
1502
1503         Removed leafidx_count and numbers_count since they are the same
1504         and replaced them with offset_count.
1505
1506 2005-11-18  Frederic Crozat  <fcrozat@mandriva.com>
1507         reviewed by: plam
1508
1509         * fc-cat/fc-cat.c (main):
1510
1511         Don't crash when fc-cat invoked with no arguments.
1512
1513 2005-11-18  Frederic Crozat  <fcrozat@mandriva.com>
1514         reviewed by: plam
1515
1516         * src/fcxml.c (FcConfigSaveAttr, FcConfigParseAndLoad):
1517
1518         Fix invalid read access caused by premature free and
1519         GCC4 warnings in libxml2 codepath.
1520
1521 2005-11-17  Jinghua Luo  <sunmoon1997@gmail.com>
1522         reviewed by: plam
1523
1524         * src/fccfg.c (FcConfigValues):
1525
1526         List iteration not needed in FcConfigValues, since it's building
1527         up the list itself; we can just strip FcVoid elements during
1528         construction.
1529
1530 2005-11-17  Patrick Lam  <plam@mit.edu>
1531         * src/fccfg.c (FcConfigValues):
1532
1533         Fix crash on invalid constants in config files (forgot to update
1534         a pointer upon list iteration.)
1535
1536 2005-11-17  Frederic Crozat  <fcrozat@mandriva.com>
1537         reviewed by: plam
1538
1539         * src/fcxml.c (FcTypecheckExpr):
1540
1541         Complain about invalid constants in config files.
1542
1543 2005-11-17  Andreas Schwab  <schwab@suse.de>
1544         reviewed by: plam
1545         
1546         * src/fccache.c (FcGlobalCacheSave): 
1547
1548         Don't add current_arch_start more than once.
1549
1550 2005-11-16  Patrick Lam  <plam@mit.edu>
1551         * src/fccharset.c (FcCharSetDistributeBytes, FcCharSetUnserialize):
1552         * src/fcfs.c (FcFontSetUnserialize):
1553         * src/fcname.c (FcObjectDistributeBytes, FcObjectUnserialize):
1554         * src/fcpat.c (FcStrUnserialize):
1555
1556         Fix ordering of ALIGN with respect to saving block_ptr; add
1557         another ALIGN to fcfs.c.
1558
1559 2005-11-16  Patrick Lam  <plam@mit.edu>
1560         * src/fccache.c (FcDirCacheProduce)
1561         
1562         Fix case where alignment bytes bumped up metadata->count
1563         causing unwarranted failures to write cache files.  
1564         (Reported by Stephan Kulow).
1565
1566 2005-11-16  Patrick Lam  <plam@mit.edu>
1567         * src/fccache.c (FcDirCacheProduce):
1568         * src/fccharset.c (FcCharSetDistributeBytes):
1569         * src/fcfs.c (FcFontSetDistributeBytes):
1570         * src/fcint.h:
1571         * src/fclang.c (FcLangSetDistributeBytes):
1572         * src/fcname.c (FcObjectDistributeBytes):
1573         * src/fcpat.c (FcPatternNeededBytes, FcValueListNeededBytes,
1574                 FcStrNeededBytes):
1575         
1576         Add *NeededBytesAlign(), which overestimates the padding which is
1577         later added by the new ALIGN macro.  Fix alignment problems on
1578         ia64 and s390 by bumping up block_ptr appropriately.  (Earlier
1579         version by Andreas Schwab).
1580
1581 2005-11-16  Stephan Kulow  <coolo@kde.org>
1582         reviewed by: plam
1583         
1584         * src/fccache.c:
1585
1586         Use sysconf to determine proper PAGESIZE value; this
1587         appears to be POSIX-compliant. (reported by Andreas Schwab)
1588
1589 2005-11-04  Patrick Lam  <plam@mit.edu>
1590         * fc-lang/fc-lang.c:
1591         * src/fccharset.c:
1592         * src/fcint.h:
1593         * src/fclang.c:
1594
1595         Fix bug 2878 (excessive relocations at startup for charsets,
1596         reported by Ross Burton): fc-lang/fc-lang now creates the
1597         static form of the langset, not the dynamic form, so that
1598         the charsets should now be in .rodata.
1599
1600 2005-11-04  Patrick Lam  <plam@mit.edu>
1601         * src/fcdir.c (FcDirScanConfig):
1602
1603         Add test for validity of directory caches that
1604         somehow got lost (reported by make distcheck).
1605
1606 2005-11-04  Patrick Lam  <plam@mit.edu>
1607         * ChangeLog:
1608         * README:
1609         * configure.in:
1610         * fontconfig/fontconfig.h:
1611         
1612         Bump version to 2.3.92.
1613
1614 2005-11-02  Patrick Lam  <plam@mit.edu>
1615         * src/fcpat.c (FcPatternDuplicate):
1616
1617         Fix argument ordering problem in call to FcPatternTransferFullFname.
1618
1619 2005-11-02  Patrick Lam  <plam@mit.edu>
1620         * src/fcfreetype.c (FcFreetypeQuery):
1621         * src/fcpat.c (FcPatternDestroy, FcPatternDuplicate, 
1622                        FcPatternTransferFullFname):
1623
1624         Fix warnings and embarrassing double-free error.
1625
1626 2005-11-02  Zhe Su  <zsu@novell.com>
1627         reviewed by: plam
1628         
1629         * fonts.conf.in:
1630
1631         Change the rule for artificial emboldening in fonts.conf.in.  This
1632         enables the support for artificial emboldening included in cairo.
1633
1634 2005-11-02  Patrick Lam  <plam@mit.edu>
1635         * src/fcpat.c (FcPatternDestroy, FcPatternTransferFullName):
1636
1637         Don't zero out full names for FC_REF_CONSTANT fonts;
1638         also, duplicate full names when transferring, and free
1639         full names when freeing the associated font.
1640         Reported by Jinghua Luo.
1641
1642 2005-11-02  Patrick Lam  <plam@mit.edu>
1643         * fc-cache/fc-cache.c (scanDirs):
1644         * src/fcpat.c (FcValueListSerialize):
1645
1646         Revert the previous patch and commit the correct patch:
1647         I forgot a canonicalization in FcValueListSerialize, so
1648         that it would choke on already-serialized input files.  Duh!
1649
1650 2005-11-02  Patrick Lam  <plam@mit.edu>
1651         * fc-cache/fc-cache.c (scanDirs):
1652
1653         Forcibly rescan a directory before writing a fresh local
1654         cache file for that directory, fixing the losing-fonts
1655         problem reported by Mike Fabian and also apparently the 
1656         font cache file corruption.
1657
1658 2005-11-02  Patrick Lam  <plam@mit.edu>
1659         * src/fccache.c (FcGlobalCacheLoad):
1660
1661         Fix thinko: actually, the whole global cache is stale 
1662         if the global cache is older than the (newest) config file.
1663
1664 2005-11-02  Patrick Lam  <plam@mit.edu>
1665         * src/fccache.c (FcGlobalCacheLoad):
1666         * src/fccfg.c (FcConfigModifiedTime, FcConfigBuildFonts):
1667         * src/fcint.h:
1668
1669         Declare the global cache of a directory's contents to be stale if
1670         the directory is newer than the (newest) configuration file.
1671
1672 2005-10-31  Patrick Lam  <plam@mit.edu>
1673         * src/fcint.h:
1674         * src/fclist.c (FcListAppend):
1675         * src/fcmatch.c (FcFontRenderPrepare):
1676         * src/fcpat.c (FcPatternTransferFullFname, FcPatternDuplicate,
1677                        FcPatternFreeze, FcPatternBaseFreeze):
1678
1679         Copy the full pathname whenever duplicating an FcPattern; otherwise,
1680         applications continue breaking.
1681
1682 2005-10-31  Patrick Lam  <plam@mit.edu>
1683         * fc-cat/fc-cat.c (FcCacheFileRead, main):
1684         * src/fcfreetype.c (FcFreeTypeQuery):
1685
1686         Fix small memory error (tried to free argv); use basename and
1687         dirname correctly (they can modify their arguments).
1688
1689 2005-10-31  Patrick Lam  <plam@mit.edu>
1690         * fc-cat/fc-cat.c:
1691         * src/fccache.c:
1692         * src/fcfreetype.c:
1693         * src/fcint.h:
1694         * src/fclist.c:
1695         * src/fcpat.c:
1696
1697         Reinstate basename patch, but keep a hash table linking FcPatterns
1698         to their fully-qualified font names for clients' benefit.  Clients
1699         only pay for the font names once they request the FC_FILE property
1700         from an FcPattern, but the font name is malloc'd at that point (i.e.
1701         not mmapped: that's impossible, since it may vary between machines.)
1702         Clients do have to pay for a copy of the path name per cache file.
1703
1704         Note that FcPatternGetString now does some rewriting if you ask
1705         for an FC_FILE, appending the pathname as appropriate.
1706         
1707 2005-10-31  Patrick Lam  <plam@mit.edu>
1708         * src/fcfreetype.c (FcFreeTypeQuery):
1709
1710         Revert basename patch, which breaks fontconfig clients on my system.
1711
1712 2005-10-25  Jinghua Luo  <sunmoon1997@gmail.com>
1713         reviewed by: plam
1714
1715         * fontconfig/fonts.conf.in:
1716         * fontconfig/fontconfig.h:
1717         * src/fcdefault.c:
1718         * src/fcname.c:
1719
1720         Add FC_EMBEDDED_BITMAP object type to tell Xft/Cairo whether
1721         to load embedded bitmaps or not.
1722
1723 2005-10-25  Patrick Lam  <plam@mit.edu>
1724         * src/fcfreetype.c (FcFreeTypeQuery):
1725
1726         Only add basename to patterns' FC_FILE element, not any part of
1727         the dirname.
1728
1729 2005-10-22  Patrick Lam  <plam@mit.edu>
1730         * src/fcfreetype.c:
1731
1732         Add some more consts, fixing more GCC4 warnings.
1733
1734 2005-10-22  Zhe Su  <zsu@novell.com>
1735         reviewed by: plam
1736
1737         Support localized font family and style names.
1738         This has been reported to break old apps like xfd, but modern
1739         (gtk+/qt/mozilla) apps work fine.
1740
1741 2005-10-21  Patrick Lam  <plam@mit.edu>
1742         * src/fccache.c (FcGlobalCacheLoad):
1743
1744         Destroy the global cache file if it's terminally broken.  (reported by
1745         Mike Fabian)
1746
1747 2005-10-21  Patrick Lam  <plam@mit.edu>
1748         * fc-list/fc-list.c (main):
1749         * src/fcname.c (FcNameUnparse, FcNameUnparseEscaped):
1750         * fontconfig/fontconfig.h:
1751
1752         Prevent fc-list from escaping strings when printing them (reported by
1753         Matthias Clasen).
1754
1755 2005-10-20  Marcus Meissner  <meissner@suse.de>
1756         reviewed by: plam
1757
1758         * fontconfig/fontconfig.h:
1759
1760         Add valist sentinel markup for FcObjectSetBuild and FcPatternBuild.
1761         
1762 2005-10-14  Ross Burton  <ross@burtonini.com>
1763         reviewed by: plam
1764
1765         * fc-glyphname/fc-glyphname.c:
1766         * src/fclang.c:
1767
1768         Add consts to variables so as to move arrays into .rodata.
1769
1770 2005-10-14  Mike Fabian  <mfabian@suse.de>
1771         reviewed by: plam
1772
1773         * src/fccache.c (FcDirCacheUnlink):
1774
1775         Check existence of directory cache file before attempting to unlink.
1776
1777 2005-10-13  Patrick Lam  <plam@mit.edu>
1778         * src/fccache.c (FcDirCacheUnlink):
1779
1780         Fix flipped return value on unlink.  (Reported by Mike Fabian)
1781
1782 2005-10-12  Patrick Lam  <plam@mit.edu>
1783
1784         * src/fccache.c:
1785         * src/fcdir.c (FcDirScanConfig):
1786         * src/fcint.h:
1787
1788         When fc-cache is run without --force, use directory cache files
1789         to speed up fc-cache run time.  (Reported by Mike Fabian)
1790
1791 2005-10-06  Patrick Lam  <plam@mit.edu>
1792
1793         * src/fcname.c (FcObjectToPtr):
1794         * src/fcpat.c (FcStrStaticName):
1795
1796         Add padding to make valgrind and glibc not hate each other
1797         when calling strlen().
1798
1799 2005-10-05  Simos Xenitellis  <simos74@gmx.net>
1800         reviewed by: plam & keithp
1801
1802         * fonts.conf.in:
1803
1804         Modify config file to use Greek fonts before Asian fonts with
1805         Greek glyphs.
1806
1807 2005-10-05  Christian Biesinger  <cbiesinger@web.de>
1808         reviewed by: plam & keithp
1809
1810         * src/Makefile.am:
1811
1812         Use libtool -no-undefined flag on all platforms.
1813
1814 2005-10-05  Patrick Lam  <plam@mit.edu>
1815         * src/fccache.c (FcCacheHaveBank):
1816
1817         Implement move-to-front array for banks (perf regression
1818         reported by Ronny V. Vindenes).
1819
1820 2005-10-04  Patrick Lam  <plam@mit.edu>
1821         * src/fccache.c (FcDirCacheValid, FcDirCacheUnlink, 
1822                          FcDirCacheHasCurrentArch):
1823         * fc-cache/fc-cache.c (scanDirs):
1824         * fontconfig/fontconfig.h:
1825
1826         Add new API which unlinks directory caches and checks dir caches
1827         for existence of appropriate sections.  Fix fc-cache to unlink
1828         stale cache files and save directory caches that lack relevant
1829         sections.
1830
1831 2005-10-03  Patrick Lam  <plam@mit.edu>
1832         * src/fccache.c (FcDirCacheValid):
1833
1834         Ensure that a directory cache has the appropriate section
1835         before reporting that it is valid (reported by Matthias Clasen).
1836
1837 2005-09-29  Mathias Hasselmann  <mathias.hasselmann@gmx.de>
1838
1839         reviewed by: plam
1840         
1841         * configure.in:
1842         * src/Makefile.am:
1843         * src/fcxml.c:
1844
1845         Use libxml2 if requested (with --enable-libxml2) or if
1846         expat is not available.
1847
1848 2005-09-29  Patrick Lam  <plam@mit.edu>
1849         * src/fccache.c (FcGlobalCacheSave, FcDirCacheWrite):
1850
1851         Fix multi-arch cache files: compute the position for the
1852         block to be added using info from OrigFile, not NewFile.
1853
1854 2005-09-28  Patrick Lam  <plam@mit.edu>
1855         * src/fccache.c (FcCacheMachineSignature):
1856
1857         Cast results of sizeof() to unsigned int to get rid of
1858         warnings on x86_64 (thanks Matthias Clasen).
1859
1860 2005-09-27  Patrick Lam  <plam@mit.edu>
1861         * src/fccache.c (FcGlobalCacheSave, FcCacheCopyOld,
1862                 FcDirCacheWrite):
1863
1864         Use FcAtomic to rewrite cache files.
1865
1866 2005-09-27  Patrick Lam  <plam@mit.edu>
1867
1868         * src/fccache.c (FcDirCacheWrite):
1869
1870         Don't unlink the fonts.cache-2 file even if there's no data
1871         to write; just write an empty cache file.  (thanks Lubos Lunak)
1872
1873 2005-09-27  Patrick Lam  <plam@mit.edu>
1874
1875         * src/fccache.c (FcDirCacheWrite):
1876
1877         Allocate room for the subdirectory names in each
1878         directory cache.  Thanks to James Cloos for finding
1879         and diagnosing this bug!
1880
1881 2005-09-22  Patrick Lam  <plam@mit.edu>
1882
1883         * fc-cache/fc-cache.sgml:
1884         * src/fccache.c (FcDirCacheWrite):
1885         * src/fccache.h (struct FcCache):
1886
1887         Update documentation -- fc-cache's man page now says that you
1888         need to run fc-cache once per cached architecture; add some
1889         documentation to the FcCache structure.
1890
1891         Make fc-cache write out fonts.cache-2 files for directories with
1892         no fonts (i.e. only subdirectories).
1893         
1894 2005-09-22  Patrick Lam    <plam@mit.edu>
1895         * doc/edit-sgml.c:
1896         * fc-cache/fc-cache.sgml:
1897         * fc-case/fc-case.c:
1898         * fc-glyphname/fc-glyphname.c:
1899         * src/fcdefault.c:
1900         * src/fcfreetype.c:
1901         * src/fcinit.c:
1902         * src/fcxml.c:
1903
1904         More GCC 4 cleanups, due to Behhad Esfahbod <behdad@beddad.org>.
1905
1906         * Makefile.am:
1907         * configure.in:
1908         * fc-lang/fc-lang.c:
1909         * fontconfig/fcprivate.h:
1910         * fontconfig/fontconfig.h:
1911         * src/fccache.c:
1912         * src/fccfg.c:
1913         * src/fccharset.c:
1914         * src/fcdbg.c:
1915         * src/fcdir.c:
1916         * src/fcfs.c:
1917         * src/fcint.h:
1918         * src/fclang.c:
1919         * src/fclist.c:
1920         * src/fcmatch.c:
1921         * src/fcname.c:
1922         * src/fcpat.c:
1923
1924         Implement new mmaped cache for font information.
1925         Bump so revision to 2.3.90.
1926
1927 2005-07-25  Keith Packard  <keithp@keithp.com>
1928
1929         * doc/fontconfig-user.sgml:
1930         * fc-glyphname/fc-glyphname.c: (scan), (main):
1931         * fc-lang/fc-lang.c: (FcConfigHome):
1932         * fc-match/fc-match.c: (main):
1933         * src/fccfg.c: (FcConfigHome):
1934         * src/fcfreetype.c: (FcSfntNameTranscode), (FcSfntNameLanguage),
1935         (FcVendorMatch), (FcFreeTypeQuery), (FcFreeTypeCharSetAndSpacing),
1936         (addtag), (FcFontCapabilities):
1937         * src/fcpat.c: (FcValueListEntCreate):
1938         * src/fcstr.c: (FcStrCaseWalkerInit):
1939         * src/fcxml.c: (FcParsePatelt), (FcConfigParseAndLoadDir):
1940
1941         Various GCC 4 cleanups for signed vs unsigned char
1942
1943         Match only [0-9]*.conf files in <include>{directory}</include>
1944         elements to avoid loading *.rpmsave or .dpkg-old files. (otaylor)
1945
1946 2005-07-15  Carl Worth  <cworth@cworth.org>
1947
1948         * src/fcint.h:
1949         * src/fcinit.c: (FcFini):
1950         * src/fcpat.c: (FcPatternFini): Rename FcPatternThawAll to
1951         FcPatternFini.
1952         
1953         * src/fcpat.c: (FcObjectStaticName), (FcObjectStaticNameFini):
1954         Pull the FcObjectStateName hash table out to file scope, and add
1955         FcObjectStaticNameFini so that FcFini will cleanup this hash table
1956         as well.
1957
1958         * src/fcxml.c: (FcConfigParseAndLoad): Clear FILE* to NULL after
1959         fclose.
1960
1961 2005-06-16  Patrick Lam <plam@MIT.EDU>
1962
1963         reviewed by: keithp
1964
1965         * src/fccfg.c: (FcConfigCompareValue):
1966         Make FcOpNotContains use FcStrStr for strings so that
1967         it matches semantics for !FcOpContains.
1968
1969 2005-05-20  Keith Packard  <keithp@keithp.com>
1970
1971         * debian/changelog:
1972         * debian/control:
1973         Move fontconfig source package to libs as per override
1974
1975 2005-05-20  Aiet Kolkhi <aietkolkhi@gmail.com>
1976
1977         reviewed by: Mike Fabian
1978
1979         * fc-lang/ka.orth:
1980         The ka.orth file requires several characters which are not 
1981         used anymore in modern Georgian and which are missing in the free 
1982         Georgian TrueType fonts downloadable at: 
1983         
1984         http://aiet.qartuli.net/docs/georgian_on_linux_en.php
1985
1986 2005-04-27  Keith Packard  <keithp@keithp.com>
1987
1988         * README:
1989         * debian/changelog:
1990         Update date to real 2.3.2 release date.
1991         Fix change attributions
1992         
1993 2005-04-27  Keith Packard  <keithp@keithp.com>
1994
1995         * configure.in:
1996         Bump so revision for 2.3.2
1997         * fc-cache/fc-cache.c: (scanDirs):
1998         Fix a few minor leaks in error cases.
1999
2000 2005-04-23  Keith Packard  <keithp@keithp.com>
2001
2002         * README:
2003         * configure.in:
2004         * debian/changelog:
2005         * fontconfig/fontconfig.h:
2006         Update for version 2.3.2
2007
2008 2005-04-21  Keith Packard  <keithp@keithp.com>
2009
2010         * debian/fontconfig.postinst:
2011         Don't force bitmap font enable in default
2012         configuration; allows users to override this in
2013         ~/.fonts.conf
2014         * debian/po/cs.po:
2015         * debian/po/da.po:
2016         * debian/po/de.po:
2017         * debian/po/es.po:
2018         * debian/po/fr.po:
2019         * debian/po/ja.po:
2020         * debian/po/nl.po:
2021         * debian/po/pt.po:
2022         * debian/po/pt_BR.po:
2023         * debian/po/templates.pot:
2024         * debian/po/tr.po:
2025         * debian/po/zh_CN.po:
2026         Updated translations
2027         
2028         * fc-cache/fc-cache.c: (main):
2029         Destroy font configuration on exit to help valgrind
2030         
2031         * fonts.conf.in:
2032         * src/fcfreetype.c: (FcSfntNameTranscode), (FcFreeTypeCharIndex),
2033         (FcFreeTypeCheckGlyph):
2034         Use own transcoding routines in preference to iconv
2035         which appears to have leaks in some translators.
2036         Call iconv_close after using iconv (oops).
2037         
2038         Prefer unicode encoding of Euro char as some
2039         fonts mis-encode Euro in other ones.
2040
2041         Must fetch bitmap glyphs to get width values
2042         to check for monospace/dual-width fonts.
2043
2044 2005-04-13  Ross Burton  <ross@burtonini.com>
2045
2046         * src/fcpat.c:
2047         Check that a pattern isn't already frozen in FcPatternFreeze.
2048
2049 2005-03-31  Ross Burton  <ross@burtonini.com>
2050
2051         * src/fclist.c:
2052         * src/fcmatch.c:
2053         * src/fcpat.c:
2054         Run all FcPattern objects through FcObjectStaticName, so that
2055         compares can be done on pointers instead of strings (#2659)
2056
2057 2005-03-17  Tor Lillqvist  <tml@novell.com>
2058
2059         * src/fontconfig.def.in: Add the .dll to the dll name.
2060
2061 2005-03-10  Keith Packard  <keithp@keithp.com>
2062
2063         * debian/README.Debian:
2064         Update to reflect configuration changes
2065         * debian/changelog:
2066         * debian/fontconfig.postinst:
2067         Fix Autohint vs Autohinter mistake
2068         * debian/fontconfig.templates:
2069         Adopt changes from Josselin Mouette for configuration descriptions
2070         Update debian to version 2.3.1-2
2071
2072 2005-03-08  Keith Packard  <keithp@keithp.com>
2073
2074         * debian/changelog:
2075         * debian/rules:
2076         Update debian for 2.3.1
2077
2078 2005-03-09  Tor Lillqvist  <tml@novell.com>
2079
2080         * fontconfig-zip.in: Get the DLL from "bin" where modern libtools
2081         put it, not "lib".
2082
2083         * src/fccfg.c (FcConfigFileExists): Check also drive letter
2084         prefix on Win32.
2085
2086 2005-03-08  Keith Packard  <keithp@keithp.com>
2087
2088         * README:
2089         * configure.in:
2090         * fontconfig/fontconfig.h:
2091         Update for 2.3.1
2092
2093 2005-03-05  Keith Packard  <keithp@keithp.com>
2094
2095         * src/fcfreetype.c: (addtag), (FcFontCapabilities):
2096         Include space and remove numbers from valid script tags.
2097         This ensures that tags like 'lao ' work while rejecting
2098         those which have any digits.
2099         Eliminate a spurious debugging variable (len)
2100
2101 2005-03-05  Keith Packard  <keithp@keithp.com>
2102
2103         * src/fcfreetype.c: (addtag), (GetScriptTags),
2104         (FcFontCapabilities):
2105         Rework GSUB/GPOS script parsing to survive broken fonts.
2106         Thanks for the broken font go to Manish Singh
2107
2108 2005-03-05  Keith Packard  <keithp@keithp.com>
2109
2110         Josselin Mouette:
2111         * debian/changelog:
2112         * debian/control:
2113         * debian/fontconfig.config:
2114         * debian/fontconfig.templates:
2115         * debian/rules:
2116                 Include 2.3 release information in changelog
2117                 Add Josselin Mouette as an Uploader
2118                 Set hinting_type to low priority configuration option
2119                 
2120         Manish Singh:
2121         * debian/fontconfig.postinst:
2122                 yes_bitmaps.conf -> yes-bitmaps.conf
2123                 
2124         Funda Wang:
2125         * src/fcfreetype.c:
2126                 Johap -> Johab
2127                 
2128 2005-03-02  Keith Packard  <keithp@keithp.com>
2129
2130         * Makefile.am:
2131         * conf.d/Makefile.am:
2132         * conf.d/autohint.conf:
2133         * conf.d/no-sub-pixel.conf:
2134         * conf.d/sub-pixel.conf:
2135         * conf.d/unhinted.conf:
2136         * debian/autohint.conf:
2137         * debian/fontconfig.install:
2138         * debian/fontconfig.postinst:
2139         * debian/fontconfig.templates:
2140         * debian/no-sub-pixel.conf:
2141         * debian/unhinted.conf:
2142         Move debian-specific conf file examples upstream.
2143         
2144         Sub-pixel configuration examples must smash subpixel value
2145         as Xft always sets it from X.
2146
2147         Change sub-pixel rendering debconf descriptions from
2148         Enable/Disable to Always/Never.
2149
2150 2005-03-02  Keith Packard  <keithp@keithp.com>
2151
2152         * .cvsignore:
2153         * conf.d/.cvsignore:
2154         * doc/.cvsignore:
2155         Ignore more build detritus
2156
2157         * Makefile.am:
2158         Add debian package construction stuff.
2159         
2160         * config/config.guess:
2161         * config/config.sub:
2162         Update to newer versions of these tools
2163         
2164         * doc/Makefile.am:
2165         Get library manuals to build again (we love automake).
2166         
2167         * debian/README.Debian:
2168         * debian/autohint.conf:
2169         * debian/changelog:
2170         * debian/compat:
2171         * debian/control:
2172         * debian/copyright:
2173         * debian/fontconfig-udeb.install:
2174         * debian/fontconfig.config:
2175         * debian/fontconfig.defoma:
2176         * debian/fontconfig.dirs:
2177         * debian/fontconfig.install:
2178         * debian/fontconfig.postinst:
2179         * debian/fontconfig.postrm:
2180         * debian/fontconfig.templates:
2181         * debian/libfontconfig1-dev.install:
2182         * debian/libfontconfig1.install:
2183         * debian/local.conf.md5sum:
2184         * debian/no-sub-pixel.conf:
2185         * debian/po/POTFILES.in:
2186         * debian/po/cs.po:
2187         * debian/po/da.po:
2188         * debian/po/de.po:
2189         * debian/po/es.po:
2190         * debian/po/fr.po:
2191         * debian/po/ja.po:
2192         * debian/po/nl.po:
2193         * debian/po/pt.po:
2194         * debian/po/pt_BR.po:
2195         * debian/po/templates.pot:
2196         * debian/po/tr.po:
2197         * debian/po/zh_CN.po:
2198         * debian/rules:
2199         * debian/unhinted.conf:
2200         Update debian build system to switch maintainers and
2201         deal with 2.3 functionality
2202
2203 2005-03-01  Keith Packard  <keithp@keithp.com>
2204
2205         * README:
2206         * configure.in:
2207         * fontconfig/fontconfig.h:
2208         Update for 2.3.0
2209
2210 2005-03-01  Keith Packard  <keithp@keithp.com>
2211
2212         * doc/Makefile.am:
2213         Generate and install PDF versions of the manuals
2214
2215         * doc/fcpattern.fncs:
2216         Fix formatting
2217         
2218         * doc/fcstring.fncs:
2219         Add missing exported functions, fix data types
2220         
2221         * doc/fontconfig-devel.sgml:
2222         Add missing pattern elements.
2223         
2224         * doc/fontconfig-user.sgml:
2225         Add missing pattern elements.  Document conf.d usage,
2226         clarify available orthography list.  Fix some config file
2227         attributes.  Complete list of constants.
2228         
2229         * fontconfig/fontconfig.h:
2230         Mark FC_SOURCE deprecated.
2231         
2232         * src/fcfreetype.c: (FcFreeTypeQuery):
2233         Don't set FC_SOURCE any longer.
2234
2235 2005-02-28  Keith Packard  <keithp@keithp.com>
2236
2237         * Makefile.am:
2238         * conf.d/Makefile.am:
2239         * conf.d/README:
2240         * conf.d/no-bitmaps.conf:
2241         * conf.d/sub-pixel.conf:
2242         * conf.d/yes-bitmaps.conf:
2243         * configure.in:
2244         Create prototype /etc/fonts/conf.d directory with a few
2245         sample configuration files.
2246         Deprecate use of local.conf for local customizations in favor of
2247         this directory based scheme which is more easily integrated into
2248         installation systems.
2249         
2250         * src/fcname.c:
2251         Tag FC_EMBOLDEN as a boolean variable
2252
2253 2005-02-10  Keith Packard  <keithp@keithp.com>
2254
2255         reviewed by: pborelli@katamail.com
2256
2257         * src/fcdir.c: (FcFileScanConfig):
2258         Free patterns from fonts which are rejected by configuration
2259         (bug #2518)
2260
2261 2005-01-28  Keith Packard  <keithp@keithp.com>
2262
2263         * README:
2264         * configure.in:
2265         * fontconfig/fontconfig.h:
2266         Update for version 2.2.99
2267
2268 2005-01-28  Keith Packard  <keithp@keithp.com>
2269
2270         * README:
2271         Add a few pointers (#2284, #2285)
2272
2273 2005-01-28  Keith Packard  <keithp@keithp.com>
2274
2275         * src/fcint.h:
2276         * src/fcname.c: (FcNameBool):
2277         * src/fcxml.c: (FcTypeName), (FcTypecheckValue), (FcTypecheckExpr),
2278         (FcTestCreate), (FcEditCreate), (FcConfigLexBool), (FcParseBool),
2279         (FcParseAlias), (FcParseInclude), (FcParseTest), (FcParseEdit):
2280         Polite typechecking for test and edit expressions.  Helps
2281         catch errors in the font configuration. (bug 229)
2282
2283 2005-01-15  Alan Coopersmith <alan.coopersmith@sun.com>
2284
2285         reviewed by: Keith Packard <keithp@keithp.com>
2286
2287         * configure.in:
2288         Have --with-expat set EXPAT_CFLAGS (bug 2278)
2289
2290 2005-01-13  Keith Packard  <keithp@keithp.com>
2291
2292         * doc/fontconfig-user.sgml:
2293         Add SEE ALSO section (bug 2085)
2294         
2295 2005-01-13  J. Ali Harlow <ali@juiblex.co.uk>
2296
2297         reviewed by: Keith Packard  <keithp@keithp.com>
2298
2299         * Makefile.am:
2300         * configure.in:
2301         * doc/Makefile.am:
2302         * fc-case/Makefile.am:
2303         * fc-glyphname/Makefile.am:
2304         * fc-lang/Makefile.am:
2305         * src/fontconfig.def.in:
2306         Cross compiling fixes (bug 280)
2307
2308 2005-01-13  Keith Packard  <keithp@keithp.com>
2309
2310         * fonts.conf.in:
2311         Update blanks list (Closes bug 86)
2312
2313 2005-01-04  Keith Packard  <keithp@keithp.com>
2314
2315         * src/fccache.c: (FcCacheFontSetAdd):
2316         Verify that every font pattern loaded from cache has
2317         both FC_FILE and FC_FAMILY entries.
2318         Attempt to fix bug #2219.
2319
2320 2004-12-29  Keith Packard  <keithp@keithp.com>
2321
2322         * README:
2323         * configure.in:
2324         * fontconfig/fontconfig.h:
2325         Update for version 2.2.98
2326
2327 2004-12-29  Keith Packard  <keithp@keithp.com>
2328
2329         * fontconfig/fontconfig.h:
2330         Document ASCII limitations of Fc character conversion macros
2331         * src/fcstr.c: (FcStrCaseWalkerLong), (FcStrDowncase):
2332         Fix off-by-one error in utf-8 case walking code.
2333         Add FcStrDowncase (useful for testing case conversion functions)
2334
2335 2004-12-29  Keith Packard  <keithp@keithp.com>
2336
2337         * .cvsignore:
2338         * fc-case/.cvsignore:
2339         clean up CVS ignore lists
2340         * fc-lang/iso-3166.txt:
2341         Add territory database
2342         
2343 2004-12-29   Tor Andersson <tor.andersson@gmail.com>
2344
2345         Reviewed by: Keith Packard
2346         
2347         * fc-lang/ko.orth:
2348         Remove Han characters from Korean orthography
2349
2350 2004-12-29  Keith Packard  <keithp@keithp.com>
2351
2352         * Makefile.am:
2353         Reorder utility programs to make sure fc-case is run before fc-lang
2354         as fc-lang uses fcstr.c which uses fccase.h
2355         * fonts.conf.in:
2356         Fix broken XML
2357
2358 2004-12-29  Keith Packard  <keithp@keithp.com>
2359
2360         * fonts.conf.in:
2361         Adopt some RedHat suggestions for standard font configuration.
2362
2363         * Makefile.am:
2364         * configure.in:
2365         * fc-case/CaseFolding.txt:
2366         * fc-case/Makefile.am:
2367         * fc-case/fc-case.c: (panic), (addFold), (ucs4_to_utf8),
2368         (utf8_size), (addChar), (foldExtends), (case_fold_method_name),
2369         (dump), (parseRaw), (caseFoldReadRaw), (main):
2370         * fc-case/fccase.tmpl.h:
2371         Add new helper program 'fc-case' to construct case folding
2372         tables from standard Unicode CaseFolding.txt file
2373         
2374         * src/fcint.h:
2375         * src/fclist.c: (FcListValueHash):
2376         * src/fcstr.c: (FcStrCaseWalkerInit), (FcStrCaseWalkerLong),
2377         (FcStrCaseWalkerNext), (FcStrCaseWalkerNextIgnoreBlanks),
2378         (FcStrCmpIgnoreCase), (FcStrCmpIgnoreBlanksAndCase),
2379         (FcStrHashIgnoreCase), (FcStrIsAtIgnoreBlanksAndCase),
2380         (FcStrIsAtIgnoreCase), (FcStrStrIgnoreCase):
2381         Re-implement case insensitive functions with Unicode
2382         aware versions (including full case folding mappings)
2383
2384 2004-12-13  Keith Packard  <keithp@keithp.com>
2385
2386         reviewed by: Owen Taylor <otaylor@redhat.com>
2387
2388         * src/fcmatch.c: (FcFontSetSort):
2389         I changed FcFontSetSort to respect the generic aliases better
2390         in the face of language matching.
2391         
2392         What I did was to ammend the strict sort order used by FcFontSort so
2393         that it 'satisfies' the language specified in the pattern by locating
2394         the best matching font supporting each pattern language and then
2395         ignores language in the remaining fonts for purposes of matching.
2396
2397         So, when asking for 'sans:lang=en', you'll get an English font first,
2398         and then the remaining fonts sorted with respect to the 'sans' alias
2399         alone -- pushing Kochi fonts ahead of other English-supporting Han fonts.
2400
2401 2004-12-10  Jakub Pavelek <jakub.pavelek@nokia.com>
2402
2403         reviewed by: Keith Packard  <keithp@keithp.com>
2404
2405         * fontconfig/fontconfig.h:
2406         * fonts.conf.in:
2407
2408         Configuration changes to request synthetic emboldening of
2409         fonts.  The actual emboldening code will live in Xft.
2410
2411 2004-12-09  John Thacker <thacker@math.cornell.edu>
2412
2413         reviewed by: Keith Packard  <keithp@keithp.com>
2414
2415         * fc-lang/ru.orth:
2416         
2417         Currently Russian (ru) requires 0406 and 0456 (І and Ñ–), but these
2418         were eliminated in Russian in 1918 in favor of 0418 and 0438 (И and
2419         Ð¸), and don't even appear in KOI8-R.  (The hypothesis that they
2420         don't appear in KOI8-R due to their similarity with Latin I and i is
2421         eliminated by their presence in KOI8-U.)  I have a couple of fonts
2422         with Russian support that don't have the letter.
2423
2424         Therefore, 0406 and 0456 should be removed from or commented out of
2425         ru.orth
2426
2427 2004-12-06  michael meeks <mmeeks@novell.com>
2428
2429         Reviewed by: Keith Packard  <keithp@keithp.com>
2430
2431         * src/fcinit.c: (FcMemReport):
2432         * src/fcint.h:
2433         * src/fclist.c: (FcObjectSetAdd):
2434         * src/fcpat.c: (FcValueListEntCreate), (FcPatternBaseFreeze),
2435         (FcPatternInsertElt), (FcPatternEqual), (FcObjectStaticName):
2436         * src/fcxml.c: (FcParsePatelt):
2437         memoize strings and share a single copy for all uses.  Note that
2438         this could be improved further by using statically allocated blocks
2439         and gluing multiple strings together, but I'm basically lazy.
2440         In my environment with 800 font files, I get a savings of about 90KB.
2441
2442 2004-12-06  Keith Packard  <keithp@keithp.com>
2443
2444         * COPYING:
2445         * Makefile.am:
2446         * config/Makedefs.in:
2447         * configure.in:
2448         * doc/edit-sgml.c:
2449         * doc/fcatomic.fncs:
2450         * doc/fcblanks.fncs:
2451         * doc/fccharset.fncs:
2452         * doc/fcconfig.fncs:
2453         * doc/fcconstant.fncs:
2454         * doc/fcfile.fncs:
2455         * doc/fcfontset.fncs:
2456         * doc/fcfreetype.fncs:
2457         * doc/fcinit.fncs:
2458         * doc/fcmatrix.fncs:
2459         * doc/fcobjectset.fncs:
2460         * doc/fcobjecttype.fncs:
2461         * doc/fcpattern.fncs:
2462         * doc/fcstring.fncs:
2463         * doc/fcstrset.fncs:
2464         * doc/fcvalue.fncs:
2465         * doc/fontconfig-devel.sgml:
2466         * doc/fontconfig-user.sgml:
2467         * doc/func.sgml:
2468         * doc/version.sgml.in:
2469         * fc-cache/Makefile.am:
2470         * fc-cache/fc-cache.c:
2471         * fc-glyphname/Makefile.am:
2472         * fc-glyphname/fc-glyphname.c:
2473         * fc-glyphname/fcglyphname.tmpl.h:
2474         * fc-lang/Makefile.am:
2475         * fc-lang/aa.orth:
2476         * fc-lang/ab.orth:
2477         * fc-lang/af.orth:
2478         * fc-lang/am.orth:
2479         * fc-lang/ar.orth:
2480         * fc-lang/ast.orth:
2481         * fc-lang/ava.orth:
2482         * fc-lang/ay.orth:
2483         * fc-lang/az.orth:
2484         * fc-lang/az_ir.orth:
2485         * fc-lang/ba.orth:
2486         * fc-lang/bam.orth:
2487         * fc-lang/be.orth:
2488         * fc-lang/bg.orth:
2489         * fc-lang/bh.orth:
2490         * fc-lang/bho.orth:
2491         * fc-lang/bi.orth:
2492         * fc-lang/bin.orth:
2493         * fc-lang/bn.orth:
2494         * fc-lang/bo.orth:
2495         * fc-lang/br.orth:
2496         * fc-lang/bs.orth:
2497         * fc-lang/bua.orth:
2498         * fc-lang/ca.orth:
2499         * fc-lang/ce.orth:
2500         * fc-lang/ch.orth:
2501         * fc-lang/chm.orth:
2502         * fc-lang/chr.orth:
2503         * fc-lang/co.orth:
2504         * fc-lang/cs.orth:
2505         * fc-lang/cu.orth:
2506         * fc-lang/cv.orth:
2507         * fc-lang/cy.orth:
2508         * fc-lang/da.orth:
2509         * fc-lang/de.orth:
2510         * fc-lang/dz.orth:
2511         * fc-lang/el.orth:
2512         * fc-lang/en.orth:
2513         * fc-lang/eo.orth:
2514         * fc-lang/es.orth:
2515         * fc-lang/et.orth:
2516         * fc-lang/eu.orth:
2517         * fc-lang/fa.orth:
2518         * fc-lang/fc-lang.c:
2519         * fc-lang/fc-lang.man:
2520         * fc-lang/fclang.tmpl.h:
2521         * fc-lang/fi.orth:
2522         * fc-lang/fj.orth:
2523         * fc-lang/fo.orth:
2524         * fc-lang/fr.orth:
2525         * fc-lang/ful.orth:
2526         * fc-lang/fur.orth:
2527         * fc-lang/fy.orth:
2528         * fc-lang/ga.orth:
2529         * fc-lang/gd.orth:
2530         * fc-lang/gez.orth:
2531         * fc-lang/gl.orth:
2532         * fc-lang/gn.orth:
2533         * fc-lang/gu.orth:
2534         * fc-lang/gv.orth:
2535         * fc-lang/ha.orth:
2536         * fc-lang/haw.orth:
2537         * fc-lang/he.orth:
2538         * fc-lang/hi.orth:
2539         * fc-lang/ho.orth:
2540         * fc-lang/hr.orth:
2541         * fc-lang/hu.orth:
2542         * fc-lang/hy.orth:
2543         * fc-lang/ia.orth:
2544         * fc-lang/ibo.orth:
2545         * fc-lang/id.orth:
2546         * fc-lang/ie.orth:
2547         * fc-lang/ik.orth:
2548         * fc-lang/io.orth:
2549         * fc-lang/is.orth:
2550         * fc-lang/iso639-2:
2551         * fc-lang/it.orth:
2552         * fc-lang/iu.orth:
2553         * fc-lang/ja.orth:
2554         * fc-lang/ka.orth:
2555         * fc-lang/kaa.orth:
2556         * fc-lang/ki.orth:
2557         * fc-lang/kk.orth:
2558         * fc-lang/kl.orth:
2559         * fc-lang/km.orth:
2560         * fc-lang/kn.orth:
2561         * fc-lang/ko.orth:
2562         * fc-lang/kok.orth:
2563         * fc-lang/ks.orth:
2564         * fc-lang/ku.orth:
2565         * fc-lang/ku_ir.orth:
2566         * fc-lang/kum.orth:
2567         * fc-lang/kv.orth:
2568         * fc-lang/kw.orth:
2569         * fc-lang/ky.orth:
2570         * fc-lang/la.orth:
2571         * fc-lang/lb.orth:
2572         * fc-lang/lez.orth:
2573         * fc-lang/lo.orth:
2574         * fc-lang/lt.orth:
2575         * fc-lang/lv.orth:
2576         * fc-lang/mg.orth:
2577         * fc-lang/mh.orth:
2578         * fc-lang/mi.orth:
2579         * fc-lang/mk.orth:
2580         * fc-lang/ml.orth:
2581         * fc-lang/mn.orth:
2582         * fc-lang/mo.orth:
2583         * fc-lang/mr.orth:
2584         * fc-lang/mt.orth:
2585         * fc-lang/my.orth:
2586         * fc-lang/nb.orth:
2587         * fc-lang/nds.orth:
2588         * fc-lang/ne.orth:
2589         * fc-lang/nl.orth:
2590         * fc-lang/nn.orth:
2591         * fc-lang/no.orth:
2592         * fc-lang/ny.orth:
2593         * fc-lang/oc.orth:
2594         * fc-lang/om.orth:
2595         * fc-lang/or.orth:
2596         * fc-lang/os.orth:
2597         * fc-lang/pl.orth:
2598         * fc-lang/ps_af.orth:
2599         * fc-lang/ps_pk.orth:
2600         * fc-lang/pt.orth:
2601         * fc-lang/rm.orth:
2602         * fc-lang/ro.orth:
2603         * fc-lang/ru.orth:
2604         * fc-lang/sa.orth:
2605         * fc-lang/sah.orth:
2606         * fc-lang/sco.orth:
2607         * fc-lang/se.orth:
2608         * fc-lang/sel.orth:
2609         * fc-lang/sh.orth:
2610         * fc-lang/si.orth:
2611         * fc-lang/sk.orth:
2612         * fc-lang/sl.orth:
2613         * fc-lang/sm.orth:
2614         * fc-lang/sma.orth:
2615         * fc-lang/smj.orth:
2616         * fc-lang/smn.orth:
2617         * fc-lang/sms.orth:
2618         * fc-lang/so.orth:
2619         * fc-lang/sq.orth:
2620         * fc-lang/sr.orth:
2621         * fc-lang/sv.orth:
2622         * fc-lang/sw.orth:
2623         * fc-lang/syr.orth:
2624         * fc-lang/ta.orth:
2625         * fc-lang/te.orth:
2626         * fc-lang/tg.orth:
2627         * fc-lang/th.orth:
2628         * fc-lang/ti_er.orth:
2629         * fc-lang/ti_et.orth:
2630         * fc-lang/tig.orth:
2631         * fc-lang/tk.orth:
2632         * fc-lang/tl.orth:
2633         * fc-lang/tn.orth:
2634         * fc-lang/to.orth:
2635         * fc-lang/tr.orth:
2636         * fc-lang/ts.orth:
2637         * fc-lang/tt.orth:
2638         * fc-lang/tw.orth:
2639         * fc-lang/tyv.orth:
2640         * fc-lang/ug.orth:
2641         * fc-lang/uk.orth:
2642         * fc-lang/ur.orth:
2643         * fc-lang/uz.orth:
2644         * fc-lang/ven.orth:
2645         * fc-lang/vi.orth:
2646         * fc-lang/vo.orth:
2647         * fc-lang/vot.orth:
2648         * fc-lang/wa.orth:
2649         * fc-lang/wen.orth:
2650         * fc-lang/wo.orth:
2651         * fc-lang/xh.orth:
2652         * fc-lang/yap.orth:
2653         * fc-lang/yi.orth:
2654         * fc-lang/yo.orth:
2655         * fc-lang/zh_cn.orth:
2656         * fc-lang/zh_hk.orth:
2657         * fc-lang/zh_mo.orth:
2658         * fc-lang/zh_sg.orth:
2659         * fc-lang/zh_tw.orth:
2660         * fc-lang/zu.orth:
2661         * fc-list/Makefile.am:
2662         * fc-list/fc-list.c:
2663         * fc-match/Makefile.am:
2664         * fc-match/fc-match.1:
2665         * fc-match/fc-match.c:
2666         * fontconfig/fcfreetype.h:
2667         * fontconfig/fcprivate.h:
2668         * fontconfig/fontconfig.h:
2669         * src/fcatomic.c:
2670         * src/fcblanks.c:
2671         * src/fccache.c:
2672         * src/fccfg.c:
2673         * src/fccharset.c:
2674         * src/fcdbg.c:
2675         * src/fcdefault.c:
2676         * src/fcdir.c:
2677         * src/fcfreetype.c:
2678         * src/fcfs.c:
2679         * src/fcinit.c:
2680         * src/fcint.h:
2681         * src/fclang.c:
2682         * src/fclist.c:
2683         * src/fcmatch.c:
2684         * src/fcmatrix.c:
2685         * src/fcname.c:
2686         * src/fcpat.c:
2687         * src/fcstr.c:
2688         * src/fcxml.c:
2689         Change files from ISO-Latin-1 to UTF-8
2690
2691 2004-12-04  Keith Packard  <keithp@keithp.com>
2692
2693         * INSTALL:
2694         Update links to new freedesktop.org locations
2695         * Makefile.am:
2696         Add uninstall-local to get rid of fonts.conf and local.conf if they
2697         match the distributed versions.  Fixes 'make distcheck'
2698
2699 2004-12-04  Keith Packard  <keithp@keithp.com>
2700
2701         * README:
2702         * configure.in:
2703         * fontconfig/fontconfig.h:
2704         Updates for version 2.2.97
2705
2706 2004-12-04  Owen Taylor  <otaylor@redhat.com>
2707
2708         reviewed by: Keith Packard  <keithp@keithp.com>
2709
2710         * fc-cache/fc-cache.c: (main):
2711         Sleep for two seconds before exiting to make sure timestamps
2712         for future changes have distinct mod times in the file system.
2713         Bug #1982.
2714         * fc-lang/pa.orth:
2715         Add Punjabi orthography.  Bug #1671.
2716
2717 2004-12-04  Keith Packard  <keithp@keithp.com>
2718
2719         * fonts.conf.in:
2720         Just remove the FC_FONTDATE -- it has locale issues and
2721         annoys redhat multi-arch installs.  Now that all X fonts are
2722         included without prejudice, the chances of the date being at
2723         all interesting are rather limited.  Bug #505.
2724         * src/Makefile.am:
2725         Add copyright and license
2726
2727 2004-12-04  Keith Packard  <keithp@keithp.com>
2728
2729         * configure.in:
2730         Change default set of fonts to include all of
2731         /usr/X11R6/lib/X11/fonts (or wherever the X fonts are located).
2732         * doc/fontconfig-user.sgml:
2733         Document new <include>directory-name</include> semantics
2734         * fonts.conf.in:
2735         add <include ignore_missing="yes">conf.d</include>
2736         * local.conf:
2737         Add selectfont to ignore bitmap fonts, add comment for
2738         selectfont which accepts bitmap fonts.
2739         * src/fcdir.c:
2740         * src/fcint.h:
2741         * src/fcxml.c: (FcConfigParseAndLoadDir), (FcConfigParseAndLoad):
2742         Allow <include> configuration elements to reference directories.
2743         Parse and load all files of the form [0-9]* in sorted order.
2744
2745 2004-12-04  Keith Packard  <keithp@keithp.com>
2746
2747         * autogen.sh:
2748         Report command line for $srcdir/configure accurately.
2749         Bug #212.
2750
2751 2004-12-04  Keith Packard  <keithp@keithp.com>
2752
2753         * src/fcfreetype.c: (FcFreeTypeQuery):
2754         Check for non-empty face->family_name and face->style_name
2755         before using those for the font.  Empty names match everything.
2756         Bug #210.
2757
2758 2004-12-04  Keith Packard  <keithp@keithp.com>
2759
2760         * configure.in:
2761         * fontconfig/fontconfig.h:
2762         * src/fcfreetype.c: (FcFreeTypeQuery):
2763         * src/fcname.c:
2764         Create FC_FONTFORMAT from FT_Get_X11_Font_Format function where
2765         available.  This provides font file format information (BDF, Type 1,
2766         PCF, TrueType) for each font.  Closes #109.
2767
2768 2004-12-04  Daniel Glassey <danglassey@ntlworld.com>
2769
2770         reviewed by: Keith Packard  <keithp@keithp.com>
2771
2772         * doc/fontconfig-user.sgml:
2773         Fix typo.
2774         
2775         * fontconfig/fontconfig.h:
2776         * src/fcfreetype.c: (FcFreeTypeQuery), (addtag), (compareulong),
2777         (GetScriptTags), (FcFontCapabilities):
2778         * src/fcname.c:
2779         Add detection for font capabilities (bug #105)
2780
2781 2004-12-04  Keith Packard  <keithp@keithp.com>
2782
2783         * Makefile.am:
2784         Move existing fonts.conf to fonts.conf.bak
2785         
2786         * configure.in:
2787         Add detection of iconv
2788         
2789         * doc/fcpattern.fncs:
2790         * doc/fontconfig-devel.sgml:
2791         * doc/fontconfig-user.sgml:
2792         * fonts.dtd:
2793         Document new selectfont elements
2794         
2795         * fc-lang/nb.orth:
2796         Switch to UTF-8 in comment
2797         
2798         * fontconfig/fontconfig.h:
2799         * src/fcname.c:
2800         Add fullname, and family/style/fullname language entries
2801         
2802         * src/fccache.c: (FcCacheFontSetAdd):
2803         * src/fcdir.c: (FcFileScanConfig):
2804         Respect selectfont/*/glob
2805         
2806         * src/fcint.h:
2807         * src/fccfg.c: (FcConfigCreate), (FcConfigDestroy),
2808         (FcConfigCompareValue), (FcConfigPatternsAdd),
2809         (FcConfigPatternsMatch), (FcConfigAcceptFont):
2810         * src/fcxml.c: (FcElementMap), (FcVStackDestroy),
2811         (FcVStackPushPattern), (FcPopExpr), (FcParseAcceptRejectFont),
2812         (FcPopValue), (FcParsePatelt), (FcParsePattern), (FcEndElement):
2813         Add support for selectfont
2814         
2815         * src/fcfreetype.c: (FcSfntNameTranscode), (FcSfntNameLanguage),
2816         (FcStringInPatternElement), (FcFreeTypeQuery):
2817         Add multi-lingual family/style/fullname support
2818         
2819         * src/fclist.c: (FcListPatternMatchAny):
2820         Expose FcListPatternMatchAny (which selectfont/*/pattern uses)
2821         
2822         * src/fcpat.c: (FcPatternRemove), (FcPatternAppend),
2823         (FcObjectStaticName):
2824         Add new FcPatternRemove/FcPatternAppend.
2825         FcObjectStaticName stores computed pattern element names which
2826         are required to be static.
2827         
2828 2004-09-09 "NAKAMURA Ken'ichi" <nakamura@sbp.fp.a.u-tokyo.ac.jp>
2829
2830         reviewed by: keithp
2831
2832         * Makefile.am:
2833         Remove spurious / after $(DESTDIR)
2834
2835 2004-06-30  Keith Packard  <keithp@keithp.com>
2836
2837         * README:
2838         * configure.in:
2839         * fontconfig/fontconfig.h:
2840         Update for 2.2.96
2841
2842 2004-06-30  Keith Packard  <keithp@keithp.com>
2843
2844         Provided by: Lubos Lunak <l.lunak@suse.cz>
2845
2846         * src/fccfg.c: (FcConfigUptoDate):
2847         However FcConfigUptoDate() doesn't seem to work. See the attached
2848         patch.  First there's an obvious misplaced parenthesis making it
2849         return always false, and second, even this call fails to detect font
2850         changes (e.g.  adding a new font to 
2851         /usr/X11R6/lib/X11/fonts/truetype). The patch should fix that as
2852         well. The problem seems to be triggered by my fonts.conf specifying
2853         only /usr/X11R6/lib/X11/fonts , and therefore config->configDirs
2854         doesn't include subdirs, unlike config->fontDirs.
2855
2856 2004-06-03  Keith Packard  <keithp@keithp.com>
2857
2858         * fontconfig/fontconfig.h:
2859         Remove comma at end of FcResult enum definition.
2860
2861 2004-05-29  Keith Packard  <keithp@keithp.com>
2862
2863         * INSTALL:
2864         Add steps to md5sum release
2865
2866 2004-05-29  Keith Packard  <keithp@keithp.com>
2867
2868         * README:
2869         * configure.in:
2870         * fontconfig/fontconfig.h:
2871         Update for 2.2.95
2872
2873 2004-05-29  Keith Packard  <keithp@keithp.com>
2874
2875         * fontconfig/fontconfig.h:
2876         * src/fcmatch.c: (FcFontSetMatch):
2877         Add FcResultOutOfMemory to provide an accurate error when
2878         FcFontSetMatch fails in this way
2879         
2880         * src/fcfreetype.c:
2881         Make #warning about lacking various FreeType features indicate
2882         which version those features appeared so users know how to
2883         fix the problem (Thanks to Anton Tropashko)
2884
2885 2004-05-05  Keith Packard  <keithp@keithp.com>
2886
2887         * src/fcfreetype.c: (FcFreeTypeCharSetAndSpacing):
2888         Replace MIN/MAX/ABS macros which happen to have come
2889         from FreeType with fontconfig-specific ones (FC_*)
2890
2891 2004-04-23  Keith Packard  <keithp@keithp.com>
2892
2893         * INSTALL:
2894         Extend release preparation instructions to include
2895         notification and distribution steps
2896
2897 2004-04-23  Keith Packard  <keithp@keithp.com>
2898
2899         * README:
2900         * configure.in:
2901         * fontconfig/fontconfig.h:
2902         Update to 2.2.94 (2.2.93 shipped with broken libtool bits)
2903
2904 2004-04-23  Keith Packard  <keithp@keithp.com>
2905
2906         * .cvsignore:
2907         Ignore a few more autotool files
2908
2909 2004-04-14  Keith Packard  <keithp@keithp.com>
2910
2911         * INSTALL:
2912         Add instructions for doing a release
2913         
2914         * fontconfig.spec.in:
2915         clean up .spec file; perhaps this will be useful to somebody...
2916
2917         * README:
2918         * configure.in:
2919         * fontconfig/fontconfig.h:
2920         Update to 2.2.93
2921         
2922         * fc-lang/fc-lang.c:
2923         Make 'scanopen' static so GCC doesn't whine about lacking prototype
2924         
2925         * fc-glyphname/Makefile.am:
2926         * fc-lang/Makefile.am:
2927         * fc-list/Makefile.am:
2928         * fc-match/Makefile.am:
2929         * src/Makefile.am:
2930         Add WARN_CFLAGS to pass -W flags for GCC systems
2931         
2932         * src/fcfreetype.c: (FcNoticeFoundry), (FcVendorMatch),
2933         (FcVendorFoundry), (FcGetPixelSize), (FcFreeTypeQuery):
2934         Change various char types around to match across
2935         function calls.
2936         Fixed bug in using available_sizes[i].height which 
2937         is in pixels, not 64ths of a pixel.
2938
2939 2004-03-06  Keith Packard  <keithp@keithp.com>
2940
2941         * src/fcfreetype.c: (FcFreeTypeQuery):
2942         Force FC_FOUNDRY and FC_WIDTH to always be set so that
2943         matches looking for explicit values prefer exact matches
2944
2945 2004-03-02  Keith Packard  <keithp@keithp.com>
2946
2947         Supplied by: mfabian@suse.de (Mike FABIAN)
2948
2949         * src/fcfreetype.c: (FcFreeTypeQuery):
2950         Bug #260 fc-cache generates wrong spacing values for bitmap fonts
2951         Was using (strcmp (a,b)) instead of (!strcmp(a,b)).
2952
2953 2004-02-21  Manish Singh  <yosh@gimp.org>
2954
2955         * fc-glyphname/fc-glyphname.c: (main):
2956         Cast strlen to int for printf, so we're 64-bit clean.
2957
2958 2004-02-11  Keith Packard  <keithp@keithp.com>
2959
2960         * configure.in:
2961         * src/fcfreetype.c: (FcGetPixelSize):
2962         Ok, so I messed up the test for y_ppem.  Let's see if I
2963         got it right this time.
2964
2965 2004-02-10  Keith Packard  <keithp@keithp.com>
2966
2967         * configure.in:
2968         * src/fcfreetype.c: (FcGetPixelSize):
2969         Pre-2.1.5 versions of FreeType didn't include y_ppem in the
2970         FT_Bitmap_Size record.  Add a configure.in test for this
2971         and change the code accordingly (using height instead).
2972
2973 2004-02-06  Keith Packard  <keithp@keithp.com>
2974
2975         * fc-lang/nds.orth:
2976         Add Low Saxon orthography 
2977                 (Kenneth Rohde Christiansen <kenneth@gnu.org>)
2978                 
2979         * src/fccfg.c: (FcConfigNewestFile):
2980         Oops.  Left 'newest.set' unset, which would miscompute
2981         the newest file
2982         
2983         * src/fcfreetype.c: (FcGetPixelSize), (FcFreeTypeQuery),
2984         (FcFreeTypeCheckGlyph):
2985         Add FcGetPixelSize to extract correct pixel size from bdf/pcf
2986         font properties (which report the wrong value in current FreeType)
2987
2988         Don't attempt to check for empty glyphs in non-scalable fonts; they
2989         have no outlines...
2990
2991 2004-02-01  Tor Lillqvist  <tml@iki.fi>
2992
2993         * src/fccfg.c (FcConfigCreate): fontconfig, at least as used by
2994         GIMP and/or PangoFT2 on Windows, crashes when trying to save the
2995         cache if config->cache is NULL, which happens if FcConfigHome() is
2996         NULL. Guard against that by using the temp folder in that case.
2997
2998 2004-01-03  Roozbeh Pournader  <roozbeh@sharif.edu>
2999
3000         * fc-lang/az_ir.orth:
3001         * fc-lang/ku_ir.orth:
3002         * fc-lang/ps_af.orth:
3003         * fc-lang/ps_pk.orth:
3004         Added orthographies for Iranian Azerbaijani and Kurdish, and Pashto
3005         (Afghan and Pakistani).
3006         * fc-lang/ur.orth:
3007         Updated Urdu orthography with real data.
3008
3009 2003-12-11  Carl Worth  <cworth@east.isi.edu>
3010
3011         * fc-list/Makefile.am (man_MANS): Move man_MANS into the 'if
3012         USEDOCBOOK' block.
3013
3014         * fc-cache/Makefile.am (man_MANS): Move man_MANS into the 'if
3015         USEDOCBOOK' block.
3016         (all-local): Remove excessive whitespace.
3017
3018         * autogen.sh: Add 'set -e' to abort when any program fails,
3019         (avoids printing of 'now type make' after configure aborts).
3020
3021 2003-11-17   Eric Christopherson  <rakko@charter.net>
3022
3023         reviewed by: Keith Packard  <keithp@keithp.com>
3024
3025         * doc/Makefile.am:
3026         * fontconfig/fcfreetype.h:
3027         * src/fcfreetype.c:
3028         Switch to FreeType 2.1.7 style includes.  Bug #150.
3029
3030 2003-11-16  Noah Levitt  <nlevitt@columbia.edu>
3031
3032         * fc-list/fc-list.sgml: Add some example usages.
3033
3034 2003-11-10  Roozbeh Pournader  <roozbeh@sharif.edu>
3035
3036         * src/fcxml.c:
3037         Fixed a bug "FcStrtod" in handling some cases with two-byte decimal
3038         separators.
3039
3040 2003-10-27  Keith Packard  <keith@keithp.com>
3041
3042         * configure.in:
3043         * fontconfig/fontconfig.h:
3044         Update to version 2.2.92
3045
3046 2003-10-27  Keith Packard  <keithp@keithp.com>
3047
3048         * Makefile.am:
3049         * configure.in:
3050         * doc/Makefile.am:
3051         * fc-cache/Makefile.am:
3052         * fc-glyphname/Makefile.am:
3053         * fc-lang/Makefile.am:
3054         * fc-list/Makefile.am:
3055         * fc-match/Makefile.am:
3056         * test/Makefile.am:
3057         * test/run-test.sh:
3058         Yet more cleanups to finish getting 'make distcheck' working
3059         This has been tested to ensure that it even works from a _build
3060         directory.
3061
3062 2003-10-26  Keith Packard  <keithp@keithp.com>
3063
3064         * configure.in:
3065         * doc/Makefile.am:
3066         * fc-cache/Makefile.am:
3067         * fc-glyphname/Makefile.am:
3068         * fc-lang/Makefile.am:
3069         * fc-lang/fc-lang.c: (scanopen), (scan), (main):
3070         * fc-list/Makefile.am:
3071         * fc-match/Makefile.am:
3072         Attempts to fix 'make distcheck' work.  Things are
3073         progressing pretty well, but there are still failures
3074         long into the process dealing with docs (as always).
3075         
3076         The big changes here are mostly to make $(srcdir) != "."
3077         work correctly, fixing the docbook related sections and
3078         fc-lang were particularily tricky.  Docbook refuses to load
3079         system entities from anywhere other than where the original .sgml
3080         file was located, so no luck looking in "." for the
3081         configure-generated version.sgml and confdir.sgml files.
3082
3083         fc-lang needed help finding .orth files; added a -d option
3084         to set the directory as the least evil of many options.
3085
3086         Now to go use a faster machine and try and wring out the last
3087         issues.
3088
3089 2003-10-26  Keith Packard  <keithp@keithp.com>
3090
3091         Tag version 2.2.91
3092
3093 2003-10-26  Keith Packard  <keithp@keithp.com>
3094
3095         * doc/Makefile.am:
3096         Include confdir.sgml.in in EXTRA_DIST
3097
3098 2003-10-09  Josselin Mouette  <joss@debian.org>
3099
3100         * fc-cache/fc-cache.sgml fc-cache/Makefile.am:
3101         * fc-list/fc-list.sgml fc-list/Makefile.am:
3102           Replace fc-cache and fc-list manpages with more detailed, SGML
3103           versions.
3104
3105 2003-09-23  Owen Taylor <otaylor@redhat.com>
3106
3107         * fontconfig/fontconfig.h  src/fcdefault.c (FcDefaultSubstitute)
3108         src/fcname.c: Add a FC_HINT_STYLE key for patterns, with
3109         possible values HINT_NONE/HINT_SLIGHT/HINT_MEDIUM/HINT_FULL.
3110         (Bug #117)
3111
3112 2003-09-23  Owen Taylor <otaylor@redhat.com>
3113
3114         * fc-lang/ka.orth: Remove Georgian capitals, they
3115         aren't used for normal writing. (Bug #116)
3116
3117 2003-09-06  Noah Levitt  <nlevitt@columbia.edu>
3118
3119         * doc/fontconfig-devel.sgml:
3120         * doc/fontconfig-user.sgml:
3121         * fontconfig/fontconfig.h:
3122         * src/fcname.c:
3123         * src/fcfreetype.c (FcFreeTypeCharSetAndSpacing): Add new spacing
3124         value FC_DUAL (dual-width, as some CJK fonts). (bug #111)
3125
3126         * src/fcfreetype.c (FcFreeTypeCharSetAndSpacing): When checking for
3127         monospace and dual-width fonts, allow roughly a 3% variance in the
3128         advances.
3129
3130 2003-08-31  Manish Singh  <yosh@gimp.org>
3131
3132         * src/fccfg.c (FcConfigAppFontClear): Support passing NULL to
3133         use default config.
3134
3135 2003-08-15  Carl Worth  <cworth@isi.edu>
3136
3137         * src/fcxml.c (FcEditDestroy): Fix leak of FcEdit.
3138         (FcPopExpr): Add comment about unhandled FcVStackGlob case.
3139
3140         * src/fcpat.c (FcValueListEntDestroy): New function to support
3141         FcFini memory cleanup. Some statistics are not kept in
3142         synch. here.
3143         (FcValueListFreeze): Move hashTable outside this function so it
3144         can be accessed by FcValueListThawAll.
3145         (FcValueListThawAll): New function complements FcValueListFreeze.
3146         (FcPatternBaseFreeze): Move hashTable outside this function so it
3147         can be accessed by FcPatternBaseThawAll.
3148         (FcPatternBaseThawAll): New function complements
3149         FcPatternBaseFreeze.
3150         (FcPatternThawAll): New function complements FcPatternFreeze.
3151
3152         * src/fcinit.c (FcFini): Add new FcFini to cleanup everything.
3153
3154         * src/fccharset.c (FcCharLeafEntCreate): Save pointers to all
3155         allocated FcCharLeafEnt "blocks" so they can be freed later.
3156         (FcCharSetFreezeLeaf): Move hashTable outside this function so it
3157         can be accessed by FcCharSetThawAllLeaf.
3158         (FcCharSetThawAllLeaf): New function complements FcCharSetFreezeLeaf.
3159         (FcCharSetFreezeBase): Move hashTable outside this function so it
3160         can be accessed by FcCharSetThawAll.
3161         (FcCharSetThawAll): New function complements FcCharSetFreeze.
3162
3163         * src/fccfg.c (FcSubstDestroy): Fix leak of outer FcSubst.
3164         (FcConfigDestroy): Fic leak of FcBlanks.
3165
3166         * fc-list/fc-list.c (main): Fix leak of FcObjectSet.
3167         (main): Add call to FcFini when finished.
3168
3169         * fc-glyphname/fc-glyphname.c: Mark several local functions as
3170         static. Add prototypes.
3171
3172         * doc/fcinit.fncs: Add documentation for FcFini function.
3173
3174         * doc/edit-sgml.c: Mark several local functions as static. Add
3175         prototypes.
3176
3177         * doc/Makefile.am (DOC_MODULE): Fix "suspicious" lines.
3178
3179 2003-06-15  Tor Lillqvist  <tml@iki.fi>
3180
3181         * test/run-test.sh (FONTCONFIG_FILE): Remove CRs from the out file
3182         before comparing (needed on Windows).
3183
3184         * src/Makefile.am (install-libtool-import-lib): Fix cut&paste error.
3185
3186 2003-06-13  Tor Lillqvist  <tml@iki.fi>
3187
3188         * fontconfig-zip.in (DEVZIP): Add share/doc directory. Add Fc*.3
3189         man pages.
3190
3191         * configure.in: Set FC_DEFAULT_FONTS on Win32 to the
3192         WINDOWSFONTDIR token.
3193
3194         * src/fontconfig.def.in: Move the LIBRARY and VERSION lines to the
3195         end, not to confuse libtool, which expects the EXPORTS line to be
3196         the first. Add FcConfigEnableHome.
3197
3198         * src/fccfg.c: Check also for DLL_EXPORT as indication of being
3199         built as a DLL on Win32.
3200
3201 2003-06-09  Keith Packard <keithp@keithp.com>
3202
3203         * Tag version 2.2.90
3204
3205 2003-06-09  Keith Packard <keithp@keithp.com>
3206
3207         * Optimization in FcLangSetIndex was broken, occasionally
3208           returning a pointer to the wrong location on miss
3209
3210         * Add fc-match to test font matching from the command line.
3211
3212 2003-05-31  Keith Packard <keithp@keithp.com>
3213
3214         * (Bug 85) add support for culmus fonts
3215         * (Bug 87) Automake 1.4 doesn't do man_MAN1 correctly
3216         * (Bug 88) Fix usage info on non-long option systems (Tim Mooney)
3217
3218 2003-05-28  James Su <suzhe@turbolinux.com.cn>
3219
3220         * Fix "contains" op for strings and langsets.
3221
3222 2003-05-17  Keith Packard <keithp@keithp.com>
3223
3224         * Fix build error with BDF prop local.  Free langset after query
3225
3226 2003-05-14  Keith Packard <keithp@keithp.com>
3227
3228         * Extract spacing from XLFD atom
3229
3230 2003-05-12  Juliusz Chroboczek <jch@pps.jussieu.fr>
3231
3232         * Reinstate SETWIDTH_NAME parsing for legacy fonts, 
3233           disappeared in 1.30.
3234
3235         * Generate FC_SIZE and FC_DPI for legacy bitmap fonts
3236
3237 2003-05-12  Keith Packard <keithp@keithp.com>
3238
3239         * Use FcIsWidth to share code
3240
3241         * Set FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH when scanning fonts to avoid
3242           misclassifying some Han fonts as monospaced.
3243           
3244 2003-05-07  Keith Packard <keithp@keithp.com>
3245
3246         * Add filename-based accept/reject to ammend available fonts.
3247
3248         * Change FT_ENCODING_ADOBE_CUSTOM to ft_encoding_adobe_custom for
3249           older FreeType releases.
3250
3251 2003-05-06  Keith Packard <keithp@keithp.com>
3252
3253         * Remove 0b82 and Tamil numbers from tamil 
3254           orthography (Jungshik Shin <jshin@mailaps.org>)
3255
3256 2003-05-04  Keith Packard <keithp@keithp.com>
3257
3258         + Map glyph names in fonts with adobe custom encoding to unicode
3259
3260 2003-05-02  Keith Packard <keithp@keithp.com>
3261
3262         * Add FC_WEIGHT_BOOK as weight 75
3263
3264 2003-04-30  Keith Packard <keithp@keithp.com>
3265
3266         * Typo in bitstream foundry name
3267
3268 2003-04-24  Keith Packard <keithp@keithp.com>
3269
3270         * Eliminate italic_angle check for PS fonts
3271
3272 2003-04-23  Noah Levitt <nlevitt@columbia.edu>
3273
3274         * Getting closer to fixing /etc/fonts hard-coding.
3275
3276 2003-04-22  Keith Packard <keithp@keithp.com>
3277
3278         * Update autogen.sh to work with newer automake versions
3279         * Handle pattern elements moving during multiple edits
3280
3281 2003-04-23  James Henstridge  <james@daa.com.au>
3282
3283         * doc/fontconfig-devel.sgml: close the <para> element.
3284
3285         * doc/fcpattern.fncs: close the <para> element.
3286
3287         * doc/func.sgml: close the <refsynopsisdiv> element.
3288
3289 2003-04-22  Keith Packard <keithp@keithp.com
3290
3291         * Update autogen.sh to work with newer automake versions
3292         * Handle pattern elements moving during multiple edits
3293
3294 2003-04-17  Colin Walters <walters@debian.org>
3295
3296         + Remove some unused variables, and initialize some other ones so
3297         gcc doesn't warn us.
3298
3299 2003-04-16  Keith Packard <keithp@keithp.com>
3300
3301         + tag version 2.1.94
3302
3303 2003-04-16  Keith Packard <keithp@keithp.com>
3304
3305         + add BDF property fetching support for foundry 
3306           (from Juliusz Chroboczek)
3307         + add BDF property fetching support for width
3308
3309 2003-04-11  Juliusz Chroboczek <jch@pps.jussieu.fr>
3310
3311         + Implemented foundry generation for Type 1 and TrueType
3312
3313 2003-04-11  Gerard Escalante <g2@magestudios.net>
3314
3315         + Retrieve information from Type1 FontInfo dictionaries
3316
3317 2003-04-07  Colin Walters <walters@verbum.org>
3318
3319         + src/Makefile.am: Fix dummy makefile target names when
3320         MS_LIB_AVAILABLE isn't set.
3321
3322 2003-03-22  Tor Lillqvist  <tml@iki.fi>
3323
3324         Changes for Windows:
3325           
3326         + On Windows with gcc (a.k.a. mingw) build as a DLL.
3327           
3328         + We don't want to hardcode the fonts.conf file location in the
3329           DLL, so we look up the DLL location at run-time in a DllMain()
3330           function. The fonts.conf location is deduced from that.
3331
3332         + The colon can't be used as path separator on Windows,
3333           semicolon is used instead. File path components can be separated
3334           with either slash or backslash. Absolute paths can also begin
3335           with a drive letter.
3336
3337         + Add internal function FcStrLastSlash that strrchr's the last
3338           slash, or backslash on Windows.
3339         
3340         + There is no link() on Windows. For atomicity checks, mkdir a
3341           lock directory instead.
3342           
3343         + In addition to HOME, also look for USERPROFILE.
3344
3345         + Recognize the special font directory token WINDOWSFONTDIR, to
3346           use the system's font directory.
3347           
3348         + Remove the fontconfig-def.cpp that was obsolete. Add
3349           fontconfig.def(.in), without internal functions.
3350           
3351         + Add a fontconfig-zip(.in) script, used to build a binary
3352           distribution.
3353
3354 Fri Mar  7 07:55:00 EST 2003    Mike A. Harris <mharris@redhat.com>
3355         + RPM specfile cleanups for 2.1.92: Removed man1/* and added man5/*
3356           to main package and man3/* to devel package
3357
3358         + Added missing defattr(-, root, root) to main RPM package
3359  
3360         + Added HTML and text development documentation to -devel subpackage
3361
3362 Wed Mar  5 05:08:00 EST 2003    Mike A. Harris <mharris@redhat.com>
3363         + Added back the configure macro options --disable-docs, otherwise
3364           fontconfig installs docs into /usr/share/doc/fontconfig (with no
3365           version number) unconditionally, causing RPM to fail the build due
3366           to _unpackaged_files_terminate_build.  We pick up the pregenerated
3367           docs with %doc already.
3368
3369 Wed Mar  5 04:26:20 EST 2003    Mike A. Harris <mharris@redhat.com>
3370         + Removed commented out rpm macro define at top of spec file,
3371           replacing it with a simple explanation, since rpm macros are
3372           expanded by rpm even in comments.
3373
3374         + Changed /usr/bin to _bindir in BuildRequires lines
3375
3376         + Cleaned up rpm postinstall script, and made fc-cache use _bindir
3377
3378         + Reorganized file manifest lists
3379
3380 Sun Mar  2 14:16:17 EST 2003    Owen Taylor <otaylor@redhat.com>
3381
3382         + fontconfig.spec.in: Improvements from Red Hat spec file.
3383
3384         + {fc-lang,fc-cache,fc-list}/Makefile.am: Add man pages.
3385
3386         + docs/*.sgml: SGML fixes.
3387
3388 Sat Mar  1 17:28:53 PST 2003    keithp
3389         + Ok, so the ChangeLog is a bit out of date
3390
3391         + Lots of bugs fixed; most are in bugzilla, the
3392           biggest problems were in cache management where
3393           Owen discovered the library would lose badly when
3394           combining fonts-cache and ~/.fonts-cache data
3395
3396         + Converted from autoconf to automake.  This after
3397           getting patches accepted into libtool to allow
3398           the '-version-number' argument which lets
3399           packages set version numbers explicitly rather
3400           than the roundabout libtool way
3401
3402         + Converted documentation to SGML using the docbook
3403           DTD.  Now .txt and .html documents are installed
3404           in /usr/share/doc/fontconfig and there's no
3405           man page.  Perhaps a man version can be written
3406           at some point.
3407
3408 Sat Aug 31 15:21:22 PDT 2002    keithp
3409         + Xrender and Xft had several bugs related to
3410           rendering manually placed or poly-face text
3411
3412         + Added more complete memory tracing in fontconfig
3413           Checked with (patched) mozilla and found no leaks
3414
3415         + Updated Latin orthographies by comparing those from
3416           evertype.com with those from eki.ee.  Tried to make
3417           sensible choices, including chars that occured in both
3418           and leaving some optional chars out that occured only
3419           in one.
3420
3421 Mon Aug 26 16:33:04 PDT 2002    keithp
3422         + Owen discovered that FcLangSetHasLang wasn't actually
3423           checking the language set.
3424
3425 Mon Aug 26 13:37:23 PDT 2002    keithp
3426         + Append a version number to cache filenames
3427
3428 Thu Aug 22 11:36:18 PDT 2002    keithp
3429
3430         + Add "contains" and "not_contains" operators and elements to
3431           font configuration
3432           
3433         + Changed semantics of eq operator for LangSets to check for
3434           FcLangEqual so that any match will do
3435         
3436         + FcFontList was using FcConfigCompareValue (...FcOpEqual) instead
3437           of FcValueEqual to check for identical values when inserting into
3438           the results.  This broke when the above semantic change was made,
3439           now it uses FcValueEqual which is "more correct" in any case.
3440
3441 Thu Aug 22 00:32:29 PDT 2002    keithp
3442
3443         + Reimplement FC_LANG as new datatype.  Lists of strings
3444           was consuming over a megabyte of memory for 401 fonts.
3445
3446         + Freeze patterns loaded from cache files.  This shares
3447           common value lists and common patterns which saves
3448           considerable memory.
3449
3450         + Change the denotation of 'constant' charsets to use special
3451           ref value instead of separate boolean.
3452
3453         + Clean up leak tracing stuff, found several unannoted alloc/free
3454           calls
3455
3456 Tue Aug 20 16:17:37 PDT 2002    keithp
3457
3458         + Fix memory leak when parsing matrices from XML
3459
3460 Mon Aug 19 11:57:27 PDT 2002    keithp
3461
3462         + Fix autoconf files to pass FONTCONFIG_PATH on
3463           compile line so that ${prefix} gets substituted
3464           correctly.
3465
3466         + Use getc_unlocked/putc_unlocked on systems that
3467           provide them to avoid damage done to stdio by posix
3468
3469         + Eliminate FC_PATTERN and FcTypePattern in favor of
3470           an extended api for FcConfigSubstitute which takes
3471           both the font and the pattern.
3472
3473         + Add 'sans serif' alias for 'sans-serif' as some apps
3474           can't handle hyphens in family names
3475
3476         + Eliminate pretense of support for libxml2
3477
3478         + Comment origins of Han orthographies
3479
3480 Tue Jul 30 18:37:09 PDT 2002    keithp
3481
3482         + Add binding property to edit element so that strong
3483           binding values may be inserted by the config file.
3484           The default remains weak.
3485
3486 Sun 28 Jul 04:16:55 PDT 2002    keithp
3487
3488         + Tagged release candidate 1 in the CVS tree and
3489           placed fcpackage.rc1.tar.gz for distribution
3490
3491 Thu Aug  1 08:55:08 PDT 2002    keithp
3492
3493         + Fixed autoconf builds to always specify install
3494           target files (for BSD).  Also fixed to
3495           define FONTCONFIG_PATH in config.h so that
3496           nonstandard installs will actually work.