Take an OTF with CFF 1.0 and a non-standard UPEM (i.e. not 1000), and convert it to CFF2 using cffsubr (which uses tx
).
You will see a warning upon compiling the OTF from fontTools.cffLib::L2409, saying that:
Some CFF FDArray/FontDict keys were ignored upon compile: FontMatrix
The CFF2 table that is generated by tx seem to contain an extra FontMatrix
operator in the FDArray[0].FontDict
which fonttools doesn't expect it to be there and removes it while issuing the warning. This is weird since FontMatrix
is a TopDict operator, so it should not be there.
I suspect this could be a bug in tx
code or some support library elsewhere in afdko which is responsible for the CFF1 to 2 conversion.
Note the warning only happens when FontMatrix is different form the default [0.001 0 0 0.001 0 0]
, which for CFF is quite rare given most fonts are drawn at 1000 UPEM.
To reproduce, take a UFO, change its unitsPerEm
in fontinfo.plist to something different from 1000, compile the font to OTF with CFF 1.0 e.g. with fontmake or ufo2ft. Then pass it through python -m cffsubr --cff-version 2
to convert it to CFF, and you should see the above mentioned warning appear.
To be honest, I actually am not sure what FontMatrix
is used for when CFF/CFF2 are embedded in an OpenType font..
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4