Fontlab - Changing diacritics' case

scannerlicker's picture

Well, this is probably a easy one:

When working in FreeFont mode, how can I assign automatically a lower-case acute mark to a lower-case glyph and a upper-case mark to a upper-case glyph?

Fontlab insists on giving lower-case marks to all characters.

Thank you in advance.

sim's picture

Good question. This will also be helpful to me.

Jackson's picture

Check out Ben Kiel's BuildAccent python library. Once you set up the build file it's easy. http://benkiel.com/typeDesign/

guifa's picture

Question from non-user: If you have acutecomb and acutecomb.cap, for instance, in your case substitution, does it not automatically replace it when needed? FontForge does it for me...

«El futuro es una línea tan fina que apenas nos damos cuenta de pintarla nosotros mismos». (La Luz Oscura, por Javier Guerrero)

.00's picture

If you name your uppercase accents with a .case suffix FontLab will use most of them. You can customize all of this by editing the alias.dat file. You can go as far as using small cap accents named with a .smcp suffix and most of them will work as well. Watch out for those caron.case and caron.smcp uses. You really have to edit alias.dat for those to work.

scannerlicker's picture

OK, thank you guys!

terminaldesign, can you provide me an explanation on how to do this?

Cheers!

.00's picture

It is a text edit procedure. Here are the first few lines of the alias.dat file:

%%FONTLAB ALIASES
% Build 2005-09-05 for FontLab Studio 5.0 or higher
AE A_E
AEacute AE+~acute.case
AEacute AE+acutecomb
AEacute AE+acute
AEacute.small AE.small+~acute.small
Aacute A+~acute.case
Aacute A+acutecomb
Aacute A+acute
Aacute.small A.small+~acute.small
Abreve A+~breve.case
Abreve A+uni0306
Abreve A+breve
Abreve.small A.small+~breve.small
Acircumflex A+~circumflex.case
Acircumflex A+uni0302
Acircumflex A+circumflex
Acircumflex.small A.small+~circumflex.small
Adieresis A+~dieresis.case
Adieresis A+uni0308
Adieresis A+dieresis
Adieresis.small A.small+~dieresis.small
Agrave A+~grave.case
Agrave A+gravecomb
Agrave A+grave

As you can see there are several formulas for constructing the composite glyph. If the components are available for the first formula, it will be used. If not the the second formula will be tried, and finally the third.

You can edit these, so if you don't use .case, but use .cap instead, do a find and replace and change it.

Just make sure you have a backup of the original in case you screw it up.

Bendy's picture

Useful info, thanks :)

scannerlicker's picture

Thanks terminaldesign, it worked and helped a lot!

:)

Jos Buivenga's picture

Thanks, James! Works great.

Maybe also (a tiny little) useful... to batch change suffixes:

scannerlicker's picture

Hey Jos!

That's soooo handy!

Jos Buivenga's picture

Thanks. I really took me some time to find out where this command resided.

ebensorkin's picture

James, thanks for this!!!

eliason's picture

What's that tilde before some of the components in the alias.dat file?

.00's picture

The tilde before the component is an instruction not to reposition the component. One assumes that the .case or .small accents are designed at the appropriate height to correctly position over the glyphs. If you left the tilde out FontLab would raise the position of the accent assuming it was originally positioned for the lowercase.

eliason's picture

I see - thanks!

paragraph's picture

Thanks, [track].

Stinger's picture

Awesome, I keep on learning new tricks!

Can't seem to find that alias.dat file anywhere though? Am on a windows vista machine...

Bendy's picture

Try Program Files/Common Files/Fontlab/Data.

Stinger's picture

Yes, that's it! Awesome, thanks Ben!

Syndicate content Syndicate content