создание стиля

  • Автор темы Автор темы bossrus
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

bossrus

шибка умный, аднака
Топикстартер
12 лет на форуме
Сообщения
447
Реакции
74
большая просьба — кому не лень — скопируйте код

Код:
var myParStyle = app.activeDocument.paragraphStyles.add(
    {  name: "parstyle",
        alignToBaseline: false,
        allowArbitraryHyphenation: false,       
        appliedFont: "Helvetica",
        fontStyle: "Bold",
        baselineShift: 0,
        appliedLanguage: "Russian",
        autoLeading: 0,
        baselineShift: 0,
        capitalization: Capitalization.NORMAL,
        gridAlignment: GridAlignment.NONE,
        hyphenation: false,
        justification: Justification.CENTER_ALIGN,
        leftIndent: 0,
        rightIndent: 0,
        pointSize: 13,
        position: Position.NORMAL,
        capitalization: Capitalization.NORMAL,       
        fillColor: "Black",
        horizontalScale: 100,
        leading: Leading.AUTO,
        skew: 0,
        strokeColor: "None",
        tracking: 0,
        verticalScale: 100 });

и назначьте этот код на текст.
у меня почему-то начинает считать, что Leading.AUTO это 0 (ноль) вне зависимости от того, какой размер шрифта используется. у всех ли так, и что с этим делать (ну кроме назначения Leading жестко)?
 
Судя по всему, да. А какой еще ему интерлиньяж выбирать при отсутствии текста?
 
А какой еще ему интерлиньяж выбирать при отсутствии текста?
когда я руками создаю текстовый стиль не выбирая текста — он почему-то не считает, что при отсутствии текста интерлиньяж таки нулевой, и меняется он в зависимости от размера шрифта :)
 
Он исходит из кегля. А тут сразу и кегель назначается и интерлиньяж. Попробовать скопировать базовый стиль, назначить ему автоматический интерлиньяж и посмотреть какой интерлиньяж назначится?
 
  • Спасибо
Реакции: bossrus
Он исходит из кегля. А тут сразу и кегель назначается и интерлиньяж.
если исходить из этой логики... попробовал создать стиль с кеглем, но без интерлиньяжа, а потом назначил отдельно.
Код:
var upParStyle = app.activeDocument.paragraphStyles.add(
    {  name: "parstyle",
        alignToBaseline: false,
        allowArbitraryHyphenation: false,     
        appliedFont: "Helvetica",
        fontStyle: "Bold",
        baselineShift: 0,
        appliedLanguage: "Russian",
        autoLeading: 0,
        baselineShift: 0,
        capitalization: Capitalization.NORMAL,
        gridAlignment: GridAlignment.NONE,
        hyphenation: false,
        justification: Justification.CENTER_ALIGN,
        leftIndent: 0,
        rightIndent: 0,
        pointSize: 13,
        position: Position.NORMAL,
        capitalization: Capitalization.NORMAL,     
        fillColor: "Black",
        horizontalScale: 100,
        skew: 0,
        strokeColor: "None",
        tracking: 0,
        verticalScale: 100 }); 
        upParStyle.leading = Leading.AUTO;

та же фигня.
 
Нет, это бессмысленно. При отсутствии текста даже наличие кегля подразумевает что интерлиньяж нулевой. Надо существующий стиль копировать.
 
  • Спасибо
Реакции: bossrus
Попробовать скопировать базовый стиль, назначить ему автоматический интерлиньяж и посмотреть какой интерлиньяж назначится?
а так работает. в принципе тоже вариант сделать создание стилей на базе копирования базового стиля... хотя это и дольше будет, бо стилей несколько добавляется
 
При отсутствии текста даже наличие кегля подразумевает что интерлиньяж нулевой
а как же создание стиля вручную при полном отсутствии текстов в документе? там тоже отсутствие текста, но все в порядке. похоже какой-то параметр нужно врубить. но какой...
 
а как же создание стиля вручную при полном отсутствии текстов в документе? там тоже отсутствие текста, но все в порядке. похоже какой-то параметр нужно врубить. но какой...
Подозреваю, что там другая технология: когда новый стиль руками создается, он создается не с нуля а на основе базового стиля. Когда же стиль создается скриптом, он, вероятно, все не заданные свойства заполняет значениями по умолчанию - то есть нулями.
 
  • Спасибо
Реакции: bossrus
дошло. это вообще мой косяк. не разобрался, что делает параметр, но впендюрил его.
строчка "autoLeading: 0," лишняя. без неё все отлично работает :)
 
  • Спасибо
Реакции: _MBK_
Точно! И я на нее не глянул!
 
Статус
Закрыто для дальнейших ответов.