"Points" are meaningless.

dumpling's picture

Why does software have me select font size in "points"?

How (other than trial and error) am I to select proper "point" size in order to get the characters to be a certain height and/or width? Seriously.

I recently designed some calendars in CorelDRAW and the only way I could know the size of characters I had selected was to measure them with the on-screen ruler.

Same thing with the position of the characters. Even if I only want a single line of text, there is still obligatory whitespace above and below, which I have to measure and compensate for. I deal with text boxes overlapping, even when the text itself does not even come close to overlapping; it is the fault of this obligatory whitespace.

Are there standard ways of dealing with these issues?

dumpling's picture

As it turns out, I am able to use the baseline as a reference point, which makes things much easier. Now all I have to do it find the conversion factor between points and millimeters. (More trial and error, I guess.)

Here is a little "demo" of what I have so far: http://pdf52.comyr.com/phpstuff/pdftest2.php

I know it is not nearly finished.
* I have hard-coded start and end months as January 2013 and March 2013, respectively. Ultimately, the user will choose the months, as well as many other options.
* If all goes according to plan, the finished calendar pages will have the same sort of information as in the sample page I posted earlier in this thread. (week numbers, sunrise / sunset times, moon phase info, local holidays)

Boy, it is surprisingly simple to come up with something that looks like it rivals a commercial product. Well, not quite. The (lack of) alignment of weekday abbreviations with date numerals is something I need to work on.

I intend to make this available as a free, public service. Any profit will be made by sale of physical, paper calendars, as well as possibly commission fees for custom calendars.

hrant's picture

Now all I have to do it find the conversion factor between points and millimeters. (More trial and error, I guess.)

I brought this up before: which part of a simple calculation is trial and error?
1 point = 1/72 inch
1 inch = 25.4 millimeters
So 1 point is ~0.353 millimeters

But, yet again: you still can't predict how large parts of letterforms will end up in the Em square, because there are ballparks, but no benchmarks.

hhp

dumpling's picture

I believe the expression is "apples and oranges".

I want to know, if I want the characters on the page to be a certain height (think of using a wooden ruler to measure characters on a sheet of paper), then how many points do I tell the computer to use for the em sizeit uses internally to generate the page?

Té Rowan's picture

By my zeroth approximation (aka wild-ass guess), you'll need a number that is the app's em divided with the summed fractions of ascender and descender.

Sample for a made-up combo of app and font: 1200/(650+150)

where random_app's em is random_font's em of 1000 + its leading of 200, the tallest ascender is 650 dits above the baseline and the deepest descender reaches 150 dits below it.

Btw, 'dit' is very likely not an accepted technical term.

quadibloc's picture

@dumpling:

Although you've probably been bashed enough by the greedy money-grubbing type designers around here for these comments, as they involve some factual misunderstandings, I feel I need to respond as well, although hopefully in a constructive manner.

I cannot use typefaces with weird licensing requirements. I don't want the user of my site to have to specify how many copies of the calendar will be printed, whether their use is commercial or non-commercial, etc.

Ahem. You won't have to worry about that. One of the first weird requirements of any license agreement with weird requirements is: if you give access to the font to anyone else that gives them the opportunity to lie to you, and hence you let them break the agreement because you've been fooled, it's your fault. Your obligation under the license agreement is to control access to the font so that breaches are impossible.

Also, most licensed fonts are licensed for use on one computer, by whoever is sitting down at it. If somebody else wants to print something with that font, they can buy their own copy.

In an ideal world (ideal for me, at least), the typeface designer would be paid a fair, flat fee for their labor, and then the typeface would be released into the public domain.

What's the obvious problem with this?

Who decides which fonts are worth the expense to have commissioned in this fashion?

The free market has a certain usefulness for which substitutes have not been found.

I want to know, if I want the characters on the page to be a certain height (think of using a wooden ruler to measure characters on a sheet of paper), then how many points do I tell the computer to use for the em sizeit uses internally to generate the page?

Usually, the "point size" for a font to the computer is what it uses on a printed page. It's the size of those letters on the screen that is not controllable, as users can set it to be bigger if they have poor eyesight.

Incidentally, there are 72 points in an inch (in letterpress, a point is slightly smaller, 0.013837 inch), and 2.54 centimeters in an inch, and, of course, 10 millimeters in a centimeter.

So a point is 0.3514598 millimeter or 0.3527778 millimeter.

hrant's picture

John, I hope you were kidding in your opening comment. The money grubbers aren't here. And the real money-grubbers aren't even in type.

hhp

oldnick's picture

BTW, once upon a time, type foundries created special fonts specifically for making calendars, and everything lined up perfectly. Perhaps you should consider doing the same…or commissioning a competent professional to do so…

Té Rowan's picture

By the way... you have thought of printing "SydSydSyd" at 100 points and measuring that to get some starting numbers?

quadibloc's picture

@hrant:
John, I hope you were kidding in your opening comment.
Yes, despite the lack of a smiley, which I felt was unnecessary, as I felt I was being obvious.

PublishingMojo's picture

@ Hrant: I use fractional point sizes all the time, but not because I think readers can see the difference. On the contrary, I often use them precisely because most readers can't see the difference, e.g., in a situation where I've designed a layout to fit a block of text at 12 pt, and some hotshot editor adds another sentence so it doesn't fit anymore. Presto, 11.5-pt type to the rescue.

aluminum's picture

@dumpling I'm still a bit confused as to your dilema. I think you are struggling with two issues.

1) Converting points to a unit of measurement you'd prefer. Hrant gave you the forumla for that. That's simple math, no big deal.

2) Measuring the height of the printed glyph. This is the part you can't readily do based on the 'type size', since the point size of type refers to the bounding box that all the glyphs have to fit in.

There's no 'fix' for within the font file. This simply because most fonts will have glyphs of wildly varying heights. A simple example being a 'g' vs. 'Q'. But then you also need to account for punctuations, special characters, accent marks, swashes, ligatures, etc.

Programtically, you might be able to fix this by rendering the type and then some how evaluating the generated pixels.

hrant's picture

I often use them precisely because most readers can't see the difference

But you made that text block fit for the benefit of the reader, right? Even if we might often be talking about looking, not reading. Note BTW that I said that readers are affected, not that they consciously notice.

hhp

PublishingMojo's picture

you made that text block fit for the benefit of the reader, right?

Well, sort of right, assuming the reader benefits from my also having room for a headline, a subhead, a couple of images, and maybe a logo and phone number ;-)

DTY's picture

I'm a bit puzzled also as to where exactly the problem is. If the idea is writing some PHP to generate calendars, presumably it's not as simple as having the program look at the font's metrics to get the cap height and ascender height relative to baseline and then doing the arithmetic to fit this to the space available. What else needs to be done? Is it the widths that are the problem?

rs_donsata's picture

I learned from Eduardo Danilo to start by defining a paragraph font style and then to work a grid from the leading measurement.

dumpling's picture

By the way... you have thought of printing "SydSydSyd" at 100 points and measuring that to get some starting numbers?

Who's Syd?

No, but I printed "250pt" and "350" in those respective sizes, together with rectangles of known dimensions (10 mm x 50 mm or 10 mm x 100 mm) for comparison. I learned:
* On the printer I used, the rectangles came out a bit too small (about 93 mm for 100 mm). I think it had to do with the page margins I chose and automatic page scaling.
* The vertical measurements were ever so slightly (by a fraction of a percent) inconsistent with the horizontal measurements.
* The overshoots (is an "undershoot" still called an overshoot?) were indeed there. Each over/undershoot is on the order of 1/140 (darn near impossible to measure accurately with the tools at hand) of the total character height.

The thing with overshoots is, once you see them, it's kind of hard not to see them, which defeats their entire purpose. I have seen signs with very large lettering on which the overshoots were laughably obvious. You probably have seen such signs too. Perhaps along with "Bold" and "Italic" options for a font, there should be a "No Overshoots" option!

hrant's picture

I have seen signs with very large lettering on which the overshoots were laughably obvious.

That's because a font's overshoot depends on the intended usage size range (or to be picky, the intended subtended angle) and using a font at a size outside that range is, well, blasphemous. :-)

hhp

oldnick's picture

If overshoots are the problem, then use a “square“ typeface—like this…

http://www.myfonts.com/fonts/nicksfonts/warp-three-nf/

Té Rowan's picture

Syd = Sunday sans u, n and a. Also the letters I guessed as most likely to give a good measure for caps, descender and ascender.

hrant's picture

That would be Hhp. :-)
Actually I'm not kidding - I once saw a presentation by Matthew Carter where he showed that.

hhp

Syndicate content Syndicate content