Blog Project Updates and Random Thoughts

TTF v1.1.0 December 31, 2025

This is a feature release of TTF, a simple C library for using TrueType and OpenType font files. Changes include:

  • Added configure script for better build system compatibility.
  • Added ttfCache functions to access user- and system-installed fonts (Issue #5)
  • Added ttfCreateData function to create a font from a memory buffer.
  • Added ttfContainsChar and ttfContainsChars functions to determine whether a font contains the necessary characters (Issue #2)
  • Added ttfGetKernedExtents function to get kerned extents (Issue #6)
  • Added guards against fonts claiming they have 0 characters.
  • Added stddef.h include to ttf.h.
  • Added support for more kinds of TrueType/OpenType fonts.
  • Fixed range checking in ttfGetExtents (Issue #9)
  • Fixed potential heap/integer overflow issues in the TrueType cmap code.
  • Fixed underflow in TrueType cmap code.

Enjoy!

Download TTF v1.1.0 Home Page Github Project

Comments
 

HTMLDOC 1.9.22 December 28, 2025

HTMLDOC 1.9.22 is a bug fix release. Changes include:

  • Added a “–without-http” configure option to build without CUPS HTTP/HTTPS support (Issue #547)
  • Updated HTTP/HTTPS support to work with both CUPS 2.x and 3.x.
  • Updated the maximum image dimension to prevent integer overflow on 32-bit platforms (Issue #550)
  • Updated the HTML parser to correctly report the line number of errors in files with more than 2^32-1 lines (Issue #551)
  • Fixed a crash bug with certain markdown files (Issue #548)
  • Fixed an unrestricted recursion bug when reading and formatting HTML (Issue #552)

Binaries are available from Github for Windows 10+ and macOS 11+, and through the Snapcraft store for Linux.

Enjoy!

Download HTMLDOC 1.9.22 Install HTMLDOC 1.9.22 Snap Home Page

Comments
 

PDFio 1.6.1 December 26, 2025

PDFio 1.6.1 is a bug fix release. Changes include:

  • Added missing input checking to pdfioFileCreateFontObjFromBase function.
  • Updated support for UTF-16 strings (Issue #141)
  • Updated Xcode project to use installed PNG library.
  • Fixed decryption of PDF files using an Encrypt dictionary instead of an indirect reference (Issue #139)
  • Fixed character range checking in a TTF support function.
  • Fixed some clang warnings.
  • Fixed the generated pkg-config file.

Enjoy!

Download PDFio v1.6.1 Home Page

Comments
 

PAPPL v1.4.10 December 26, 2025

PAPPL v1.4.10 is now available for download and is a bug fix release. Changes include:

  • Changed the preferred/first printer URI to use the “ipps” scheme.
  • Updated the USB serial number code to better support non-compliant printers such as those from DYMO (Issue #396)
  • Now show the default and supported “output-bin” options (Issue #393)
  • Now suppress a duplicate ‘auto’ value for “media-source-supported” to work around a bug in the legacy-printer-app (Issue #394)
  • Now log the TLS version and cipher suite, when available.
  • Now create spool files with read-only permissions.
  • Now support setting “media-ready” with the modify sub-command (Issue #395)
  • Fixed attribute copying issue from multiple client threads (Issue #390)
  • Fixed driver validation for raw printing (Issue #391)
  • Fixed PNG looping issue (Issue #398)
  • Fixed default IPv6 listener (Issue #401)
  • Fixed builds against the latest libcups (Issue #403)
  • Fixed a deadlock issue in the web interface (Issue #406)

Enjoy!

Download PAPPL v1.4.10 Home Page

Comments
 

StringsUtil v1.2 December 19, 2025

StringsUtil v1.2 is now available and is a bug fix release. Changes include:

  • Added -v option to stringsutil report sub-command to show unlocalized strings.
  • Added Windows API support to the sfSetLocale function.
  • Updated the output from stringsutil translate to better show progress.
  • Updated code to work with latest CUPS 2.5/3.0.
  • Fixed a crash bug in stringsutil report when checking format strings.

Enjoy!

Download StringsUtil v1.2 Home Page Github Project

Comments
 

PDFio 1.6.0 October 06, 2025

PDFio 1.6.0 is a feature release. Changes include:

  • Added generation of XMP metadata when writing PDFs (Issue #103)
  • Added “standard” PDFIO_CS_CGATS001 color space for non-device CMYK (Issue #104)
  • Added CMYK JPEG support with embedded ICC profiles or using the CGATS001 profile (Issue #104)
  • Added pdfioFileAddOutputIntent function to adding output intent information to a PDF file (Issue #104)
  • Added explicit support for warning messages (Issue #118)
  • Added pdfioFileCreateFontObjFromData function for embedding fonts in memory (Issue #120)
  • Added support for specifying PDF/A versions for created PDF files (Issue #122)
  • Added pdfioContentBeginMarked and pdfioContentEndMarked functions for creating tagged PDF content (Issue #123)
  • Added pdfioFileGetLanguage and pdfioFileSetLanguage functions for getting and setting the default/primary language of a PDF file (Issue #124)
  • Now add default grayscale, RGB, and CMYK profile resources to pages as needed (Issue #104)
  • Fixed unsupported filter error (Issue #130)
  • Fixed EOF comment written to the PDF (Issue #136)
  • Fixed TTF cmap underflow error.
  • Fixed some Clang warnings.

Enjoy!

Download PDFio v1.6.0 Home Page

Comments
 

iOS/iPadOS/macOS/watchOS 26 Review September 17, 2025

Now that the latest Apple OS’s are out of beta I am getting my devices updated. I’ve seen the various “in depth” reviews, but here are my first impressions.

TL;DR: meh.

More + Comments
 

RasterView 1.9.1 September 14, 2025

RasterView 1.9.1 is a bug fix release. Changes include:

  • Fixed 16-bit and monochrome viewing support for many color spaces (Issue #23)

Enjoy!

Download RasterView 1.9.1 Install RasterView 1.9.1 Snap Home Page

Comments
 

HTMLDOC 1.9.21 September 12, 2025

HTMLDOC 1.9.21 is a bug fix release. Changes include:

  • Updated HTTP/HTTPS connection error reporting to include the reason.
  • Updated markdown parser.
  • Updated the HTTP/HTTPS connection timeout to 5 minutes (Issue #541)
  • Fixed a bug in the new PDF link code (Issue #536)
  • Fixed a bug in the number-up code (Issue #539)
  • Fixed a regression in leading whitespace handling (Issue #540)
  • Fixed a bug in numbered heading support (Issue #543)
  • Fixed a bug with setting the header on the first page (Issue #544)
  • Fixed paths in the HTMLDOC snap (Issue #545)

Binaries are available from Github for Windows 10+ and macOS 11+, and through the Snapcraft store for Linux.

Enjoy!

Download HTMLDOC 1.9.21 Install HTMLDOC 1.9.21 Snap Home Page

Comments
 

PDFio 1.5.4 August 26, 2025

PDFio 1.5.4 is a bug fix release. Changes include:

  • Updated indirect reference reading code to limit the range of generation numbers.
  • Updated error messages for too large tokens (Issue #131)
  • Fixed a JPEG copy bug (Issue #132)

Enjoy!

Download PDFio v1.5.4 Home Page

Comments
 

PDFio 1.5.3 May 03, 2025

PDFio 1.5.3 is a bug fix release. Changes include:

  • Fixed decryption of PDF files “protected” by 40-bit RC4 (Issue #42)
  • Fixed decryption of UTF-16 strings (Issue #42)
  • Fixed decryption of PDF files with large permission values.
  • Fixed support for EncryptMetadata key in the encryption dictionary.
  • Fixed pdfioObjCopy and pdfioPageCopy to properly identify the source PDF file being used (Issue #125)

Enjoy!

Download PDFio v1.5.3 Home Page

Comments
 

PDFio 1.5.2 April 12, 2025

PDFio 1.5.2 is a bug fix release. Changes include:

  • Updated maximum allowed PDF string size to 64k (Issue #117)
  • Updated dictionary reading code to discard duplicate key/value pairs with a warning message (Issue #118)
  • Fixed form detection in pdfioinfo example code (Issue #114)
  • Fixed parsing of certain date/time values (Issue #115)
  • Fixed support for empty name values (Issue #116)
  • Fixed range checking in pdfioImageGetBytesPerLine (Issue #121)

Enjoy!

Download PDFio v1.5.2 Home Page

Comments
 

PDFio 1.5.1 March 28, 2025

PDFio 1.5.1 is a bug fix release. Changes include:

  • Fixed output of special characters in name values (Issue #106)
  • Fixed output of special characters in string values (Issue #107)
  • Fixed output of large integers in dictionaries (Issue #108)
  • Fixed handling of 0-length streams (Issue #111)
  • Fixed detection of UTF-16 Big-Endian strings (Issue #112)

Enjoy!

Download PDFio v1.5.1 Home Page

Comments
 

PAPPL v1.4.9 March 20, 2025

PAPPL v1.4.9 is now available for download and is a bug fix release. Changes include:

  • Fixed a bug in job event notifications.
  • Fixed a bug that would delay shutdown by 60 seconds.
  • Fixed some notification bugs.
  • Fixed validation error checking bug in papplPrinterCreate (Issue #385)
  • Fixed page number that is passed to the raster endpage function.
  • Disabled raw socket support on Windows.

Enjoy!

Download PAPPL v1.4.9 Home Page

Comments
 

PDFio 1.5.0 March 06, 2025

PDFio 1.5.0 is a feature and bug fix release. Changes include:

  • Added support for embedded color profiles in JPEG images (Issue #7)
  • Added pdfioFileCreateICCObjFromData API.
  • Added support for writing cross-reference streams for PDF 1.5 and newer files (Issue #10)
  • Added pdfioFileGetModDate() API (Issue #88)
  • Added support for using libpng to embed PNG images in PDF output (Issue #90)
  • Added support for writing the PCLm subset of PDF (Issue #99)
  • Now support opening damaged PDF files (Issue #45)
  • Updated documentation (Issue #95)
  • Updated the pdf2txt example to support font encodings.
  • Fixed potential heap/integer overflow issues in the TrueType cmap code.
  • Fixed an output issue for extremely small double values with the pdfioContent APIs.
  • Fixed a missing Widths array issue for embedded TrueType fonts.
  • Fixed some Unicode font embedding issues.

Enjoy!

Download PDFio v1.5.0 Home Page

Comments
 

PDFio 1.4.1 January 24, 2025

PDFio 1.4.1 is a bug fix release. Changes include:

  • Added license files for the example fonts now bundled with PDFio (Issue #91)
  • Fixed the link libraries for the example source code (Issue #86)
  • Fixed handling of the Info object (Issue #87)
  • Fixed opening of PDF files less than 1024 bytes in length (Issue #87)
  • Fixed potential NULL dereference when reading (Issue #89)
  • Fixed reading of compressed object streams (Issue #92)
  • Fixed reading of UTF-16 string values (Issue #92)

Enjoy!

Download PDFio v1.4.1 Home Page

Comments
 

Mini-XML 4.0.4 January 19, 2025

Mini-XML v4.0.4 is a bug fix release. Changes include:

  • Added Linux-specific build files and dropped unused long long config tests (Issue #335)
  • Documentation fixes (Issue #334, Issue #337)
  • Fixed an issue when reporting errors with a NULL options pointer (Issue #329)
  • Fixed some compiler warnings (Issue #333)
  • Fixed installation on MingW (Issue #336)

Enjoy!

Download Mini-XML 4.0.4 Home Page

Comments
 

A Simple Raspberry Pi Zero Case January 09, 2025

I spent part of the holiday break designing myself a simple but flexible 3D-printable case for the Raspberry Pi Zero SBCs. The design is available for free on Thingiverse.

More + Comments