Skip to content

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.

Notifications You must be signed in to change notification settings

kefiijrw/Text-Perspective-Distortion-Compensator-for-Ai

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 

Repository files navigation

Text Perspective Distortion Compensator for Adobe Illustrator

perspective_compensation_before_and_after_long_title_un

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.

frame flacon-map_

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.

en_4k_0 5_16c_new_black

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.

Script Settings: layout position

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.

Screenshot 2022-11-02 at 14 05 49

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.

2022-11-01 18 13 05

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.

Script Settings: compensation coefficients

The other three sliders on the settings panel are responsible for the compensation coefficients.

Screenshot 2022-10-28 at 00 36 54

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:

2d-for-ae-2-1500-20fps-8c

Perspective compensation

Responsible for stretching the letters vertically to counterbalance their optical squeeze due to viewing at an angle.

2022-10-31 23 43 34

0 — off

1 — full compensation, from a specified distance all characters will optically look in their original proportions

Asset 1-persp_max copy 2

Size compensation

Responsible for simply increasing the size of the letters without changing their proportions to counterbalance their smaller optical size.

2022-11-01 00 38 59

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

Asset 1-size_max copy 2

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:

Screenshot 2022-11-01 at 13 31 20

Leading compensation

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.

2022-11-01 23 50 07

0 — leading remains unchanged

1 — leading is proportional to the height of the characters

Asset 1-leading_max copy 2

Recommendations for use

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.

2022-11-02 23 15 11

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.

About

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.

Topics

Resources

Stars

Watchers

Forks