[GH-ISSUE #488] What is a font design public API? #5478

Closed
opened 2026-06-15 11:54:49 -05:00 by GiteaMirror · 5 comments
Owner

Originally created by @mina-shafei on GitHub (Jan 22, 2019).
Original GitHub issue: https://github.com/semver/semver/issues/488

How can I use semver for my font design project? What public API documentation could I use?

Originally created by @mina-shafei on GitHub (Jan 22, 2019). Original GitHub issue: https://github.com/semver/semver/issues/488 How can I use semver for my font design project? What public API documentation could I use?
Author
Owner

@klehelley commented on GitHub (Jan 22, 2019):

That is a difficult question to answer. The public API is there to describe the contract between the project you are working on and its consumers (I use a vague term here but these are other pieces of software if we are to follow the spirit of the specification). So to see how SemVer might fit your needs, it would I think be good to answer these questions first:

  • What are the consumers of your font? Pieces of software, people ?
  • To these consumers, what kind of expected changes would be:
    • A minor, "backward-compatible" tweak? (near-indistinguishable change in the curve of a few glyphs, etc.)
    • A new "feature"? (additional glyphs for codepoint that were not covered by the font before, noticeable changes with no negative impact in the legibility of the font maybe, etc.)
    • A breaking change? (removal of glyphs, big modifications in shapes and sizes, etc.)

Once you have clear answers, that you are happy with, then SemVer will likely be a good fit for your project. For a project such as your it may feel a little bit fuzzy, with gray areas or potential overlap between. In that case it is up to you to decide if you are comfortable with it, or if you feel it would be better to use a different versioning strategy.

<!-- gh-comment-id:456362413 --> @klehelley commented on GitHub (Jan 22, 2019): That is a difficult question to answer. The public API is there to describe the contract between the project you are working on and its consumers (I use a vague term here but these are other pieces of software if we are to follow the spirit of the specification). So to see how SemVer might fit your needs, it would I think be good to answer these questions first: * What are the consumers of your font? Pieces of software, people ? * To these consumers, what kind of expected changes would be: * A minor, "backward-compatible" tweak? (near-indistinguishable change in the curve of a few glyphs, etc.) * A new "feature"? (additional glyphs for codepoint that were not covered by the font before, noticeable changes with no negative impact in the legibility of the font maybe, etc.) * A breaking change? (removal of glyphs, big modifications in shapes and sizes, etc.) Once you have clear answers, that you are happy with, then SemVer will likely be a good fit for your project. For a project such as your it may feel a little bit fuzzy, with gray areas or potential overlap between. In that case it is up to you to decide if you are comfortable with it, or if you feel it would be better to use a different versioning strategy.
Author
Owner

@mina-shafei commented on GitHub (Jan 23, 2019):

So I can wright a simple public API (for example in text format) and include it in project? The questions you mentioned are well described main issues of font release that I want to cover all. I think contents of such a simple public API could be the answers to these questions. Am I right?

<!-- gh-comment-id:456903508 --> @mina-shafei commented on GitHub (Jan 23, 2019): So I can wright a simple public API (for example in text format) and include it in project? The questions you mentioned are well described main issues of font release that I want to cover all. I think contents of such a simple public API could be the answers to these questions. Am I right?
Author
Owner

@klehelley commented on GitHub (Jan 24, 2019):

Since the rules described in SemVer are not specific enough for your use case, such a documentation is not only useful but I think necessary (as another font designer might not exactly have the same interpretation as yours). A simple text file (maybe using a format like Markdown or Asciidoc that would make it easy to export if needed) in the project is a pretty good choice IMO.

<!-- gh-comment-id:457178240 --> @klehelley commented on GitHub (Jan 24, 2019): Since the rules described in SemVer are not specific enough for your use case, such a documentation is not only useful but I think necessary (as another font designer might not exactly have the same interpretation as yours). A simple text file (maybe using a format like Markdown or Asciidoc that would make it easy to export if needed) in the project is a pretty good choice IMO.
Author
Owner

@grv87 commented on GitHub (Feb 3, 2019):

See my comments on art in general and specifically on fonts: https://github.com/semver/semver/issues/468#issuecomment-431406734 and https://github.com/semver/semver/issues/468#issuecomment-431407832.

In my opinion, current edition of semver is not applicable to art, including fonts.
Versions of artistic objects should have two parts, without major version.

<!-- gh-comment-id:460034783 --> @grv87 commented on GitHub (Feb 3, 2019): See my comments on art in general and specifically on fonts: https://github.com/semver/semver/issues/468#issuecomment-431406734 and https://github.com/semver/semver/issues/468#issuecomment-431407832. In my opinion, current edition of semver is not applicable to art, including fonts. Versions of artistic objects should have two parts, without major version.
Author
Owner

@steveklabnik commented on GitHub (Feb 11, 2019):

This repository is used for developing the specification itself, and so I'm giving it a close, as it's not really what the spec is about directly. Thank you!

<!-- gh-comment-id:462473871 --> @steveklabnik commented on GitHub (Feb 11, 2019): This repository is used for developing the specification itself, and so I'm giving it a close, as it's not really what the spec is about directly. Thank you!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/semver#5478