Jump to content

Font scaling at large point sizes


lance

Recommended Posts

I am working on a yard sign project. I have a text area that is roughly 23 x 9 inches in which a customer's company name populates. The default point size of the font is 260pt (font doesn't matter as it happens with all fonts I have tried). If I enter 'Company Name' and preview it everything looks great. If I turn on 'adjust to fit' in 'overflow' it still looks fine, since that variable value fits and doesn't need scaling.

 

Where things start breaking is when I either turn on 'allow text to expand to fill' (scaling up) or if I enter something that would require scaling down to fit, such as 'Company Name Goes Here' as the variable, then it scales the text to 72pt. It is almost as if there is a point size ceiling of 72pt when dealing with any type of scaling.

 

Can anyone confirm if this is the case or let me know if and how you got scaling to work at larger point sizes? Thanks!

Link to comment
Share on other sites

Fonts glyphs, in any font, can be scaled, that is, stretched or

shrunk horizontally or vertically, by modifying the set width of the

text. The simplest way to do this in FusionPro is with a <setwidth

newsize=xxx> tag. This changes the width of the glyphs, which by

default, are set to the same width as the point size. So if you're

running in 12-point text, a <setwidth newsize=6> tag will result in

glyphs that are squeezed horizontally, or effectively stretched-out

vertically, like the letters painted on a street to mark lanes.

Conversely, if you're running 12-point text and insert a <setwidth

newsize=24> tag, the text will be stretched horizontally, or

effectively shrunk vertically, so it will look kind of squashed from

the top.

However, getting the right effect with the <setwidth> tag requires

that you know the point size of the text, and it's reset whenever the

point size is changed. A more robust solution is to use a <magnify

type=setwidth factor=xxx> tag. This will magnify the setwidth of all

text in the flow by the specified factor until the ending </magnify>

tag is reached, regardless of intermediate point size changes. For

instance, a <magnify type=setwidth factor=50> tag will result in

narrow glyphs (e.g. 6-point set width for 12-point text size), while

a <magnify type=setwidth factor=200> tag will result in extra-wide

glyphs (e.g. 24-point set width for 12-point text size).

Of course, the easiest way to insert tags into your text is to return

them from JavaScript rules. For instance, create a Text rule and

make sure the "Treat returned strings as tagged text" box is checked,

and enter some syntax such as:

return '<magnify type=setwidth factor=50>';

Then insert the variable corresponding to the rule's name in the

Variable Text Editor, right before the text you want to be affected.

You can do all sorts of other fun and weird things with tags,

especially the <magnify> and <span> tags. Please refer to the

FusionPro Tags Reference Guide for more information.

Link to comment
Share on other sites

Alex, did you actually read my post? None of what I am doing has anything to do with tagged text or javascript (yes, behind the scenes maybe).

 

FusionPro effectively has a button that says if the variable text does not fit in this box make the text smaller (or bigger if expand is checked) until it does fit. When I 'push this button' it doesn't scale the text down until it fits, it scales it all the way down to 72 points. Same thing if I try making the text expand to fill the box, it scales the text to 72 points.

 

What I am asking is if this is a limitation of the scaling feature in FusionPro, this hard limit of 72pt.

 

The text I enter does not fit at 260pt, but it should fit at about 220pt; but FusionPro doesn't scale it to 220pt, it scales it all the way down to 72pt for some reason. Also, if the variable text I enter at 260pt has lots of white space around it it should scale up (with expand checked) to maybe 300pt, but instead it actually scales down to 72pt. Why?

Link to comment
Share on other sites

if you have copyfitting on, there is a function created OnCopyFit. If you edit that function it will look like this:

if (!Copyfit(new MagnifyAttributes("text", 25, 400, 6, 72)))

ReportWarning("Could not copyfit text in flow " +

FusionPro.Composition.CurrentFlow.name);

 

The parameters to the MagnifyAttributes function indicate how the copyfitting will be applied. The first parameter, "text" indicates that font size and leading will be changed in tandem. Next are the minimum and maximum percentages, in this case as low as 25% and as high as 400% of the original code. Next are the absolute minimum and maximum. The minimum point size is 6 and the maximum is 72. That last 72 is what you are referencing. You can go into this rule and change this to whatever value you want and you should get what you need.

Note that the frame(s) being copyfit are specified in FusionPro.Composition.CurrentFlow.name so you could set different values for each frame if you wish.

Link to comment
Share on other sites

The limit of 72 points is set in the OnCopyfit rule:

if (!Copyfit(new MagnifyAttributes("text", 25, 400, 6, 72)))

 

 

The MagnifyAttributes parameters are:

  • magnification type
  • minimum magnification factor
  • maximum magnification factor
  • minimum absolute value (point size in the case of "text")
  • maximum absolute value (point size in the case of "text")

(Note also that the Copyfit function may not be able to adjust the text within the specified parameters. Please refer to the FusionPro Rules System Guide for more detailed information.)

 

So, you can try adjusting that last parameter. You may need to adjust the maximum magnification factor as well.

 

Also, please note that just because your output is going to be printed on a wide format printer as a giant yard sign doesn't mean that your output file has to have pages that are several feet wide. You should be able to scale up a smaller graphic on the press. As Alex alluded to, fonts are vector art anyway, so there's no benefit to outputting massive point sizes. (Plus, there is a limit to how large the point size can be in FusionPro. It's a lot bigger than 260 points, but there's no need to tempt fate.) Furthermore, graphics for a yard sign or a billboard probably aren't designed to look terribly sharp from close distance, so scaling them up in the output isn't going to gain you much anyway. Therefore I would reconsider trying to output a smaller file.

Link to comment
Share on other sites

I'm with Dan on this one. Changing the copy fit function would work too, but I'd design this piece at half, quarter, or eighth scale and increase the resolution to create the desired output resolution once the print file is scaled back to size.
Link to comment
Share on other sites

  • 2 months later...
Fonts glyphs, in any font, can be scaled, that is, stretched or

shrunk horizontally or vertically, by modifying the set width of the

text. The simplest way to do this in FusionPro is with a <setwidth

newsize=xxx> tag. This changes the width of the glyphs, which by

default, are set to the same width as the point size. So if you're

running in 12-point text, a <setwidth newsize=6> tag will result in

glyphs that are squeezed horizontally, or effectively stretched-out

vertically, like the letters painted on a street to mark lanes.

Conversely, if you're running 12-point text and insert a <setwidth

newsize=24> tag, the text will be stretched horizontally, or

effectively shrunk vertically, so it will look kind of squashed from

the top.

However, getting the right effect with the <setwidth> tag requires

that you know the point size of the text, and it's reset whenever the

point size is changed. A more robust solution is to use a <magnify

type=setwidth factor=xxx> tag. This will magnify the setwidth of all

text in the flow by the specified factor until the ending </magnify>

tag is reached, regardless of intermediate point size changes. For

instance, a <magnify type=setwidth factor=50> tag will result in

narrow glyphs (e.g. 6-point set width for 12-point text size), while

a <magnify type=setwidth factor=200> tag will result in extra-wide

glyphs (e.g. 24-point set width for 12-point text size).

Of course, the easiest way to insert tags into your text is to return

them from JavaScript rules. For instance, create a Text rule and

make sure the "Treat returned strings as tagged text" box is checked,

and enter some syntax such as:

return '<magnify type=setwidth factor=50>';

Then insert the variable corresponding to the rule's name in the

Variable Text Editor, right before the text you want to be affected.

You can do all sorts of other fun and weird things with tags,

especially the <magnify> and <span> tags. Please refer to the

FusionPro Tags Reference Guide for more information.

 

This is helpful for a project that I'm working on, but can you explain further? The design calls for variable text that has a Vertical Scale of 112%, and a Horizontal Scale of 98%. If I use magnify (or setwidth), it will only effect the Horizontal Scale, or it does Vertical and Horizontal? If both, it would apply the magnify factor equally both directions? Is there any way to "shrink" the text horizontally, but "enlarge" it vertically?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...