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

  • Автор темы Автор темы lmn1
  • Дата начала Дата начала

lmn1

Топикстартер
20 лет на форуме
Сообщения
610
Реакции
308
DoTextOK@25.03.2020. Вкладка "Шпации в тексте и формулах", пункт "шпации до и после тире". Невозможно выбрать разные виды шпаций до и после тире. Только одинаковые. В старых версиях этого не было. Можно ли это исправить?
И еще. При любом выборе шпаций добавляется знак "Дополнительное начало новой строки" после шапции, которая стоит после тире. Зачем он? Можно ли сделать, чтобы он не ставился?
1586786729779.png
 
Последнее редактирование:
А зачем это нужно?
В подавляющем большинстве случаев шпации до и после тире одинаковые, о чем мне неоднократно говорили. Поэтому сделана опция выбора -- одинаковые или разные. По умолчанию они одинаковые, за это отвечает переменная sameSpaces в файле WordsAndUnits.jsx. По умолчанию она true. Сдеайте её false, и можно определять шпации до и после независимо одна от другой.
 
  • Спасибо
Реакции: Desperado и Jeine
Упомянутый знак после второй шпации -- это для тех, кто предпочитает тупо ставить до и после конкретные шпации, а не масштабировать тире. Неграмотность такого решения в том, что все шпации -- неразрывные. В результате, если оставить как есть, то тире никогда не окажется на правой границе полосы набора. Только внутри текстового блока. Очевидно, что это ущемляет возможности вёрстки. Чтобы тире могло остаться на правом краю, если оно рядом с ним оказалось, и добавляется этот знак после второй шпации.
 
Последнее редактирование:
"ставить до и после конкретные шпации, а не масштабировать тире. " -- тут я неверно сформулировал. Правильно: ставить до и после тире пробелы и масштабировать их.
 
  • Спасибо
Реакции: Desperado и Jeine
Поправьте, если ошибаюсь: в чём соль принудительного масштабирования отдельных символов?

По мне, так это потенциальный источник проблем, но никак не решение
 
Зачем разные шпации до и после тире? -- Я всегда Вашим скриптом (спасибо за него!) ставил неразрывный пробел до тире и обычный пробел - после. В результате тире никогда не прыгает в начало строки, и иногда попадает в конец строки, без применения знака "Дополнительное начало новой строки". Не всегда, правда, получаются одинаковыми размеры промежутков до и после тире, но редактора это устраивает, кроме совсем не красивых случаев. Поэтому в моем случае этот знак лишний. Убираю его через поиск-замену.
 
Принудительным масштабированием отдельных символов я тоже никогда не занимаюсь.
 
Поменял sameSpaces в файле WordsAndUnits.jsx на false. Теперь все так, как мне нравится:) Возможно, нужно сделать кнопку "одинаковые/разные шпации вокруг тире"? А то сейчас как-то не логично: вроде и два поля выбора, а выбирается одно и то же.
 
Я всегда Вашим скриптом ставил неразрывный пробел до тире и обычный пробел - после. В результате тире никогда не прыгает в начало строки, и иногда попадает в конец строки, без применения знака "Дополнительное начало новой строки". Не всегда, правда, получаются одинаковыми размеры промежутков до и после тире, но редактора это устраивает, кроме совсем не красивых случаев. Поэтому в моем случае этот знак лишний. Убираю его через поиск-замену.
Пробел до и после тире -- это некрасивая вёрстка. Для широких русских букв, длинного тире сложились правила оформления текста, не нам их менять или отменять. Не, без обид lmn1, но в хорошо сделанных русских текстах не должно пространство до и после тире быть равным пробелу. В горячем наборе для офомления этого пространства использовалась двухпунктовая шпация. Вместе с полуапрошами соседних литер создавался воздух между буквой и тире, между тире и буквой. И этот воздух был несколько меньше ширины пробела. (Кстати, в американской типографике тире вообще не отбивается от слов, между которыми оно стоит. О той типографике когда-то была статья в InDesign Magazine)
В кампьютерном наборе двухпунктовую шпацию легко не поставишь, поэтому скрипт предоставляет возможность определить масштаб пробелов до и после тире. Такая своеобразная имитация классической двухпунктовой шпации. И только в случае использования обычных пробелов они масштабируются, масштабы в символьных стилях 'myHorizontalScaleForEmDashSpaceBefore' и 'myHorizontalScaleForEmDashSpaceAfter'.
Если используются шпации, на четверть, одну шестую, и пр., то они, конечно, не масштабируются. Да, шпациями тоже можно сделать воздух до и после тире меньше ширины обычного пробела. И после второй шпации ставится служебный символ нулевой ширины с кодом 0x200B, чтобы тире имело возможность остаться на правом краю полосы набора.
Если практиковать неразрывный фиксированный пробел до и обычный пробел после, то на узких колонках возможны случаи, что воздух до и после тире будет неодинаковый. Это косяк верстальщика, даже если редактор этого не заметит. Чтобы такого не было, и введена опция "одинаковые шпации для тире".
Если до и после тире используются обычные пробелы, что правильно, то скрипт оформит текст так, чтобы тире не оказалось в начале строки.
 

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

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