Время идет, технологии меняются, а необходимость приводить тексты в порядок остается. Так и в случае с Типографом, казалось бы, что еще можно придумать?
Примерно 6 лет назад, вдохновленный PuntoSwitcher, я на коленке собрал пример Типографа на лету, тогда еще на jQuery, целью которого было править текст прямо в момент ввода.
Тогда у меня не нашлось времени плотно заниматься его развитием и проект заглох.
Добротных новых Типографов с того момента не появилось, те что есть — реализуют модель первого «статичного» Типографа, когда текст обрабатывается после полного набора. Но это же неудобно...
Те, кто попытался повторить идею типографики на лету, как в моем jQuery-примере, но с обработкой «статичным» не учли специфику набора и смещение каретки при замене символов. Например, после замены (с)
на ©
, три символа превращаются в один. Те, кто всё-таки учли, до сих пор не научились нормально верстать текст, повсеместно «детские» болезни и отсутствие понимания принципов.
Зачем это всё?
Не знаю как вы, я постоянно забываю типографировать тексты, даже если в редакторе есть кнопочка. Когда возвращаюсь к редактуре уже после публикации, забываю типографировать по-новой. Можно, конечно же, поставить всю типографику в автоматический режим, но тогда мы можем получить очень неожиданный результат на выходе.
Как бы ни был хорош Типограф — тексты после него нужно обязательно перечитывать
К тому же, мне хочется видеть уже на этапе набора то, что я получу на выходе, со всеми привязками союзов и предлогов, с правильными кавычками, символами и т.д.
Что имеем?
Самое важное — Типограф всё делает при наборе или вставке текста в поля <input>
или <textarea>
. Специальные знаки и неразрывные пробелы вставляются готовыми символами, никаких больше мнемоников.
Как и раньше, Типограф умеет:
Заменять кавычки, тире, спецсимволы: …, ©, ®, ™, ₽, ±
Ставить простые дроби: ½, ⅓, ¼, ⅕, ⅙, ⅛, ⅔, ⅖, ¾, ⅗, ⅜, ⅘, ⅚, ⅝, ⅞
Ставить минус между числами и × между размерными единицами
Привязывать неразрывным пробелом союзы и предлоги к последующим словам, а частицы к предыдущим
Разрешает писать HTML и комментарии к нему
Многие правила были изменены значительно, чтобы учесть специфику набора, но предстоит еще очень много работы.
Проект FlyTypograf.js открытый, как всегда, приветствуются комментарии и примеры экзотических строк в ишьях, а результат работы можно оценить в демо.
Комментарии (13)
EskakDolar
26.12.2021 19:44А почему нет 1/7 и 1/9 ?
Spearance Автор
26.12.2021 20:28Действительно, дискриминация по числовому признаку :) спасибо, бросил ишью
amarao
26.12.2021 20:38Я недавно обнаружил, что в unicode есть символ для mA: ㎃
Видимо, не "10 mA", а "10 ㎃". Там же ㎂, ㎁, ㎀, ㎉, ㎇, ㎓, ㎘ и т.д.
Spearance Автор
26.12.2021 20:42Есть много интересных размерных единиц, например ℃, но не во всех гарнитурах эти символы прорисованы, либо они выглядят ущербно. Есть в планах добавить размерных единиц. Замечание принято.
kokokolia
26.12.2021 21:54Умеет распознавать римские цифры? ⅢⅥⅠⅣⅦⅷⅺⅽ
Spearance Автор
26.12.2021 21:59+1По поводу таких вещей как римские цифры и прочие экзотические правила. Я на своем Типографе, тот который https://typograf.ru, проанализировал частоту использования правил на текстах, которые чаще всего присылают в API и основную форму на сайте, и подобрал оптимальный набор. Римские добавить не проблема, но их крайне редко используют.
lxsmkv
27.12.2021 04:03Старый редактор комментариев на Хабре умел кавычки и дефис заменять. Я очень радовался этому. Но новый редактор разучился. "Беда, беда, огорчение" (c) Домовенок Кузя.
lxsmkv
27.12.2021 04:32+2Кое-как добились погрешности в пределах ½ — ¼. А дело-то простое, как «2+2=4»! Помню, в 2017—м году такое уже делали.
Ходил вчера в аптеку, а там табличка: «Перерыв 13–14 ч.»! Зашел в Starbucks™, выпил кофе за 299,99₽. В телефоне полазил, скоротал минут 30–40. Смотрю на часы — 13:55. Ну, думаю, пора!Впечатляет, но некоторые несостыковки есть.
aborouhin
С минусами-дефисами-тире что-то намудрили :) Попробуйте в демо ввести сначала "1-2-3-4-5" (без пробелов), а потом "1 - 2 - 3 - 4 - 5" (с пробелами). В обоих случаях результат неожиданный.
Spearance Автор
Спасибо, кинул ишью, это не сложно поправить.