আমি আর্টবোর্ডকে নির্বাচিত শিল্পের সাথে ফিট করতে চাই (দুটি পাঠ্য বাক্স) - পাঠ্য বাক্সগুলি তাদের অভ্যন্তরের পাঠ্যের চেয়ে বড় - আমি কীভাবে তাদের পাঠ্য (সংকুচিত) আমার পাঠ্যের চারপাশে শক্তভাবে আবদ্ধ করতে পারি?
ইলাস্ট্রেটর সংস্করণ - সিএস 5
আমি আর্টবোর্ডকে নির্বাচিত শিল্পের সাথে ফিট করতে চাই (দুটি পাঠ্য বাক্স) - পাঠ্য বাক্সগুলি তাদের অভ্যন্তরের পাঠ্যের চেয়ে বড় - আমি কীভাবে তাদের পাঠ্য (সংকুচিত) আমার পাঠ্যের চারপাশে শক্তভাবে আবদ্ধ করতে পারি?
ইলাস্ট্রেটর সংস্করণ - সিএস 5
উত্তর:
ইলাস্ট্রেটারের (5.1 হিসাবে) ইনডিজাইনের মতো কোনও সুবিধাজনক "সামগ্রী থেকে ফিট ফ্রেম" নেই। কেবল পাঠ্য ফ্রেমটি নির্বাচন করুন এবং ফ্রেমে পাঠ্যে স্নাগ না হওয়া পর্যন্ত হ্যান্ডলগুলি অভ্যন্তরের দিকে টানুন।
এর জন্য একটি স্ক্রিপ্ট আছে। (এটি সম্ভবত স্ক্রিপ্ট জুনাসের মন্তব্যের প্রতি ইঙ্গিত দেয় - CS6 এ ঠিক কাজ করে)।
(তারপরে পাঠ্য বাক্সটি ফিট করার পরে আর্ট বোর্ডে ফিট করার জন্য, আর্ট বোর্ড সরঞ্জামটি ব্যবহার করুন এবং পাঠ্য বাক্সে ক্লিক করুন)
সৌজন্যে কেলসো কার্টোগ্রাফি যাদের দুর্দান্ত স্ক্রিপ্টগুলি প্রচুর পরিমাণে রয়েছে (তাদের স্ক্রিপ্টগুলি পয়েন্ট এবং অঞ্চল পাঠ্যের স্যুইচ করার জন্যও সুপারিশ করা হয়), আপনি এখানে ফিট টেক্সট কনটেন্ট স্ক্রিপ্টটি ডাউনলোড করতে পারেন । এটি টিনে যা বলেছে ঠিক তা করে - টেক্সটের লাইনের উচ্চতা মাপার জন্য একটি পাঠ্য অঞ্চলের পাঠ্য ফ্রেম আঁকুন (উপরে বা নীচে)।
এই স্ক্রিপ্টটির একটি 'পূর্বে' এবং 'পরে' এখানে রয়েছে, এর সাথে তার চাচাত ভাইকেও কেলসো কার্টোগ্রাফি, ফিট টেক্সট টু কনটেন্ট প্রস্থ , অব্যবহৃত স্থান অপসারণের জন্য একটি পাঠ্য ফ্রেমের আকার পরিবর্তন ( ভিসটিপস সৌজন্যে ):
লিঙ্কটি নিচে নামার ক্ষেত্রে তেহ কোডজ এখানে রয়েছে। মূল লেখকের সমস্ত ক্রেডিট। আপনার illustrator/presets/[some language code]/scripts
ফোল্ডারে এটি একটি জেএস ফাইল হিসাবে সংরক্ষণ করুন তারপরে ইলাস্ট্রেটরটিকে রিবুট করুন:
// FitToTextContent_Depth
// Nathaniel Vaughn KELSO
// Last modified: 2008.March.29
// Created: 2007.July.8
// at Hyattsville, MD
// Version 2
// (c) nvkelso2008@gmail.com (but remove the 2008 bit)
// DESC: Fits the text frame (rectangular path shapes only!) to fit the text content.
// DESC: Will either shrink or expand the depth of the text box as appropriate.
// TODO: Extend to work with text on a line (PATHTEXT)
// TODO: watch for 4 point paths that are not rectangular
// TODO: watch for 4 point paths that are rotated
var includeExtraLines = 0.5;
if(documents.length > 0) {
doc = activeDocument;
mySelection = activeDocument.selection;
// If there are enough to process
if (mySelection instanceof Array)
{
// For each of the selected items
for(i=0; i<mySelection.length; i++) {
// That are textFrames
if (mySelection[i].typename == "TextFrame" && mySelection[i].kind == TextType.AREATEXT ) {
obj = mySelection[i];
// We only want to do this on rectangular text areas
// TODO: Take care of rotation issues from MakePointType script
if( obj.textPath.pathPoints.length == 4 ) {
objTop = obj.top;
objLeft = obj.left;
// Make the new point type object and locate it
// Make sure the new object is in the same Z stacking order as the original
copy1 = obj.duplicate(obj, ElementPlacement.PLACEBEFORE);
//copy1.move(obj, ElementPlacement.PLACEBEFORE);
// now make the text box much bigger, but not absurdly big
// TODO: This could be better approximated by itterating thru all the WORDS in the textFrame and
// comparing it to all the WORDS in each of the visible text LINES. Then apply the difference / total words to the scaling
if( copy1.height * 10 < 2000 ) {
copy1.textPath.height = copy1.height * 10;
} else {
copy1.textPath.height = 2000;
}
howManyLines = copy1.lines.length;
outlineObject = copy1.duplicate();
outlineObject = outlineObject.createOutline();
targetHeight = outlineObject.height + includeExtraLines * (outlineObject.height / howManyLines );
// Now assign y-axis depth of the point text to the area text box
rect = obj.parent.pathItems.rectangle(copy1.textPath.top, copy1.textPath.left, obj.width, targetHeight);
copy2 = obj.parent.textFrames.areaText(rect);
copy2.selected = true;
rect.selected = true;
// Always delete these intermediate objects
outlineObject.remove();
copy1.remove();
// Now take care of the end and original objects
obj.textRange.duplicate(copy2);
obj.remove();
}
}
}
}
}