-
Notifications
You must be signed in to change notification settings - Fork 101
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
Map Apple's ftxvalidator checks for which we still lack corresponding Font Bakery checks #2496
Comments
Oh, and should I "Install Anyway" in that installation package, or cancel? What checks use this specific software? |
"Apple provides various font utilities, and ftxvalidator is especially useful as it runs the same checks that are run for users when they install a font using Font Book. " That's all I know. I would love to learn exactly what those checks are, but the tool is proprietary. If we knew what it does, I would gladly reimplement it in pure python and "cut the crap", resulting in a smoother user experience. But as far as I can tell we don't know yet what it does. |
I see; there's a specific ftxvalidator check. And this is specifically in OS X Font Tools, not in Font Tools for Xcode 9? |
com.google.fonts/check/ftxvalidator runs the command-line |
I am not sure. If I recall correctly, I ran these install instructions on my Mac once and it worked, so I never looked at it again. |
I agree with you that this is ugly and scary and we should have something much better in place. |
This contains an example of the ftxvalidator output: But it is not an extensive example. It does not show much. |
This one goes into a bit more detail: |
@felipesanches thanks for the info! Those are helpful to read. I suppose that the installation doc could say:
|
Running gftools on many QA processes I've received repeatedly this message: After a first online search (of which I don't have the rout to sources now) there were mentioned as probable causes: OS or Apple Font Tools old versions. I'm working on Mojave 10.14.5, so I dismissed it as a reason. Then, I installed new versions of Font Tools (before finding this here). Now I even have Font Tools Xcode 11 Beta 4 but I still get the same message. I've also run the ftxinstalledfonts -f to check and yes it appears as not found: What am I missing? |
I also am receiving the following error after successfully installing the Font Tools Xcode 11 Beta 4 package:
I checked my /usr/local/bin folder, and ftxvalidator is not there :( I am running on OS 10.14.6, with the latest version of Xcode 10.3. |
@sponcey Spencer, shoot me an email. I have a workaround until this is fixed. |
Since there is nowhere any real documentation on how to install this really, this is what worked for me (with the caveat that the actual binary does not seem to work, though, as per ##2508): -removed install instructions for old version- |
You likely need an updated framework and ftxvalidator executable. Try these instructions with the current Font Tools for XCode 11 release: #2691 |
Aha! Thanks @chrissimpkins More errors though with the XCode 11 binaries:
Any clue what that is about? |
Given no one could easily install the apple font linter, and apple didn't keep it updated to new macOS releases, I'm ok with #3479 However, as Felipe suggests above, there's a bunch of checks described in the verbose check results that we can map to current fb checks - or file issues to describe and implement the dogmas - such that a "fruit profile" could be made. |
Apple does keep it up-to-date. The most recent version is Font Tools for Xcode 13, released on 20 September 2021. The new
|
@twardoch, would you be able to provide such input so that we could figure out the full set of font problems that ftxvalidator supposed checks for? Once we have this info, I'd probably create a spreadsheet to map which font problems Font Bakery still does not check for. |
FWIW, apple font tool for xcode 15 beta was released two months ago in June 2023. |
I haven't tried it for a while, but past versions of Apple's font tools (xcode 11 was what I tried last I think) run with limited functionality on linux with patched darling : https://github.com/HinTak/ftx-darling |
Fontools for xcode 14 was released last September. I checked the past release dates, it seems that Apple is doing annual Fontools releases in September/October, with a beta in June. So Apple Fontools 15 is likely to be released in the next few weeks, given that there was a 15 beta in June two months ago. |
As I wrote 6 weeks ago, apple font tools for xcode 15 was released on 18th Sept 2023, less than 3 weeks after I wrote. It was preceded 6 days before that by a release candidate on 12th Sept 2023. |
@vv-monsalve showed me this: That seems like something I really wish fontbakery prevented :) @simoncozens please can you queue up an effort to make the macOS font validator run with fontbakey when run on macOS, and find out if github runners can be macOS or if we need another runner service to sort this out at scale. This is related perhaps to #4801 as I'd like to see all relevant checks from other vendor profiles, especially Adobe and Microsoft, be imported in the Google Fonts profile, since users expect the fonts they download from GF to work in those company's apps. |
Github runners are available for both the x86_64 macos and arm macos. The arm macos also contains a x86_64 emulation (rosetta it is called). We build the skia-python wheels bundled with skia with it. |
Yep, step one here is to set up a GH action to install ftxvalidator. I'm a bit loathe to de-deprecate the ftxvalidator wrapper check; I'd rather (a) make it easy to run ftxvalidator in a CI, and (b) reverse-engineer all the checks and add them to fontbakery. |
Installing apple footstools in GH action is pretty easy technically, not sure about the legal aspect (does it count as redistribution etc). Of course me doing it for fun for myself is a little different from Google offering apple tools to others, legally, too. |
FWIW, I also started a discussion with Apple folks for porting Apple's libValidation (the backend of ftxvalidator) and possibly open-sourcing it via FontVal-RX (https://github.com/FontVal-extras/FontVal-RX) a while ago. |
The quickest way for me personally to set up ftxvalidator in a mac runner for GH action is simply to sync and upload my local darling playground on Linux to one of github's mac runners. Not the neatest, and probably shouldn't be done by a corporation. |
Apple font tools had a 15.1 release in December 2023, and a 16 beta two months ago. So likely there will be a release 16 in the autumn. I have created a new repo for this sort of information: There is a Most new FontVal related things are being moved under that org, except |
Both fonttools 15.1 and the 2-month-old 16 beta reports its version as |
Especially because in this instance, the problem is a bug in Apple's font parsing. :-) Setting up ftxvalidator in a CI job is cumbersome because the download source to it is behind a developer paywall. So far I've written a GitHub action which requires you to provide a cookie from your browser, but I don't know how permanent those session ID cookies are, so it's brittle at best. |
It is not a paywall, just requiring a (free) login, as well as seem to check browser / client. I have a simpler github action CI - just uploading what I downloaded. Here is all the versions I have: |
I've already reported the bug (FB14695457). It turns out the session cookies are not permanent at all (worked yesterday, does not work today), so we have to go through some nasty login automation. Which requires 2FA. Urgh. I'm not sure we can do this. "Uploading what I downloaded" is redistribution of licensed software, which as Google I'm pretty sure we can't do. |
Yes, it requires a free registration/ login, and even then, download is only allowed from only some browser/ client combo's (I can login and look around but not download from a different device, side-by-side). Already said a few comments ago, that me as a private person playing with it in a private repo (https://github.com/FontVal-extras/Apple_Font_Tools_playground) then posting what I learned about their self-reported versions in a public web page (https://github.com/FontVal-extras/Apple_Font_Tools_Info) is fine, but you probably cannot re-distribute the apple package or binary as a corporate - sponsored project, nor offer to run it as a service as any kind of 3rd party. Hence I kept the _playground repo private. |
This issue was originally called "macOSX installation issue snags", but in the meantime we deprecated the ftxvalidator wrapper-check, so now we have a different scope for this task. Please, read the issue thread for more details.
-- @felipesanches, Oct 17, 2021
Observed behaviour
I'm setting up a fresh computer that is macOS Mojave, 10.14.4, and having some issues.
The macOS installation instructions are a bit hard to follow, because there are little things that don't work well, and I don't know how to check whether it worked in the end.
In zshell (zsh), it seemed to fail:
I then tried to install from Apple Developer. Font Tools for Xcode 9 seemed to work fine. However, OS X Font Tools gives this warning:
In bash, the terminal instructions seemed to work better, but I still don't know how to test whether it actually installed. The
ftx
command just returnsftx: command not found
.Expected behaviour
I should be able to follow the instructions exactly, without scary-sounding warnings, then have an immediate way to confirm that they worked. For onboarding less-technical designers, this is even more important.
Resources and exact process needed to replicate
To replicate, one could set up a new user account on a mac, then follow the FB installation instructions.
Small Update: I haven't installed the OS X Font Tools package yet, and I think that I still have the tools I need for FontBakery. However, I will double-check that no FontBakery checks are skipped because of this decision, and report back if I do eventually install that.
The text was updated successfully, but these errors were encountered: