TTF2f Changelog =============== 0.07 (27-May-2022) ~~~~~~~~~~~~~~~~~~ Fix Encoding file entries for astral characters. Early versions of the UCS Font Manager (3.41-3.42) supported the use of /uni followed by up to 8 upper-case hex digits to specify the Unicode codepoint represented by a glyph. Font Manager 3.43 changed this behaviour to align with Adobe's then-current specification of /uniXXXX for characters in the Basic Multilingual Plane and /uniXXXXYYYY for all other characters (where XXXX is a high UTF-16 surrogate and YYYY is a low surrogate) Font Manager 3.53 changed again to remove support for /uniXXXXYYYY and, instead, introduced support for /uXXXX to /uXXXXXXXX, where leading zeroes are forbidden if more than 4 hex digits are present. Change our behaviour to use the /uniXXXX form for characters in the Basic Multilingual Plane (which is supported by all versions of the UCS Font Manager) and use the /uXXXXX - /uXXXXXXXX form for all other characters. This effectively means that Font Manager 3.53 or later is required when astral characters are in use. All fonts containing astral characters converted using earlier versions of TTF2f will need to be re-converted with this (or later) version to allow the Font Manager to make use of glyphs defined for astral characters. 0.06 (04-Aug-2021) ~~~~~~~~~~~~~~~~~~ Fix broken glyph naming for fonts with codepoints outside the Basic Multilingual Plane. This issue would manifest itself if the bottom 16 bits of a codepoint in an astral plane happened to match a codepoint in the Glyph mapping. In this case the glyph would be erroneously identified as representing the corresponding BMP codepoint, resulting in a bogus Encoding file for the font and incorrect glyph display when using legacy alphabets. As a concrete example, a glyph representing codepoint U+20021 (being a CJK Unified Ideograph in the Supplementary Ideographic Plane) would be erroneously identified as U+0021 (EXCLAMATION MARK) and would have an Encoding file entry of "/exclam", instead of "/uni20021". This would then cause this glyph to be displayed whenever an exclamation mark was used in a Latin1 alphabet. 0.05 (04-Aug-2021) ~~~~~~~~~~~~~~~~~~ Rebuild against LDREX/STREX-aware UnixLib. Improve RISC OS-specific Makefile targets. Use ccres to compile resource file. Update copyright dates and third-party licensing information. Link against FreeType 2.11.0, OSLib 7.00, and Zlib 1.2.11. 0.04 (05-Mar-2011) ~~~~~~~~~~~~~~~~~~ Output the first 256 glyphs in Acorn Latin1 order so converted fonts are useful in applications that don't ask for a specific font encoding. Fix handling of fonts that map multiple codepoints to a single glyph. Ensure that any MessagesNN files are updated with details of converted fonts. Many bug fixes and general improvements. 0.03 (15-Aug-2005) ~~~~~~~~~~~~~~~~~~ No longer create language fonts, as the font manager appears capable of handling encoding files with /uniXXXX for symbol fonts. Quite why this behaviour didn't appear to work when originally tested, I've no idea. This change avoids any necessity to move Encodings files around. 0.02 (10-Sep-2004) ~~~~~~~~~~~~~~~~~~ Remove buggy metrics code which caused fonts with <= 256 different horiAdvance values to have broken glyph spacings. All fonts now use the extended table format where the glyph number is the table index. (Thanks to Paul Sprangers for reporting this) Fix for fonts which don't embed glyph names (or use incorrect ones). The glyph names are now retrieved from the Glyphs file. The format of the Glyphs file is as per the Adobe Glyph List comment. TTF2f uses only columns 1 and 2. Improve multitasking when extracting glyph metrics. 0.01 (07-Sep-2004) ~~~~~~~~~~~~~~~~~~ Initial release