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