Font Size and Grid calculation

Hi Erwin,

I need to produce three custom fonts which can be described as short, med and tall. The difference among these three fonts lies in the height. For example, I need the height of the font A to be 0.25 inch when the point size is 18, and font B to be 1 inch when the point size is 18. How to calculate the grid size for these three fonts?

Thanks!

This depends on the resolution of the output device.

Values in the em square are converted to values in the pixel coordinate system by multiplying them by a scale. This scale is:

pointSize * resolution / ( 72 points per inch * units_per_em )

where pointSize is the size at which the glyph is to be displayed, and resolution is the resolution of the output device. The 72 in the denominator reflects the number of points per inch.

For example, assume that a glyph feature is 550 units in length on a 72 dpi screen at 18 point. There are 2048 units per em. The following calculation reveals that the feature is 4.83 pixels long.

550 * 18 * 72 / ( 72 * 2048 ) = 4.83

Thank Erwin for the explanation on the grid calculation. I understand that part.

I might asked a dumb question, but I want to know whether it is possible to produce different fonts, these fonts have different height but the same width.

For example, suppose the glyph A in Font1 has the height 0.25 inch when the point size is set to 18. Is it possible to have glyph A in Font2 to have the height 0.5 inch when the point size is set to 18. If it is possible, how to calculate the grid?

Thanks

Also, what the glyph width/height in the options mean? How do they impact the actual font size?

There is a topic in the help file about bearings that might help:
The top and bottom bearings are equal to WinAscent and WinDescent (the ascender and descender metrics) located on the Windows tab. In order to change the values click Settings on the Format menu and then click the Windows tab.

When available in the Tables window (Format menu), you probably have to remove an internal table named VDMX.

Dear Erwin,

Thanks for pointing me to this thread.

But sorry to disappoint you, I am seriously lost at what is mentioned here. FRANKLY, I don’t have the fundamentals and I really need help to get started on how do I make the basic settings…

As mentioned in my email, I require to create a font pack consisting of Numerals and CAP Alphabets only.
This font (lets name it FONTSAM) is supposed to be printed on a printer of 200dpi producing per alphabet character 4mm high x 3 mm wide. The space between two characters is 1.5mm.

Please advice me from the most simple point of view as I have NO prior knowledge about what ever was mentioned in the 2nd post of this thread.

The other thing I don’t understand are :

  1. what are ‘em’
  2. How does point size affects the height of the font? CAN I set like point 30 and yet deliver a 4mm high character on the printer? Or is there a ratio (or a rule of thumb) that I need to comply?
  3. What is the relation between the point size we select in Word for example like 10pt to the height(in millimeters) of the font when it is printed onto paper by a 200dpi printer?

DESPERATE HELP NEEDED!!!

Thank you so much for your patience in advance to advice a beginner here…

Samuel

The maths is difficult for the non-programmers among us.

I suggest using an empirical approach. Print one character of your font (or another fixed width font like Courier) at a very large point size, e.g. 300 points and measure it.

The size of the glyph can be measured in FontCreator using the Transform toolbar. Then you can easily calculate what the Glyph Height should be for the desired result at a given point size.

I’ll try to explain it without going into too much detail.

The mentioned scale needs to be applied to the size of your character(s) in order to get the size as shown on the output device.

Scale = pointSize * resolution / ( 72 points per inch * units_per_em )

Let’s assume the resolution of your printer is 1, and you are going to print characters of a 2048 upem font with font size 12.

Scale = 12 * 1 / ( 72 * 2048) = 0,00008138

You want the character height on paper to be 4mm (equals 0,1575 inch).

We use this formula to calculate the height of the glyph outline in units:

Glyph height = height on paper / Scale = 0,1575 / 0,00008138 = 1935 units.

em is explained here: http://en.wikipedia.org/wiki/Firet
But you’ll need to know units_per_em. Click Settings on the Format menu, and then click the Header tab to find out the value in your font. Newly created fonts with FontCreator have always have 2048 upem.

If you double the point size, it will be printed twice as large.

Thanks guys.. its beginning to make sense to a beginner like me…

Okay.. I try to digest what you both are advising. Let me put together the resources provided by your answers, along with the FAQs and the user manual.. Will seek your help again soon if I run into more issues. (be prepared as its highly likely that I will)

I know I know.. I am asking the stupidest of questions but I have to understand all these to get my work going…

If I don’t deliver my fonts by Beginning December, I will be in deep deep trouble…

Thanks again in advance…

The printer resolution you’re talking about has nothing to do with the above calculations. That value is only an indication of how detailed your printer is able to print.

Regarding the 3mm wide part.

Do you want both a character like H and a character like W to be the same width? Or could characters like M and W be wider than characters like E and H? Both approaches are possible.

Regarding the space between two characters is 1.5mm part.

Do you mean the side-by-side distance between them?

Do you mean the one-line-above-the-next-line distance between them?

Do you perhaps mean both of those distances?

William Overington

21 October 2008

First and foremost, I am really glad to have purchase this product and found such a supportive forum where a beginner like me won’t feel intimidated in asking the basic fundamentals with great support from those who are very skilled users here. THANK YOU TO YOU ALL!!!

*NOTE : Just in case, I am in no way related in any way to the company that brought us Font Creator. :smiley:

Hiya William,

Thanks for trying to help me out…
Do you want both a character like H and a character like W to be the same width? Or could characters like M and W be wider than characters like E and H? Both approaches are possible.
=> I would want M, W or any wide character for that matter to be consistently 3mm wide when I print it out. ONLY the narrow character like the letter ‘I’ is 2mm wide. But I am thinking regardless of that, the ‘frame’ (pls don’t shoot me if I use the wrong term) or template where the character are drawn needs to be 4mm x 3mm (I am creating ONLY CAPs, no lower case characters). Will be working on the calculations both Erwin and Bhikkhu adviced above.


Regarding the space between two characters is 1.5mm part.
=> YES. The space between 1 character (without the use of SPACE) to be 1.5mm wide. Or like you mentioned, side by side distant between immediate two characters. I don’t mean the ‘one-line-above-the-next’ distant

I am creating these fonts for product labels where it will be in a single line only.

Appreciate if you can give me your inputs too William.

Cheers and thanks in advance.

Samuel

The following thread may be of interest.

http://forum.high-logic.com:9080/t/meta-thread-font-size-and-grid-calculation/2257/1

It is a meta-thread discussing a possible solution to the problem.

William Overington

24 Ocober 2008

This seems to me to be getting more complicated than it needs to be.

How about making a font the way you like it, then just use Transformer to make the other two?

Go to Tools > Glyph Transformer > Outlines > Scale > Horizontal.
100% keeps the size the same, 50% shrinks it to half, etc.