Joshua Darden - vector and control handles

csjDK's picture

I was wondering if somebody could help me with clearing up, what I believe to be a little vector or font design issue. I was killing some time with drawing some letterforms in FontLab. And I just be coincidence opened up Joshua Dardens Freight Sans. And I saw something completely new to me, regarding the vector curves. I’m not sure how to explain this, but I will try my best. It is as if all the control handles endpoints are linked or sticking together. So that you can’t edit one without effect the opposite one. (I have added a picture too illustrate this, since I can’t explain it proberly).

Do any one know how this is done or give me a clue? I have spend the last hour looking through FontLab trying to sort it out, but I can’t. So look at the picture or even better if you have a font by Joshua Darden see or experience it for yourself (I guess everyone is more or less done the same way).

Thanks very much.

AttachmentSize
Skærmbillede 2010-01-18 kl. 21.10.43.png50.54 KB
Paul Cutler's picture

I don't know how it's done in FontLab but it's easy in Illustrator or InDesign. There's a tool that looks like a tilted V (Convert Direction Point tool) that allows you to independently pull any control handle endpoint.

pbc

William Berkson's picture

That looks like a true type font, with quadratic splines. You can have font lab convert it to Beziers if you like. Just have FontLab save it as Open Type PS.

csjDK's picture

Thanks for your answer. I'm not sure we are talking about the same thing. I'm not explaining myself very well. I don't mean how to control endpoints in general, but i'm more interested in how Joshua Dardens endpoints are sticking together.

So i have made a little video, that might or hopefully explains a bit better than i'm able to.

http://dl.dropbox.com/u/1974637/video.mov

csjDK's picture

"That looks like a true type font, with quadratic splines. You can have font lab convert it to Beziers if you like. Just have FontLab save it as Open Type PS."

Thanks... I will go check that out.

Tomi from Suomi's picture

Hi, Christian-

I just watched your video, and you were working with TrueType vectors. In FontLab you can change that to PS1 vectors. I have a panel to do it with, so just keep looking for the right place. It is there.

andyfeind's picture

Maybe I’m drunk, but the graphic you linked to seems to me to be… weird.

At the top of the counter it seems to be a cubic Bézier curve (every on-curve point has 2 off-curve control points). This would be a PostScript curve. At the lower left part of the counter though, there are 4 off-curve control points which would be a Bézier curve of 5th degree (??). The same holds for the outer curve. A quadratic Bézier curve – in font tech terms: a TrueType outline – has alternating on- and off-curve points.

If you are worrying about connected or not connected control points, I would say this is purely an alternative way of displaying the same fact. If you move one control point, the curve should behave exactly the same way in either case. I don’t know too much about FontLab, but there definitely has to be an option for the display of curves.

So, if your font has consistently 1 (TrueType) or 2 (PostScript) off-curve points, everything should be fine.

I hope I could help, and please correct me if I’m drunk…

twardoch's picture

On the image included in the first point, the entire glyph is made out of quadratic B-splines. This is the normal way how they are constructed.

nina's picture

See p. 354 of the FontLab manual, if I'm not mistaken it shows this exact thing.
(«Some TrueType curves may appear linked together and form a long curve with off-curve points only. In such curves, the intermediate on-curve points do not exist explicitly, but are implied by the rasterizer.»)

_null's picture

I might be well off the ball - but the splines generated by Sprio look like this (when they are taken into fontlab...)

Maybe he used Spiro?

twardoch's picture

Guys,

there is nothing unusual about those curves. These are regular TrueType curves, and they've been around like that for the last 20 years.

B-splines don't need interweaving on- and off-curve points. You can have a number of consecutive off-curve points on a quadratic B-spline.

A.

Jack B. Nimblest Jr.'s picture

>B-splines don't need interweaving on- and off-curve points.

That's got to be corrected, but I know to skip you because I spend a good amount of time documenting the TT drawing issue which you never presented to Yuri. :)

Cheers!

twardoch's picture

David,

Yuri and I discussed this problem a few times. We definitely plan to fix it in the next version of FontLab Studio.

A.

k.l.'s picture

A.T. -- We definitely plan to fix it in the next version of FontLab Studio.

That's good news!

A.T. -- B-splines don't need interweaving on- and off-curve points. You can have a number of consecutive off-curve points on a quadratic B-spline.
D.B. -- That's got to be corrected

You mean the fact that inbetween two consecutive off-curve points there is an implicit on-curve point?
This leads to one more suggestion in terms of TT drawing tools, perhaps it has already been made:
Show these implicit on-curve point on the outline, but grey them out. Then the designer can see that moving one of consecutive off-curve points does have an effect on the implicit on-curve points. This might help demystify the editing of b-splines because the actual behavior (the effect that editing off-curve points has on implicit on-curve points and thus on the outline) is visualized.

Karsten

Tim Ahrens's picture

I don't mean to be pedantic, but neither PS not TT use "B-splines".

B-splines stands for base-splines, which are not used in fonts nowadays. See http://en.wikipedia.org/wiki/B-spline

Type 1 and OpenType CFF use third order (cubic) Bézier curves, whereas TrueType and OpenType TT use second order (quadratic) Bézier Curves.

A spline is a combination of several curve elements.

CurveDoctor's picture

You mean the fact that inbetween two consecutive off-curve points there is an implicit on-curve point?

There isn't, it might be off the grid :-)

k.l.'s picture

There isn't?
Of course there 'is' no additional point. For exactly this reason I spoke of 'implicit' on-curve points in my previous post. I do not add words just for fun.
It appears that you completely missed what I said: If FLS5 were showing such 'implicit' points (these points that do not 'exist' in the data), this would help type designers understand the sometimes drastic effect of moving off-curve points, simply for they could see how off-curve points and curves relate to each other. Visualizing 'implicit' on-curve points is the key to understanding editing behavior.

Off which grid?

Tim Ahrens's picture

Of course there are implicit on-curve points in TrueType.

I guess you suggest to show them like the red ones in this image?

[source]

CurveDoctor's picture

Off which grid?

the UPM grid, is there another that could be relevant? I did not miss what you said. Acting as if there is an on-curve point between two off-curve points is wrong in my opinion. It cannot be there without destroying the smoothness of the curves. Let's say the calculated on-curve point is on x 469.50 y 321.49. Implicating this is a usable point is curve cruelty. What you envision to help your colleagues is already there, a subtle gray line between two off-curve points, touching the curve in the implicit theoretical on-curve point. It shows already how off-curve points and curves relate. Showing the touching point would be confusing and misleading. It would be similar to the myth that a 2nd order curve can be expressed with 3rd order curves without loss of quality. In mathematical theory that is all correct, but the elements of those poor type curves are always bound to a stringent grid.

I strongly believe that visually understanding 2nd order curve editing behavior needs a wholly different drawing interface, yet to be invented by some brilliant brain.

Back to medicating 2nd order curves in my practice :-)

Tim Ahrens's picture

Acting as if there is an on-curve point between two off-curve points is wrong in my opinion.

Writing all posts in monospaced is wrong in my opinion.
Not telling the forum your real name is wrong in my opinion.

k.l.'s picture

Tim -- I guess you suggest to show them like the red ones in this image?

Yes, exactly like this, thanks.

CurveDoctor -- It cannot be there without destroying the smoothness of the curves ... What you envision to help your colleagues is already there, a subtle gray line between two off-curve points ... It shows already how off-curve points and curves relate ...

You still did not get it.
Acting as if there was an on-curve point does not destroy smoothness of the curve (via rounding errors) since, as you yourself said, there is no on-curve point. The interface merely showed where it would be. UPM and rounding errors is a completely different subject-matter.
The subtle grey line, contrary to your claim, is not enough. That it touches the curve somewhere is obvious. But that it touches the curve at exactly pOn3 = (pOff1+pOff2)/2 (sorry for the odd notation) is far less obvious unless one knows it. Visualizing this point however makes the point's position (relative to the two off-curve points) and thus the way it (and they) determines the curve clear.

[P.S. Sorry for three posts for such a tiny point.]

CurveDoctor's picture

k.l., my point is that it is misleading; in Tim’s picture the red points are going to be clicked on if it were an editor.
Why do you think is it important to visualize the touching point halfway between 2 off-curve points? Did you actually design your beautiful letterforms with 2nd order curves?

A cubic Bezier curve also has an implicit on-curve point exactly in the middle between the middles of the lines between the middles of the Bezier control vectors and the midpoint between the BCPs. Visualizing this might help understanding the effects of moving the on-curve points, but it doesn’t help designing smooth curves. Equally to what you propose it would be confusing.

Not what is inside - between 2 off-curve points - but what is outside needs visualization, how do a range of off-curve points relate, are their distances equal or progressive. That's where tension can come from. Showing half distances (the implicit on-curve points) would obfuscate progressive distances. If off-point distances are 8, 10, 12, your proposal would visualize 4 4 5 5 6 6. I think that is distracting.

Writing all posts in monospaced is wrong in my opinion.

My typewriter is monospaced, all letters and invoices to my patients use monospaced type, all mail I read and write is monospaced. I have ordered these discussions in the mail category. Why is it wrong? Proportional type is for books and newspapers ;-) But I admit that it is not a very pretty monospaced font I see in my browser. Eeks, fake italic.

yuri's picture

While I can't see a big reason to visualize implicit on-curve points in TT drawing mode, I can imagine while one can need them, so I think we will do some kind of visualization.

To contribute to the discussion I'd like to add that FLS does have some "spline-like" type of curves which are accessible if you switch to the Sketch mode. These curves are nice, they approximate arcs (like in Ikarus) while their points are in "correct" place, and if they are far from the outline, they became splines. For off-curve points there is no limitation to sit on the integer UPM grid, while in Sketch mode.

k.l.'s picture

Sounds great, thanks!

John Hudson's picture

Yuri, I've never used the FontLab 'sketch' mode, mostly because it always displays major distortions when I look at existing bezier glyphs in that mode. There doesn't seem to be reliable visual relationship between shapes in the two modes. Take a look at these serifs:

Syndicate content Syndicate content