13

I am embarking on a project to design my own font for a personal project that will resemble my handwriting. I have read a few good guides to get a broad view of what it will take for me to achieve this, this one was a particularly good one I found.

I cannot seem to find anywhere that suggests it is possible to do what I’d like; can a letter within a font be made to have different appearances depending on which letters precede it?

My aim would be to make the letters connect as they do in my hand writing but to do that I do change their shape as I write to connect to each other based on what letter I have written before another. Can a font be programmed to have each letter adapt based on the previously typed one?

  • 3
    I don't know anything about the techniques involved in alternate characters but one point of reference that may be interesting to research is the Sigmund Freud typeface. It was designed to change depending on the typed matter. This is a good article and it mentions something called Polyalphabetic Substitution which may be what you're after smashingmagazine.com/2014/06/… – johnp Dec 22 '16 at 1:48
  • This is some excellent material that helps a ton with my goal! Thank you for sharing. It's interesting to see more of the technique involved, you may want to include your comment information in an answer so that it gains more visibility when someone else views this post. – Fiztban Dec 22 '16 at 10:12
15

Yes you can do it. You do it through an OpenType feature called Contextual Alternates (calt).

Sample code:

feature calt { 
    lookup calt1 { 
       sub a' b  by a.ss01 ; 
       } calt1; 
    }

Basically, you tell the font: substitute a+b with a.ss01 + b

This is a good overview of OpenType substitution features.

  • Thank you for your help. The article is really interesting and useful as it shows how to begin going about achieving this. If you have any other sources you know of I would really appreciate you adding them to your answer. Merry Christmas/ Happy Holidays to you. – Fiztban Dec 22 '16 at 10:14
10

Yes, this can be done. There are several intelligent font standards, namely AAT, Graphite, and OpenType, that allow to do this. The latter seems to be the succeeding one.

Here is an example that I created using such techniques. Note how the letter s is rendered differently based on the preceding and following letter:

Example for a contextual feature

How exactly you best achieve your goal depends on your specifics, but you almost certainly want to work with lookup classes and contextual forms.

  • Thank you for your answer, it is exactly what I was looking for and if it requires some programming I can not only program it to have alternates based on a look up but also I can try to include some random variations as handwriting is never perfect. But that is another part of the project. I wish to mark this as the answer but the below answer also included a method to where to get started so I am inclined to accept that one, could you maybe expand yours so that I may accept it please? – Fiztban Dec 22 '16 at 10:08
  • And Happy Holidays/Merry Christmas to you! – Fiztban Dec 22 '16 at 10:15
  • 3
    I don't know much about METAFONT (The font engine created by TeX's author Donald E. Knuth), but I'm pretty sure it can do it as well. – Jörg W Mittag Dec 22 '16 at 12:47
  • Interesting, I will certainly look it up! – Fiztban Dec 24 '16 at 12:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.