How to determine a font's natural size?

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

How to determine a font's natural size?

Gé van Gasteren-2
​Good stuff, Evan! I think you passed the test!

Do you know there is a Fontforge design manual online?
It’s well worth going through from the beginning, but here’s the page about concepts pertaining to size:
http://designwithfontforge.com/en-US/The_EM_Square.html


------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
fontforge-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/fontforge-users
http://fontforge.10959.n7.nabble.com/User-f8781.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to determine a font's natural size?

Evan Aad
Thanks again, Gé and scratch65535.

So, equipped with my new understanding of how fontsize works, I related this to the person who had originally told me that font size is part of the font information.

He dismissed my explanation, insisting that I was wrong, and gave the following as a counter-example. If you execute

otfinfo -z /Library/Fonts/ebgaramond/EBGaramond12-Regular.otf

the output is

design size 12 pt, size range (9.5 pt, 120 pt], subfamily ID 1, subfamily name Regular'

What have you guys got to say to this?



On Tue, Aug 1, 2017 at 4:04 PM, <[hidden email]> wrote:
Pretty much, yes.

To visualise it more easily, think about designing for physical
type.

Imagine that, for reasons best known to yourself if anyone, you
decide to put visible glyphs on greatly-oversized slugs.

So for every slug size ( = point size) you put a glyph on the
baseline that's the same size a superscript glyph would be on a
normal font.  So if your x height in a normal 10pt font would be,
say, 6pt, and the superscript would be, say, 3pt, you put those
3pt glyphs on the slugs instead of 6pt glyphs, leaving 7pt of air
rather thn 4..

Now, with physical type there's no way to decrease the line size
below that of the slug's height  except by physically mutilating
every slug.  So anyone who uses your new font is going to have
*very* well-spaced lines.  No matter that they're composing in
12pt "set solid" (no leading, aka "12 on 12" or "12/12" ), it's
going to look Really Weird.

That's what the "natural size" is all about:  filling up the
slugs such that, set solid, your font presents a pleasing,
readable appearance with just enough air around each glyph not to
make the glyphs/lines look jammed-together.

Hope that image helps.

On Tue, 1 Aug 2017 11:18:09 +0300, you wrote:

>Thank you! This was very clear and helpful. Let me see if I got it. Please
>let me know whether the following statements are correct.
>
>1. All the glyphs in a given typeface are designed on a canvas that is the
>same height, and this height is measured in length units called upm, right?
>Different glyphs may be designed on canvases of different widths, but they
>always have the same height.
>
>2. The typeface has a numerical property 'baseline' that designates a point
>along the canvas's left edge where the canvas's origin is, so for instance
>a Times New Roman's baseline property might be '20' which means that the
>origin of every canvas on which Times New Roman glyphs are designed lies
>along the canvas's left edge 20% above the bottom edge.
>
>3. When a rendering engine, like a PDF driver, wants to typeset a character
>of a certain typeface, the engine itself must provide the physical size;
>this information is not part of the typeface.
>
>4. Suppose a rendering engine wants to typeset a certain character at some
>size, say 14pt, the engine doesn't even have to know what character it is,
>and whether it's upright or italic, etc., in order to allocate the correct
>amount of vertical space, since all 14pt glyphs of the typeface will occupy
>the same total amount of vertical space, where by 'total' I mean that said
>space includes the space above and below the actual glyph. The horizontal
>space depends on the character, but not the vertical space.
>
>5. When the engine gets down to actually drawing a glyph at a certain
>coordinate on the page, it identifies this page coordinate with the origin
>of the glyph's canvas, and it defines 1upm to be equal to
>fontsize-in-pt/canvas-height-in-upm (e.g. 14pt/1000upm).
>
>On Tue, Aug 1, 2017 at 10:20 AM, Abraham Lee <[hidden email]>
> wrote:
>
>>
>> On Mon, Jul 31, 2017 at 11:53 PM Evan Aad <[hidden email]> wrote:
>>
>>> Thank you, Abraham, but this is not quite what I don't understand. Let me
>>> try to explain myself better.
>>
>>
>> Let me try again...
>>
>> Suppose I'm a printer living in England 200 years ago, and suppose I wish
>>> to print an upright 'a' in the 'Times' typeface. I consult a list of the
>>> available font sizes for Times and see that the available sizes are 10pt,
>>> 11pt and 14pt. I decide to use 14pt. I open the cabinet where the Times
>>> printing blocks are stored, open the drawer with the label '14pt', and take
>>> out the 'upright' tray from which I take the 'a' block.
>>>
>>
>> When you take an 'a' from this 14pt drawer, the block is physically 14pt
>> tall, not the 'a' shape itself. It probably occupies more like 7pt of
>> vertical space on the block, with 4pt empty space above and 3pt below it.
>> This 14pt set was filed and punched to this specific size, meaning that the
>> design was adjusted to be optically correct at this size. Likewise the 10pt
>> case, which has smaller blocks, has letter forms specifically tuned to look
>> good at that size, but still look like those in the 14pt case.
>>
>> Now suppose I am a PDF driver in a macOS operating system instructed to
>>> print an upright 14pt Times New Roman 'a' at a certain coordinate on a PDF
>>> page. What are my next steps?
>>>
>>
>> Fundamentally, we're talking about something else entirely now because we
>> no longer have distinct blocks for different sizes*. In Times New Roman
>> (and I'm making these numbers up since I'm not at a normal computer to
>> check, but I think you'll get the idea), the letter a's height is 450 upm
>> (units-per-em), where a normal font's full height (or "em") goes from -200
>> to +800 upm = 1000. These numbers have no correlation to a real printed
>> dimension (like 14pt), they just provide a relative scale to base
>> everything off of.
>>
>> When you send instructions to the PDF driver to print the letter 'a' at
>> 14pt, what ends up happening is the font's em gets scaled to be physically
>> so that 14pt = 1000upm, which means that the font extends below the
>> baseline by 14*-200/1000 = -2.8pt, and likewise extends above the baseline
>> by 11.2pt. By the same math, we determine the 'a' will end up being drawn
>> with a height of 14*450/1000 = 6.3pt. Only now does the font have a "size"
>> in the printed sense.
>>
>> There is an OpenType feature "size" which may be used to designate an
>> intended printed size (similar to the physical blocks), but more often than
>> not, it isn't used or the apps that use the fonts don't utilize it.
>> Instead, the font designer may designate a size category such as "caption",
>> "text", "subheading", "display", "poster", etc. in the name of the font to
>> hint that the design is better suited for a particular size range. You will
>> usually only find this naming convention if there are multiple optical
>> weights in the font's family. Most likely, however, such a distinction is
>> not part of the font's design, and the font had no intended print size.
>> Some do, some don't. Most won't tell you specifically, only notionally and
>> that's not likely stored as a number in the font.
>>
>> Best,
>> Abraham
>>
>> *Unless the designer creates multiple optical sizes of the same font, but
>> this is less common and even then, there's nothing stopping you from using
>> a design at 36pt that was intended for 6pt print.
>>
>>
>>> On Tue, Aug 1, 2017 at 7:10 AM, Abraham Lee <[hidden email]
>>> > wrote:
>>>
>>>> Hi, Evan!
>>>>
>>>> On Mon, Jul 31, 2017 at 8:42 PM, Evan Aad <[hidden email]> wrote:
>>>>
>>>>> Thanks, Gé. So when I ask some typeface for a certain character at
>>>>> size, say, 18pt. What is it exactly that is 18pt? Samuel gave an answer
>>>>> before that I though I understood, but now I'm not so sure any more, since
>>>>> different characters have a different height, for instance, h vs. c.
>>>>
>>>>
>>>> Sorting out the terms in typography is confusing at first, but very
>>>> important. Historically, the "point size" of a font (or typeface) was
>>>> the measure of the bottom of the lowest decender (like bottom of "q" and
>>>> "j") to the top of the highest ascender (like the top of "l" or "h").
>>>> Inside a modern font these two numbers exist, regardless of the shape of
>>>> the glyphs (but will closely match on well-designed/defined fonts) and
>>>> generally define the distance from one line to the next. This is the
>>>> measurement you are technically talking about when you say "I want the font
>>>> to be 18pt". In other words, the font is scaled so that the distance from
>>>> the descent line to the ascent line is 18pt.
>>>>
>>>> There are so many important typography
>>>> terms to know. For me, I found the following graphic to be REALLY
>>>> helpful when I was trying to understand font lingo.
>>>>
>>>> https://abigailfeniza.files.wordpress.com/2014/12/anatomy-of-type.png
>>>>
>>>> Hope that helps,
>>>> Abraham
>>>>
>>>
>>>> ------------------------------------------------------------
>>>> ------------------
>>>> Check out the vibrant tech community on one of the world's most
>>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>>>> _______________________________________________
>>>> fontforge-users mailing list
>>>> [hidden email]
>>>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>>>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>>>>
>>> ------------------------------------------------------------
>>> ------------------
>>> Check out the vibrant tech community on one of the world's most
>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot______
>>> _________________________________________

>>> fontforge-users mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> fontforge-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
fontforge-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/fontforge-users
http://fontforge.10959.n7.nabble.com/User-f8781.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to determine a font's natural size?

Dave Crossland


This exists in very few fonts  

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
fontforge-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/fontforge-users
http://fontforge.10959.n7.nabble.com/User-f8781.html
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: How to determine a font's natural size?

MMacD
In reply to this post by Evan Aad
What I would say is that your informant is misinterpreting what
he's seeing.  

Note that the Garamond example he cites does not refer to "a"
size, but rather a size *range*.  That tells anyone who's used to
designing with type that that particular *instance* of Garamond
should be used with caution and preferably avoided when spec'ing
out "fine print" text  (8pt and below).    It's a heuristic hint
about use, not a size.

On Tue, 1 Aug 2017 18:53:48 +0300, Evan Åd wrote:

>Thanks again, Gé and scratch65535.
>
>So, equipped with my new understanding of how fontsize works, I related
>this to the person who had originally told me that font size is part of the
>font information.
>
>He dismissed my explanation, insisting that I was wrong, and gave the
>following as a counter-example. If you execute
>
>otfinfo -z /Library/Fonts/ebgaramond/EBGaramond12-Regular.otf
>
>the output is
>
>design size 12 pt, size range (9.5 pt, 120 pt], subfamily ID 1, subfamily
>name Regular'
>
>What have you guys got to say to this?
>
>
>
>On Tue, Aug 1, 2017 at 4:04 PM, <[hidden email]> wrote:
>
>> Pretty much, yes.
>>
>> To visualise it more easily, think about designing for physical
>> type.
>>
>> Imagine that, for reasons best known to yourself if anyone, you
>> decide to put visible glyphs on greatly-oversized slugs.
>>
>> So for every slug size ( = point size) you put a glyph on the
>> baseline that's the same size a superscript glyph would be on a
>> normal font.  So if your x height in a normal 10pt font would be,
>> say, 6pt, and the superscript would be, say, 3pt, you put those
>> 3pt glyphs on the slugs instead of 6pt glyphs, leaving 7pt of air
>> rather thn 4..
>>
>> Now, with physical type there's no way to decrease the line size
>> below that of the slug's height  except by physically mutilating
>> every slug.  So anyone who uses your new font is going to have
>> *very* well-spaced lines.  No matter that they're composing in
>> 12pt "set solid" (no leading, aka "12 on 12" or "12/12" ), it's
>> going to look Really Weird.
>>
>> That's what the "natural size" is all about:  filling up the
>> slugs such that, set solid, your font presents a pleasing,
>> readable appearance with just enough air around each glyph not to
>> make the glyphs/lines look jammed-together.
>>
>> Hope that image helps.
>>
>> On Tue, 1 Aug 2017 11:18:09 +0300, you wrote:
>>
>> >Thank you! This was very clear and helpful. Let me see if I got it. Please
>> >let me know whether the following statements are correct.
>> >
>> >1. All the glyphs in a given typeface are designed on a canvas that is the
>> >same height, and this height is measured in length units called upm,
>> right?
>> >Different glyphs may be designed on canvases of different widths, but they
>> >always have the same height.
>> >
>> >2. The typeface has a numerical property 'baseline' that designates a
>> point
>> >along the canvas's left edge where the canvas's origin is, so for instance
>> >a Times New Roman's baseline property might be '20' which means that the
>> >origin of every canvas on which Times New Roman glyphs are designed lies
>> >along the canvas's left edge 20% above the bottom edge.
>> >
>> >3. When a rendering engine, like a PDF driver, wants to typeset a
>> character
>> >of a certain typeface, the engine itself must provide the physical size;
>> >this information is not part of the typeface.
>> >
>> >4. Suppose a rendering engine wants to typeset a certain character at some
>> >size, say 14pt, the engine doesn't even have to know what character it is,
>> >and whether it's upright or italic, etc., in order to allocate the correct
>> >amount of vertical space, since all 14pt glyphs of the typeface will
>> occupy
>> >the same total amount of vertical space, where by 'total' I mean that said
>> >space includes the space above and below the actual glyph. The horizontal
>> >space depends on the character, but not the vertical space.
>> >
>> >5. When the engine gets down to actually drawing a glyph at a certain
>> >coordinate on the page, it identifies this page coordinate with the origin
>> >of the glyph's canvas, and it defines 1upm to be equal to
>> >fontsize-in-pt/canvas-height-in-upm (e.g. 14pt/1000upm).
>> >
>> >On Tue, Aug 1, 2017 at 10:20 AM, Abraham Lee <[hidden email]
>> >
>> > wrote:
>> >
>> >>
>> >> On Mon, Jul 31, 2017 at 11:53 PM Evan Aad <[hidden email]>
>> wrote:
>> >>
>> >>> Thank you, Abraham, but this is not quite what I don't understand. Let
>> me
>> >>> try to explain myself better.
>> >>
>> >>
>> >> Let me try again...
>> >>
>> >> Suppose I'm a printer living in England 200 years ago, and suppose I
>> wish
>> >>> to print an upright 'a' in the 'Times' typeface. I consult a list of
>> the
>> >>> available font sizes for Times and see that the available sizes are
>> 10pt,
>> >>> 11pt and 14pt. I decide to use 14pt. I open the cabinet where the Times
>> >>> printing blocks are stored, open the drawer with the label '14pt', and
>> take
>> >>> out the 'upright' tray from which I take the 'a' block.
>> >>>
>> >>
>> >> When you take an 'a' from this 14pt drawer, the block is physically 14pt
>> >> tall, not the 'a' shape itself. It probably occupies more like 7pt of
>> >> vertical space on the block, with 4pt empty space above and 3pt below
>> it.
>> >> This 14pt set was filed and punched to this specific size, meaning that
>> the
>> >> design was adjusted to be optically correct at this size. Likewise the
>> 10pt
>> >> case, which has smaller blocks, has letter forms specifically tuned to
>> look
>> >> good at that size, but still look like those in the 14pt case.
>> >>
>> >> Now suppose I am a PDF driver in a macOS operating system instructed to
>> >>> print an upright 14pt Times New Roman 'a' at a certain coordinate on a
>> PDF
>> >>> page. What are my next steps?
>> >>>
>> >>
>> >> Fundamentally, we're talking about something else entirely now because
>> we
>> >> no longer have distinct blocks for different sizes*. In Times New Roman
>> >> (and I'm making these numbers up since I'm not at a normal computer to
>> >> check, but I think you'll get the idea), the letter a's height is 450
>> upm
>> >> (units-per-em), where a normal font's full height (or "em") goes from
>> -200
>> >> to +800 upm = 1000. These numbers have no correlation to a real printed
>> >> dimension (like 14pt), they just provide a relative scale to base
>> >> everything off of.
>> >>
>> >> When you send instructions to the PDF driver to print the letter 'a' at
>> >> 14pt, what ends up happening is the font's em gets scaled to be
>> physically
>> >> so that 14pt = 1000upm, which means that the font extends below the
>> >> baseline by 14*-200/1000 = -2.8pt, and likewise extends above the
>> baseline
>> >> by 11.2pt. By the same math, we determine the 'a' will end up being
>> drawn
>> >> with a height of 14*450/1000 = 6.3pt. Only now does the font have a
>> "size"
>> >> in the printed sense.
>> >>
>> >> There is an OpenType feature "size" which may be used to designate an
>> >> intended printed size (similar to the physical blocks), but more often
>> than
>> >> not, it isn't used or the apps that use the fonts don't utilize it.
>> >> Instead, the font designer may designate a size category such as
>> "caption",
>> >> "text", "subheading", "display", "poster", etc. in the name of the font
>> to
>> >> hint that the design is better suited for a particular size range. You
>> will
>> >> usually only find this naming convention if there are multiple optical
>> >> weights in the font's family. Most likely, however, such a distinction
>> is
>> >> not part of the font's design, and the font had no intended print size.
>> >> Some do, some don't. Most won't tell you specifically, only notionally
>> and
>> >> that's not likely stored as a number in the font.
>> >>
>> >> Best,
>> >> Abraham
>> >>
>> >> *Unless the designer creates multiple optical sizes of the same font,
>> but
>> >> this is less common and even then, there's nothing stopping you from
>> using
>> >> a design at 36pt that was intended for 6pt print.
>> >>
>> >>
>> >>> On Tue, Aug 1, 2017 at 7:10 AM, Abraham Lee <
>> [hidden email]
>> >>> > wrote:
>> >>>
>> >>>> Hi, Evan!
>> >>>>
>> >>>> On Mon, Jul 31, 2017 at 8:42 PM, Evan Aad <[hidden email]>
>> wrote:
>> >>>>
>> >>>>> Thanks, Gé. So when I ask some typeface for a certain character at
>> >>>>> size, say, 18pt. What is it exactly that is 18pt? Samuel gave an
>> answer
>> >>>>> before that I though I understood, but now I'm not so sure any more,
>> since
>> >>>>> different characters have a different height, for instance, h vs. c.
>> >>>>
>> >>>>
>> >>>> Sorting out the terms in typography is confusing at first, but very
>> >>>> important. Historically, the "point size" of a font (or typeface) was
>> >>>> the measure of the bottom of the lowest decender (like bottom of "q"
>> and
>> >>>> "j") to the top of the highest ascender (like the top of "l" or "h").
>> >>>> Inside a modern font these two numbers exist, regardless of the shape
>> of
>> >>>> the glyphs (but will closely match on well-designed/defined fonts) and
>> >>>> generally define the distance from one line to the next. This is the
>> >>>> measurement you are technically talking about when you say "I want
>> the font
>> >>>> to be 18pt". In other words, the font is scaled so that the distance
>> from
>> >>>> the descent line to the ascent line is 18pt.
>> >>>>
>> >>>> There are so many important typography
>> >>>> terms to know. For me, I found the following graphic to be REALLY
>> >>>> helpful when I was trying to understand font lingo.
>> >>>>
>> >>>> https://abigailfeniza.files.wordpress.com/2014/12/anatomy-of-type.png
>> >>>>
>> >>>> Hope that helps,
>> >>>> Abraham
>> >>>>
>> >>>
>> >>>> ------------------------------------------------------------
>> >>>> ------------------
>> >>>> Check out the vibrant tech community on one of the world's most
>> >>>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >>>> _______________________________________________
>> >>>> fontforge-users mailing list
>> >>>> [hidden email]
>> >>>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>> >>>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>> >>>>
>> >>> ------------------------------------------------------------
>> >>> ------------------
>> >>> Check out the vibrant tech community on one of the world's most
>> >>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot______
>> >>> _________________________________________
>> >>> fontforge-users mailing list
>> >>> [hidden email]
>> >>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>> >>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>> >>
>> >>
>> >> ------------------------------------------------------------
>> >> ------------------
>> >> Check out the vibrant tech community on one of the world's most
>> >> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> >> _______________________________________________
>> >> fontforge-users mailing list
>> >> [hidden email]
>> >> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>> >> http://fontforge.10959.n7.nabble.com/User-f8781.html
>> >>
>>
>> ------------------------------------------------------------
>> ------------------
>> Check out the vibrant tech community on one of the world's most
>> engaging tech sites, Slashdot.org! http://sdm.link/slashdot
>> _______________________________________________
>> fontforge-users mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/fontforge-users
>> http://fontforge.10959.n7.nabble.com/User-f8781.html
>>
>>

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
fontforge-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/fontforge-users
http://fontforge.10959.n7.nabble.com/User-f8781.html
Loading...