Code Monkey

Is it essential to be able to code in order to be a modern typeface designer? As many of you will know, I am just starting out and looking here at all the 'code talk' fills me with some dread as I am not really a code guy.

Comments

  • Typefaces are software, you need to be comfortable with code and code-related things at some level. Even if you avoid dealing with production things like Python or Macros you'll need to read font specifications, deal with OpenType, and have an idea how to troubleshoot problems if you plan on releasing fonts to the world.
  • Yeah, I suspected so. oh well.
  • John Hudson
    John Hudson Posts: 3,190
    edited February 2013
    You don't need to be able to program, but you should be able to read and understand a technical specification and figure out how it relates to the tools that you are using. Even if you are not a programmer -- I'm not --, it helps to think like one in terms of imagining how scripts of various kinds might help you in your work. Then you can describe what you want and hire someone to write the code for you. I have a lot of Python macros for FontLab Studio, written for me over the years by Karsten Luecke, Ben Kiel, David Březina and Adam Twardoch. My part in their development was describing fairly precisely what I wanted to be able to do and then opening my wallet.
  • If you just want to draw and space Latin types for use at ample resolutions, I don't think you need to know anything about, or write any code, or type much more than a font name.
  • Ray Larabie
    Ray Larabie Posts: 1,432
    edited February 2013
    I know how you feel about all the 'code talk'. For display type you probably don't need to do much in the way of coding. Naming, encoding and metrics are tricky in FontLab. The interface is counter-intuitive so look up some step-by-step guides to get the hang of it. Kerning and kerning classes can be done without even touching the keyboard. A common mistake is to start designing fonts by creating a big family of text fonts. Start simple. I recommend starting with an all caps display font just to get used to the process. To learn OpenType coding, start with simple ligature substitutions. It's really not hard. Then learn a little bit at a time as you need it. For hinting, just run your fonts through ttfautohint . . . no coding required.

    I've never got the hang of that Python, macro, RoboFont sort of stuff. It's just too damn hard for me. I've tried getting into it but I just hit a brick wall. I can read a technical spec over and over and not understand a damn thing. OpenType coding, I just got used to because I've been at it so long. It was incremental learning. At first I figured out substitutions like:

    Make a glyph called T_T then...
    feature liga {
    
    sub T T by T_T;
    
    } liga;
    That's it.

    Later, you need to get letters at the end of word to swap a swash letter or you need to swap a letter based on the letter the precedes it. That's a bit more complicated but you figure it out as you go.
  • Ben Blom
    Ben Blom Posts: 250
    edited February 2013
    If you feel you are doing a lot of repetitive work, which doesn't involve any "design decisions" — it is a good idea to use a Python macro (or something like that) to do the repetitive work for you. Of course, the repetitive work should be programmable, by yourself or someone else. A good macro is an investment, which might improve the reliability and quality of your work — and you will feel less like a robot doing repetitive chores. Also, it will help you to do more in less time.
  • For display type you probably don't need to do much in the way of coding. Naming, encoding and metrics are tricky in FontLab.
    And not using Fontlab also obviates the need to spend much time on coding and reading documentation. I spent a ton of time reading and coding around Fontlab’s deficiencies. If I started now, with Glyphs, much of the time I put into that wouldn’t be necessary.
  • I use Glyphs Mini right now. But will upgrade to the full Glyphs when I can.
  • If you aren't design families using interpolation or piling on opentype features you don't really need to upgrade.
  • I want the full version just so I get the layers feature so I can experiment with glyph variations.