-
Notifications
You must be signed in to change notification settings - Fork 5
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
Support needed for variable-COLRv1 #2
Comments
Actions tab: Yes, it seems to all be working, which is what makes me think there should be font files in a Font folder, but I see none. Exporting from Glyphs: I don't get any issues exporting any OTF, TTF or VF files from GF-Foldit.glyphs directly within Glyphs3. What did you use? The VF instance in Glyphs file was disabled to avoid this ZeroDivisionError in build: https://github.com/SophiaDesign/GF-Foldit/runs/5888354333?check_suite_focus=true |
FYI: Glyphs3 doesn't yet support exporting COLRv1 stuff. |
Glyphs 3.0.5 (3120). Are you exporting VF from Glyphs app without any problem? I've pulled now the files at commit 117f55b, and I'm still receiving the same instance warning trying to export the VF and the overlapping issues for the TTF.
|
@vv-monsalve For the instance warning, you need to tick "active" on the variable instance in Font Info panel (Exports tab). After that it should export a variable font just fine. Interesting, I tried a few times with and without exporting those two characters, but no overlap issues on my end. Link to Action tab "build" where it confirms output of font files succesful -- still don't see anything. Maybe I was wrong? I expected a Font folder to appear with the font outputs placed in it. Is that what was supposed to happen? |
I've changed the config file to produce the VF, run the When testing it on Samsa the Please inspect that file and check if it's working as expected now. |
They are packaged in a zip file that you can find at the bottom of the Action run. |
@khaledhosny Could you please confirm what you used to generate the working COLRv1 OTFs you sent me a while back? Was it Is there a reason your export needed to be OTFs? Is it possible to make TTF exports that are COLRv1? Currently there's also an issue to make OTF files via Github Actions. So the only thing working now is TTF export.
@vv-monsalve Thanks, we haven't figured out how to variate it yet. First issue to solve is get the color features working in exports. |
Attaching files from Khaled.zip |
Any idea what this could be: I'm getting it from Github Actions (build error). Managed to export font files locally once using |
I used fontmake, and it still works:
|
Variable export is also working with fontmake, but the outcome of the gradients is not as expected. Here is a comparison to the static exports: Files for reference: Variable-export.zip |
@SophiaDesign I've inspected the latest Action report, and it has the following Error Message on line 36:
It means it hasn't found the file or directory. |
I have not created variable COLRv1 fonts yet, it is quite possible that it does not quite work yet. Best to bring the issue with @anthrotype or open an issue against FontTools. |
I can export locally now (with some gradient issues on the variable font export), but still receiving this error on Github Actions. |
There's no support for variable COLRv1 in FontTools yet. Chrome also doesn't support it yet. I'll be working on adding support to fontTools.varLib in the coming weeks, produce a few test fonts so that FreeType/Skia/Chrome devs can start adding support. Thanks for reminding me about this project, I might use this for my own testing |
Clarification: fonttools can decompile/compile COLRv1 with variations, only that there is no user-friendly API for building those yet. I plan to add support for merging COLRv1 masters in varlib.build similarly to how we do with GPOS |
Also I'm not sure if FontGoggles supports variable COLRv1 yet, I remember it used to but the the spec was amended and it wasn't updated to match, but maybe that changed. /cc @justvanrossum |
(i just realised I'm pinging people but this is actually a private repo so I don't think they'll see my pings) |
For reference, support for variable COLRv1 in fonttools is tracked here: this one is for fontgoggles: justvanrossum/fontgoggles#176 |
I see a bunch of .glyphs files in sources/ directory but also some master UFOs+designspace in master_ufo/ directory. Which one is the actual source that I can use to build a VF and test variable COLRv1? |
well, both the .glyphs files in sources/ throw various errors (coming from glyphsLib), only the .designspace in master_ufo/ seems to build so I'll use that one. Maybe @khaledhosny has some local patches that he hasn't upstreamed yet that make glyphsLib work? |
@anthrotype I can confirm with you that both FontGoggles and Axis-praxis (same as Samsa) support COLRv1 since last year, and since this year Chrome has started supporting it too. UFO and DesignSpace files were generated locally from GF-Foldit-decomposed.glyphs file using |
Yes, I know, I meant support for variable COLRv1, not simply COLRv1. The former is not supported anywhere that I know of right now |
@SophiaDesign maybe it would be good to make the repo public so more folks can participate |
@SophiaDesign just added me. Nice project.
Indeed Samsa does not currently support any flavour of COLR. Funds permitting, I am keen to add COLRv0 and COLRv1 including the new variation features such as “component” rotation and variable start/end points for gradients, etc. |
Ouch, a typo in fonttools indeed: |
Ouch indeed! Sorry! |
try updating to fonttools 4.34.4 => https://github.com/fonttools/fonttools/releases/tag/4.34.4 |
@anthrotype I tested with
You can see the test file attached. It does not seem to have the identified problem in the Thin master. What could be the issue? |
The error is saying that glyph 'O' has different number of color layers across masters, isn't that true? It might be that the name of the reported master is not correct, but the underlying issue is the different number of layers, all non default masters have to have the same number of layers as the default master, at the individual glyph level. |
On the Glyphs interface it looks like they all have the same number of layers. Is there any other way I can check this? @anthrotype |
You could export .glyphs source to UFOs using fontmake -o ufo and then inspect the content of the master UFOs's lib.plist, the key named colorGlyphs, make sure the 'O' glyph has the same number of layers in all masters and if they make sense.. I'm actually on holiday until 18 July. |
I wonder if this could be related to the incompatible linear gradient definitions in the various masters that Cosimo mentioned above? Have you inspected/solve this already?
And also to this. From what I've seen in the source file, there are only color layers and not a default master layer. Perhaps @mekkablue could be of any help on how better to handle these Color gradients from the glyphs source file. Beyond what has been already reported in the forum (here, here and related to gradients in here) |
Excuses for not having read the complete thread (TL). COLR/CPAL should have a fallback layer. In Glyphs, the COLR layers/glyphs derive their widths from the default master layer. Some renderers may require the fallback for reserving pixel space for rendering (otherwise your risk clipping). COLRv1 support is in the works and will be rolled out in a few months the earliest. You can sign up for the beta tester program, ping me in the Glyphs forum with a DM. |
Yes, that is true for COLR version 0 on Safari / macOS, but for COLR version 1 it's no longer needed since there are distinct clipBox data in the COLRv1 table itself, and even when that is missing the renderers that do support v1, can figure out that at runtime |
Yep, all gradients should be compatible based on Cosimo's description.
|
The Thin master has four extra color layers, these are the source of the error: |
Thanks @khaledhosny, I found this mistake, but after removing these layers, the new exported font was black (no gradient) and did not display on FontGoggles. I wanted to take some time to have a better look, but if you have any ideas what this could be, would be really helpful. |
Jul-14-2022.17-46-39.mp4 |
Update: it's working, I just had to get the new FontGoggles (missed the release as I was on holiday until today). We have a fully functional variable-gradient COLRv1 font here 🎉🎉🎉 Thank you everyone this is truly amazing Jul-14-2022.18-07-44.mp4 |
Hello, just opening this up again, as I worked through the source file and there are a few glyphs left with issues, which I am not able to identify/fix on the Glyphs interface:
All are marked in red in the I'm looking for any suggestions: What else can I use to find out where and what the compatibility issue is with the glyphs listed above? Files: Foldit-files-20July2022.zip |
The |
All glyphs are fixed except Won currency symbol. Could too many colour stops on a single gradient cause an issue? |
Could not find/fix the Won glyph issue in Glyphs app, but I changed the UFO file: Foldit-UFO.zip I am not able to use the UFOs to create a variable font using fontmake: |
You should provide a You would like to read Fontmake's Trubleshooting doc for more details. |
Are you receiving a particular message about it? In any case, simplifying as much as possible is always helpful. The Otho, please inspect the comment on the Outlines quality issue. |
@vv-monsalve The issue with It suggests the Foldit Thin has an incompatibility issue on one of the color palette index. I modified this manually in the I don't see any colour point differences in the masters using Glyphs. I assume the issue will be in one of the crossbars as there was no issue with |
In that case, there should be the same mismatching colors that Khaled mentioned above. The link to the error message is not working, so I can't inspect it.
You could generate a temporary glyphs file with only that glyph where you can try to confirm the export step by step. Adding one crossbar at a time so that it would tell you which is failing. In this regard, it would be really helpful for you to reduce the number of masters as said in the other issue. |
Thanks @vv-monsalve, |
@SophiaDesign reported
Could you please point out (provide a link as a comment here) the Report where this has been said?. When inspecting the Actions tab, everything looks like they are working.
On the other hand, it is always helpful to run the exporting process directly from the Glyphs app to validate it is working from there. After trying to do so as a VF, Glyphs reports an issue regarding active instances.
And when trying to export static TTF there are other issues reported.
You would like to fix all the above to have exported fonts from the app and then try to run the
make build
again from the repo.The text was updated successfully, but these errors were encountered: