[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
master d6c473a91da: * etc/PROBLEMS: Document a problem with the Anonymou
From: |
Po Lu |
Subject: |
master d6c473a91da: * etc/PROBLEMS: Document a problem with the Anonymous Pro font. |
Date: |
Wed, 16 Aug 2023 10:06:26 -0400 (EDT) |
branch: master
commit d6c473a91da3ce8decae03ed32b91affbb040890
Author: Po Lu <luangruo@yahoo.com>
Commit: Po Lu <luangruo@yahoo.com>
* etc/PROBLEMS: Document a problem with the Anonymous Pro font.
---
etc/PROBLEMS | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 50 insertions(+)
diff --git a/etc/PROBLEMS b/etc/PROBLEMS
index e4bbfc8d286..6a4c8cdb34c 100644
--- a/etc/PROBLEMS
+++ b/etc/PROBLEMS
@@ -3398,6 +3398,56 @@ you are not seeing problems with character display, as
the
automatically generated instructions result in superior display
results that are easier to read.
+** The "Anonymous Pro" font displays incorrectly.
+
+Glyphs instruction code within the Anonymous Pro font relies on
+undocumented features of the Microsoft TrueType font scaler, namely
+that the scaler always resets the "projection" and "freedom" vector
+interpreter control registers after the execution of the font
+pre-program, which sets them to a value that is perpendicular to the
+horizontal plane of movement.
+
+Since Emacs does not provide this "feature", various points within
+glyphs are moved vertically rather than horizontally when a glyph
+program later executes an "MIRP" (Move Indirect Relative Point)
+instruction.
+
+This can be remedied in two ways; the first (and the easiest) is to
+replace its instruction code with that supplied by "ttfautohint", as
+depicted above. The second is to patch the instruction code within
+the font itself, using the "ttx" utility:
+
+ https://fonttools.readthedocs.io/en/latest/ttx.html
+
+First, convert the font to its XML representation:
+
+ $ ttx Anonymous_Pro.ttf
+
+then, find the end of the section labeled 'prep':
+
+ <prep>
+ <assembly>
+ [...]
+ ROUND[01] /* Round */
+ RTG[ ] /* RoundToGrid */
+ WCVTP[ ] /* WriteCVTInPixels */
+ </assembly>
+ </prep>
+
+and insert the following instruction immediately before the closing
+'/assembly' tag:
+
+ SVTCA[1]
+
+(which stands for "Set Vector registers to Control Axis X")
+
+Then, reassemble the font from the modified XML:
+
+ $ ttx Anonymous_Pro.ttx
+
+which should produce a modified font by the name of
+Anonymous_Pro#1.ttf.
+
* Build-time problems
** Configuration
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- master d6c473a91da: * etc/PROBLEMS: Document a problem with the Anonymous Pro font.,
Po Lu <=