Fonts with text and (large) symbols

Discuss FontCreator here, please do not post support requests, feature requests, or bug reports!
Post Reply
David Webber
Posts: 44
Joined: Mon Aug 19, 2013 10:33 pm

Fonts with text and (large) symbols

Post by David Webber »

Now I am 100% sure that all glyphs must fit between WinAscent and WinDescent lines, I'm faced with some stark options for my music+text font. Here's a chunk of my font, with text and symbols:
textandsymbols.gif
textandsymbols.gif (14.81 KiB) Viewed 7200 times
The 5-line stave symbol (after the first sentence) has height exactly equal to UnitsPerEm. When I ask for a 72pt font (excl. leading) in Windows GDI, it prints at exactly 1" high. I assume that is what UnitsPerEm does for you?

This is as designed: it is how I define the point size of the music. The other music symbols must then simply scale with it.

The text size is currently designed to be reasonable for a given point size: the capitals of the 72pt font are 0.75" high. The tallest music symbol, however, (the treble clef shown) is a lot taller than that. Adjusting WinAscent, and WinDescent so as not to crop it, therefore leaves an overly large line spacing as shown.

So my desiderata:

(a) a font which can be used for music and normal text
(b) the five line staff = the point height
(c) the point height gives a reasonably compatible text size
(d) without excessive line spacing

seem mutually incompatible!

I'd love some comments on possible solutions!

Here's some I'm mulling over:

A) It would be nice if there were a way to tell applications that the default line spacing for text is much smaller - without cropping the tall symbols. (If used in text they would overlap the line above or below but I don't care too much about that.) But the Typo Ascender and Typo Descender don't actually appear to do anything for me (in any of the Windows applications I've tried). So I guess this is impossible. Or is it?

B) As far as I can see, the only other alternative is to redefine the 'size of the music' so that the specified point size corresponds with (eg) twice the height of the 5-line staff. That would make the clef symbol 1.33 times the height of a capital H, which is far more manageable. Unfortunately some of the smaller music symbols (eg those shown) would be getting down towards the size of a full stop. And their structure (eg the stroke thickness shown on the white note) must be resolved neatly. I assume resolution starts to become a problem if line thicknesses get down to very few UnitsPerEm ?

C) The simplest solution is to leave it as it is and tell people not to use this font for multi-line text, unless they want large line spacing. (I can supply the same text font face with reasonable line spacing but without the symbols for general text purposes - I do that now - but that would defeat one of my objectives.)

Groping for ideas,

Dave
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Fonts with text and (large) symbols

Post by Bhikkhu Pesala »

  1. According to the FontCreator manual TypoAscender and TypoDescender can be used to define the line-spacing. If you're writing the application, can't you make it do that? I also couldn't find an application that used these metrics to define line-spacing
    The suggested usage for TypoAscender is that it be used in conjunction with unitsPerEm to compute a typographically correct default line spacing. The goal is to free applications from Macintosh or Windows-specific metrics which are constrained by backward compatibility requirements. These new metrics, when combined with the character design widths, will allow applications to lay out documents in a typographically correct and portable fashion.
  2. The stroke thickness issue may be resolved by increasing the funits per em from, say 2048, to 4096.
  3. The simple solution that I use is to set the line-spacing for Talapanna in PagePlus (which is the application I use the most) to a multiple of pointsize, such as 130%.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
David Webber
Posts: 44
Joined: Mon Aug 19, 2013 10:33 pm

Re: Fonts with text and (large) symbols

Post by David Webber »

Bhikkhu Pesala wrote:
  1. According to the FontCreator manual TypoAscender and TypoDescender can be used to define the line-spacing. If you're writing the application, can't you make it do that?
In principle, in my application, yes. In Windows GDI (the traditional Windows module invoked to draw things) you just load a font and get a font handle (HFONT), select it, and output whatever text you want. Carriage returns just go down by an amount determined by the line spacing stored within the font. With some extra coding, I could introduce an independent line spacing parameter, and allow it to be less than 100%, but I was hoping to make the font more generally usable.
Bhikkhu Pesala wrote:
  1. I also couldn't find an application that used these metrics to define line-spacing...
Thanks, that's a useful confirmation! [I tried WORD 2007, and the latest Windows 8 incarnation of NotePad.]
Bhikkhu Pesala wrote:
  1. The suggested usage for TypoAscender is that it be used in conjunction with unitsPerEm to compute a typographically correct default line spacing. The goal is to free applications from Macintosh or Windows-specific metrics which are constrained by backward compatibility requirements. These new metrics, when combined with the character design widths, will allow applications to lay out documents in a typographically correct and portable fashion.
I infer this to be a reference to the idea that Windows (and other OS's) may ultimately bypass their historic ways of doing things, and converge new APIs onto something more portable. They may even have done so, but if they have, as we've both found there doesn't seem to be much sign of applications making use of it.
Bhikkhu Pesala wrote:
  1. The stroke thickness issue may be resolved by increasing the funits per em from, say 2048, to 4096.
Good point - thanks.
Bhikkhu Pesala wrote:
  1. The simple solution that I use is to set the line-spacing for Talapanna in PagePlus (which is the application I use the most) to a multiple of pointsize, such as 130%.
That can certainly increase the line spacing, but I tried to use something similar in Word to decrease the line spacing, and it wouldn't let me.

Thanks for a thoughtful response!

Dave
Bhikkhu Pesala
Top Typographer
Top Typographer
Posts: 9873
Joined: Tue Oct 29, 2002 5:28 am
Location: Seven Kings, London UK
Contact:

Re: Fonts with text and (large) symbols

Post by Bhikkhu Pesala »

David Webber wrote:That can certainly increase the line spacing, but I tried to use something similar in Word to decrease the line spacing, and it wouldn't let me.
That actually decreases the line-spacing for Talapanna, which has a default "single" line spacing of 152% or 15.2 point for 10 point text. I would be very surprised if you cannot set the line-spacing in Word to 70% or whatever you want — you certainly can in LibreOffice.
My FontsReviews: MainTypeFont CreatorHelpFC15 + MT12.0 @ Win 10 64-bit build 19045.2486
William
Top Typographer
Top Typographer
Posts: 2038
Joined: Tue Sep 14, 2004 6:41 pm
Location: Worcestershire, England
Contact:

Re: Fonts with text and (large) symbols

Post by William »

For this special purpose font, would the following help?

Lower the letters so that their baseline is below the normal baseline of the font, perhaps with the base of the capitals being at -512 font units.

Add lowercase letters with an x-height that is a little less than the height of the capitals and long ascenders and descenders.

Consider either making the font a semi-serif font, where only the top of the ascenders and the bottom of the descenders on p and q have serifs: or making the tops of the ascenders curve to the right a little and the bottom of the descenders on p and q curve to the left and giving f a descender that curves to the left at the bottom.

William Overington

16 September 2013
David Webber
Posts: 44
Joined: Mon Aug 19, 2013 10:33 pm

Re: Fonts with text and (large) symbols

Post by David Webber »

Bhikkhu Pesala wrote:... I would be very surprised if you cannot set the line-spacing in Word to 70% or whatever you want ...
You're quite right - it can be done in Word. I was trying the wrong way. But it crops characters which are too tall, rather than letting them overlap the next (or previous) line. And I don't think you can control whether the space which is removed comes from the ascent or descent region.

Dave
David Webber
Posts: 44
Joined: Mon Aug 19, 2013 10:33 pm

Re: Fonts with text and (large) symbols

Post by David Webber »

William wrote:For this special purpose font, would the following help?

Lower the letters so that their baseline is below the normal baseline of the font, perhaps with the base of the capitals being at -512 font units.

Add lowercase letters with an x-height that is a little less than the height of the capitals and long ascenders and descenders.

Consider either making the font a semi-serif font, where only the top of the ascenders and the bottom of the descenders on p and q have serifs: or making the tops of the ascenders curve to the right a little and the bottom of the descenders on p and q curve to the left and giving f a descender that curves to the left at the bottom.
Some interesting ideas there - thanks.

I don't need to lower the base line of the letters - in principle, if necessary, I can raise the base line of the musical symbols, and allow for that in my program. (The musical symbols are at arbitrarily defined code-points in the private use area and so I can safely assume that mine is the only music notation software which will use them for anything crucial.)

The appearance of the letters in the font I showed is dictated by custom: on jazz charts both the music symbols and the lettering have (by common custom) essentially that appearance. [Classical musicians hate it :D but after you've played in a big band for 10 years, the beautifully formed classical symbols and standard 'grown up' text glyphs just feel uncool. 8) ] Anyway, in this kind of "jazz font" the lower case letters are just small caps. (The first H in the example I showed is actually - accidentally - lower case.) So there are no actual ascenders or descenders: caps height and x-height are the only important parameters.

However, I am going to give the same treatment to my standard (classical) musical symbols and they will be combined into a Unicode font with text glyphs from an appropriate text font (one with a licence which allows modification and redistribution), as I don't want to spend a lot of time at this stage designing text glyphs. That will have ascenders and descenders, though I haven't decided whether to go for serifs or not. [This is important as the text symbols will be used for chord names like "C7aug" and they have to look compatible in style with the music. But there are published examples with both serif and sans-serif chord names, so the jury is out.]

I have decided since starting this discussion, that the time has come to draft out the 'classical music symbols' font - as far as the stage I've got to with the jazz font. That way I can ensure that any approach I take to the line spacing problem, can work equally on both fonts.

Dave
David Webber
Posts: 44
Joined: Mon Aug 19, 2013 10:33 pm

Re: Fonts with text and (large) symbols

Post by David Webber »

David Webber wrote:...my desiderata:

(a) a font which can be used for music and normal text
(b) the five line staff = the point height
(c) the point height gives a reasonably compatible text size
(d) without excessive line spacing

seem mutually incompatible!
A sudden thought occurs. I could relax criterion (c) and double the size of the text glyphs.

Anyone using the font for text in a text program (Word,NotePad, etc etc) would then get a font about twice the size of what they asked for, but the line spacing would be proportionate with what would be expected.

I had neglected this possibility, as it seems so heinous!

Dave
Post Reply