How to efficiently create extrusion effects in Fontlab 8?

Hi all, 
I'm working on a family that includes a 3D shadow. Fontlab helpfully includes an extrude filter that almost does the trick. However, even with the border width set to 0, it still includes an outline of the character. I then have to manually erase this outline. This is insanely time consuming, and makes later changes next to impossible. Is there a better way to do this, especially with multiple masters? 

What I get: 

What I want: 


  • Ray LarabieRay Larabie Posts: 1,356
    edited July 2022
    I use this technique in FontLab Studio 5.
    3D extrude -50, -50, 0
    remove overlap
    cleanup E,4 (adjust to taste)
    remove overlap
    remove overlap
    remove overlap
    remove overlap
    remove overlap

    You can see the result here but I had to trim a couple of strays on the circle cusps. I usually put the original font on the mask layer and visually check for anomalies.

  • edited July 2022
    Thanks, Ray! I guess that worked in Fontlab 5 (I can't check anymore), but in Fontlab 7 and 8, the extrude function goes out of its way to add a 1 unit outline, even if the border width is set to 0. It's added on the outside, so I can't even mess around with overlaying the original shape to try to blot it out. I've submitted a bug report for it, though I'm sure this was intended as a feature.  
  • Thomas PhinneyThomas Phinney Posts: 2,632
    Just because something was intended as a feature, doesn’t mean the app should have no way to override it. Clearly true in this case!
  • Ray LarabieRay Larabie Posts: 1,356
    FontLab Studio 5 adds a 1 unit outline but the cleanup feature causes it to overlap and the remove overlap actions obliterate most of the debris.
  • Sadly, that behavior seems to have been fixed in Fontlab 8, but I just hit on another method that looks like it's working (at least for simple shapes)
    1. Apply 3D Extrude effect with Thickness= 0
    2. Select the resulting outline and apply Create Parallel Contour (offset 1) 
    3. Remove Overlap

    Since the extrusion result is a curve that's exactly 1 unit larger than the original shape, creating a parallel contour that is 1 unit smaller all around results in the shadow being congruent with the original shape. Once the overlap is removed, I end up with an acceptable result that only needs very minor tweaking. 

    So far I've only tried this on one glyph, so this may or may not work out. 
  • Yves MichelYves Michel Posts: 124
    I forwarded this interesting problem to the Fontlab staff.
    The answer is :"Extrude will be improved in the next build".
    So, let's be patient! They keep their promises.
  • I have no doubt they will improve it, though not by my deadline :) 

    The method that I outlined above does work, though for curved characters, cleaning up the random debris is more time consuming than the precise outline removal from the first method, so for now I'm stuck with that. 
    I also got an Illustrator subscription to see if I can do it there, but apparently that's not an option, or at least I haven't found a tutorial on the 3D Extrude effect that produces the results I want. 
  • This is improved and coming to the beta build soon.
  • Thanks, Yuri! That's much appreciated! I get the beta versions, so I'll check it out when it's ready! In the meantime, I got an illustrator plugin that does a decent job with it, but it's less than ideal. 
  • edited August 2022
    @Yury Yarmola I just tried it out. This is excellent! It would have been a godsend two weeks ago  :D  I noticed there are still registration errors that I suppose may have to do with rounding? (The font uses rounded coordinates). I use a 1000 unit em square. I'm wondering if a larger em square would improve the accuracy? 

    The magenta line is the original glyph shape. The shadow being offset will cause a registration error when both layers are used together. 

  • Beta Version 8248 corrects the problem exposed by Oliver.
    Thanks to the staff at Fontlab!
  • So it is! Wonderful, thanks from me as well!
Sign In or Register to comment.