DeltaMachine vs Font Remix Tools + Question about TypeRig.

Igor PetrovicIgor Petrovic Posts: 263
edited April 2020 in Type Design Software
On the FontLab forum, I saw Adam Twardoch's post about DeltaMachine. For those who don't know, it's a script/plug-in for FontLab 7 (based on Tim Ahren's publicly available theory works about interpolation tools), and it's developed by @Vassil Kateliev.

I tried to reach Vassil via FB, but I guess that message ended up in the spam folder. :) Hopefully, he will see the mention, because I see he is active here, but also hope that some other people might share their experience. 

I am interested to know about functionality comparison between DeltaMachine and Font Remix Tools.

Also, is DeltaMachine already coded, just waits for the docs/user manual, or it's in the development stage? 

And while we are here, a question about TypeRig, also developed by Vassil. I can see that it has a lot of functions divided by the vertical tabs. Before I dive in, just wanted to check, what's the general scope of this plug-in (what help one should expect from it, maybe a few most useful options etc.), and what's the best way to get a grasp on using it? Are the functions self-explanatory, and I just have to experiment or there is a user manual. 




  • My question about TypeRig is: does it work with FL7? Everything on GitHub and his SDK site mentions only FLVI.
  • John HudsonJohn Hudson Posts: 2,974
    They should work in FL7: the codebase and, I believe, scripting API are the same. That said, I've not had occasion to test them.
  • Thomas PhinneyThomas Phinney Posts: 2,748
    Yes, TypeRig has been getting updated extensively for FontLab 7, and is being tested/used with the most recent versions of 7. Vassil just needs to update his docs.

    Although TypeRig does a bunch of cool things, a significant chunk of its functionality is specifically useful for working with variable font development.
  • You could think of TypeRig (TR) as the unofficial-but-official API of Fontlab. Yes it works  both with FL6 and FL7 (to most extent), as the core FL API has not changed much between versions. It is even bundled with the last few versions of FL :)

    TypeRig is split in two parts, that are currently distributed together - the core lib and the GUI. The core you could use as any other API. It functions as a proxy to FL and glues together the two major parts of FL API -  fontlab and fontgate. It also simplifies a lot the python scripting. As you might know FL API is extremely powerful, but very hard to understand - it took me three years of brute-forcing the app to just learn what api call does what action and how to combine them together for my needs. The TR core is semi-well documented (internally) and most stuff is easily understandable - one just needs to scan trough the code and see some examples to get it. The GUI adds additional functionality - it is a "Fontlab within Fontlab" - and most parts of it are self explanatory, Also almost every button has a tool-tip explaining its functionality - one just needs to experiment a bit to get accustomed with the workflow ;) As @Thomas Phinney  already stated the aim of the whole TR thing is working in MM/VF space. It is especially tailored for that part. In the hands of a skilled user it could turn months int weeks and weeks into days...

    DeltaMachine (DM) is just another GUI (sub-script) of TR. Comparing it to RMX depends on what you want to achieve and the functionality you are looking for. There are several RMX tools and you could say that DM is equivalent to RMX Scaler. Curve Harmonizer is already present in FL and Genius nodes are absolutely fabulous... so that part (RMX harmonizer) i did not need to implement.  RMX Slanter is also not needed, as FL does excellent job in fixing the contours after slanting (adding extremes, deleting unneeded nodes and etc.. you know the drill :) ) So i did go for Scaler as i think it is invaluable part of every design process. I also strongly believe that what Tim Ahrens invented is one of the most important achievements in digital type design since its conception!

    So back to DM: Yes - it is pretty much experimental, but... Yes - it is fully functional. How does it compare to RMX Scaler - it does pretty much the same but differently - at first it looks very user-unfriendly, but it shines in other aspects - it works with surgical precision. It is not made for you to scale your entire font (not that it cannot :) ) but is there for you to make those small-caps down to the nano-unit. For instance you could have different target stem widths set numerically, different scale+compensation per  layer and it works on all layers simultaneously (as every TR script - imagine scaling 16 layers with one click). Regretfully documenting its functionality is not going to happen in near future as i feel overwhelmed with work, TR and family :)

    For TR as a whole: It is stable with the occasional problem here and there, but one learns how to get along with it. Extensible documentation is not planned for now. I am currently refactoring large portion of the code + slowly preparing for transition to Python 3 (whenever that happens with FL, i must be ready ;) )
  • Igor PetrovicIgor Petrovic Posts: 263
    @Vassil Kateliev

    Many thanks for taking the time to write a detailed reply, this is very helpful!  

    TR and DM sound like very powerful tools so I will definitely dive into the matter and start to experiment.

    Hopefully, people from FL will provide documentation or quick video tutorials on how to accomplish most usual tasks (particularly making small caps and numerals), as Tim Ahrens did explaining FRT modules with a-few-minute long video tutorials. Your amazing work on developing these tools definitely deserves that!

Sign In or Register to comment.