Время идет, технологии меняются, а необходимость приводить тексты в порядок остается. Так и в случае с Типографом, казалось бы, что еще можно придумать?

Примерно 6 лет назад, вдохновленный PuntoSwitcher, я на коленке собрал пример Типографа на лету, тогда еще на jQuery, целью которого было править текст прямо в момент ввода.

Тогда у меня не нашлось времени плотно заниматься его развитием и проект заглох.

Добротных новых Типографов с того момента не появилось, те что есть — реализуют модель первого «статичного» Типографа, когда текст обрабатывается после полного набора. Но это же неудобно...

Те, кто попытался повторить идею типографики на лету, как в моем jQuery-примере, но с обработкой «статичным» не учли специфику набора и смещение каретки при замене символов. Например, после замены (с) на ©, три символа превращаются в один. Те, кто всё-таки учли, до сих пор не научились нормально верстать текст, повсеместно «детские» болезни и отсутствие понимания принципов.

Зачем это всё?

Не знаю как вы, я постоянно забываю типографировать тексты, даже если в редакторе есть кнопочка. Когда возвращаюсь к редактуре уже после публикации, забываю типографировать по-новой. Можно, конечно же, поставить всю типографику в автоматический режим, но тогда мы можем получить очень неожиданный результат на выходе.

Как бы ни был хорош Типограф — тексты после него нужно обязательно перечитывать

К тому же, мне хочется видеть уже на этапе набора то, что я получу на выходе, со всеми привязками союзов и предлогов, с правильными кавычками, символами и т.д.

Что имеем?

Самое важное — Типограф всё делает при наборе или вставке текста в поля <input> или <textarea>. Специальные знаки и неразрывные пробелы вставляются готовыми символами, никаких больше мнемоников.

Как и раньше, Типограф умеет:

  • Заменять кавычки, тире, спецсимволы: …, ©, ®, ™, ₽, ±

  • Ставить простые дроби: ½, ⅓, ¼, ⅕, ⅙, ⅛, ⅔, ⅖, ¾, ⅗, ⅜, ⅘, ⅚, ⅝, ⅞

  • Ставить минус между числами и × между размерными единицами

  • Привязывать неразрывным пробелом союзы и предлоги к последующим словам, а частицы к предыдущим

  • Разрешает писать HTML и комментарии к нему

Многие правила были изменены значительно, чтобы учесть специфику набора, но предстоит еще очень много работы.

Проект FlyTypograf.js открытый, как всегда, приветствуются комментарии и примеры экзотических строк в ишьях, а результат работы можно оценить в демо.

Комментарии (13)


  1. aborouhin
    26.12.2021 19:01

    С минусами-дефисами-тире что-то намудрили :) Попробуйте в демо ввести сначала "1-2-3-4-5" (без пробелов), а потом "1 - 2 - 3 - 4 - 5" (с пробелами). В обоих случаях результат неожиданный.


    1. Spearance Автор
      26.12.2021 19:08

      Спасибо, кинул ишью, это не сложно поправить.


  1. EskakDolar
    26.12.2021 19:44

    А почему нет 1/7 и 1/9 ?


    1. Spearance Автор
      26.12.2021 20:28

      Действительно, дискриминация по числовому признаку :) спасибо, бросил ишью


  1. amarao
    26.12.2021 20:38

    Я недавно обнаружил, что в unicode есть символ для mA: ㎃

    Видимо, не "10 mA", а "10 ㎃". Там же ㎂, ㎁, ㎀, ㎉, ㎇, ㎓, ㎘ и т.д.


    1. Spearance Автор
      26.12.2021 20:42

      Есть много интересных размерных единиц, например ℃, но не во всех гарнитурах эти символы прорисованы, либо они выглядят ущербно. Есть в планах добавить размерных единиц. Замечание принято.


  1. OlegZH
    26.12.2021 21:07

    А с \TeX'ом это имеет какую-нибудь связь?


    1. Spearance Автор
      26.12.2021 21:11

      нет, этот типограф по духу ближе к WYSIWYG


  1. kokokolia
    26.12.2021 21:54

    Умеет распознавать римские цифры? ⅢⅥⅠⅣⅦⅷⅺⅽ


    1. Spearance Автор
      26.12.2021 21:59
      +1

      По поводу таких вещей как римские цифры и прочие экзотические правила. Я на своем Типографе, тот который https://typograf.ru, проанализировал частоту использования правил на текстах, которые чаще всего присылают в API и основную форму на сайте, и подобрал оптимальный набор. Римские добавить не проблема, но их крайне редко используют.


  1. lxsmkv
    27.12.2021 04:03

    Старый редактор комментариев на Хабре умел кавычки и дефис заменять. Я очень радовался этому. Но новый редактор разучился. "Беда, беда, огорчение" (c) Домовенок Кузя.


  1. lxsmkv
    27.12.2021 04:32
    +2

    Кое-как добились погрешности в пределах ½ — ¼. А дело-то простое, как «2+2=4»! Помню, в 2017—м году такое уже делали.
    Ходил вчера в аптеку, а там табличка: «Перерыв 13–14 ч.»! Зашел в Starbucks™, выпил кофе за 299,99₽. В телефоне полазил, скоротал минут 30–40. Смотрю на часы — 13:55. Ну, думаю, пора!

    Впечатляет, но некоторые несостыковки есть.


    1. Spearance Автор
      27.12.2021 06:53

      отличный пример, спасибо, забираю в разбор