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

severnik

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Скриптом можно
 

ITIT

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Полной уверенности у меня нет, но чтото подсказывает мне, что visualBounds у текстового обьекта будут аккурат по границам текста
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

ITIT

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

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
Слушать свой внутренний голос всегда похвально, но вы все же проверьте, а то я в маршрутке с яблофона а на нем проверить затруднительно
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
что то подсказывет мне
Проверил сам, на этот раз предчувствия вас не обманули.
Но это зло еще не так с большой руки, вот такой скрипт выравнивает текстовый объект относительно не текстового.
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 лет на форуме
Сообщения
500
Реакции
194

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

severnik

Участник
Топикстартер
Сообщения
110
Реакции
2
Ура! В Illustrator 2021 добавили нативно.
 

Slx1

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

 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 138
Реакции
10 835
  • Спасибо
Реакции: Slx1