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

fontbakery fixes: add ligature carets #310

Closed
arrowtype opened this issue Feb 5, 2020 · 13 comments
Closed

fontbakery fixes: add ligature carets #310

arrowtype opened this issue Feb 5, 2020 · 13 comments
Assignees
Labels
aug-2020 Issues open as of August 2020 [for planning purposes] details to fix fixed in sources Issue is resolved in sources and is awaiting new build + release.

Comments

@arrowtype
Copy link
Owner

Before we can merge into Google Fonts, it will be necessary to run the variable font through FontBakery and note which checks will be important to follow. A few are semi-flexible "opinions" (e.g. UPM should equal 2000), while others are to solve recorded bugs (e.g. certain tables should be added to avoid issues in various software).

We will need to note down (and then make a script to fix) valid issues.

@benkiel
Copy link
Collaborator

benkiel commented Feb 7, 2020

Changes needed:

  • VF font name change to Recursive[axislist].ttf
  • Add ligature carets
  • Shorten these glyph names: quotesingle_quotesingle_quotesingle.code, hyphen_space_bracketleft_space_bracketright.code, hyphen_space_bracketleft_x_bracketright.code, numbersign_numbersign_numbersign.code, numbersign_numbersign_numbersign_numbersign.code and ampersand_ampersand_ampersand.code
  • Set fsType to 0
  • Need license, copyright, etc info
  • Add gasp table
  • Fix default font name
  • Add prep table
  • Add dsig

Issues with font bakery that are going to come up:

  • Currently barfing on the "MONO" axis name in the varfont_instance_coordinates check
  • Instance naming; doesn't seem to be set up for the case of subfamilies (i.e. "Mono Linear Light" is incorrect. It should be "Light")
  • MVAR table: is this check still valid?

Issues to ignore(?)

  • UPM at 2000 instead of 1000

@arrowtype
Copy link
Owner Author

arrowtype commented Feb 9, 2020

Thank you, Ben!

A few of these should obviously be fixed in sources, but usually, many of these issues are solved with a shell script (along with the build, or potentially in a fix + push to PR script). Do you think we should do that here, or make another mastering python script?

@benkiel
Copy link
Collaborator

benkiel commented Feb 9, 2020

We should just add it to the variable font build script, will do.

@arrowtype
Copy link
Owner Author

arrowtype commented Feb 11, 2020

I've set the fsType and license string as of 714694c.

I'll shorten long glyph names next. I don't think carets are really used by anything, but I'll add those as well.

@benkiel
Copy link
Collaborator

benkiel commented Feb 11, 2020

Ligature carets are used to place the cursor inside of a ligature glyph

@benkiel
Copy link
Collaborator

benkiel commented Feb 11, 2020

#314 adds in the gasp, prep, and dsig tables to the variable font build

arrowtype added a commit that referenced this issue Feb 11, 2020
@arrowtype arrowtype changed the title Run fontbakery on outputs (especially VF) and note necessary fixes fontbakery fixes: add ligature carets, update output VF file name Apr 19, 2020
@arrowtype arrowtype changed the title fontbakery fixes: add ligature carets, update output VF file name fontbakery fixes: add ligature carets Jan 4, 2021
@arrowtype
Copy link
Owner Author

Closing this issue – currently, ligature carets aren’t actually built into fonts generated from UFO sources. googlefonts/ufo2ft#329

Additionally, programs tend to do a pretty good job of guessing where to place the caret inside ligatures. So, while this would be an issue for some fonts, it isn’t really a user problem for Recursive. If it later becomes possible to build carets into fonts and a user complains about this, I will open a fresh issue. This could be fixed relatively quickly with some scripting and a bit of manual work, but it seems pointless to spend time on unless the feature is supported and needed.

@davelab6
Copy link
Collaborator

davelab6 commented Jan 4, 2021

Is the caret data in the sources? If yes, SGTM

@arrowtype
Copy link
Owner Author

Ligature carets are not currently in sources, and I’m happy to add them if they are useful. However, I am not aware of any issues caused by their exclusion. Are we adding them just for the sake of adding them?

@arrowtype arrowtype reopened this Jan 4, 2021
@davelab6
Copy link
Collaborator

davelab6 commented Jan 4, 2021 via email

@arrowtype
Copy link
Owner Author

Okay, that makes sense! Thanks for clarifying. If it may help other fonts that do need ligature carets to have proper support, then it will be good to add them here. I’ll work on this for the same release as fixing #431!

@arrowtype arrowtype added the aug-2020 Issues open as of August 2020 [for planning purposes] label Jan 8, 2021
@arrowtype
Copy link
Owner Author

arrowtype commented Jan 18, 2021

I’ve worked on a script that can (mostly) automate the addition of adding ligature carets across sources (permalink to script).

Then, I added carets (permalink).

The last step here will be building all fonts, including and especially the code fonts, to verify that the added ligature carets don’t cause new problems.

@arrowtype arrowtype added the fixed in sources Issue is resolved in sources and is awaiting new build + release. label Jan 18, 2021
@arrowtype
Copy link
Owner Author

Closed by #434

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
aug-2020 Issues open as of August 2020 [for planning purposes] details to fix fixed in sources Issue is resolved in sources and is awaiting new build + release.
Projects
None yet
Development

No branches or pull requests

3 participants