why does FontLab interpolation turn my straight lines in to curves? is there any way to keep this from happening? and where's that thread on weights?
has anyone on these boards used superpolator? i'm wondering how easy it is to use if you haven't actively used RoboFab tools before.
Oh, and i found the thread i was looking for:
Family How-To
LOL that sounds like a cource on procreation, sorry.
Paul,
If you ever used interpolation or blending in FOG, you would have seen very different behavior and different options. I used the interpolate and MM options in FOG to great effect; they have saved me a ton of work.
I've asked Ted and Yuri about the strangely-worded option "Do not interpolate compatible outlines", because not only does it do something different than it implies, it's the opposite of what I want: I want to interpolate the compatible outlines (which FOG does), and those that aren't compatible, shouldn't interpolate (which also works in FOG).
Basically there are a lot of bugs in the way FL handles this and I'm hoping they get them cleared up. Meanwhile if you really need reliable interpolation, go back to FOG.....
Bump!
I found many of the same bad behavior in FLS5 for Windows. I fear it will all end up in the Mac version as well. Points being added, points being removed, no clear way to do straight linear interpolation without some weird Font Chameleon-like behavior. My outlines are already compatible; Can I just blend them normally, like FOG did?
Adam, Yuri, any news here?
This is behaviour which is still in FLStudio5Mac, and which has been reported to Yuri Yarmola and Alex Petrov at FontLab by Peter Bil'ak, James Montalbano, and myself. The latest Beta still shows this problem, but there is hope in my heart that this issue will be addressed. Perhaps the program can check target glyphs for BCPs, and if none are present any BCPs created duting a Blend are retracted...
"“Do not interpolate compatible outlines” ??? Tom, that's all we want to do...
"Agorithms are slightly different and MM version just works better. "
Yuri! Just make one that works, everywhere, please. An interpolation that takes compatible outlines as input, and outputs a compatible outline is a fundamental right of all type designers since 1989, 1 9 8 9 !! I promise to give it compatible outlines or it's my problem, you hear?
Yes, they are compatible.
But this would be a stupid thing to do if you were making a font, as I would supect the glyph to make an ugly overlapping flip in the middle weights.
I'd think most designers would expect the above behavior given that you've moved the location of the start node so drastically. In most cases we're talking weight, width, and optical scale changes, not turning an n into a u between light and bold. If a designer wants to do that, let them call Letterror.
R
But what should do the algorithm with two 'O' glyphs made from 8 curves with incorrect placement of startpoints or incorrect ordering of contours? Formally these two 'O' are compatible - they have same type of points in the same order, but in reality they are not. Algorithm that we use tries to detect such situations and fix them.
In any case, I will always recommend to build MM font using Blend feature - in this case you will minimize chances for rounding errors.
"But what means “compatible”?"
YIKES!!!!!!
"In any case, I will always recommend to build MM font using Blend feature - in this case you will minimize chances for rounding errors."
I'm not experiencing "rounding errors". FL is adding and deleting unnecessary points when blending two COMPLETELY COMPATIBLE outlines. See definition below.
"But what should do the algorithm with two ‘O’ glyphs made from 8 curves with incorrect placement of startpoints or incorrect ordering of contours? Formally these two ‘O’ are compatible - they have same type of points in the same order, but in reality they are not. Algorithm that we use tries to detect such situations and fix them."
A-HA!
I use the term compatible to mean that situations such as you describe here are already corrected by the designer. In other words, the designer has spent a lot of time to make sure that the two fonts being blended have outlines that:
Have matching path order
Have correct path directions
*Have corresponding (matching) start points, in correct matching locations*
so compatible means there isn't anything left for the software to do but mathematically average the data between the two masters. No added points, no "corrections", no detecting and fixing. I think of interpolation as a very simple operation. FL seems to be making it more complicated than it needs to be.
Font Chameleon was the tool to use when blending two completely unrelated sets of outlines (like Garamond and Futura). But we are designing various weights like Light and Bold from the ground up to be compatible. Sometimes we make one master from the outlines of another master, ensuring compatibility from the beginning. I want FL to correctly blend compatible outlines (per definition above), OR, give a message that the two outlines are not compatible and refuse to blend. Nothing in between helps me, because it requires manual cleanup to correct the bad resulting shapes.
OK. So you need an option which will just to the interpolation without thinking about anything. Good, it can be done without much programming. Basically it can be very easily done with Python by anybody :).
What about line vs curve? Are they compatible? (In FLS we have true lines as opposed to Fog which is all-curves).
True, shmrue. A vertex has two BCPs (one incoming and another outgoing) each one being an X-Y pair defining a vector; each X or Y can be anything from minus-whatever to zero to plus-whatever; and you just interpolate them. A so-called "line" is just a curve between two vertices that "abut" zero-X&Y BCPs; I can't think of a reason to treat it any differently than a curve (especially since FontLab actually provides EXTRApolation too).
BTW (as David once conjectured) didn't you
acquire the Fontographer interpolation code?
hhp
Crossgrove --
I use the term compatible to mean that situations such as you describe here are already corrected by the designer. In other words, the designer has spent a lot of time to make sure that the two fonts being blended have outlines that:
I'm not sure how comfortable you are with Python, but have you had a look at using RoboFab's interpolation with FontLab? http://www.letterror.com/code/robofab/howto/interpolate.html
RoboFab won't do any interpolation if the source glyphs aren't strictly compatible in the way you describe what compatible should be, and its method isCompatible() is able to report back to you what the incompatibilities between glyphs are (if any) before interpolating. I think RoboFab's introduction script for Interpolation would do exactly what you're looking for without any editing other than maybe changing the interpolation factor.
-- Andy
Thanks Andy,
I do know about this script and have tested it out. I can use it to do simple blends, but if I need to set up a MM file with several masters, I'd like to be sure FL isn't 'helping' me by adding points and changing my outlines.
More than this, I think FL should offer the option to interpolate without changes, and also, clearly labeled, the option to blend incompatible fonts if the designer wanted it. I can see uses for either method, but both should be included and clearly differentiated.
Captured from web.archive.org on 3 Jul 2011. view this capture