diff options
authorMichael Drake <>2022-05-28 14:21:38 +0100
committerMichael Drake <>2022-05-28 14:21:38 +0100
commit8431cd726f7f4c8664abebedb283dcdde5f443c1 (patch)
parent5f5c021abe49aef913181412eeac65c997134f64 (diff)
ttf2f: Update for 0.07 release.HEADmaster
1 files changed, 96 insertions, 0 deletions
diff --git a/projects/ttf2f/index.html b/projects/ttf2f/index.html
index 6332e09..270ca61 100644
--- a/projects/ttf2f/index.html
+++ b/projects/ttf2f/index.html
@@ -50,12 +50,108 @@
<p>Please download TTF2f:</p>
+<li><a href="">TTF2f 0.07</a> (Full RISC OS GUI version)</li>
<li><a href="">TTF2f 0.06</a> (Full RISC OS GUI version)</li>
<li><a href="">TTF2f 0.05</a> (Full RISC OS GUI version)</li>
<li><a href="">TTF2f 0.04</a> (Full RISC OS GUI version)</li>
<li><a href="">TTF2f 0.03</a> (Full RISC OS GUI version)</li>
+<h3>0.07 (27-May-2022)</h3>
+<li>Fix Encoding file entries for astral characters.</li>
+<p>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.</p>
+<p>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)</p>
+<p>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.</p>
+<p>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.</p>
+<p>This effectively means that Font Manager 3.53 or later is required
+when astral characters are in use.</p>
+<p>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.</p>
+<h3>0.06 (04-Aug-2021)</h3>
+<p>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.</p>
+<p>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.</p>
+<h3>0.05 (04-Aug-2021)</h3>
+<li>Rebuild against LDREX/STREX-aware UnixLib.</li>
+<li>Improve RISC OS-specific Makefile targets.</li>
+<li>Use ccres to compile resource file.</li>
+<li>Update copyright dates and third-party licensing information.</li>
+<li>Link against FreeType 2.11.0, OSLib 7.00, and Zlib 1.2.11.</li>
+<h3>0.04 (05-Mar-2011)</h3>
+<li>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.</li>
+<li>Fix handling of fonts that map multiple codepoints to a single glyph.</li>
+<li>Ensure that any MessagesNN files are updated with details of converted fonts.</li>
+<li>Many bug fixes and general improvements.</li>
+<h3>0.03 (15-Aug-2005)</h3>
+<p>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.</o>
+<h3>0.02 (10-Sep-2004)</h3>
+<p>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.</p>
+<p>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.</p>
+<p>Improve multitasking when extracting glyph metrics.</p>
+<h3>0.01 (07-Sep-2004)</h3>
+<p>Initial release.</p>
<h2>Source code</h2>
<p>You can <a href="//">browse the source code</a> via the online interface. Alternatively, you can check it out with Git:</p>