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