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

Adjust Anchors broken in RoboFont 4.1 (build 2111241049) #15

Open
pauldhunt opened this issue Apr 13, 2022 · 4 comments
Open

Adjust Anchors broken in RoboFont 4.1 (build 2111241049) #15

pauldhunt opened this issue Apr 13, 2022 · 4 comments

Comments

@pauldhunt
Copy link

It seems that the code has not been updated in several years. The python output window in Robofont returns several strange errors that seem not to make sense.

@iterumllc
Copy link

I've downloaded Robofont (30 day trial) and this repository and poked around a bit. Waiting on data to reproduce the problem.

@pauldhunt
Copy link
Author

pauldhunt commented Apr 19, 2022

For a test case to see what is going on, please download the latest version of Source Sans (3). Opening the font and launching the plugin returns the following lines in the python window:

Observer '<__main__.AdjustAnchors object at 0x18d9199d0>' with '_currentGlyphChanged' failed: 'NoneType' object has no attribute 'startswith' Traceback (most recent call last): File "lib/eventTools/eventManager.pyc", line 165, in callObserver_withMethod_forEvent_withInfo_ File "AdjustAnchors.py", line 373, in _currentGlyphChanged File "AdjustAnchors.py", line 581, in updateExtensionWindow File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/mojo/UI.py", line 1029, in set File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 569, in setGlyphRecords_ File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 592, in setKerningInGlyphRecords_ File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/defcon/objects/kerning.py", line 103, in find File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontTools/ufoLib/kerning.py", line 63, in lookupKerningValue AttributeError: 'NoneType' object has no attribute 'startswith' Observer '<__main__.AdjustAnchors object at 0x18d9199d0>' with '_currentGlyphChanged' failed: 'NoneType' object has no attribute 'startswith' Traceback (most recent call last): File "lib/eventTools/eventManager.pyc", line 165, in callObserver_withMethod_forEvent_withInfo_ File "AdjustAnchors.py", line 373, in _currentGlyphChanged File "AdjustAnchors.py", line 581, in updateExtensionWindow File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/mojo/UI.py", line 1029, in set File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 569, in setGlyphRecords_ File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 592, in setKerningInGlyphRecords_ File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/defcon/objects/kerning.py", line 103, in find File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontTools/ufoLib/kerning.py", line 63, in lookupKerningValue AttributeError: 'NoneType' object has no attribute 'startswith' Observer '<__main__.AdjustAnchors object at 0x18d9199d0>' with '_currentGlyphChanged' failed: 'NoneType' object has no attribute 'startswith' Traceback (most recent call last): File "lib/eventTools/eventManager.pyc", line 165, in callObserver_withMethod_forEvent_withInfo_ File "AdjustAnchors.py", line 373, in _currentGlyphChanged File "AdjustAnchors.py", line 581, in updateExtensionWindow File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/mojo/UI.py", line 1029, in set File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 569, in setGlyphRecords_ File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 592, in setKerningInGlyphRecords_ File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/defcon/objects/kerning.py", line 103, in find File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontTools/ufoLib/kerning.py", line 63, in lookupKerningValue AttributeError: 'NoneType' object has no attribute 'startswith' Observer '<__main__.AdjustAnchors object at 0x18d9199d0>' with '_currentGlyphChanged' failed: 'NoneType' object has no attribute 'startswith' Traceback (most recent call last): File "lib/eventTools/eventManager.pyc", line 165, in callObserver_withMethod_forEvent_withInfo_ File "AdjustAnchors.py", line 373, in _currentGlyphChanged File "AdjustAnchors.py", line 581, in updateExtensionWindow File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/mojo/UI.py", line 1029, in set File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 569, in setGlyphRecords_ File "lib/UI/spaceCenter/multiLineScrollScrollView.pyc", line 592, in setKerningInGlyphRecords_ File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/defcon/objects/kerning.py", line 103, in find File "/Applications/RoboFont.app/Contents/Resources/lib/python3.7/fontTools/ufoLib/kerning.py", line 63, in lookupKerningValue AttributeError: 'NoneType' object has no attribute 'startswith'

The plugin window launches, but there is no preview. Diacritic names selected in the plugin window, will preview in the glyph window. Although this is a kind of workaround, it becomes very inefficient to not be able to have the expected preview in the plugin window.

@iterumllc
Copy link

I'm not reproducing this problem with the normal, non-beta version of RoboFont and I haven't yet managed to get in the group to download the beta (I got an invitation but it's not working).

The traceback implies that when this is resolved it will be in the beta itself, not the plugin code, as it appears that RoboFont code is passing None down to libraries like defcon and fontTools in place of a proper object. If that's the case, however, it shouldn't be too difficult to trace the problem down in RoboFont code and submit a bug report.

@iterumllc
Copy link

@pauldhunt I just downloaded 4.2, opened SourceSans3-Regular.otf, and ran the extension with no obvious problems. It could be that the issue was something caught in beta testing, or there could be something different about my machine or how I'm running the extension. Try it out with the new version and if you're still experiencing problems we'll try to narrow down what the difference might be.

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

2 participants