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

Beginnings of a designspace profile #3168

Closed
wants to merge 2 commits into from
Closed

Beginnings of a designspace profile #3168

wants to merge 2 commits into from

Conversation

simoncozens
Copy link
Collaborator

Description

This implements the following consistency checks on a .designspace file:

  • com.google.fonts/check/designspace_has_sources: Check that all sources in a designspace can be loaded successfully.
  • com.google.fonts/check/designspace_has_default_master: Check that a default master is defined.
  • com.google.fonts/check/designspace_has_consistent_glyphset: Check that non-default masters do not contain glyphs not found in the default master.
  • com.google.fonts/check/designspace_has_consistent_unicodes: Check that Unicode assignments are consistent between masters.

To Do

  • update CHANGELOG.md
  • wait for all checks to pass
  • request a review

@felipesanches
Copy link
Collaborator

In general I prefer to avoid creating new profiles. Things should fit some of the existing profiles such as universal or googlefonts.

This one though, as well as the ufo one, operate on source files of a font project so it makes sense for them to be separate. On the other hand, maybe we should merge all source-level profiles into a single one. Or even better, mirror the binary-check profiles nomenclature. Something like universal-src, googlefonts-src, etc.

In the future we might even make the profiles smart to distinguish whether source or binary checks should be performed, based on the types of files provided on the command line.

@felipesanches
Copy link
Collaborator

Here I'm just expressing how I feel about this matter in terms of a long-term project vision. I've considered other ways people have tried to deal with creation of new profiles in past PRs and it seems to me that indiscriminate creation of many new profiles for the purpose of grouping checks while not including them as child-profiles under one of the existing vendor-specific or universal ones will potentially just lead to important checks being segregated / forgotten.

@simoncozens
Copy link
Collaborator Author

I think I'm going to open a new issue to discuss how to handle non-TTFs in profiles: #3169

@m4rc1e
Copy link
Collaborator

m4rc1e commented Feb 16, 2021

I personally don't mind individual profiles for every source type if the checks are useful to all vendors. I can see this profile being used by everyone, not just us at Google Fonts.

@m4rc1e
Copy link
Collaborator

m4rc1e commented Feb 16, 2021

I guess if we needed our own designspace profile, we could create check-googlefonts-designspace which inherits from this profile. My worry is by including designspace stuff in the other profiles, we may create even more spaghetti than we're trying to eliminate.

@simoncozens
Copy link
Collaborator Author

I agree that this should go in check-universal and its checks should be picked up there if we are handed a designspace file. In #3169, I mentioned some things we will need to clear up make that happen.

@felipesanches
Copy link
Collaborator

@felipesanches
Copy link
Collaborator

@simoncozens, do you plan on resuming efforts related to this PR? Such as integrating these checks into either googlefonts or universal profile?

@simoncozens
Copy link
Collaborator Author

At some point, yes. But I have to make sure that we can happily throw .designspace files at fontbakery and have them dispatched to checks with the appropriate conditions. (See #3169)

That might already work, I just haven't tried it!

@felipesanches
Copy link
Collaborator

felipesanches commented Aug 17, 2021

hey, @simoncozens, as you told us you're on a "fontbakery hacking mood" this week, this could be a good PR to review

felipesanches added a commit to felipesanches/fontbakery that referenced this pull request Aug 25, 2021
@felipesanches
Copy link
Collaborator

Work on this continues at #3448

felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Aug 25, 2021
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Aug 25, 2021
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Nov 30, 2021
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Nov 30, 2021
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Dec 2, 2021
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit to felipesanches/fontbakery that referenced this pull request Jan 19, 2022
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR fonttools#3168)
felipesanches pushed a commit that referenced this pull request Jan 19, 2022
 - com.google.fonts/check/designspace_has_sources: "Check that all sources in a designspace can be loaded successfully."
 - com.google.fonts/check/designspace_has_default_master: "Check that a default master is defined."
 - com.google.fonts/check/designspace_has_consistent_glyphset: "Check that non-default masters do not contain glyphs not found in the default master."
 - com.google.fonts/check/designspace_has_consistent_codepoints: "Check that Unicode assignments are consistent between masters."
(Follow-up to PR #3168)
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

Successfully merging this pull request may close these issues.

3 participants