Accent Height with Create Glyphs FL5

RachelR's picture

Is there a way to determine or control the height the accent is placed above Upper case glyphs using Create Glyphs. I have placed all my upper and lower case glyphs into FL and all the accents such as the circumflex, tilde and grave. If I then select an empty lowercase accent glyph such as aacute or agrave the glyph is created using a composite letter and correct accent, the height of the accent above the glyph is determined by the height of that accent in it's own window.
If I use the same process for the uppercase accent glyphs such as Adiereesis the accent seem to appear very high up above the glyph. Is a there a way to control the height of the accent when used with uppercase glyphs.

Rr

Mark Simonson's picture

Yes, you can have complete control over the position of automatically placed accents. See the "Anchor Layer" chapter in the FontLab manual.

If you do not want to go the anchor route, the default position of accents for caps is determined by the difference between the x-height and cap height. The position of the accent is offset vertically by the difference. For instance, if your cap height is 700 and your x-height is 500, the accents will be shifted up by 200 when automatically generating accents for caps. So, by altering the cap height, you can control where the cap accents are automatically positioned. (Note: You don't have to alter it permanently when doing this. You can change it back after generating the accented glyphs.)

Mark Simonson's picture

One other point: Changing the cap height will affect only accented caps that are generated after the change. If you have already-generated accented caps that you want to change, you have to delete and re-generate them.

Nick Shinn's picture

So, by altering the cap height, you can control where the cap accents are automatically positioned. (Note: You don’t have to alter it permanently when doing this. You can change it back after generating the accented glyphs.)

That's very devious Mark :-)

Mark Simonson's picture

Thank you for noticing. :-)

RachelR's picture

I haven't tried it yet, but the Cap height trick does sound like a great idea, thanks

Rr

Thomas Phinney's picture

I just which I could get FontLab to automatically know what my cap accents are, as opposed to my LC accents. Sure, I can manually specify the composition with Generate Glyphs, but I wish it just "knew."

T

k.l.'s picture

Maybe a list, saved alongside .enc and other files, could map user-specific glyph suffixes to FLS-internal tags (to identify glyphs as uppercase, lowercase, smallcap, numeral, etc)? So Generate Glyphs and other functions 'know' what's what.

Mark Simonson's picture

Thomas, maybe you know this already, but you can save lists of glyph compositions (built with your cap accent names) into a text file, and then load or paste them into the Generate Glyphs dialog.

twardoch's picture

Thomas,

of course FontLab Studio "knows" which accents are for uppercase.

For example, if you’re generating the glyph "Aacute", FontLab Studio takes the glyph "A" as the first composite.

For the second composite, it tries to use a glyph named "acutecomb.case" (if it is found, it will not be shifted up). If the glyph is not present, FontLab Studio checks for "acute.case" (and if found, it will not be shifted).

If that is not present, FontLab Studio checks for "acutecomb" and if found, it shift the component up by the difference of caps height and x-heights (as specified in Font Info). In absence of that glyph it does the same for "acute".

If you wish to use a different suffix for your uppercase component glyphs, make a copy of "alias.dat" in your user folder and in there, replace all ".case" by ".c" or ".uppercase" or whatever your preferred suffix is.

Adam

Nick Shinn's picture

Adam, what about the x-axis metrics of "acutecomb.case"?
Should this be given a negative left side-bearing and zero width?

charles ellertson's picture

uh, Adam, since many combining diacritics aren't "named" in the Adobe Glyph List For New Fonts, do we use the unicode number as the name?

For example, for a macron to ride over a capital letter, make up a glyph named "uni0304.case"? Or, since it won't have a unicode number & will never make it into a PDF file anyway, use "macron.case" for the name?

TIA

Christian Robertson's picture

I wrote a script to automagically place anchor points. In this case, it defaults to 60 units above the characters, but it can be easily tweaked (just look for the number 60 and change it to whatever you like):

http://betatype.com/node/12

k.l.'s picture

Nice!

And here is part two, for generating composite glyphs in batch. Uses the 'alias.dat' file for composition rules. Generates glyphs for all composites mentioned in it, if the base glyph is present in the font. Please see the Read Me file for some notes and a tip.
Try with copies of fonts first. Almost eight a.m. now and I am tired.

twardoch's picture

> For example, for a macron to ride over a capital letter,
> make up a glyph named “uni0304.case”? Or, since it won’t
> have a unicode number & will never make it into a PDF
> file anyway, use “macron.case” for the name?

It may make it into a PDF if you map it to the basic (lowercase) variants through the "case" feature (hence the glyphname suffix).

You’d most likely include OpenType Layout code in your font such as:

feature case {
sub macron by macron.case;
sub uni0304 by uni0304.case;
} case;

If your font includes only the spacing macron (named "macron"), I’d call the glyph "macron.case". If your font also includes the combining macron ("uni0304"), then perhaps it would make sense to include a combining uppercase variant as well ("uni0304.case").

Regards,
Adam

k.l.'s picture

Can anybody please delete this 'fornode' account and all that spam? Sadly this guy doesn't accept emails himself ...

hrant's picture

It's interesting that he created the account over four days ago but
only started spamming (exactly 200 times) about 3.5 hours ago...

Also:
http://drupal.org/node/149778

hhp

Syndicate content Syndicate content