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