Cursivying - Fontlab 8

Typedesigner
Typedesigner Posts: 47
edited December 2023 in Type Design Software
Does Fontlab 8 now have a "cursivying" function like the Glyphs app? If not, does Fontlab 8 offer an alternative function that does the same? https://glyphsapp.com/learn/easy-oblique

I think this is a very useful function in Glyphs. There may be scripts for FontLab 8 that do the same thing.

Comments

  • You could define a series of discreet transformations and save them as an "Action Set". Your inquiry would most likely get a better reception on the Fontlab 8 Forum.
  • You could define a series of discreet transformations and save them as an "Action Set". Your inquiry would most likely get a better reception on the Fontlab 8 Forum.
    If you don't mind me asking, do you work with FontLab 8 or Glyphs?
  • James Montalbano
    James Montalbano Posts: 99
    edited December 2023
    @Typedesigner I work in FL8. I used Glyphs briefly when I was doing sub contractor work for Monotype, but I never embraced it as my full-time choice.
  • A very practical function of FontLab 8 is X-servant. It enables perfect slanting by maintaining the curve tension of the letters.
  • John Hudson
    John Hudson Posts: 3,149
    Hmm. I’ve not thought about using X-servant in a slanting sitation (since the introduction of the Delta Filter tool, I’ve not used the servant node setting at all). Can you explain or show how you use X-servant in this way?
  • X-servant does not replace the "cursivising" function in Glyphs. However, X-servant makes it possible for the curve tension to remain the same when a letter is slanted. So if the curve tension of a letter is 60, it also remains 60 if the letter is slanted when X-servant is activated. This is particularly relevant for letters with curves. 
  • John Hudson
    John Hudson Posts: 3,149
    edited January 7
    I am wondering to which nodes you are applying the X-servant property in this scenario, e.g. on an uppercase O? All of them?
  • Typedesigner
    Typedesigner Posts: 47
    edited January 8
    It makes perfect sense to apply X-Servant to all nodes at O. With a slanting letter, of course, it also depends on other settings that can be made to balance the letter and make it appear harmonious.
  • k.l.
    k.l. Posts: 109
    @Typedesigner Would you mind to show an example, like two screenshots, with/without X-Servant? Just for others to get an idea what this is about ...
  • k.l. said:
    @Typedesigner Would you mind to show an example, like two screenshots, with/without X-Servant? Just for others to get an idea what this is about ...

    Please understand that I cannot do a tutorial on X-Servant here. X-Servant also does not replace "cursivying" function like the Glyphs app - which is the actual topic here. 


  • James Montalbano
    James Montalbano Posts: 99
    edited January 8
    Please understand that I cannot do a tutorial on X-Servant here. X-Servant also does not replace "cursivying" function like the Glyphs app - which is the actual topic here. 
    @Typedesigner But you first brought X-Servant up.


  • Please understand that I cannot do a tutorial on X-Servant here. X-Servant also does not replace "cursivying" function like the Glyphs app - which is the actual topic here. 
    @Typedesigner But you first brought X-Servant up.


    That is correct. X-Servant helps to design the slanted letters better. 
  • k.l.
    k.l. Posts: 109
    edited January 8
    Nobody asked for a tutorial. I asked for a simple screenshot of what you merely described.

    I am trying to figure out what you are asking for, what your expectations are, quality-wise in particular, given you refer to Glyphs’ function as model and then refer to Fontlab’s possible workaround as not being good enough.

    (Asking as someone who has written his own cursivying function, for FLS5, many years ago. Though I considered its results superior to those of Glyphs, I did not find its results good enough for use in actual type design work. Funny experiment, that’s all.)
  • Thanks for this interesting post. What Glyps App "cursivying" function does can be done manually for each glyph by moving the individual nodes. However, this causes a lot of work. The X-Servant I mentioned, as explained earlier, maintains the curve tension that has already been set for the non-cursive letters.
  • John Hudson
    John Hudson Posts: 3,149
    edited January 8
    Did some tests:

    Setting all the nodes in an O to X-servant doesn’t do anything, because they’re all relative so don’t respond to each other: some nodes have to be masters in order for the servants to work.

    Setting any nodes to X-servant makes no difference when using FL8’s slant tools. Left to right, using FL8 Slant tool to 8°: no servant nodes; vertical extremes to X-servant; all nodes to X-servant:


    The resulting outlines are identical. So I presume you are referring to some method of slanting other than using FL8’s Slant tool?

    Still having trouble understanding what you are suggesting.
  • Typedesigner
    Typedesigner Posts: 47
    edited January 8
    In this context, I recommend the following tutorial:
  • John Hudson
    John Hudson Posts: 3,149
    I assume that this O has a curve tension of 57. If you slant this O, the curve tension that you have previously defined will unfortunately change. However, if you have activated the t-servant, the curve tension remains at 57, which you can measure in FontLab 8.2.
    In the image of the three slanted Os I posted above, each with different application of X-servant nodes (none, top and bottom only, all), the result of the slant operation is 100% identical in each case.

    I checked the curve tension, and I am not seeing any difference between the upright and slanted curve tension—the curve tension is being preserved—, and setting X-servant on any of the nodes doesn’t affect this.
  • Typedesigner
    Typedesigner Posts: 47
    edited January 9
    The letters O are not yet finished. Extrema points still need to be added.
    FontLab does not have a "cursivying" function. Do you move the nodes manually? Which method do you use instead of "cursivying" ? 

    If you move nodes manually, X-Servant is recommended.
  • Yves Michel
    Yves Michel Posts: 176
     Which method do you use instead of "cursivying" ? 
    The Tools > Transform > Slant tool or Actions > Basics > Slant. No need to X-servant any node. And the curve tension is preserved, as mentioned by John.

    I'm not using Glyphs, so could you explain what exactly "cursivying" does? A picture as example would clarify this "dialogue of the deaf".
  • Typedesigner
    Typedesigner Posts: 47
    edited January 9
     Which method do you use instead of "cursivying" ? 
    The Tools > Transform > Slant tool or Actions > Basics > Slant. No need to X-servant any node. And the curve tension is preserved, as mentioned by John.

    I'm not using Glyphs, so could you explain what exactly "cursivying" does? A picture as example would clarify this "dialogue of the deaf".

    Here is a tutorial:
    https://glyphsapp.com/learn/easy-oblique

    In FontLab, this can only be done manually by moving individual nodes. This is very time-consuming. I would like to have a script that does this like in Glyphs App.
  • Yves Michel
    Yves Michel Posts: 176
    Thanks for the Glyphs tutorial: now, it's clearer than before.
  • Yves Michel
    Yves Michel Posts: 176
    I must add that I personally prefer the slanted version than the cursified one in the "mono" example. 
    And I see a contradiction between "Slanting...The problem is that you will lose the weight of verticals through the distortion..." and later "But be careful: While Cursivy can do a pretty good job with your bowls, straight stems will still simply be slanted. But the higher your angle, the more extreme your slanting distortion, i.e., the more your vertical and right-leaning stems will thin out, and the more your left-leaning stems will bolden. So be prepared to adjust your stems a little bit afterwards."

    So, not convinced at all by the Cursivying tool!
  • John Hudson
    John Hudson Posts: 3,149
    I must add that I personally prefer the slanted version than the cursified one in the "mono" example. 
    Agreed. The cursified example shows distortions in the stroke modulation of the o that makes the shape wobbly.

    Tim Ahrens’ RMX Tuner slanter tool does a better job, I think. There was a version for FLS5, but not for FL8. I use the Glyphs version when I need to. Maybe some of us FontLab users should put our money together and see if we can talk Tim into making a version for FL8?
  • Typedesigner
    Typedesigner Posts: 47
    edited January 9
    I also think Tim Ahrens' RMX Tuner slanter tool is very good. Here is a tutorial:

    https://remix-tools.com/fontlab/tutorials

    The functions of Tim Ahrens' RMX Tuner slanter can also be easily implemented in FontLab 8. For example, you can slant the letters 9 degrees in FontLab 8. Then slanted in the other direction to -1 degree. And the result is 8 degrees like Tim Ahrens' RMX Tuner slanter tool. Would that be the right way?

    I tried now it, there is no difference to the direct 8 degree slant. Then you can just add extreme nodes. But this is not a replacement for the "cursivying" function like the Glyphs app.
  • John Hudson
    John Hudson Posts: 3,149
    edited January 9
    The functions of Tim Ahrens' RMX Tuner slanter can also be easily implemented in FontLab 8. For example, you can slant the letters 9 degrees in FontLab 8. Then slanted in the other direction to -1 degree. And the result is 8 degrees like Tim Ahrens' RMX Tuner slanter tool. Would that be the right way?
    That’s not what the RMX slanter does. The example in the video tutorial (for the old FLS5 RMX Slanter tool), was just showing a simple example of a 1° adjustment.

    You can use the RMX slanter to apply any degree of adjustment, and it does three thing: it locates nodes at extremes, it deletes the artifact nodes from the slanted previous extremes, and it applies some curvature adjustment to compensate for slanting. The latter is similar to what Glyphs’ cursify function does, but I prefer the way RMX does it: Tim is more cautious in his approach, so the adjustment is less likely to make the stroke modulation wobbly.*

    That said, I’ve never met an automated slanted curve that didn’t need to be manually adjusted. My colleagues are working through a slanted Sinhala font at the moment; we did an RMX slant of my upright design as an initial phase, mostly for the benefit of the nodes at extremes generally clean outlines, and they they’re manually revising each shape.
    _____
    * Ideally, I think slanting tools should provide some kind of UI to set the amount of adjustment to make, since this is going to vary based on the design, the amount of stroke modulation, and the amount of slant.
  • Is there a known way to achieve the same results without RMX slanter in FontLab 8? 
    RMX slanter is not available for FontLab 8.
  • Typedesigner
    Typedesigner Posts: 47
    edited January 10
    If the contour is edited manually, it is advisable to first determine the node properties automatically. Actions > Detect nodes


  • Typedesigner
    Typedesigner Posts: 47
    edited January 27
    Nice new feature in FontLab 8.3
    The Anchors & Pins panel has a new Center in Metrics button. Select an anchor and click the button, and FontLab will center the anchor horizontally within the advance width. The centering now respects the current master’s italic angle.
  • John Hudson
    John Hudson Posts: 3,149
    Also works between the slanted virtual sidebearings in italic projects.