Comments (33)
from decovar.
Rob McKaughan has drafted fonttools changes to add support for the STAT extension adding a format 4 axis value table, but he's waiting until OT1.8.2 has been published before submitting a PR. (Btw, now that I'm back from vacation, publishing 1.8.2 is front-burner for me; Rob's on vacation for the next couple of weeks.) In the meantime, we crafted a rev of Decovar with a STAT table using format 4 AVTs so that we could validate our DWrite implementation. I'll be happy to follow up with you folk once I get caught up.
from decovar.
he's waiting until OT1.8.2 has been published before submitting a PR
That PR has been made and was merged yesterday, fonttools/fonttools#1015
from decovar.
Thanks for your comments @PeterCon!
I just added 18 named instances to the designspace and rebuilt the font, so we can get an idea of what that would be like (9a03a0f).
I'm leaving this issue open, since the axis values are still missing from the STAT table. @PeterCon, is there a STAT table writer that you've released or would be willing to contribute? Up until now I've been writing them by hand, but with Decovar's complexity it is probably better to pursue an automated approach.
from decovar.
from decovar.
The approach you have to naming in this font reflects a different way of thinking of how names and axes relate than what all the platform implementers involved in developing the spec were thinking ... if this approach to naming is something that will be common, we may need to give some thought to how best to support it. ... So, something for us and other platform implementers to think on.
As I say in http://typedrawers.com/discussion/comment/25926/#Comment_25926 I would be very happy to contribute some thoughts to this :)
from decovar.
Thank you for the further info on the STAT table and the thinking behind it! I'm also very glad to hear that this project is providing some food for thought.
I’m assuming each of those represents some combination of values across all of the axes, not 18 names for points along just one axis?
Yes, that's correct. Most of these named instances are located at the extreme of a single axis, but a handful show different interactions between axes at various values.
In defining these instances, we were trying to come up with a set that would provide users of non-OTVar software with menu items that would be representative of, or at least hint at, the stylistic range of the font. And in future UI implementations, hopefully users could still find them valuable as starting points for exploring the various axes.
In this particular case, I'm not sure if there's a way to record points on individual axes and then list their intersections that would be as effective in doing that. I guess it's about finding a balance between offering enough options without overwhelming the user (especially in WWS/RBIZ situations where each instance would essentially act as its own family.)
Thanks again!
from decovar.
from decovar.
from decovar.
Dave: As John responded on that thread, you should talk to Behdad and Sascha on providing input from Google.
I've pinged them, of course, but it is impossible for me to provide input into conversations I'm not privvy to; and there is the historical record, and the people who are not such industry insiders as myself (such as those in India) who will also benefit from following the conversations...
from decovar.
from decovar.
I'm sorry Peter to say, Github's inbound email processor has not been able to make sense of your reply via email, and the color (and I assume table) are lost. Please see the issue on the web at #3
from decovar.
from decovar.
from decovar.
More thinking about fonts like Decovar: When we designed the Font Variations extensions for OpenType 1.8, including the STAT table, we were primarily thinking about very-commonly-used axes of variations such as weight, etc., that were also prevalent in fonts like Skia and Adobe's Multiple Masters back in the 1990s. Such fonts may be intended for text or display usage scenarios. But a font like Decovar (or, say, Buffalo Gals) is different: it's suitable for display, but not text; and the kinds of parameters that can be manipulated are really geared towards display scenarios.
(Now, perhaps Amstelvar is a different story, but let's stick with Decovar for the moment.)
Certainly in the past, if you were developing type with this approach, you'd only be able to manipulate the parameters in design tools, and then you'd need to export specific instances that your customer wanted. So, in that case, the customer wasn't the one manipulating all the sliders. Today, with OT variable fonts, potentially they could be manipulating the sliders. I'm going to guess that many potential users might not want to manipulate sliders for Decovar: it's so many choices, and the user just wants a quick choice. But those probably wouldn't be the kind of user that a variable Decovar would be primarily marketed to. Rather, you'd be looking at the graphics professional working on a display setting in which they want to use their creative skills to tweak the options the font provides to fit the design goals for the project.
So, maybe the font with a limited set of named instances may be useful for the casual user, but I'm thinking that the real target for such a font is the more specialized designer who will want to access the full variation capabilities of the font. And that person will not want to use the font in legacy apps that can only support selecting certain named instances; rather, they'll want some newer apps that support selection of arbitrary axis values on arbitrary axes defined in variable fonts.
Just thinking out loud --- thoughts that may be relevant when thinking how a STAT table should be set up for a font like this.
from decovar.
from decovar.
The “big standard axes” (width, weight, size) can have virtually infinite axes rolled up inside that define large or subtle flavour differences (rounded corners, “victorian style”, roughness, etc.), once the big choices have been made. (If he/she found the restaurant-district in the city from a location on the map, it is still up to the traveller to find the right kind dish, depending on taste, preference and time of the day.
It seems to me that sometimes users will just want to drive along the highways, or the paved roads, and other times will want to go on an off-road safari.
Being able to mark which axes are roads and which are not seems, important.
from decovar.
from decovar.
@djrrb is the stat table source in this repo?
from decovar.
@davelab6 yes, here it is: https://github.com/TypeNetwork/fb-Decovar/blob/master/sources/2-build/stat.ttx
from decovar.
Thanks! However, where is the name table info that it points to?
from decovar.
Ah, right. That's not stored separately since it is compiled from the UFO sources, but you can get it by ttx
ing the variations TTF.
from decovar.
I'm confused; the UFOs don't have this data either, so is it in the private build system? (In that case, I don't understand why it isn't source file data :)
from decovar.
The UFOs have fontinfo.plist
, which is used as the basis for the name table when the font is compiled (see the build script) and then fontTools varLib
to generate the vfont version.
For now, fontTools doesn't build a STAT table, which is why I have to keep a separate copy and stick it in the final font. But the name table is already present in the compiled fonts, so I don't store it separately. Is that helpful?
from decovar.
FontView shows the axes names from the name table to the left of the sliders:
But in fontinfo.plist files those names aren't present,
nor are they anywhere else in the repo :)
https://github.com/TypeNetwork/fb-Decovar/search?q=%22weight+max%22&type=Code&utf8=%E2%9C%93
from decovar.
from decovar.
from decovar.
Ah, those come from the Decovar.designspace file...forgot about that!
But I don't see them in https://github.com/TypeNetwork/fb-Decovar/blob/master/sources/2-build/Decovar.designspace :)
Sorry for the incomplete answer...I also had to add unregistered axes to my version of fonttools...will document this as soon as I return from my travels!
Thank you David! :)
from decovar.
from decovar.
@djrrb Are we still waiting on this?
from decovar.
As far as I know, there is still no tool for writing STAT
. Maybe others know differently?
I don't think I have a way to reliably write this table in a font this complex (a single axis I was able to do, at least I think). What is included here in stat.ttx
I did by hand with some guesswork and no way to reliably test.
Is it ok to continue to wait?
from decovar.
In the meantime, we crafted a rev of Decovar with a STAT table using format 4 AVTs so that we could validate our DWrite implementation.
@PeterCon, now that the format 4 PR is merged, are you able to commit your revised Decovar STAT table? Thanks!
from decovar.
@PeterCon, now that the format 4 PR is merged, are you able to commit your revised Decovar STAT table? Thanks!
@PeterCon would be great to see this :)
from decovar.
Related Issues (20)
- Axes analysis HOT 2
- overlap? HOT 1
- B: Check stroke at lower right of top counter HOT 3
- Named Instance issue: Bifurcated terminals
- Named Instance: INLINE E and F double line HOT 3
- B counter HOT 1
- U Contrast HOT 1
- Rename in name table HOT 8
- OTS failure HOT 5
- Add build script HOT 15
- Line height changes in Blended Axes
- Can't Build, Incompatible Glyphs HOT 8
- CSS HOT 1
- The "Draw" version HOT 6
- Hinting HOT 1
- STAT contains invalid axes
- Website: Update URL with skeleton/terminal combination? HOT 7
- Named instances all the same in Font Book HOT 7
- Weight axis: overlap issue V and A HOT 9
- Weight and Skeleton A Max broken counter form HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from decovar.