-
Notifications
You must be signed in to change notification settings - Fork 58
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
Font Table Access API #400
Comments
The various non-goals seem like they would make it rather hard for alternative approaches to doing fonts to enter the market or for smaller players with alternative approaches to compete. If even on the same platform the data you get back depends on the implementation it's highly likely sites will code toward a single implementation. |
Hi Anne, thanks for taking a look at the table access API. I filed https://github.com/inexorabletash/font-table-access/issues/6 to discuss it further. Let's follow up there. |
A very brief comment here after looking at #399 -- it seems like there's less additional fingerprinting surface here -- but it's not zero, and worth mentioning. In particular, it seems like there are some changes in fonts that are not detectable on the web today, but would be detectable with raw font table access. Thus this might be providing the additional fingerprinting entropy to distinguish a user with version 1.0.4 of a font from one with version 1.0.5 of the same font in cases where that wasn't detectable today. Hoping to look more later... |
@hober and I reviewed this at our December F2F, this still feels like it's too low-level of an API and is geared strongly to OpenType fonts, where there are a number of different font technologies in use (and are likely to be more down the road). We'd rather see higher level APIs exposing font metrics and glyph vectors that are font technology agnostic. |
@plinss and I looked at the proposal as part of the March F2F. There isn't any new information or updates in the explainer or relevant issues. Given we haven't heard back from the authors, should we consider there is no longer interest of making progress on either of these two proposals? |
re: lack of progress - we deferred work for a while, but are planning to revisit in the very near future. re: two proposals - we are planning to re-merge the proposals; at one point we thought splitting them made sense to unblock some discussion. Closing one of these out is fine. |
We (@dbaron @hober @plinss) looked at this again during the TAG F2F this week. We've tried to file issues in the WICG/local-font-access repo which capture each of the concerns that have come up during the several TAG breakouts on these two reviews. Given the lack of engagement in these reviews thus far, we don't see any value in keeping these issues open. Please feel free to ping us to re-open or file a new issue when there are significant changes.
|
Hey @hober - I think we're ready for another go-round on this. Should we re-use this or #399, or open a new issue? Relative to the above list: ⬆️ I believe these are effectively the same issue, although I may be missing nuance here. These are still fundamental issues, but apply to similar APIs for accessing local resources, e.g. file uploads, such as for images or videos, where web apps must be future-proof against new formats. That might suggest an approach, e.g. allowing (requiring?) web apps to specify ⬆️ Should be resolved. ⬆️ Added. ⬆️ Added. ⬆️ Resolved through allowing passing name list to query(). |
I really don't see the comparison to file uploads. With file uploads we don't provide some kind of normalized access to the underlying file that might differ across browsers. Each browser ends up with the same data. I suppose what applies is that file uploads expose platform differences to websites, but I would take that as something to improve upon, not as something to imitate. |
Hi @inexorabletash, @plinss and I had a chance to go over the updates you linked to - thank you for these and reopening. These are the concerns we have after this review pass: The expanded fingerprinting issue commit is good, however there is no mitigation suggestions just some info. For example, "in incognito mode, don't expose the fonts" or something similar is what we would generally expect. It seems you added a choose method, but the mechanism is still of the format "give me all the fonts" and allow user to choose which fonts to expose. What we asked for was - "let the user choose a font and then you get back a font". Exposing all fonts runs into the issue of users just hitting "select all" and move on. Another concern we have is the exposing the |
Thanks - I'll add something. In practice, it might be more subtle than that. Browsers allow file upload in incognito, and exposure of specific fonts seems comparable.
Correct, and understood. We consider it critical to support use cases where multiple fonts - including potentially all local fonts - are provided to the site in one user interaction. We tried to craft an API shape that would allow browsers to support this use case, or alternately (perhaps in more privacy-focused modes, or just different UAs) limit the number of fonts exposed, perhaps to just a single font.
To clarify: libraries expect the full data for a given font, rather than a subset of tables. An library example is the pairing of HarfBuzz and FreeType, used by many native and (more recently) web applications to implement custom text stacks. These take as input full OpenType font files, and do the table parsing themselves. We did early experiments with APIs that produced only some of the font tables, and to interoperate with existing libraries required glue code that recomposed a full container file from the parts.
The goal of the API is to provide the data so that it can be consumed by those libraries. |
The issues as we see them so far:
In conclusion: we think we should be more deliberate as stewards of the web platform in terms of how we represent fonts. We don't think this is the right approach to solve these use cases in the context of the wider web. |
こんにちはTAG!
I'm requesting a TAG review of:
Further details:
We recommend the explainer to be in Markdown. On top of the usual information expected in the explainer, it is strongly recommended to add:
We'd prefer the TAG provide feedback as (please select one):
Please preview the issue and check that the links work before submitting. In particular, if anything links to a URL which requires authentication (e.g. Google document), please make sure anyone with the link can access the document.
¹ For background, see our explanation of how to write a good explainer.
The text was updated successfully, but these errors were encountered: