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

severnik

Участник
Топикстартер
Сообщения
18
Реакции
1
Шрифты имеют различные отступы. Возможно ли в илюстраторе выравнивать текст без учёта этих отступов, по контуру самого текста.
Если текст преобразовать в кривые, то это, понятно, станет возможно, т.к. отступы пропадут. Но надо сохранить редактируемость текста.
1563810023314.png
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
28 495
Реакции
9 392
Скриптом можно
 

ITIT

15 лет на форуме
Сообщения
158
Реакции
60
Глубоко уважаемый дайте пожалуйста ссылку на скрипт,буду Вашим вечным рабом если
обьясните,как этот скрипт работает,по какому принципу
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
28 495
Реакции
9 392
Полной уверенности у меня нет, но чтото подсказывает мне, что visualBounds у текстового обьекта будут аккурат по границам текста
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
28 495
Реакции
9 392

ITIT

15 лет на форуме
Сообщения
158
Реакции
60
Ошибка,не будет,что то подсказывет мне.'))'
Еще раз ошибка,у меня пирсинг в носу.
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
28 495
Реакции
9 392
Слушать свой внутренний голос всегда похвально, но вы все же проверьте, а то я в маршрутке с яблофона а на нем проверить затруднительно
 

_MBK_

Пикирующий бомбардировщик
12 лет на форуме
Сообщения
28 495
Реакции
9 392
что то подсказывет мне
Проверил сам, на этот раз предчувствия вас не обманули.
Но это зло еще не так с большой руки, вот такой скрипт выравнивает текстовый объект относительно не текстового.
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

ITIT

15 лет на форуме
Сообщения
158
Реакции
60

Не по теме:
Уже гребу
 

Slx1

12 лет на форуме
Сообщения
677
Реакции
58
Шрифты имеют различные отступы. Возможно ли в илюстраторе выравнивать текст без учёта этих отступов, по контуру самого текста.
Если текст преобразовать в кривые, то это, понятно, станет возможно, т.к. отступы пропадут. Но надо сохранить редактируемость текста.
Посмотреть вложение 120327