Although it is generally not recommended to open in Illustrator a PDF generated, for example, from InDesign or QuarkXPress, or simply generated from Illustrator but saved as PDF/X, we eventually end doing it at some point when the source file is not available and we simply want to pick up some graphic assets to reuse in a new design work. We can notice then that the paragraphs are always split into several left-aligned point texts, that some characters originally affected by an horizontal scale in the source file appear affected by an inverse vertical scale and a different point size, that some characters, especially dingbats, sometimes turn out converted to outlines, etc. This extension for Illustrator CC+ (html5 panel not compatible with old CS versions), baptized «Text rebuild tools», gathers a few functions, some of them already published here as separate jsx scripts, to help recreate and rebuild editable lines/paragraphs/stories from these items.

TextRebuildTools ai008 fit text to outline enYou will recognize the “Fit text to outline” function that enables to fit exactly a text item to the bounds of a vector item;
TextRebuildTools ai008 hv scale motionless change to 100 enalong with the Invert characters horizontal/vertical scale function enabling to change, for example, a 18pt character with a 111.11111% vertical scale to a visually identical 20pt character with a 90% horizontal scale & vice versa;
TextRebuildTools ai008 justification motionless change ena new function to change the paragraph alignment of a point text without moving it, in order to restore the alignment mode of a text line back to what it was in the original source file, systematically replaced with left-alignment when we open in Illustrator the generated pdf;
TextRebuildTools ai008 merge into one story enyou will also recognize the Rebuild broken text function enabling to rebuild editable text lines/paragraphs/stories from text split in several frames — frequently encountered case some others script were developed for such as John Wundes’s or Justin Putney’s.

Reference:

TextRebuildTools ai008.13 fr param

“Fit text to outline” > You need to select both a text and one or more vector items and the script will fit the text to the items. [cf. 178-fit-a-text-to-an-outline]


Motionless [that is generally quite invisible] changes:

Redefine characters vertical or horizontal scale to 100%: invert characters horizontal/vertical scale while preserving the appearance [cf. 202-invert-characters-hv-scale]:

  • “vertical” > Set vertical scale to 100%, adjust horizontal scale and font size accordingly.
  • “horizontal” > Set horizontal scale to 100%, adjust vertical scale and font size accordingly.

Redefine selected character baselineShift to [value] > Using Text tool, select only one reference character with or w/o a baseline shift and the script will replace this shift value with the desired one, recalculate the baselineShift for every other character in the text, and move the text anchor to restore the characters initial visual position.

Redefine paragraph alignment to

  • “left” > Set paragraph alignment to left, then move the text anchor to restore the characters initial visual position.
  • “center” > Set paragraph alignment to center, then move the text anchor to restore the characters initial visual position.
  • “right” > Set paragraph alignment to right, then move the text anchor to restore the characters initial visual position.

Merge text parts into one single line/single paragraph/single story [cf. 187-rebuild-broken-text-in-illustrator]

  • “single line” > Attempts to merge all selected text frames into one single line, adding some “baseline shift” to the non-aligned texts parts in order to keep the aspect. Suitable for example when you want to merge on a same line several text frames including some offset split parts resulting from superscript or subscript.
  • “single paragraph” > Merges on a same line only actually vertically aligned text frames (with a tolerance defined using the “Same line threshold” parameter), then merges the (single or multi-line) texts items into one single paragraph (the joined texts will be separated by ¬ soft returns) in a single text item. The distribution of the joined texts will be reproduced wherever possible by seeking the paragraph alignment mode (left with optionally 1st line indent, center or right) that best preserves the initial horizontal distribution and the leading preserving the vertical distribution.
  • “single story” > Merges on a same line only actually vertically aligned text frames (with a tolerance defined using the “Same line threshold” parameter), then merges the (single or multi-line) texts items into one single story (the joined texts will be separated by ¶ carriage returns/end-of-paragraph) in a single text item. The distribution of the joined texts will be reproduced wherever possible using paragraph attributes, vertically using “space before/after” parameters, horizontally using “left/right indent” parameters.

↳ Parameters:

  • “Detected text rotation” > To simply inform you that a rotation was detected and the script will have to temporary cancel then restore this transformation to get correct results.
  • “Add space threshold” > If there is an horizontal gap between two consecutive text parts to merge: 1) for a gap width above this threshold (defined in thousandths of an em of the font size of the last character of the first text part), one or more spaces will be appended at the end of the first text part before appending the characters from the second text part; 2) for a gap width below this threshold, the tracking value of the last character from the first text part will be increased before appending the characters from the second text part [you might have to increase this threshold sometimes, for example to merge spaced caps without seeing spaces inserted between them].
  • “Add attribute threshold” > Threshold used to decide whether an existing horizontal/vertical offset between text parts to merge is enough significant to add/modify some character/paragraph attributes such as “baselineShift”, “left/right indent”, “1st line left indent” in order to preserve the characters distribution, or if this offset is insignificant and should better be ignored. For example if there is a vertical offset between two consecutive text parts to merge on a same line (when using the merge into one line button, or when the vertical offset remains below the “Same line threshold”): 1) for an offset above the “Add attribute threshold”, the baselineShift value of the characters from the second text part will be modified before appending these characters to the first text part; 2) an offset below this threshold will be simply ignored.
  • “Same line threshold” > Parameter for merging text parts into one multiline text (ignored when using the merge into one single line button): if the vertical offset between two text parts to merge is below this threshold, the text parts will be merged in a same line (note that consequently a series of an unlimited amount of consecutive text parts separated by vertical gaps below this threshold between them can end merged in a same line even if the offset between the highest and the lowest of the series is above this threshold).

Keep joined paragraphs vertical spacing using

  • “space before” > When joining two consecutive paragraphs, keep the vertical spacing between them by adjusting the “space before” parameter of the lower paragraph.
  • “space after” > When joining two consecutive paragraphs, keep the vertical spacing between them by adjusting the “space after” parameter of the upper paragraph.
  • “leading” > When joining two consecutive paragraphs, keep the vertical spacing between them by adjusting the character leading of the 1st line of the lower paragraph.

Keep joined paragraphs horizontal distribution using indents computed from

  • “leftest text” > When joining several text items whose anchors have different horizontal coordinates (with offsets beyond the “Add attribute threshold”), keep their horizontal distribution by adjusting the “left/right indent” parameters of the paragraphs, computing indents from the leftest joined text item. The anchor horizontal coordinate for the resulting text will then be the same as for the leftest joined text. Appropriate for left-aligned or justified paragraphs.
  • “rightest text” > When joining several text items whose anchors have different horizontal coordinates (with offsets beyond the “Add attribute threshold”), keep their horizontal distribution by adjusting the “left/right indent” parameters of the paragraphs, computing indents from the rightest joined text item. The anchor horizontal coordinate for the resulting text will then be the same as for the rightest joined text. Appropriate for right-aligned paragraphs.

“Set consistent kerning/tracking” > For use when the Character panel shows zero for kerning value and a different tracking value for every character of the selected text: This function tries to apply to the selected characters the different kerning modes (Metrics - Roman only, Auto, Optical, 0/No auto kern) and different consistent tracking and word spacing values, then selects those best matching the characters visual position.

↳ Parameter:

  • “Tolerance” > The attempt to set consistent kerning, tracking and word spacing to the selected text will be considered successful if the characters average horizontal resulting offset from their initial position remains below this tolerance threshold. Otherwise the modification will be cancelled.

“Equalize leading” > Apply an uniform leading to all characters in selection.

Add comment

Comments   
Mammie
0 # Mammie 2021-01-24 16:05
I do not know whether it's just me or if perhaps everyone else experiencing problems with your website.
It appears as if some of the text in your content are running off the screen. Can someone else
please comment and let me know if this is happening to them as
well? This could be a problem with my internet browser because I've had this happen previously.
Cheers
Reply
Eden
0 # Eden 2021-01-24 07:39
I was more than happy to find this web site. I
wanted to thank you for your time just for this wonderful read!!
I definitely enjoyed every part of it and I have
you book marked to check out new things in your website.


Also visit my web page: nha thau xay dung: https://xaydungtrangtrinoithat.com/nha-thau-xay-dung-nha-o-kien-giang-tp-rach-gia-ha-tien/
Reply
Johanna
0 # Johanna 2021-01-24 07:11
Hello There. I found your blog using msn. This is a very well
written article. I'll make sure to bookmark it and
return to read more of your useful info. Thanks for the post.
I will definitely return.
Reply
Irwin
0 # Irwin 2021-01-24 06:36
Hmm is anyone else encountering problems with the images on this blog loading?
I'm trying to figure out if its a problem on my end or if it's the blog.
Any feedback would be greatly appreciated.

Look into my homepage - Xây nhà trọn gói: https://xaydungtrangtrinoithat.com/thi-cong-xay-nha-tron-goi-tai-dong-nai/
Reply
Adrianna
0 # Adrianna 2021-01-24 00:14
When I initially commented I seem to have clicked on the
-Notify me when new comments are added- checkbox and from now on whenever a comment is added I recieve 4 emails with the exact same comment.
There has to be a means you are able to remove me from that service?
Thanks a lot!
Reply
Efrain
0 # Efrain 2021-01-23 23:45
Amazing! Its genuinely remarkable paragraph, I have got much clear idea regarding from this paragraph.
Reply
Whitney
0 # Whitney 2021-01-23 19:40
I'm impressed, I must say. Rarely do I encounter a blog that's both educative and engaging, and without a doubt,
you have hit the nail on the head. The issue is something that not enough people are speaking intelligently about.
I am very happy that I stumbled across this during my hunt for something relating to this.
Reply
Bennie
0 # Bennie 2021-01-23 10:26
What's up to all, the contents present at this web site
are genuinely awesome for people knowledge, well, keep up the good work fellows.
Reply
Flynn
0 # Flynn 2021-01-23 06:32
Fastidious response in return of this matter with firm arguments and describing all concerning that.
Reply
Maude
0 # Maude 2021-01-22 11:53
My developer is trying to convince me to move to .net
from PHP. I have always disliked the idea because of the expenses.

But he's tryiong none the less. I've been using WordPress on a number of websites for about a year and am worried about switching to another platform.
I have heard great things about blogengine.net.
Is there a way I can import all my wordpress posts into it?
Any help would be greatly appreciated!
Reply
Kenny
0 # Kenny 2021-01-22 11:17
It's going to be end of mine day, however before finish I am reading this wonderful piece of writing to improve my know-how.
Reply
Cedric
0 # Cedric 2021-01-22 11:05
Hi there! I realize this is somewhat off-topic however I had to ask.
Does managing a well-establishe d blog such as yours require a large amount of work?
I am completely new to running a blog however I do write in my diary
daily. I'd like to start a blog so I will be
able to share my own experience and views online.

Please let me know if you have any kind of recommendations or tips for new aspiring bloggers.
Thankyou!
Reply
Selina
0 # Selina 2021-01-22 10:16
May I simply just say what a relief to find somebody who genuinely knows what
they're discussing on the internet. You certainly realize how to bring an issue to light and make it important.
More and more people really need to look at this and understand this side
of the story. I was surprised you're not more popular given that you surely have the gift.
Reply
Becky
0 # Becky 2021-01-21 08:08
Hello there! This blog post couldn't be written much better!
Reading through this article reminds me of my previous roommate!
He always kept talking about this. I most certainly will send this article to him.

Fairly certain he'll have a great read. Thanks for sharing!


My webpage; top [spam] exchange (dobraksiazka.n et: https://dobraksiazka.net/user/FlorentinaGoodle/)
Reply
Cassie
0 # Cassie 2021-01-20 22:59
Way cool! Some extremely valid points! I appreciate you penning this write-up and the rest
of the site is also really good.
Reply
Archie
0 # Archie 2021-01-20 15:51
Can I simply say what a relief to discover a person that genuinely understands what they're discussing
on the web. You definitely understand how to bring a problem to
light and make it important. A lot more people must look at this and understand this side of your
story. I was surprised that you aren't more popular given that you surely
have the gift.
Reply
Opal
0 # Opal 2021-01-20 11:45
Excellent article. I am experiencing some of these issues as well..
Reply
Rosemarie
0 # Rosemarie 2021-01-20 04:05
Привет,
Коллеги.

Сейчас я бы хотел рассказать немного про Балашиха
купить аттестат 11 классов.
Я думаю Вы ишите именно про Аттестат 11 классов старого образца купить в Анапе?!
Значит эта оптимально актуальная информация про Купить аттестат 9 классов старого образца Анапа будет для вас наиболее полезной.

Мы предлагаем больше полезностей
про Купить аттестат за 11 классов в Балашихе а также про Купить аттестат 11 классов нового образца в
Волгограде и про Диплом вуза Анапа.


На нашем сайте больше про
Благовещенск диплом вуза купить, также информацию про Купить свидетельство о рождении в Благовещенске и
про Купить в Анапе диплом о высшем образовании.


Наш сайт про Диплом высшего образования в Благовещенске: https://diplomki.com/blagoveschensk/diplomvuz/9 по ссылке https://diplomki.com/belgorod/attestat9/22.html
Смотри на сайте про Диплом колледжа в Волгограде купить

Наш сайт про Купить свидетельство о результатах
ЕГЭ в Анапе: https://diplomki.com/anapa/svidetelstvo/29.html по ссылке https://diplomki.com/arhangelsk/diplomvuz/6
Смотри на сайте про Диплом вуза Архангельск

Наши Теги: купить в Балашихе диплом вуза, Аттестат 9 классов СССР купить в Белгороде,
Диплом высшего образования в
Балашихе, Аттестат 11 классов
старого образца купить в Балашихе, Купить диплом о высшем образовании в Благовещенске,
Диплом о высшем образовании Белгород
Удачного Дня
Reply
George
0 # George 2021-01-17 02:21
How you can login sbobet (loginsbobet.in fo: http://loginsbobet.info/) Indonesia
If a fellow member already has a great official Sbobet account, it
is extremely easy to log in to Sbobet Indonesia.
We provide a number of official alternative backlinks that can end up
being accessed around the world. Signing in for the very first time on our established site requires a password confirmation and password
change to sustain your security. For members who possess logged in more than once, right now there is no
require to confirm since before. Members could immediately log within to Sbobet Indonesia to learn the sport they want.




Opportunities to be able to Win Playing from Sbobet Indonesia
All of us are the greatest service provider who is the most
courageous in offering winning opportunities with regard to members.
Of all the games, the particular margin that Bola tangkas gets is a few.
4%. Therefore , gamblers benefit greatly when playing on the sbo site.
A lot more frequently the bettors wager, the more likely it is to
be able to get even more wins. Below will be the margin attained
by the sbo sportsbook from typically the betting turnover of all bettors who
may have joined us.
Reply
Matt
+1 # Matt 2020-01-08 05:30
Oh man, THIS IS A LIFE SAVER!!

Thank you so much, love this extension!
Reply

Follow Scriptopedia to Social Network

Scriptopedia sur facebook

About Scriptopedia.org

An original idea from Loic Aigon, designed by Eddy.VH. It 's a scripts library for Desktop Publishing Adobe products. Find Javascript for Photoshop, Illustrator, inDesign and Acrobat or ATN scripts ( Photoshop actions ) you need.