-
Notifications
You must be signed in to change notification settings - Fork 30
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
Publish mini-specifications for the various "semi-public" lib keys #118
Comments
CSS vendor prefixes. Ducks for cover. |
@belluzj A good idea |
This is a great idea. My initial idea was "you publish your key" but that was because I didn't want to be responsible for keeping the site updated. At that point it was a huge pain because the "source" was a bunch of .textile files on my drive that were compiled with a homemade tool that spit out HTML files that I had to FTP. It's much easier to update the spec now, so this is a very good idea for interoperability and a lot of other stuff. |
Meeting consensus is that we should do this. |
as I converted the static html to jekyll on github, I can propose a system to build mini specs. add a folder ---
layout: default
title: reversed.domain.name.lib.key
ufo-version:
- 3
- 3.1
- 4
---
# any mark down
* my tool
* your tool
* data z
* data y
* data x Each UFO version (except 1 and 2) will have a page for |
It's probably implied, but I'd like to explicitly add that the (Ideally, also |
@justvanrossum each mini spec will need to specify where it will be stored: glyph lib, font lib, font data... |
I started some work in this pull request: #124 |
Stupid question: Is this more-or-less analogous to a JSON schema? (Sans requirements over a file's name and/or physical location). |
The lib mechanism to add custom data to UFOs is widely used, and while some keys are "private" implementation details of some UFO editors, some of these lib keys are "semi-public" in the sense that they're used by several programs that agree on the meaning for the keys, or are put in the UFOs on purpose by users in order for other UFO tools to pick them up and do something with that data. (I wrote "semi-public" to avoid confusion with proper "public" keys that are included in the official spec)
There is also a proposal for new spec additions to start as lib keys and then be included in the official specification once they've gained traction and maturity.
For both semi-public lib keys and draft specifications, I believe that it would be very useful to publish, alongside the official specification, a series of "mini-specifications" for the various proposals, with accompanying example UFOs ready for inclusion in the validation suite proposed in #117, and matching lines in the tool compatibility tables (even if only 1 tool out of all them currently supports that lib key/feature). Those mini-specification would follow the same format as the main specification, and maybe even a common template (that would facilitate the writing of these if they could start with "fill in the blanks" of the template).
Having one reference source of documentation and UFO examples for the key would facilitate discussion and interoperability; all vendors and tools could look into supporting the extra features themselves, and once the feature has gained traction and reached maturity, it's easy to fold into the main specification (half of the work will already be done).
The text was updated successfully, but these errors were encountered: