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