Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

case issue with git and glyph layers #247

Open
devosb opened this issue Sep 23, 2022 · 2 comments
Open

case issue with git and glyph layers #247

devosb opened this issue Sep 23, 2022 · 2 comments

Comments

@devosb
Copy link

devosb commented Sep 23, 2022

For several years I have imported a subset of Latin glyphs from Source Sans (using the UFOs in the Instances folders) for use in other non-roman fonts. This year the import failed, my import script uses fonttools and fonttools threw an exception

  File "/home/bobby/.local/lib/python3.10/site-packages/fontTools/ufoLib/glifLib.py", line 204, in __init__
    raise GlifLibError(f"{CONTENTS_FILENAME} is missing.")

This code was added in 2020 to fix an issue, which explains why I was able to import glyphs in 2019.

On my system (Ubuntu 22.04) I see 3 folders in the font.ufo folders that contain 3 folders:

  • glyphs
  • glyphs.com.adobe.type.processedGlyphs
  • glyphs.com.adobe.type.processedglyphs

Note that the last two folder names differ only by case. The last two folders each has a .plist file, and many .glif files. No filename is in both folders. Indeed, one of the folders did not have at contents.plist (which is what CONTENTS_FILENAME refers to).

The string glyphs.com.adobe.type.processedglyphs (all lowercase) is in the UFO metadata, glyphs.com.adobe.type.processedGlyphs (one uppercase G) is in .gitignore. By moving all the files from glyphs.com.adobe.type.processedGlyphs to glyphs.com.adobe.type.processedglyphs and removing the now empty folder, the import ran without any issue. My work in 2019 was not affected by this issue, since I was taking the glyphs from the default layer.

I suspect that at some point files were added to git with the different case in the folder name. On Windows and I think macOS, those systems are generally case preserving but case insensitive, so only two folders (glyphs and glyphs.com.adobe.type.processedglyphs) would have been created by git, and this whole issue would not occur. But Ubuntu Linux generally has case sensitive filesystems, so the issue occurs.

@pauldhunt
Copy link
Contributor

@devosb Is there an actual issue here that you would like to see resolved? Or is this just informative?

@frankrolf
Copy link
Member

I think I worked around this issue in Source Serif by making the .gitignore file slightly more complex:
https://github.com/adobe-fonts/source-serif/blob/main/.gitignore#L9-L16

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants