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