Skip to main content
Inspiring
June 21, 2020
Answered

How to determine a text size by actual print measurement?

  • June 21, 2020
  • 8 replies
  • 34447 views

I mean: text height.

I always "Trial and error"ing with the font size (on PT units) , measure it with measure tool, converting it's height to CM. it's a time consuming methood.
is there any more user friendly way to do it?

 

this question goes to illustrator too.

Correct answer Laubender

Here the direct link to Gerald's script SetVisualCharSize.jsx :

https://www.cuppascript.com/wp-content/uploads/2019/02/SetVisualCharSize.zip

 

Just tested it with InDesign 2020. It's still working!

 

Regards,
Uwe Laubender

( ACP )

8 replies

Willi Adelberger
Community Expert
Community Expert
May 15, 2023

I write an H, convert it to outlines and get all the meassures of cap height.

m1b
Community Expert
Community Expert
April 16, 2023

For anyone coming to this old thread: I wrote a script that takes another approach altogther—it ignores the font metrics and gives you the actual bounding box of the selected glyphs.

- Mark

danezeqAuthor
Inspiring
May 15, 2023

what a great script! do you have the same for illustrator?

m1b
Community Expert
Community Expert
May 21, 2023

I might be able to adapt it to use in Illustrator. I'll have a look into it when I get a chance. - Mark

Community Expert
June 22, 2020

Hi danezeq,

so in effect you need a tool that will format selected text so that the height of say, the letter "H", is a distinct value in millimeters? Think, that Gerald Singelmann did a script for this purpose about 10 years ago. Ah. Found it:

 

Reale Buchstabenhöhe in mm bestimmen

Gerald Singelmann

https://www.cuppascript.com/reale-buchstabenhoehe-in-mm-bestimmen/

 

Regards,
Uwe Laubender

( ACP )

LaubenderCommunity ExpertCorrect answer
Community Expert
June 22, 2020

Here the direct link to Gerald's script SetVisualCharSize.jsx :

https://www.cuppascript.com/wp-content/uploads/2019/02/SetVisualCharSize.zip

 

Just tested it with InDesign 2020. It's still working!

 

Regards,
Uwe Laubender

( ACP )

danezeqAuthor
Inspiring
June 22, 2020

i think it works great! fantastic!

thank for you all 🙂

rob day
Community Expert
Community Expert
June 22, 2020

It sounds like you want to measure the Cap Height, which is not the point size.

 

 

 

You can get the cap height via scripting. This is adapted from a script Uwe Laubender posted awhile back. Displays the cap height of a selected character:

 

var doc = app.documents[0];  
var docViewPrefs = doc.viewPreferences.properties;
doc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;
doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;
var sel = doc.selection[0];
app.copy();

var textFrame = doc.textFrames.add({geometricBounds: [0,0,"100mm","100mm"], textFramePreferences: {firstBaselineOffset: FirstBaseline.CAP_HEIGHT, insetSpacing: 0, minimumFirstBaselineOffset: 0, verticalJustification: VerticalJustification.TOP_ALIGN}});  
        
app.select([textFrame.parentStory.insertionPoints[0]])    
app.paste();
var ch = textFrame.texts[0].insertionPoints[0].baseline;

textFrame.remove();

doc.viewPreferences.properties = docViewPrefs;

alert( "Selected character’s Cap Height= " + ch + " Points);

 

danezeqAuthor
Inspiring
June 22, 2020

Wow this scheme is so much much helpful! i'm gonna use it a lot

i have to find a scheme like that for Hebrew.

Now about our issue:

 need the x height, not the cap height

rob day
Community Expert
Community Expert
June 22, 2020

If you want the lowercase x height try this:

 

var doc = app.documents[0];  
var docViewPrefs = doc.viewPreferences.properties;
doc.viewPreferences.horizontalMeasurementUnits = MeasurementUnits.POINTS;
doc.viewPreferences.verticalMeasurementUnits = MeasurementUnits.POINTS;
var sel = doc.selection[0];
app.copy();

var textFrame = doc.textFrames.add({geometricBounds: [0,0,"100mm","100mm"], textFramePreferences: {firstBaselineOffset: FirstBaseline.X_HEIGHT, insetSpacing: 0, minimumFirstBaselineOffset: 0, verticalJustification: VerticalJustification.TOP_ALIGN}});  
        
app.select([textFrame.parentStory.insertionPoints[0]])    
app.paste();
var ch = textFrame.texts[0].insertionPoints[0].baseline;

textFrame.remove();

doc.viewPreferences.properties = docViewPrefs;

alert( "Selected character’s X Height= " + ch + " Points");

 

 

 

Randy Hagan
Community Expert
Community Expert
June 21, 2020

Yes. With a Type Scale Tool.

 

Commonly called an E-scale, a see-through type gauge/ruler works by lining up a capital letter against the "E"s to translate what you see into a type size specification. In the example above, it also lets you use the leading scales to measure space between type lines in the type slug, and, with practice, can offer more type size scales between Top of Caps and Base of Descenders.

 

Hope this helps,

 

Randy

Jongware
Community Expert
Community Expert
June 22, 2020

You know, that brings me back.

Before the turn of the century we used to output directly to film. In those days I wrote a nifty piece of PostScript code that measured the height of selected characters of any typeface and then produced such a ruler with a spread of different sizes, along with their exact point size. Output in black on the transparent film, it was ready for use as soon as it was developed. I must've made dozens of these, they were quite popular.

Randy Hagan
Community Expert
Community Expert
June 22, 2020

I've got a little drawer in the cabinet by my stand-up computer station with a heavy-duty MicroRef Smart Rule E-Scale (25 steps between 5-72 points, set in both serif and sans-serif type), linescreen gauges, a scanner test strip — heck, there's even an old proportion wheel in there. I probably break out the E-Scale once every other year. The only part of the kit I still use regularly is the scanner test strip, every couple of months, just to make sure my scanner isn't out of whack before I start digitizing photo prints or 'stats.

 

These days, I rarely break most of these things out. And half the time I do, it's to gee-whiz a client or colleague.

 

I used to think my kit demonstrated I was an old-school heavyweight graphics weenie. Now I realize all it demonstrates is that I'm really old.

Jeff Witchel, ACI
Community Expert
Community Expert
June 21, 2020

If I'm understanding your question correctly, you mean the actual size of a letter. For instance, the exact measurement of an upper-case letter or possibly the X-height. As an example, there's is no way to enter an exact measurement of a cap letter in a character field. The cap letters and and/or x-height of lower-case characters can be entirely different in differing typefaces. 

Point size is not the measurement of letters. It measures the distance from the baseline of one line of type up to the baseline of the line of type above. 

Frans v.d. Geest
Community Expert
Community Expert
June 21, 2020

"Point size is not the measurement of letters. It measures the distance from the baseline of one line of type up to the baseline of the line of type above."

 

No, that is leading.

In general we see the kp height (acsender to descender) as point size.

Jeff Witchel, ACI
Community Expert
Community Expert
June 21, 2020

Thanks for the correction Frans! Bit of a brain blip there from doing two things at once.

Jongware
Community Expert
Community Expert
June 21, 2020

You can enter other measurements in the Font Size field as usual, f.e. "1.25cm".

 

But do note that there is no straightforward relation between "font size" and how large exactly the text is in your document! (A very easy to understand reason is, "the size of what character?" It's a bit more complicated than that, but it's a good starting point to think about.) Nevertheless, entering a size in a measurement unit of your choice could be close enough for you.

JonathanArias
Legend
June 21, 2020

Type size for Print? Digital?

 

what are you confused about? You don't know what size font you should use?

 

can you elaborate?

danezeqAuthor
Inspiring
June 21, 2020

It's for print.

I'm not sure i understand your respond.

i think the answer is yes. i don't know what size (in pt) to use to make the letter be printed on X cm on paper.

i want to check it more quickly then streching the measure tool everytime i change the font size.