According to the UFO3 spec, the "layerinfo.plist" data is a dictionary containing a "color" definition and a "lib" sub-dictionary.
The ufonormalizer was confusing the top-level dictionary with the inner lib dictionary, and was overwriting the former with the content of the latter!
Instead, the "modTimes" and "imageReferences" keys must be read/written from/in the inner "lib" dict of layerinfo.plist file.
Later on, we shall also write tests for this, as well as for the whole normalizeGlyphsDirectory function.
Coverage decreased (-0.04%) to 94.948% when pulling a0b9d92721498b039c30c6764981366ddb7b7f08 on daltonmaag:imagerefs-lib into b2c3eb4e54d70b824de371de2213667f92fc52d7 on unified-font-object:master.
… and not in the top-level dict.
According to the UFO3 spec, the "layerinfo.plist" data is a dictionary containing a "color" definition and a "lib" sub-dictionary. The ufonormalizer was confusing the top-level dictionary with the inner lib dictionary, and was overwriting the former with the content of the latter! Instead, the "modTimes" and "imageReferences" keys must be read/written from/in the inner "lib" dict of layerinfo.plist file.
Later on, we shall also write tests for this, as well as for the whole
normalizeGlyphsDirectory
function.