How do I gradually change one font into another throughout a text ?

Thomas Ameel's picture

Can somebody help me to find a way to change one font into another gradually throughout a text. In that way that you don't get a sudden change, but if you compare say the first alinea with the sixth, you see they have different fonts.
Any ideas ?
Does there exist any software for that ?

Thanks a lot,
Thomas.

hrant's picture

Interesting project.

I doubt there's a software for that. Maybe ask this guy:
http://www.flickr.com/photos/petervanlancker/5919651040

One thing you should leverage {edit: if you're dealing with only two actual fonts, as opposed to a "morphing" range as described below} is letter frequencies. For example "e" being the most frequent letter should probably be the last to change.

hhp

Theunis de Jong's picture

This was one of the most impressive Metafont samples I ever saw; every single character was slightly modified, and a paragraph that started out a serif slowly became a sans. It does require lots of TeX knowledge (and inside that, the special field of Metafont).

Multiple Master fonts can do this with ease -- if you can find one, and if you can find (modern) software that can use it!

hrant's picture

Theunis, where is "this"?

hhp

Frode Bo Helland's picture

If you have two or more compatible (multiple) masters, you can interpolate intermediate steps. You might not need a lot of variants to create a smooth transition, say, from a sans to a serif. The biggest challenge probably is designing compatible sans and serif masters.

eliason's picture

I bet Theunis is talking about this.

Matthieu Cannavo's picture

Hi Thomas, I'm making exactly the same kind of stuff for my diploma project in typographic design in Paris. I'm using the blend option of FontLab to create a "mix" between two typefaces. If you repeat the operation many times (like a morphing in Illustrator) you can have like 3 or 5 steps between your two first fonts. I already made some test and it's quite working well.

hrant's picture

Craig, thanks. Technically quite cool. But... "Father Benedict had to accommodate the congregation's increasingly boisterous manner." ;-)

Mattheiu, it would be great to see your results too! BTW you don't actually have to repeat steps, since you can define a blend percentage (generating the required gradation without any recursion).

hhp

Theunis de Jong's picture

Thanks, Craig, that's exactly it -- and it looks as old as I was remembering :-) Definitely pre-World Wide Web; I'm sure I saw it in a typographers' or designers' magazine, early '80s. Possibly in one of those overly excited articles about the newly discovered typographic capabilities of a computer, "and imagine what will be possible in another 30 years!" (sigh)

IIRC, the image came with a technical description of how it was made. You wouldn't have that text lying around somewhere, would you?

(Edit) This scanned article by Douglas Hofstadter (not related to Leonard, other than in spirit I guess) dates the original to 1982, which sounds about right.
(On Chance, and Coincidence: I didn't read the entire piece. What could be the reason for a Calypso "A" on the second page?)

hrant's picture

Thanks for the backstory.

Why pick on the Calypso "A" and not the others?

hhp

Theunis de Jong's picture

Why pick on the Calypso "A" and not the others?

No picking was intended -- it just caught my eye, as a re-make is currently under scrutiny.

That page shows the fonts of my (typographic) infancy :D

dberlow's picture

"Multiple Master fonts can do this with ease..."

Really?

Nick Shinn's picture

You could use a sans typeface with a large family of weights, in which the transition from one weight to another is almost imperceptible, e.g. Shinntype’s Sense (eight weights).

Similarly, while still on a weight axis, you could juice the effect by adding a minute stroke value in InDesign.

You can use the horizontal scaling and slant controls in layout apps similarly, to vary the axes of “condensed/extended” and “italicization” incrementally.

These axes—weight, horizontal scale and slant—accommodate smooth incremental transitions, but morphing from serif to sans is a dodgier proposition that only a true metafont can accomplish. Consider the case of Karloff, which I analyzed for Typographica.

Theunis de Jong's picture

"Multiple Master fonts can do this with ease..."
Really?

Actually, since the MM technology has been phased out of Adobe's own software around a decade ago, not so easy ... anymore.

PageMaker used to have a specific "MM" dialog, in which you could define any of the MM 'design axes' (the numerical parameters specifying weight, slant, width, and whatever the designer could think of). Nowadays, it's hard to even find a real MM font! Adobe's new "Source Sans" source file contain an MM source to generate the weights. Unfortunately it's a .vfb file (which is FontLab's internal binary format). I had to search hi and lo for a compiled .mmm format.

The only software on my system that can use the different design axes seems to be Illustrator. Other than in older versions, I cannot "design" a font in mine; I can only select one of the presets (which, I'm told, are pre-defined and saved inside the font file itself). Here is an image with the 6 presets:

In theory, you would create a font 'instance' for each of these 14 characters, divided equally over the supported axis range -- "0WT" for the first character, "77WT" for the second, etc. to end up at "1000WT" at the end; or any smaller value for smaller steps. That would make the characters vary only slightly from one to another. But ... alas, I cannot test this, as I don't seem to have the proper software to create custom instances.

You could probably create an MM font from scratch, and have your software interpolate from one font to another -- I don't know how much manual work that requires -- and then make as much "pre-sets" as you need.

dberlow's picture

Very good description of how MM could do that page rather differently. The Knuth page, uses a font with 27 "knobs", and I'm pretty sure MMing a 27 axis font would be, though not entirely impossible to make, impossible to use.

The most recent technology that could easily manage the font styling was Chameleon. It could actually go beyond Knuth by using really good design poles.

What it couldn't do, that Knuth could, was be "hooked up to" the composition system to automate the composition of hundreds of fonts in a row, following a pattern of style manipulation through the knobs.

dberlow's picture

Very good description of how MM could do that page rather differently. The Knuth page, uses a font with 27 "knobs", and I'm pretty sure MMing a 27 axis font would be, though not entirely impossible to make, impossible to use.

The most recent technology that could easily manage the font styling was Chameleon. It could actually go beyond Knuth by using really good design poles.

What it couldn't do, that Knuth could, was be "hooked up to" the composition system to automate the composition of hundreds of fonts in a row, following a pattern of style manipulation through the knobs.

Matthieu Cannavo's picture

Hrant, here are some examples from what I've said. Those samples are made with two fonts from myself. (Facio, from Facia by Eric Gill and Goldino from the Golden Type by Morris)

Matthieu Cannavo's picture

Ok sorry the images seems to be really big

hrant's picture

Matthieu, thanks for showing those. Have you used those fonts to create a document that exhibits a gradual transition?

hhp

Matthieu Cannavo's picture

Yes, it is for a book series : Nine Princes in Amber by Roger Zelazny : in the story people are travelling trough differents parallel world so I would like to show it with type... (kinda difficult to explain here and in english)

hrant's picture

Nice.
Check this out: http://www.daidala.com/intlife.html
It's from an unassuming little novel about a woman with an alternate fantasy life.

hhp

dberlow's picture

I've read them and I understand the concepts of type and plot, But what in the plots is going to call on the different appearances of the type, the Trumps with their characters and locations, or multiple factors, e.g. ? should be fun.

But it's wise to plan the type for such an adventure, or risk chasing your tail into Chaos.;)

hashiama's picture

Ahhh I have wondered how Knuth did the original typesetting morphing too.

Thanks for the Peter van Lacker link Hrant!

I think Basil.js (a scripting interface/library for InDesign like what Scriptographer was for Illustrator) could be useful if you're good at Javascript. Definitely look at their support page too, the Jongware Indesign Object Model JS looks promising too.

Otherwise grep style scripting?

edit: I just realised the Jongware is by Theunis de Jong.

Theunis de Jong's picture

I just realised the Jongware is by Theunis de Jong.

What gave it away? ;-) "Jongware" is my usual internet nick, but for some reason, back in the day I couldn't use it to sign up to Typophile.

As I understand it, basil.js is a Javascript library for easier interfacing with InDesign -- it provides handy shortcuts and functions where ID's native functions are a bit rough. But there is nothing in it, or InDesign itself, that would make using a fully functioning .MM font or some sort of transition possible. Is there?

schriftgestalt's picture

The direct support for MM is long gone. But you could generate a lot instances from a MM font in a font editor and use a script to gradually apply them to the text.

Peter Van Lancker's picture

What is the purpose of this gradual change? If it is to be as smooth as possible, first make weights equal (check in Photoshop). Use fonts with comparable x-height, ascender, decender. Make sure your intermediate steps are "acceptable", that they have e.g. serifs or not, but not "something in between", maybe make a semi serif. Use one step per line. I bet it should work with very few intermediates, maybe only 3. I want to see your results.

hashiama's picture

In my scenario I would not use MM fonts, but generate a typeface with consecutive number weight names, such as 1,2,3,4 and so on – this would be in opentype format.

Syndicate content Syndicate content