[AI CC-CC2022] Выравнивание текста без учёта полей шрифта (как контура)

severnik

Участник
Топикстартер
Сообщения
110
Реакции
2
Шрифты имеют различные отступы. Возможно ли в илюстраторе выравнивать текст без учёта этих отступов, по контуру самого текста.
Если текст преобразовать в кривые, то это, понятно, станет возможно, т.к. отступы пропадут. Но надо сохранить редактируемость текста.
1563810023314.png
 
Скриптом можно
 
Глубоко уважаемый дайте пожалуйста ссылку на скрипт,буду Вашим вечным рабом если
обьясните,как этот скрипт работает,по какому принципу
 
Полной уверенности у меня нет, но чтото подсказывает мне, что visualBounds у текстового обьекта будут аккурат по границам текста
 
Ошибка,не будет,что то подсказывет мне.'))'
Еще раз ошибка,у меня пирсинг в носу.
 
Слушать свой внутренний голос всегда похвально, но вы все же проверьте, а то я в маршрутке с яблофона а на нем проверить затруднительно
 
что то подсказывет мне
Проверил сам, на этот раз предчувствия вас не обманули.
Но это зло еще не так с большой руки, вот такой скрипт выравнивает текстовый объект относительно не текстового.
JavaScript:
if (selection[0].typename=='TextFrameItem')
{
var stayObject = selection[0];
var moveObject = selection[1];
} else
{
var stayObject = selection[1];
var moveObject = selection[0];
}
var stayObj = stayObject.geometricBounds;
var tempObj=moveObject.duplicate( activeDocument,ElementPlacement.PLACEATEND).createOutline();
var moveObj = tempObj.geometricBounds;
var horiz='CENTER';
var vertikal='CENTER';
switch(horiz){
        case 'CENTER': var cntr=stayObj[0]+(stayObj[2]-stayObj[0])/2; var cntrMov=moveObj[0]+(moveObj[2]-moveObj[0])/2;  var delt =cntr-cntrMov;      break;
        case 'LEFT':   delt =stayObj[0]-moveObj[0];     break;
        case 'RIGHT': delt =stayObj[2]-moveObj[2];   break;    
         default:delt=0; break;
        }
    switch(vertikal){
        case 'CENTER':  var cntr=stayObj[1]+(stayObj[3]-stayObj[1])/2; var cntrMov=moveObj[1]+(moveObj[3]-moveObj[1])/2;   var  delt2 =cntr-cntrMov;   break;
       case 'TOP':  delt2=stayObj[1]-moveObj[1];    break;
       case 'BOTTOM':  delt2 =stayObj[3]-moveObj[3];  break;
       
         default:delt2=0; break;
        }
moveObject.translate(delt,delt2);
tempObj.remove();
Сам код выравнивания взят отсюда.
Поэтому можете выбирать на своем слънчев бряге галеру покомфортабельнее и подгребать куда-нибудь к Чемордачке '))'
 
  • Спасибо
Реакции: idreamer и ITIT

Не по теме:
Уже гребу
 
Ура! В Illustrator 2021 добавили нативно.
 
Шрифты имеют различные отступы. Возможно ли в илюстраторе выравнивать текст без учёта этих отступов, по контуру самого текста.
Если текст преобразовать в кривые, то это, понятно, станет возможно, т.к. отступы пропадут. Но надо сохранить редактируемость текста.
Посмотреть вложение 120327