Maximum UPM for .otf fonts?

2

Comments

  • I doubt that OLD apps would be the ones to worry about for fractional coordinates. Fontographer used to support them directly, so plenty of old fonts had them.
  • FontForge also supports them (and has no way to turn them off, in fact, something I hope to change soon)
  • Ben Blom
    Ben Blom Posts: 250
    I am not sure what is meant by applications that support fractional (decimal, non-integer) coordinates. As far as I know, all published fonts do not have fractional coordinates, but integer coordinates. So when we feed applications only with fonts that have integer coordinates, how on earth can we test an application to support fractional coordinates? There seems to be a confusion here between designing and producing fonts using fractional coordinates, and the final fonts which have integer coordinates.
  • …how on earth can we test an application to support fractional coordinates?
    The same way we test them with any other font. Open up a proof and File >> Print.
  • Ben Blom
    Ben Blom Posts: 250
    James, perhaps I was not clear enough...
    If we feed applications ONLY with fonts that do NOT have fractional coordinates, how can we test an application to support a font with fractional coordinates?
    Compare with this...
    How can we test whether cars support square tires, if we never put on square tires on cars?
  • “As far as I know, all published fonts do not have fractional coordinates, but integer coordinates.”

    This is incorrect. MANY published fonts have fractional coordinates. Back when Fontographer was the most commonly-used font dev app, unless people went out of their way, they got fractional coordinates in the fonts they created.

    Of course, if you are opening fonts in new apps that do not support fractional coordinates, such as FontLab Studio, you will not see the fractional coordinates as they will get rounded to the grid.
  • Ben Blom
    Ben Blom Posts: 250
    You are right, Thomas. I never knew this. I learned something here.
  • No worries. It is a little obscure, to be sure. Most of us have been on FLS and similar tools for a long time, and of course it (and many other tools) effectively suppress our ability to actually SEE the fractional coordinates by rounding to the em grid when they import a font.

    Perhaps this is like discovering a new color you could never see, and finding out you've been wearing tinted glasses your whole life? :)
  • Mark Simonson
    Mark Simonson Posts: 1,734
    edited October 2012
    Why is it considered better to restrict Type 1 to integers (as evidenced by most font editors' behavior when importing fonts, and the lack of support for fractional coordinates)? People are always complaining about the lack of resolution that a 1000 upm coordinate grid allows (see for example the other discussion about using 2048), when fractional coordinates would seem to give designers 100 or 1000 times the coordinate resolution (depending on how many places past the decimal are valid). If it was file size and/or processor load, I think we are well past that.
  • First, I should be clear that I am not entirely sure.

    I do know that there is a legitimate question about being able to see what you're doing. That is, in FOG you couldn't always tell where exactly the coordinate is. In FLS today I spend most of my time zoomed to a level where 1 pixel = at least one font unit. If I add even a single decimal beyond that, it's the equivalent of 10,000 UPM, and I can't see a whole glyph on screen while still seeing every bit of precision in the outline placement.

    So, get me a giant 16K x 9K monitor or the like, and then I'd be very happy to add a single decimal of fractional placement in my 1K em square. But without that... I dunno. I'd probably sooner go to a 2000 or 2048 em.

    Cheers,

    T
  • Just adding .5 of a unit in precision gets you up to 2000 upm in effect.

    I'm curious as to how integers got to be the norm, when there are clearly advantages to more precision. I have routinely run into situations where I had to make compromises on small details because of it.

    I agree that integers simplify things, but it seems like something you should be able to opt in or out of as needed.
  • Is it possible that integers became the norm because Yuri never implemented fractional coordinates and people mistakenly assumed it was a standard?
  • My previous understanding was that fractional coordinates was a Fontographer quirk/feature, and that it rounded everything to integers when it generated a font, because it was required by the spec. Starting to sound more like an old wives' tale.
  • Mark Simonson
    Mark Simonson Posts: 1,734
    edited October 2012
    Or maybe not. I just opened one of my old FOG files, which contains fractional coordinates. When I generate a PostScript Type 1 font, and then import it back into FOG, the coordinates are all integers. Is FOG rounding off on import or export? It's FOG 5, which uses FontLab's generation code, so maybe that's why?

    Guess I should try firing up one of my old Macs that's got the pre-FontLabified FOG on it and test it there...
  • IIRC, fractional coordinates were introduced in FOG 3.5 at the insistence of the user base even though there was a lot of back-and-forth with Altsys about how useful it was. I would have to dig deep into old emails to find out exactly what was said, but the end result was that Altsys added it.
  • I just did a reality check with FOG 4.1.3 on an old Mac and got the same results.
  • I understand the benefit of fractional coordinates in theory. And can see the practical benefit for interpolation and other automated/math-based adjustments to outlines. But my experience with drawing/editing floating nodes in Robofont was frustrating and felt messy. I like using arrow keys and having the "snap" of whole integers. How you would guys go about drawing with floating positions? Sounds like a lot of messy dragging and repeated zooming in/out.
  • IIRC, fractional coordinates were introduced in FOG 3.5

    I did a little digging through my old FOG manuals and found the answer: FOG 4.0.

    I'm starting to think that there are no Type 1 fonts with fractional point coordinates, even it's in the spec.

    Jackson: It would be like working in Illustrator, for better and worse.
  • I like using arrow keys and having the "snap" of whole integers.
    It would be like trying to draw in Adobe apps.
  • The biggest advantage that I recall was the ability to do any number of transformations while in the design stage without accumulating significant rounding errors.
  • Ben Blom
    Ben Blom Posts: 250
    Perhaps this is like discovering a new color you could never see, and finding out you've been wearing tinted glasses your whole life
    Exactly. Because I believed (unjustly) that in final fonts, only integer coordinates are possible, the only way to increase precision in fonts, is to increase the UPM value. Now that I know that coordinates with decimals are possible in final fonts, I feel precision can be increased in final fonts without increasing the UPM value. (In this way, potential problems with higher than usual UPM values, can be prevented.) For this, the following should be possible.
    Design a font in a higher than usual UPM value, let's say 4000, while the coordinates are integer values. (It might be useful if it would be possible, during the design of a font, to be able to convert from coordinates with integer values to coordinates with decimals, and vice versa.) In the final phase, when the final font file has to be generated, convert the 4000 x 4000 integer UPM grid to a 1000 x 1000 UPM grid which uses coordinates with decimals. During this conversion, the precision of the coordinates should not be altered, so coordinate values should not be rounded.
    Can we expect that something like this will be possible in the future? Or is this, perhaps, already possible today?
  • I like using arrow keys [...]
    I do draw in Illustrator, Jackson, at least until the forms of the key glyphs are set. And I use arrow keys all the time. I also get to use Preferences to set my arrow keys as coarse or fine as I like. You can't use cursor keys to move a handle directly, of course, but you can nudge a whole curve one way or the other with a great deal of precision. The whole thing is very precise, and as Mark S says, you can scale and transform all you like without degrading your forms thru rounding errors.

    I understand that I'm not just a dinosaur, but a rarity among dinosaurs. But I've been using Illustrator since before 1.0, and it's just very natural for me.
  • Seems like the best of both worlds would be to be able to work with a unit grid set to a specified level of coarseness (say, integers), but to be able to override it when you need to. You could sort of do this with FOG by setting the grid to 1 em unit and enable snap to grid, or disable it when you wanted more precision.

    I'm still not so sure FOG actually generated fonts with non-integer point values.
  • The user and all related content has been deleted.
  • Can we expect that something like this will be possible in the future? Or is this, perhaps, already possible today?
    You can do that in Glyphs. There is a custom parameter to scale the font on export time. I use it when I generate TTFs from my 1000 UPM multiple master files. So The interpolation uses fractional coordinates. The rounding only kicks in after the scaling to 2048 UPM.
  • You can't use cursor keys to move a handle directly, of course, but you can nudge a whole curve one way or the other with a great deal of precision.
    How do you work around the inability to fix angles of smooth handles? And believe me, moving handles with cursor keys is a big deal. And moving a hole bunch of them at once...
  • Ralf
    Ralf Posts: 170
    You can do that in Glyphs. There is a custom parameter to scale the font on export time.
    Great! Is is already documented somewhere? Or maybe a Glyphsapp blog post would be nice. As I just learned in this post, by latest OTF font with coordinates over 5000 could cause some trouble.
  • From the discussion here, I am starting to wonder if my understanding was deeply wrong. I'll be seeing David Lemon in a few hours here at ATypI; I'll inquire of him.
  • How do you work around the inability to fix angles of smooth handles? And believe me, moving handles with cursor keys is a big deal. And moving a hole bunch of them at once...
    If you mean, how do I work around Illustrator's lack of tangent points, that's simple: I swear. It's a real pain. At this point I'm pretty good at eyeballing them, knowing that when I drop the drawings into FL, they'll either turn themselves to proper tangent points or break (which FL-created tangent points also do, when I transform glyphs within FL).

    Yep, I know moving handles w/ cursor keys is a big deal, because I do it, lots, when I'm drawing and redrawing in FL. All I can say is, nudging and dragging curves in Illustrator is, for me, at least as powerful. As for moving a whole bunch of handles at once, I guess I don't understand you. I generally refine one curve at a time. But you can select multiple curves and drag or nudge them together, if you like.

    There are other things I like about Illustrator: all the align tools, for instance. And the blend tool is really convenient for creating lots of variations to choose from: if I'm not sure how wide the w should be, I draw one that's too narrow, copy it and make it too wide, then interpolate 10 w's between the narrowest and the widest and, presto, there's a neat row of alternatives waiting for me to pick out my favorite. Same thing with determining the weights of each font in a family, or figuring out in advance what'll go blooey in Superpolator. Yes, you can do this w/ MM in FL as well, and maybe even do it better, but I just find this very easy.

    And, believe me, I'm not evangelizing; it's most likely true that drawing directly in FL/Glyphs/Robofont is easier and/or better and that I'm doing everything the hard way. But this just feels right for me. Frankly, anything that's not FL tends to feel good for me. (One day I'll finally get around to trying out my copy of Glyphs, at which point I may use Illustrator less.)

    James M, do I understand you to say you draw in Illustrator 88? I thought you said on another thread that you use v10, for the MM sliders.