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