Nodes at extremes. Does anyone care anymore?

Christian Robertson's picture

Aside from making things easier to manage while drawing, is there a good reason do put nodes at extremes? From what I understand, at one point software would get confused if they weren't there. Is that still the case?

ebensorkin's picture

It is still good practice and it is practical too. Are thinking of avoiding it because you have auto-converted scans of glyphs? What's the context?

hrant's picture

1) Hinting relies on maxima.
2) I think some RIPs might ralph.
3) I suspect conversions (like from cubic to quadratic beziers) would suffer.

hhp

Christian Robertson's picture

I have been trying to think about beziers differently. I've noticed with my recent stuff how much the traditional placement of the node points has been influencing my work. I've been experimenting drawing letters 'free form' without the nodes at the extremes and it's producing some interesting things. Maybe I'll insert all of the proper nodes at the extrema when it's time to export the font.

One of the other things I've been doing is forcing myself to insert extra points. I learned to use as few points as possible when I was first learning because it was hard to keep the letters from becoming lumpy. Now I want them to be a little lumpy, because I can control the curves a little better. Here's an example.

Notice that the curve on the top-right of the n on the right is impossible with just the two points at the extremes. The third anchor with control points at 45 degrees allows an interesting and less common curve.

Christian Robertson's picture

Here's the character that got me thinking about it. While you could draw it with the nodes at the extrema it would take a lot more points to express the same subtleties.

dezcom's picture

But you are not ignoring extremas in your example. You are adding points to control the curve to suit you. The RIP will have no problem with your sample and it should still hint fairly well.

ChrisL

hrant's picture

It's good to see a designer worry about the dark side of his medium.

1) Maybe Raph's cornu-spline editor could help?
2) If you manage to draw the final forms on paper with pencil & eraser, beziers will have a lesser influence.

hhp

Christian Robertson's picture

I should have posted the a with it's unconventional curves. The n's, of course have points at their extremes. I just wanted to show that placing four curves at the corners of your glyph can be really limiting. Here is the a showing the anchor and control points:

> the dark side of his medium.

Ha ha. That's funny. Most designers think about the curves this way - as a necessary evil. I'm fascinated by them. They are powerful because they are constrained. That's why they were invented: because there is a limited set of possibilities for every curve, it's easy to create smooth (limited) curves. They make curved lines as rational as straight lines.

> with pencil & paper, beziers will have a lesser influence.

That may be true, but I like the influence of the beziers in my work. For one thing, my hands are really shaky :) Whether people realize it or not, the limitations in the curves have influenced type design, I think in a good way. With the curves I often make shapes that I wouldn't have thought of if I were drawing by hand, but to your point, the converse is also true. The limitations in the curves make each one beautiful (string them together and it's another story). They can also be boring.

I've also started trying to draw with quadratic beziers. Because they are even more constrained than cubic curves, you have to string them together. The are a lot harder to manage, but they force me to think about the curves differently, and their tendency to get lumpy faster in some ways makes them more flexible.

Randy's picture

Hi Christian.

I do sometimes do a variation on what you're talking about.
Instead of drawing with curves though, I hash things out with straight lines. This allows me to very quickly block in the shape that I want. Once I have it looking like a Pressig type, then I use FLabs line segment to curve tool to sculpt in the curves.

I guess more than anything, I think it's refreshing to mix up your technique. If you do it the same way all the time, your type will start looking the same, because it will be a result of the technique as much as your brain. I recently went out and bought linolium block print stuff. I've been carving into that for some ideas on a poster. My spouse comments that the results don't *look* like my designs. This makes me happy, and it's really fun to dig away at the lino. Much more fun than tweaking beziers!

My problem: too MUCH experimentation, not enough production work. Sooo many single font types on my hardrive missing uppercase, or numbers, or monetary symbols, etc because another idea came along.

Randy

Randy's picture

I do the do.

Miguel Sousa's picture

I believe that something you should really really strive to have is nodes at the extremes of the glyph, i.e. farmost left and right points, and topmost and lowermost points.
But hey, even that being said, take a look at Minion Pro's f. I believe that in this case the designer didn't want to sacrifice his ideas, just because of technological limitations.

John Hudson's picture

You can get away with an absence of extremum points on short curve segments in PS fonts, as in Miguel's example from Minion Pro, but even if you are not using them to define curves they should be added to any major bowls or arches because they are needed for reliable hinting.

In TrueType fonts, the format is more demanding of points on extremes, especially at the outer edges of a glyph. If they are missing, it messes up bounding box calculations and has an impact on hinting. I had some short, shallow curves in my Ethiopic typeface that did not have nodes at extremes, and Tom Rickner sent it back to me requesting that they be added before he started hinting.

The CFF specification allows for PS fonts with a non-1000 UPM, and I've been using larger UPMs for most recent projects (including one design with a UPM of 4096). This makes it easier to add extreme points on shallow curves without distorting the design. With a higher UPM, you can make much more finely detailed designs; this is particularly useful, of course, for display types that will be used at sizes that reveal such detail.

dezcom's picture

John,
What is the downside of high UPM designs? Are the file sizes much larger?

ChrisL

John Hudson's picture

Yes, the file size will be larger if you use a larger UPM, and the greater the number of glyphs in the font the larger the impact of the UPM size will be (this is why some early CJK fonts had very small UPM values). I made a couple of tests:

CFF outline font with 202 glyphs
1000 UPM = 27.7 KB (100%)
2000 UPM = 29.6 KB (106.9%)
4000 UPM = 32.0 KB (115.5%)
8000 UPM = 34.5 KB (124.5%)

CFF outline font with 1,808 glyphs
1024 UPM = 194 KB (100%)
2048 UPM = 209 KB (107.7%)
4096 UPM = 223 KB (114.9%)
8192 UPM = 243 KB (125.3%)

I suspect you would find similar patterns for fonts with different numbers of glyphs: approx. 7-10% increase in size each time you double the UPM size and scale the outlines.

hrant's picture

Just a note though: if you plan to output the font in Type1
format, I think anything other than 1000 will cause rounding.

hhp

John Hudson's picture

Type 1 fonts, or systems and applications trying to render and space them, have all sorts of problems if you try to use a UPM other than 1000. Only try this for TrueType and CFF fonts.

hrant's picture

> a UPM other than 1000

Although I think integer divisors of 1000* are OK.

* Which IIRC are often used for CJK fonts.

hhp

dezcom's picture

"I suspect you would find similar patterns for fonts with different numbers of glyphs: approx. 7-10% increase in size each time you double the UPM size and scale the outlines."

Thanks John, I am surprised that the dfference is so small. I had envisioned exponential growth.

ChrisL

Christian Robertson's picture

That's great. I had wondered what difference it would make to boost the UPM. It sounds like I'm going to be moving to a higher resolution. So long 700 cap height. Hello 2800.

eomine's picture

Instead of drawing with curves though, I hash things out with straight lines. This allows me to very quickly block in the shape that I want. Once I have it looking like a Pressig type, then I use FLabs line segment to curve tool to sculpt in the curves.

I've been using this technique for some time too. It's very useful, especially for complex shaped.

BTW, in Christian's "a", some curves (at the top, for example) end in points with no BCPs. I recall reading this thread in which Alan says such constructions may cause errors:

[...] this can produce errors, since it is effectively creating a point-on-top-of-point situation.

Also check this other comment on the same thread.

-- omine.net

hrant's picture

I've had problems converting cubic to quadratic with points that have "missing" BCPs. But when Alan writes "it invites you to define the curve properly", I would counter that one app's "proper" can be another human's "inelegant"; to me there can be something very good about a point that just sits there and "receives" the curve from an adjacent point; sometimes the alternative becomes to "overdefine" the curve.

hhp

John Hudson's picture

As far as I can gather, FontLab Studio 5 has improved bezier->quadratic conversion, and a bezier BCP that sits atop a node will no longer result in a duplicate quadratic node. I have not tested this thoroughly, though, and perhaps there are some kinds of curves in which there may still be a problem.

twardoch's picture

OpenType TT fonts (.ttf) can have any UPM size from (I think) 1 to 16,000. Values such as 1000, 2000, 2048, 4000, 4096 etc. all work well. There are no known limitations or side-effects.

OpenType PS fonts (.otf) typically have the UPM size of 1000 but other values are possible as well. There are some side-effects for fonts with non-1000 UPM sizes. One is that *certain components* of some Adobe applications such as InDesign CS (there may be others, I haven't checked extensively) *assume* that an OpenType PS font has the UPM size of 1000. Precisely: a non-1000 OTPS font will show and print fine in InDesign CS but the *text cursor* will always be 1000 units high. So if your font has the UPM size of 2000, the text cursor while you edit the text in InDesign will be only half-size of the type. I'd say it's a cosmetic bug but it is one.

There may be other problems as well. Unfortunately, since Adobe does not make non-1000 OTPS fonts, they do not test their applications with such cases. Therefore, I encourage everybody to build non-1000 OTPS fonts, test them in all environments that are available to you, and file bug reports to the respective companies. You can always cc adam at fontlab dot com, I'd like to known about the problems you discover.

Adam

hrant's picture

> There are no known limitations or side-effects.

Except that non--power-of-2 values:
1) Can cause a slight loss in rendering performance.
2) Erect a barrier against potential licensing by MS. :-)

> OpenType TT fonts (.ttf)
> OpenType PS fonts (.otf)

BTW, I thought the file extension (".ttf" versus ".otf") is
actually no indication of what flavor of OpenType is in there.

hhp

dux's picture

>> Instead of drawing with curves though, I hash things out with straight lines. This allows me to very quickly block in the shape that I want. Once I have it looking like a Pressig type, then I use FLabs line segment to curve tool to sculpt in the curves.

never thought of doing it that way... :)

twardoch's picture

> Except that non—power-of-2 values:
> 1) Can cause a slight loss in rendering performance.

Well, yeah. But these days, the only thing that significantly impacts rendering performance is the number and depth of lookups in an OpenType font, esp. those associated with features that are on by default, such as "calt". Fonts with extensive contextual features such as Zapfino Extra LT Pro or Bickham Script Pro take seriously more time to render in InDesign or even Notepad if you use them to typeset 50 or 100 pages of continuous text.

> BTW, I thought the file extension (“.ttf”
> versus “.otf”) is actually no indication
> of what flavor of OpenType is in there.

OpenType PS fonts must have the ".otf" extension. OpenType TT fonts may either have the ".ttf" or the ".otf" extension but the vast majority has the ".ttf" extension since OpenType TT fonts with the ".otf" extension will not work on Windows 95/98. All FontLab products generate OpenType TT fonts with the ".ttf" extension and OpenType PS fonts with the ".otf" extension.

So, strictly speaking, you are right. Very strictly speaking, you are even more right because nothing prevents an OpenType font from having a ".jpg" extension. It may even work in some operating systems ;)

Adam

hrant's picture

So Christian, I have proof that extrema matter, right here, right now:

On the second page of the Type Quiz* there's a glyph with a wobbly outline; I've just discovered that the curve itself is fine, but the wobble is in fact due to a missing extremum, which is throwing off Photoshop's rendering! (Ah, the things that excite a type geek...)

* http://typophile.com/node/15787?from=50&comments_per_page=50

hhp

hrant's picture

Uuuh, it turns out I gave the wrong party the benefit of the doubt: the extremum is missing, but Photoshop isn't misrendering it - the curve itself is just bad. :-/

hhp

Syndicate content Syndicate content