[ID CC-CC2021] DoTextOk: символы до и после тире

lmn1

Топикстартер
15 лет на форуме
Сообщения
519
Реакции
215
DoTextOK@25.03.2020. Вкладка "Шпации в тексте и формулах", пункт "шпации до и после тире". Невозможно выбрать разные виды шпаций до и после тире. Только одинаковые. В старых версиях этого не было. Можно ли это исправить?
И еще. При любом выборе шпаций добавляется знак "Дополнительное начало новой строки" после шапции, которая стоит после тире. Зачем он? Можно ли сделать, чтобы он не ставился?
1586786729779.png
 
Последнее редактирование:

iv-mi

15 лет на форуме
Сообщения
563
Реакции
375
А зачем это нужно?
В подавляющем большинстве случаев шпации до и после тире одинаковые, о чем мне неоднократно говорили. Поэтому сделана опция выбора -- одинаковые или разные. По умолчанию они одинаковые, за это отвечает переменная sameSpaces в файле WordsAndUnits.jsx. По умолчанию она true. Сдеайте её false, и можно определять шпации до и после независимо одна от другой.
 
  • Спасибо
Реакции: Desperado и Jeine

iv-mi

15 лет на форуме
Сообщения
563
Реакции
375
Упомянутый знак после второй шпации -- это для тех, кто предпочитает тупо ставить до и после конкретные шпации, а не масштабировать тире. Неграмотность такого решения в том, что все шпации -- неразрывные. В результате, если оставить как есть, то тире никогда не окажется на правой границе полосы набора. Только внутри текстового блока. Очевидно, что это ущемляет возможности вёрстки. Чтобы тире могло остаться на правом краю, если оно рядом с ним оказалось, и добавляется этот знак после второй шпации.
 
Последнее редактирование:

iv-mi

15 лет на форуме
Сообщения
563
Реакции
375
"ставить до и после конкретные шпации, а не масштабировать тире. " -- тут я неверно сформулировал. Правильно: ставить до и после тире пробелы и масштабировать их.
 
  • Спасибо
Реакции: Desperado и Jeine

langry

10 лет на форуме
Сообщения
435
Реакции
109
Поправьте, если ошибаюсь: в чём соль принудительного масштабирования отдельных символов?

По мне, так это потенциальный источник проблем, но никак не решение
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
519
Реакции
215
Зачем разные шпации до и после тире? -- Я всегда Вашим скриптом (спасибо за него!) ставил неразрывный пробел до тире и обычный пробел - после. В результате тире никогда не прыгает в начало строки, и иногда попадает в конец строки, без применения знака "Дополнительное начало новой строки". Не всегда, правда, получаются одинаковыми размеры промежутков до и после тире, но редактора это устраивает, кроме совсем не красивых случаев. Поэтому в моем случае этот знак лишний. Убираю его через поиск-замену.
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
519
Реакции
215
Принудительным масштабированием отдельных символов я тоже никогда не занимаюсь.
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
519
Реакции
215
Поменял sameSpaces в файле WordsAndUnits.jsx на false. Теперь все так, как мне нравится:) Возможно, нужно сделать кнопку "одинаковые/разные шпации вокруг тире"? А то сейчас как-то не логично: вроде и два поля выбора, а выбирается одно и то же.
 

iv-mi

15 лет на форуме
Сообщения
563
Реакции
375
Я всегда Вашим скриптом ставил неразрывный пробел до тире и обычный пробел - после. В результате тире никогда не прыгает в начало строки, и иногда попадает в конец строки, без применения знака "Дополнительное начало новой строки". Не всегда, правда, получаются одинаковыми размеры промежутков до и после тире, но редактора это устраивает, кроме совсем не красивых случаев. Поэтому в моем случае этот знак лишний. Убираю его через поиск-замену.
Пробел до и после тире -- это некрасивая вёрстка. Для широких русских букв, длинного тире сложились правила оформления текста, не нам их менять или отменять. Не, без обид lmn1, но в хорошо сделанных русских текстах не должно пространство до и после тире быть равным пробелу. В горячем наборе для офомления этого пространства использовалась двухпунктовая шпация. Вместе с полуапрошами соседних литер создавался воздух между буквой и тире, между тире и буквой. И этот воздух был несколько меньше ширины пробела. (Кстати, в американской типографике тире вообще не отбивается от слов, между которыми оно стоит. О той типографике когда-то была статья в InDesign Magazine)
В кампьютерном наборе двухпунктовую шпацию легко не поставишь, поэтому скрипт предоставляет возможность определить масштаб пробелов до и после тире. Такая своеобразная имитация классической двухпунктовой шпации. И только в случае использования обычных пробелов они масштабируются, масштабы в символьных стилях 'myHorizontalScaleForEmDashSpaceBefore' и 'myHorizontalScaleForEmDashSpaceAfter'.
Если используются шпации, на четверть, одну шестую, и пр., то они, конечно, не масштабируются. Да, шпациями тоже можно сделать воздух до и после тире меньше ширины обычного пробела. И после второй шпации ставится служебный символ нулевой ширины с кодом 0x200B, чтобы тире имело возможность остаться на правом краю полосы набора.
Если практиковать неразрывный фиксированный пробел до и обычный пробел после, то на узких колонках возможны случаи, что воздух до и после тире будет неодинаковый. Это косяк верстальщика, даже если редактор этого не заметит. Чтобы такого не было, и введена опция "одинаковые шпации для тире".
Если до и после тире используются обычные пробелы, что правильно, то скрипт оформит текст так, чтобы тире не оказалось в начале строки.
 

catpaw

12 лет на форуме
Сообщения
245
Реакции
10

Не по теме:
... (Кстати, в американской типографике тире вообще не отбивается от слов, между которыми оно стоит. О той типографике когда-то была статья в InDesign Magazine)
.
Если быть до конца занудой, то в американской типографике вокруг тире тоже были шпации, только они тонкие, и они пошли по пути их уничтожения при упрощении набора, а мы — по пути увеличения...

 
  • Спасибо
Реакции: Serbel