TUGboat 45:2 (2024)
The Communications of the TeX Users Group

Title: A large-scale format compliance checker for TeX Font Metrics

Summary: a TFM reader, the Common Lisp condition system for exceptions, and validating TeX Live fonts.
Errata: section and program references to TFtoPL and PLtoTF have been corrected from the printed version.

Full text of article: publicly available now.

Author: Didier Verna

Publication: TUGboat volume 45, number 2 (2024), pages 221–226

DOI (this page): 10.47397/tb/45-2/tb140verna-tfm
(previous doi - next doi)

Category: Software & Tools

Difficulty: Intermediate Plus

Abstract: We present tfm-validate, a TeX Font Metrics format checker. The library’s core functionality is to inspect TFM files and report any discovered compliance issue. It can be run on individual files or complete directory trees. tfm-validate also provides a convenience function to (in)validate a local TeX Live installation. When run this way, the library processes every TFM file in the distribution and generates a website aggregating all the discovered non-compliance issues. One public instance of tfm-validate is now automatically triggered on a daily basis. The corresponding website is available at texlive.info/tfm-validate/.

References:

  1. ANSI. American National Standard: Programming Language—Common Lisp. ANSI X3.226:1994 (R1999), 1994.
  2. R. Burstall. Christopher Strachey—Understanding programming languages. Higher Order Symbolic Computation, 13(1–2):51–55, 2000.
  3. D. Fuchs. TeX font metric files. TUGboat, 2(1):12–16, Feb. 1981. tug.org/TUGboat/tb02-1/tb02fuchstfm.pdf
  4. M. Herda. The Common Lisp Condition System. Apress, 2020. doi.org/10.1007/978-1-4842-6134-7
  5. S.E. Keene. Object-Oriented Programming in Common Lisp: a Programmer’s Guide to Common Lispos. Addison-Wesley, 1989.
  6. P. Seibel. Practical Common Lisp. Apress, Berkeley, CA, USA, 2005. Online version at gigamonkeys.com/book/
  7. J. Stoy, C. Strachey. OS6—An experimental operating system for a small computer. Part 2: Input/output and filing system. The Computer Journal, 15(3):195–203, 1972.
  8. D. Verna. ETAP: Experimental typesetting algorithms platform. In 15th European Lisp Symposium, pp. 48–52, Porto, Portugal, Mar. 2022. doi.org/10.5281/zenodo.6334248
  9. D. Verna. Interactive and real-time typesetting for demonstration and experimentation: ETAP. TUGboat 44(2):242–248, 2023. doi.org/10.47397/tb/44-2/tb137verna-realtime

TUGboat 45:2, 2024 (issue 140)   [generated 2024-11-15]
TUG home page; join TUG/renew membership; webmaster; facebook; x; mastodon.