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