typeface coding??

oldelpaso's picture

anyone know of anyone who is rather nifty at typface coding?

i need to add some slightly unusual automated interactive features to an open type type face i will be designing as part of my major project at university.. but i dont actually know if its even possible..

would be quite nice to talk to some one who knows what they are talking about

oldelpaso's picture

oops forgot to mention the actual issue :) :)

I am studying mental disorders as a topic for the design of display typefaces. The disorder that i am onto now is OCD..

I wanna make a type face that strikes through the last word you wrote and writes it just above (kinda as soon as you press the space bar)

in my head it would work like a ligature.. in the sense that it would change to a different image, but then its not possible becausea ligature seems to be a pre determined image.. and i cant predetermine eveyr word in the dictionary...

so i was wondering if there is a way of making an automated strike through the last word you wrote (without pressing the strike through button - think interactive display of OCD)..

i really hope this makes sense... i can draw a diagram :) :) :)

thanks anyway!

Choz Cunningham's picture

I am not sure if I understand what you are asking for. I waited, and no one else has jumped in, so perhaps a clearer explanation would help?

Unfortunately, if I get what you are describing, the answer is probably, "no." That sort of event is beyond the intentions of OpenType, as far as I have heard or imagined. However, even as I say that, there might be some way to hack it to do so....

If it is even possible you would likely need some sort of generationg script to create a bruteforst word-string set. Start with a substitution for each character with a struck alternate. Add a condition to apply it when a space appears after 1,2,3,4,5,6... characters. That would require a contextual rule that can allow wildcards between the character to be subbed, or a script to generate all possible combinations. I think the former is a no-go. The latter is probably the only possible way, and would result in a set of tasks that would likley bog down any OT rendering engine beyond usablity.

When then leads to, what application would you be trying to present this in, that supports OT in the way you want?

You might be best off creating some sort of flash demo with actionscript or a similar lightweight language and presentation app.

Sorry I can't be more definite here. OpenType is a dark and nebulous art, like immortality or understanding women. ;)

ebensorkin's picture

I think Choz is right - you are better off in another more robust coding environment. I am less sure about the part after 'dark and nebulous art...'.

oldelpaso's picture

lol @ nebulous

yeah , ithought it might be beyond the capabilities of opentype.. i can see it being made in flash.. but i wanted to actually have it as a working indesign ready font.
having just recently discovered the necessity for coding a typeface i was keen to find the potential opentype might have.

Choz. im quite interesed in the latter possibility however like u said it would probably bog down the thing beyond belief...

might give it a go, see if it works
if not
ah well.. back to the drawing board..

thanks loads

Choz Cunningham's picture

Well, I find the potential of OpenType fascinating, and largely untapped so far, so I'd love to hear the outcome of your efforts either way. Or any other insights from this that relate to applications outside of traditional typography and internationalization, which it was intended for.

To increase you general pool of knowledge, you might find this guy's work interesting, he's pushing OT as far or farther than anyone else, along those lines:


AzizMostafa's picture

Thanks Choz Cunningham, Talleming does not only answer what I asked for weeks ago but also sounds very promising for developing Arabic Ligatures.

Thomas Phinney's picture

Actually, I can easily see how to do this in OpenType. You don't need any dictionaries of words or anything, just a backwards chaining contextual substitution. Same techniques I used to produce some of the fancy effects in the sample contextual code I posted a couple of years ago.

Part of the trick is to use individual letter substitutions rather than any ligature stuff.

One way of doing it would be with some code that in FontLab or the Adobe FDK looks like this:

feature calt { # Contextual Alternates
sub @reg_let' @reg_let @reg_let @reg_let space by @spec_let
sub @reg_let' @reg_let @reg_let space by @spec_let
sub @reg_let' @reg_let space by @spec_let
sub @reg_let' space by @spec_let
} calt;

Mind you, that's a simplified version which will only work with words up to four letters long, but I'm sure you get the idea. You just need to define each of those glyph classes to include the same number of glyphs, and create an entire set of extra "special" glyphs in the font, where each one has the "regular" glyph struck through, plus the same glyph without the strike-through raised above it.

Somebody with a bit of Python experience could doubtless automate the creation of those added glyphs, btw.



Thomas Phinney @ Adobe

Thomas Phinney's picture

Hmmm, just to add to that, perhaps instead of using "space" in the code above, you would want some sort of class of "word-ending characters" including space, period, question, exclam, and so on.



dberlow's picture

Whether or not it is beyond the capabilities of OT, the request doesn't make sense. Why exactly do you need to wait for the space to be typed for the effect to occur per word?

Syndicate content Syndicate content