Is necessary to import manually the stems before running TTFAutohint?
Comments
-
"The history of rendering fonts on screen over the past twenty years has been..."
...I think it's way too soon to be romanticizing the past twenty years into legibility vs. fidelity. Let the facts melt away for a while longer, and then let the myths take hold.
0 -
Here's your obscure hinting history for the day: David Berlow taught me to do TT hinting while I worked at Font Bureau. I drew & hinted the Augsburger Initials, and came up with the conditional-hinting technique.Indeed, one of the brilliant things about TT hinting is that it is a fully formed programming language, which means you can do things with it that someone else might not have thought to do. [Augsburger Initials!]
Wow... those Augsburger Initials are awesome!!!!
As you know, unlike PostScript, TT fonts can contain overlapping contours. So the curlicue background of each initial was a separate set of contours. I used an IF statement to check for a certain size threshold, and below that threshold, used an ALIGN command to squash the curlicues flat. Meanwhile, the foreground letter remained unaffected.
A clever technique, but ultimately not that valuable, since it couldn't be applied to any of the other fonts I had to hint that month. After that, my TT hinting research was directed towards techniques for getting things done faster.
4 -
if we were able to hint over the top of an auto-hinter as capable as TTFA it would be a great boon
Yes, but in that scenario it isn't only the capability of the autohinter that matters -- in terms of how good its results might be -- but what methods it uses to achieve those results. In my experience -- and I've not looked closely at the code produced by TTFA --, autohinters tend to be pretty verbose and to generate far more and generally cruder instructions than an experienced human hinter would. Manual hinting tends to be quite personal, in that different experienced hinters tend to develop their own approaches, strategies and also bits of re-usable code (again, remember that the TT hinting language is a programming language). In our work, we're sometimes hired to take over sources that have been developed by someone else, and I've seen Ross and other hinters visibly shudder at having to work with someone else's code: not because the code is bad, but because it isn't how he or she would have done it. Autohinted code, presuming it can be reliably translated into some editable form, is typically the 'alien code from another planet'. Not only is it not how you would have done it, it's like no other human would have done it.
What this means, in effect, is that if one wants to edit hinting of some portion of glyphs in a font that has been autohinted, the tendency is to completly strip the hinting of those glyphs and to set up a manual, parallel hinting structure entirely independent of the autohint code, including separate CVT sets, because it is easier to hint those glyphs from scratch than to try to analyse what the autohinter has done and make sense of its CVTs, especially in a large and perhaps multi-script font.0 -
Laurence Penney wrote a little tool many years ago that would step through TT glyph hinting, displaying the results of each instruction. The Augsburger Initials were a great example, and I remember Laurence showing them to me at an ATypI conference in the late 90s.0
-
Laurence Penney wrote a little tool many years ago that would step through TT glyph hinting, displaying the results of each instruction.
You know what would be really great? A step-by-step interactive hinting trainer. Kind of like the tutorials built into really complicated video games.0 -
"...TT fonts can contain overlapping contours. So the curlicue background of each initial was ..."
lol, and I remember thinking it'll be so Cool when this works with anti-aliasing and colors by 2000!
"Laurence Penney wrote a little tool many years ago that would step through TT glyph hinting..."
That's nice. Besides editing them, this is what what tt editing tools have always done. Even today though, people show this as a cool feature, which I don't get, but I always say, "That's nice". And then I ask for a display of the graphic state after each instruction has being executed, so I can really see what's happening.
"You know what would be really great?"
Yes — until "auto-hinting" capabilities reach the "general resolution minimum", if the people who need to do hinting could get the tools for free from those who make hinting a necessity, that'd be great.0 -
Yes — until "auto-hinting" capabilities reach the "general resolution minimum", if the people who need to do hinting could get the tools for free from those who make hinting a necessity, that'd be great.
They already gave us a tool. I just want a better manual!0 -
David,
And then I ask for a display of the graphic state after each instruction has being executed, so I can really see what's happening.
What do you mean by the graphic state? I think this may be what Laurence's program did: as I recall, it showed the instructions in raw TT code, and a bitmap at a chosen size, and allowed you to step through the instructions one at a time and see what happened in the bitmap. This was the mid- to late-90s, so the focus was on b/w bitmaps, but presumably the idea could be adapted to handle different rendering environments.
When looking at the Augsburger Initials, one could see the individual align instructions gradually strip the background design from the glyphs. As I recall, Matthew had them all align on the left edge, so that they formed a vertical line with no horizontal dimension, hence unfilled during glyph painting. Very clever.0 -
@John: but a lot of the tools don't show us the freedom vector, projection vector and dual projection vector. I think TypeMan used to do this, although it's been a long time (David can correct me here).
But as far as editing autohints, that would be valuable under certain circumstances. As John mentioned, you wouldn't want to edit many autohinted glyphs, as their methods may produce adequate results, but very inefficiently. And you'd then be dealing with the auto-produced control values table, which would probably be pretty nonsensical.0 -
"I just want a better manual!"
Screw manuals. I had none but the spec, used common type sense, knowing what it's trying to do, figuring out how it does it. You, have 1000s of examples I didn't.
John, the graphics state is what the vectors, reference points, minimum distance Boolean, and rounding variables, everything that effects an instruction, are set to at the time a particular instruction is executed.
When I left hinting in the mid-90s every hinting tool had it. When I retuned to hint in 04' it was go n e... Poof. I asked, no one at MS remembered it. The alternative of couse, is to read through the instructions and figure out the graphics state for yourself.
"...they formed a vertical line with no horizontal dimension"
Today, the way I'd do this is to composite the squiggles and letters apart with a size-dependant composite instruction, and serve the subset result.0
Categories
- All Categories
- 43 Introductions
- 3.7K Typeface Design
- 800 Font Technology
- 1K Technique and Theory
- 617 Type Business
- 444 Type Design Critiques
- 541 Type Design Software
- 30 Punchcutting
- 136 Lettering and Calligraphy
- 83 Technique and Theory
- 53 Lettering Critiques
- 483 Typography
- 301 History of Typography
- 114 Education
- 68 Resources
- 498 Announcements
- 79 Events
- 105 Job Postings
- 148 Type Releases
- 165 Miscellaneous News
- 269 About TypeDrawers
- 53 TypeDrawers Announcements
- 116 Suggestions and Bug Reports