Short: Disk cache of available fonts, faster reqs Author: thor@einstein.math.tu-berlin.de Uploader: thor einstein math tu-berlin de Type: text/font Version: 1.9 Requires: diskfont.library 39.3 or 44.2 Architecture: m68k-amigaos This is a patch to the 39.3 (3.1) or 44.2 (3.5) version of the diskfont.library. It adds a disk caching mechanism to the library which keeps the list of available fonts. If you have a huge number of fonts (I have approx. 300!), the creation of the (first, usually uncached) font requester gets much faster: Reading the cache takes usually not more than two seconds, parsing the directory tree however used to take half a minute on my system. Starting with the 1.8 release, the cache is kept sorted on request. This will speed up the "reqtools" font requester even more because its naive sorting algorithm is more or less bypassed by presenting it a "pre-sorted" font list. More on this in the guide. I expected that the folks at H&P would be clever enough to include this as part of Os 3.5, but they didn't. Needless to say that I'm disappointed. ----------------------------------------------------------------------------- New in 1.9 - Included the patch again for the V44 diskfont.library. Except that, nothing changed. _____________________________________________________________________________ New in 1.8 - Added the option to keep the cache file sorted to speed up the reqtools requester even if the font list is already in the internal cache of reqtools. This more or less bypasses the naive "insertion sort" algorithm by reqtools and replaces it by a smarter "quicksort". _____________________________________________________________________________ New in 1.7 - Added a workaround against a bug in Scala: It does not check the return code of AvailFonts and expects a proper font list even though the function returned an error condition. The FontCache patch will now try to fill in as most fonts as possible before failing. _____________________________________________________________________________ New in 1.6.1: - Included a new release of the FixFonts program, release 40.2. This is a complete rewrite of the original workbench program and does also rewrite the caches when fixing the fonts. _____________________________________________________________________________ New in 1.6: - Fixed an AMOS compatibility problem; strange, I fixed that one some time ago, but I made the same mistake again... _____________________________________________________________________________ New in 1.5.1: - Not a new release of the cache program, but of the guide. I really forgot to add a "Credits" section. Ooops! Sorry, folks! _____________________________________________________________________________ New in 1.5: - The 1.4 version had a bug that prevented writing the cache for programs requesting TTextAttrs instead of TextAttrs, i.e. cache types 10002. Added semaphore protection. Added a check for a file ".nocache" in "_bullet" to avoid caching a directory. _____________________________________________________________________________ New in 1.4: - Fixed another problem with multiassigns. It was not correctly checked whether the cache is really up to date for all directories in a possible multiassign. - Due to code rearrangement, lesser calls to AvailFonts() will suffer now. This might help to fix some strange AMOS font functions. Check the guide for details! Thans to Nils Görs for the hint. _____________________________________________________________________________ New in 1.3: - Fixed a long standing problem with assign-added font directories which are now respected by the cache. Thanks to Dirk Neubauer for the hints. - Fixed a bug in the 1.2 code that wrote invalid caches from time to time. _____________________________________________________________________________ New in 1.2: - Fixed a conflict with BetterOpenLibs. The FontCache is now much more system conformal, ROM fonts or scaled fonts do not longer enter the cache list. - The font cache is again a bit smaller, and fewer cache files are needed. So long, Thomas October 1999