JSTypography — скрипт, который вы можете скачать, установить на свой сайт и привязать к любой форме ввода. К примеру, к форме ввода сообщений на форумах, добавления новостей, статей, рассказов и т. п. Так же, вы можете скачать страницу типографа и обрабатывать тексты без подключения к интернету. Размер входного текста не ограничен, что немаловажно для книг. Имеет два режима работы — вывод нормального текста и вывод текста с HTML-разметкой. Так же типограф поддерживает английские правила типографики. JSTypography имеет большой набор правил обработки, который совершенствовался в течение не одного года. Он значительно превосходит по возможностям большинство типографов, включая типограф от Лебедева, и схож по возможностям с типографом от Eugene Spearance.
Ссылки на скачивание:
GitHub.
JSTypography.js сохранять в кодировке UTF-8!!! Страницу примера можно скачать на компьютер и поместить в одну папку со скриптом — тогда он будет работать без подключения к интернету.
При нажатии кнопки «Типографировать» ваш текст приведётся к типографскому виду. Основные возможности:
- Возможность установки на любой сайт и привязки к любой форме ввода, к примеру, к форме ввода сообщения на форуме.
- Неограниченный размер обрабатываемого текста.
- Замена "Кавычек и "вложенных и даже "дважды вложенных"" кавычек" на «ёлочки», „лапки“ и ‚коготки‘.
- Расстановка отступов или тегов <p>. Длина отступа равна четырём пробелам. Присутствует механизм для преобразования пробелов в понятный для html вид.
- Замена дефисов на тире, где надо.
- Замена дробей на соответствующие символы.
- Расстановка неразрывных пробелов.
- Внутри тегов <untypo> текст экранируется от обработки.
- Простановка отсутствующих на клавиатуре символов с помощью псеводфункций.
- Функция УДАР(буква) — поставит на букву ударе́ние.
- Функция СТРЛ(Направление) создаст символ стрелки. Направления: В,Н,П,Л,ЛП,ВН. Так же на стрелки заменяются ->, <-, <->
- Функция ГРАД(цифра) для указания градусов.
- Функция ПАРА(Римская/арабская цифра) для параграфа
- Функция ЕВРО(цифра) заменится на символа евро.
- Функция ФУНТ(буква) заменится на символа фунта.
- Функция ДЮЙМ(буква) заменится на дюйм.
- Функция КОРН(буква,цифра) подставит корень.
- Функция ИНТГ(буква,цифра) заменится на интеграл.
- Функция ГРЕЧ(лат.буква) заменит букву из латинского алфавита на наиболее подходящую букву из греческого алфавита (которые часто используюся в математических формулах).
- Функция ВЕРХ[0123456789+-=()ni] переведёт содержимое в верхний индекс.
- Функция НИЖН[0123456789+-=()] переведёт содержимое в нижний индекс.
Все вышеописанные псевдофункции кроме СТРЛ, ГРЕЧ, ВЕРХ и НИЖН работают и без аргументов. В таком случае они заменятся на символ. К примеру, записи ГРАД(45) и 45ГРАД() идентичны и заменятся на 45°.
Имена функций в английской обработке: ACNT, ARRW, DEGR, SECT, EURO, PUND, INCH, SQRT, INTG, GREK, SUPS, SUBS соответственно.
- Автопростановка пробелов после знаков препинания, где присутствует однозначность.
- Исправление последовательности из двух или четырёх точек на многоточие.
- (tm), (r), (c) заменятся на ™, ® и ©.
- Вывод как в виде готовых символов, так и в виде html-кодов.
- Поддержка как русских, так и английских правил типографики.
- Возможность обработки лишь выделенного текста.
- Операции с числами:
- 2x2 заменяется на 2×2;
- 3^238 заменяется на 3²³⁸;
- +/- заменяется на ±;
- != заменяется на ≠;
- ~= заменяется на ≈;
- >=, <= заменяется на ≥, ≤;
- Некоторые дроби заменяются на соответствующие им символы.
- Замена ' на апостроф.
- Исправление пунктуации, простановка дефисов в часто встречающихся ошибках.
- Привязка сокращений, предлогов и т. п.
- Удаление повторяющихся слов.
- Выделение из текста ссылок и почтовых ящиков (только в html).
- И множество других мелочей.
Скрипт не обрабатывает текст внутри кодов [code], [quote], <pre>, <script>, <style>, и <untypo>, не бьёт ссылки и html-коды.
Скрипт не скрипт не может поставить знак тире внутри диапазонов и указаний пути: 3–5 яиц, Москва—Санкт-Петербург. Использование -- в таких случаях подразумевается. Исключениями являются диапазоны дат и времени (1999–2001 гг., XX—XXI вв., 14–24 сентября, 11:30–13:00, в апреле—мае), т. к. здесь всё однозначно.
Большая просьба, по всем вопросам, пожеланиям, найденным ошибкам пишите на ICQ 436149026, либо на ящик
[email protected]
© Даниил Ерошенко (BufferOverflow), 2012–2013 год