The script for Adobe Illustrator tweaks the proportions and sizes of the letters, improving the readability of the text that the audience will be looking at from an angle. This is especially critical for dense layouts with small letters: high-mounted signage in airports and train stations, menus over the bar, wayfinding signs, etc.
The script gets the position of the layout relative to some average observer's eye position, calculates the perspective distortion of each line of text, and compensates for it by stretching and enlarging the characters.
The script also can compensate leading and smallness of far lines, as well as save the proportions of the characters. Both Area Type
and Point Type
are supported, but they have special features, which are described below. The script processes selected text fields, and if nothing is selected, then all text fields in file.
The position of the layout relative to the observer's eyes is determined by two parameters: the position of the layout relative to the eye level and the distance from the plane of the media to the eyes.
The observer's eye level is determined by the line in the eyes_level
layer, and the distance
is set in the script settings panel.
The shorter the distance, the greater the distortion, and the stronger the effect of their compensation.
By default, the script assumes that the layout is already at 100% scale. If it becomes crowded on the canvas, you can reduce the layout simultaneously with a multiple of the distance parameter. For example, instead of a 5×5 meter layout with a distance of 10 meters, you can run the script on a 1×1 meter layout with a distance of 2 meters, and the result will be identical.
The other three sliders on the settings panel are responsible for the compensation coefficients.
Characters on lines above eye level not only optically squeeze vertically due to perspective distortion, but also look smaller than characters on lower lines due to the fact that they are further away from the eye. Therefore, the script has two separate parameters: perspective compensation
and size compensation
. The picture can help to understand the difference between the two types of optical compensation:
Responsible for stretching the letters vertically to counterbalance their optical squeeze due to viewing at an angle.
0 — off
1 — full compensation, from a specified distance all characters will optically look in their original proportions
Responsible for simply increasing the size of the letters without changing their proportions to counterbalance their smaller optical size.
0 — off
1 — letters will enlarge in proportional to the distance to the eye, compensating for the difference in optical size of characters from different lines
This option can significantly change the layout: when processing an Area Type text field, letters that have increased in width may no longer fit into the fixed line width and will be moved to a new line. When processing Point Type, the lines are simply expanded:
Responsible for increasing the leading (line spacing) in proportion to the vertical stretching of characters. Stretching letters without leading compensation may cause lines to stick together, but increasing the leading will cause the lines to shift on the layout.
0 — leading remains unchanged
1 — leading is proportional to the height of the characters
If you go crazy and turn all the sliders to maximum, you can get full compensation: optically, the size of the letters and the spacing will be the same for all lines.
But it is probably not a good idea. The script calculates compensation for a certain distance, and the resulting layout looks good only from this angle. From another position the layout will already look creepy and broken.
This is why I recommend using the coefficient sliders carefully and not moving them much farther than the middle values. Then the changes made by the script will be useful, but will not be eye-catching, remaining little-noticeable optical compensations.