Типограф
30 января 2008
«Типограф» — средство подготовки текстов к web-изданию. Форматирует текст для приведения его к более правильному с точки зрения типографики виду.
Текущая версия: 2.2.0
— Тесты
— Исходный код 1.0.6 (PHP4, не поддерживается)
— Страничка проекта на GitHub.
— Трекер (все ошибки пишем сюда)
Если знаете, как исправить ошибки и готовы потратить на это время — пишите, дам доступ на запись в SVN.
Версия для PHP4 больше не поддерживается. Возможны проблемы с кодировками.
Авторы
– Оранский Максим ( http://smee-again.livejournal.com/ )
Большая часть кода, тестирование, правила.
– Макаров Александр ( http://rmcreative.ru/ )
Код, тестирование, правила, плагины для Smarty, дальнейшая поддержка.
При создании «типографа» помимо личного опыта использовались:
– http://artlebedev.ru/kovodstvo/
Спасибо:
-=Ustas=-, http://vingrad.ru/@-=Ustas=-/
faZeful, http://fazeful.ru/
Naruvi (Begemot)
grasshopper
eagle
SHAman
Max
Reki
Zav
sadhaka
Алексей Волкогон
… и всем, кто пользуется типографом и сообщает об ошибках.
Отдельное спасибо Max-у за плагин к Wordpress.
Комментарии RSS по email OK
Вот что бы добавить.
Не отрабатывает изменение дефиса на тире, если он приклеен к запятой.
Спасибо, принято.
Ещё наблюдение:
пишем: «в соответствии с Распоряжением Правительства РФ».
отвечает: «в соответствии с Распоряжением. Правительства РФ».
где отключить расстановку точек?
добавление.
„Клиника ФГУ «ФБМСЭ» согласно Лицензии…“
заменяется на
„Клиника ФГ. У «ФБМСЭ» согласно Лицензии…“
Спасибо. Обязательно поправлю в следующей версии.
При типографировании строчки вида
тел. 123-45-67 выдаёт ошибку
A PHP Error was encountered
Severity: Notice
Message: Uninitialized string offset: 3
Filename: libraries/Typographus.php
Line Number: 119
и результат не радует
[span style="white-space:nowrap"]тел: 1 (23) [/span]–45–67
Спасибо, поправлю в следующей версии.
Вот это правило не годится при наличии в тексте висячих дефисов
// Оторвать тире от слова
'~(w)- ~' => '$1 - ',
Пример:
газо- и электросварка
превращается в
газо — и электросварка
Поправлю. Спасибо.
Вот ещё баг: некоторые сокращения (например, МГУ, ГУМ и т.п.) неверно обрабатываются.
Получается МГ. У и Г. УМ соответственно.
Дробные числа (например, число 625,35) не должны разделяться пробелом.
P.S. Если не подписываться на комментарии при отправке поста вылетают ошибки.
Спасибо.
Время неправильно обрабатывается.(ненужных пробел после двоеточия)
Например 22:33 => 22: 33
Спасибо.
А будет ли вариант для других языков, например немецкого (использую UTF-8)?
Serhiy
Будет, если дадите описание праил немецкой типографики.
Очень детальное описание всех случаев дано в Википедии (на немецком, но там все в примерах и очень наглядно):
Для типографского текста
http://de.wikipedia.org/wiki/Geviertstrich (описание на символ вибирается справа вверху)
для Веба
http://de.wikipedia.org/wiki/Typografie_für_HTML (там внизу есть еще дополнительные линки. Часто повторы, но кое-где информация более обширная)
Почитаю. Шанс, что будет профиль для немецкого есть.
вот бы его к WP плагином!!!
Есть в комплекте плагин.
лично у меня при активации плагина вылетает ошибка :(
Warning: require_once(Typographus.php) [function.require-once]: failed to open stream: No such file or directory in /home/nicothin/www/site6/public_html/wp-content/plugins/TypographMachine/typograph_machine.php on line 15
Fatal error: require_once() [function.require]: Failed opening required 'Typographus.php' (include_path='.:') in /home/nicothin/www/site6/public_html/wp-content/plugins/TypographMachine/typograph_machine.php on line 15
PHP5 у меня (на Петерхосте) включается внесением двух строк в .htaccess
пробовал добавлять строки к корневой .htaccess и в .htaccess директории wp-admin - всеравно фатал еррор :(
Надо положить Typographus.php в /wp-content/plugins/TypographMachine/
я догадался :)
буду эксперементировать с настройками хоста.
В таком тексте "Жопа с кавычками..." закрывающие кавычки в елочки не преобразуются.
Преобразуются. Проверьте: http://typo.rmcreative.ru/.
А почему перед тире не вставляется неразрывный пробел? Ведь тире нельзя переносить на следующую строку.
Должен ставится. С каким текстом проблема?
Когда 2 подряд идущих дефиса преобразуются в тире, то перед ним не вставляется неразрывный пробел. screenshot
Типограф перед всеми большими буквами ставит точки? Такое даже в фичах вроде не написано.
Пример: «совместно с художником Рерихом» преобразуется в «совместно с художником. Рерихом».
Да, и указанная в файле с классом ссылка http://rmcreative.ru/article/programming/typograph/ не работает.
Octane, Ярослав
Спасибо. В следующей версии поправлю.
А будут ли в следующей версии исправлены/добавлены правила, которые сейчас неадекватно работают (ошибки в тестах)? И когда примерно ждать новую версию?
Спасибо.
Большинство будет. Сейчас уже многое исправлено. Ну и тесты конечно же сильно пополнились.
Дат называть пока не буду…
строка "вася - лох" типографится как "вася — лох", т.е. между словом и последующим тире не стоит неразрывного пробела.
ещё один забавный тест: строка "Приветствуем Вас" типографится как "Приветствуем. Вас" )))
егор
Спасибо, исправлю в следующей версии.
На данный момент «типограф» умеет
— Заменять два-четыре знака точки подряд - на знак многоточия.
— Заменять от 2-х до 5-и точек подряд на троеточие.
Не многовато ли? :)
Многовато :) Спасибо.
ну так чо там с новой версией? как часто вобще они выходят? )
Текущий вариант в разработке конечно лучше чем последняя версия, но выкладвать рановато…
Спецсимволы введённые с клавиатуры (« » “ ” — … © ™ ' ®) не обрабатываются, а должны заменяться на соответствующий код (« » “ ” — … © ™ ' ®).
Вот в таком тексте все пробелы и переводы строки сжираются:
Смайл :(
Жопа
Пётр, Антон Иконников
Внёс в todo.
А еще типограф простое русское слово ЗАГС не любит.
Вообще, как мне кажется, очень много проблем в типографе от того, что он пытается решить задачу исправления всего и вся, в частности всевозможных опечаток (например, тоже удаление любых пробельных символов после скобки). Мне думается, что это в корне неверно. Типограф должен облегчать жизнь пользователю, которому очень неудобно при наборе текста вставлять длинные тире и неразрывные пробелы. А вот пытаться исправлять текст за теми, кто искренне верит, что перед запятой надо пробел ставить, бесполезно.
Антон Иконников, такие мелочи, как пробел перед запятой можно бы и исправить, это улучшает читабельность текстов, а вот что-то серьёзное, типа разбивка тел. номера на составляющие - явно лишнее и должно включаться опционально...
Предлагаю сделать базовый функционал (замены знаков, расстановка кавычек, неразрывных пробелов) по умолчанию, а все остальное - пусть включается набором методов или параметров...?
А почему бы и не сделать…
Установил вашу версию плагина для Wordpress. Со своими задачами плагин справляется на ура, но есть одна неполадка. После активации плагина ломается вывод текста, который реализован через функцию excerpt: вместо 55 слов выводится вдвое больше. Буду очень признателен, если вы поможете устранить эту мелочь - она-то мелочь, но очень портит жизнь.
Версия WordPress какая?
Можно сделать так, чтоб этот Типограф сохранял в базу уже оттипографленный текст, а не обрабатывал его при каждом вызове? В общем так как это реализовано у Kavychker-а.
Я бы в строках 313, 314 (в версии 2.1.0) заменил s на один пробел (может быть еще табуляцию добавить). Тогда типограф не будет удалять переводы строк, если строка начиналась или оканчивалась скобкой, что мне кажется излишним.
Sam, WP последний, 2.6
я случайно подписался на комментарии, отпишите меня, пожалуйста.
Присоединяюсь к brainsolid, отпишите от комментариев.
Sam, у тебя в инфо написано, что ты работаешь на позиции Java Developer-а. Допускаю, что тебе вполне по силам будет реализовать версию Типографа Ява-скриптом. В таком случае к штатному редактору WP (TinyMCE) можно добавить кнопку "Оттипографить". После обработки Типографом можно будет тут же внести корретировки в случаях нежелательной обработки или ошибок. После чего, нажав кнопку "Сохранить", готовый и правильный текст добавится в базу и будет опубликован.
Нечто подобное делает уже упомянутый мной Кавычкер (http://mbyte.org.ua/ - не понимаю почему ссылки на него вырезаются?), но к его недостатку можно отнести то, что он типографит одновременно с нажатием кнопки "Сохранить". Это лишает автора возможности исправить ошибки в оттипографленном тексте.
Данный подход позволит существенно снизить нагрузку на сервер, т.к. не будет необходимости каждый раз обрабатывать большие массивы текста при каждом посещении.
В идеале хотелось бы редакторонезависимой возможности типографить, т.к., лично у меня, нет возможности использовать, являющийся более распространенным в настоящее время редактор - TinyMCE. Я использую FCKEditor For Wordpress - http://wordpress.org/extend/plugins/fckeditor-for-wordpress-plugin/
p.s.: подписка на комментарии реализованна непонятным образом - не приходит текст самого комментария и нет ссылки той статьи, на комментарии к которой осущественна подписка.
p.p.s.: не хочешь сделать описания ограничений в комментариях? Непостижимым, для меня, образом из моих комментариев некоторые ссылки вырезались полностью, а некоторые былы заменены ссылками на эту (?!) статью. Да и форматирование работатет как-то не совсем очевидным образом.
В правилах преобразования дефисов в длинное тире (строки 350-353) ошибка - съедаются переводы строк в прямой речи. Например,
Вася:
Все, кто хочет отписаться — снимайте галочку «Подписаться на комментарии» и напишите что-нибудь. Знаю, что не очень удобно, но пока так…
Александр М.
Java Developer — это не про JavaScript ;) Реализовать могу, но времени нужно прилично. Если сделаю, то не очень скоро.
На кавычкер ссылки порезались случайно. Правда ;)
Про комментарии учту. Вообще в качестве разметки используется bbcode, принятый на форумах. HTML запрещён полностью.
Всем
Огромное спасибо за ценные замечания.
Антон Иконников
Отдельное спасибо.
Робокоп.
После третьего тире появляется лишняя запятая, видимо из-за союза а.
Sam, а может все таки не будем за пользователем ничего исправлять (я про добавление запятых)?! Это не цель типографа... Тем более, что есть случаи в которых исправления в орфографии/пунктуации текста нежелательно вообще!
Денис
Самое болезненное я вроде поправил. Давайте конкретных примеров, я либо выкину какие-то возможности, либо улучшу так, чтобы ничего не портилось.
предлагаю перевести всё-таки скрипт в utf-8 и заменять на реальные символы а не на « и пр., а то после htmlspecialchars() становится всё ужасно... ну и я конечно тоже против проверки орфографии и пр., нужна только замена тире, кавычек и многоточия...
правка:
заменять на реальные символы « а не на « и пр.
)))
не преобразуется последняя кавычка
компания "говно"
егор
Может быть поможет:
info - файл для 6-го друпала следующий:
; $Id: typographus.info,v 1.0 2007/09/25 13:03:33 rmcreative Exp $
name = Typographus
description = Форматирует текст для приведения его к более правильному с точки зрения типографики виду.
package = "Фильтры форматов ввода"
dependencies[] = filter
core = 6.x
project = "typographus"
version = 1.0
Поправьте. А так вроде работает. Только не понял, расстановка nobr иногда глючит почему-то только локально на Денвере.
Пардон, уже оказывается поправлено, я давно скачивал.
"квант" тра тата "квант"
заменяет на
«квант» тра тата «квант"
Суханов Дмитрий
Спасибо.
Сдается с 20 октября -> Cдается с. 20 октября
думаю ошибка
пл. – 125 м2, 4 этаж -> пл. – 125 м. 2, 4 этаж :(
3/8этажного -> 3/8этажного
з.ы. пока хватит :)
Dr.Death
Спасибо. Конфликт правил вышел…
А еще логично, как мне кажется, применять пользовательский SafeBlock до встроенных, а не после. Например потому, что иначе пользовательский блок, выполненный в виде комментариев (<!-- no typo -->) обрабатываться не будет.
С WordPress 2.6.3 отказывается работать, точнее активироваться, так как вызывает фатальную ошибку...
А случайно не планируется реализация правил со страницы http://typograf.ru/flog/, например:
Расстановка дефиса перед -то, -либо, -нибудь
Расстановка дефиса перед -ка, -де, -кась
и другие? Было бы классно!
Очень хочется новой версии :))
Планируется, но тут надо очень аккуратно делать…
Жду с нетерпением :)
На Word Press 2.6.3 кто нибудь тестил?
Или это у меня только он не хочет работать?
Тестили. Не работает с последним WP. Попробую зафиксить…
Спасибо буду очень ждать.
Неправильно обрабатываются строки вида:
10×10
На выходе какая-то ботва:
10Ч10
Филатов Дмитрий
Вот такое зафиксить не очень просто т.к. корёжит символ iconv ещё при инициализации типографа…
Можно попробовать перед iconv заменять такие символы на энтити.
Хотел прикрутить ваш типограф к себе вместо своего, но такие моменты сразу оттолкнули...
Кстати, да… попробую.
Сделал на твоем классе плагин к редактору FCK.
Подобрать здесь.
http://drupal.ru/files/typograf2.zip
Спасибо. Включу в следующую версию.
Igor под какую версию FCK сделан плагин?
У меня движок использует FCK, но он не хочет работать с плагином...
Почему-то × заменяется на Ч .
При повторном редактировании страницы очень убивает ={
Версия
FCKeditor 2.6.3
Т.к. настраивал на Друпале - проверю, может что специфичное от друпала прикрутил. Поправлю - отпишусь.
не понимает букву ё в кавычках: "всё" превращается в «всё"
Проверил, немного подправил поиск файла типографа typographus.php
Кстати, важно плагин пока работает только с кодировкой UTF-8.
Ссылка на обновленный файл.
http://drupal.ru/files/typograf2_0.zip
to Igor:
никак не могу завести ваш плагин :( (Денвер, FCK 2.6.3, с Друпал 6.6 и без него)
картинка http://drop.io/ozid9vp/asset/fck-tipo , фаербаг говорит ошибка.
Извиняюсь, считаем ЭТО alfa версией, не проверял на др броузерах. Сейчас проверил - заработало только на ослике.
По поводу FCK пришлось пока просто на выход повесить php typograf нужно проект запускать, потом уже если не будет решений можно писать плагин.
По поводу "всё" превращается в «всё", это касается не только буквы Ё, такая проблема есть еще в примере:
«Федерации Любителей Декоративных Животных (клубы „ОЛМС“, „Москва“, „Морские свинки Петербурга“, „ШиКС“,
изначально Федерации Любителей Декоративных Животных была в "".
Пробелы перед смайликами удаляет.
Вставляет лишний пробел перед тире.
Не совсем уверен, что все правильно описываю, но все же...
Типографим следующую строку:
"Умирает старый еврей - признанный в округе мастер заварки чая. Собрались вокруг родственники и уговаривают его: - Не дай умереть твоему искусству вместе с тобой, расскажи тайну своего мастерства."
Как я понял, правило обработки прямой речи в строке 376 файла Typographus.php должно было перенести "- Не дай умереть..." на новую строку. Но этого не происходит.
Кроме того, если то, что у нас уже имеется на выходе оттипографить второй раз, то на новую строку уже будут перенесены как то, что нужно, так и "- признанный в округе...". А это уже перебор.
Пишу
«Убирает лишние знаки??»
Получаю
«Убирает лишние знаки??»
(двойной знак в конце стоки)
Спасибо авторам за класс, частично он использовался для создания плагина типографики для Wordpress. Некоторые вещи из класса вроде пофиксены (из-за конвертации, кстати, иногда по непонятной причине теряются целые посты), так что, если все еще поддерживаете проект, могу помочь.
Поддерживаем. Помощь не помешает. Стучите в асю/jabber/email.
Редакторонезависимая кнопка на Яве "Оттипографить текст" еще в проекте? Очень нужна! Хотелось бы видеть :)
Александр М.
Пока не в поекте. Есть уже готовый типограф на JS: devanagari. Можете попробовать прикрутить его.
Доделал (точнее переделал полностью) плагин для FCK на базе этого (и 2-х других) типографа.
Смотрим тут: Типограф - плагин к FCK
не такого знака троеточие
http://gramota.ru/spravka/buro/29_206370
Прежде всего, спасибо за отличный модуль! :)
Вот только использование W в выражении
'/(?<=s|^|W)('.$prepos.')(s+)/i' => '$1'.$sym['nbsp'],
на некорых сборках pcre, (в частности на той, которую я использую), работает не корректно. Т.е. приводит к тому, что неразрывный пробел вставляется почти между всеми словами.
Было бы хорошо, если бы типограф работал вне зависимости от W.
Пока что, я в своей версии |W просто убрал.
Но главная проблема в том, что не работает модификатор i в preg_replace.
Если использовать UTF-8, то там предусмотрен ключ u, который помогает обойти проблемы с русскими буквами. А в WINDOWS-1251, например, получается, что все предлоги в начале предложений (т.е. написанные с большой буквы) типограф не обнаруживает и неразрывный пробел после них, следавательно, не ставит.
anup
Спасибо. Проблема известная. Ядро уже переписано на UTF-8. Осталось портировать правила…
Прежде всего, спасибо за Ваши труды!
Продукт нужный и полезный, но не типографит средних текстов, к примеру:
"
За последний месяц киевский мэр охватил дополнительной платой практически все, что есть в Киеве. Начиная от медицинских услуг, заканчивая похоронами. Черновецкий даже раскошелился на торжественную церемонию похорон "любимых бабушек" по особому сценарию.
В распоряжении "Украинской правды" оказалось еще одно официальное распоряжение Киевской городской администрации, подписанное лично Леонидом Черновецким о новых инициативах столичной мэрии по наполнению городского бюджета.
При первоначальном прочтении письмо больше напоминает выдержку какого-то сюрреалистического романа о животных.
"п.2 Немедленно дать предложения по создание мониторинговой группы, которая будет контролировать звонки по всей Украине. Программа за телефонные звонки по Украине за консультации по котикам – 1 млрд. грн. Дайте мне каждый в отдельности концепцию, как мы сможем добывать звонки со всей Украины.
п.2 Берзиной и Панченко доложить немедленно, как они собираются создавать мониторинговую группу типа 051 или все переключить на 051?
К. Бектурсунову
"Дать рекламу по всей Украине, чтобы звонили Берзиной платно и выясняли, как котику животик вылечить.
Результат работы - строка в 0 символов...
Ну и конечно, хочеться увидеть UTF-8 версию.
Еще хочется, чтобы слова, написанные через дефис, заключались в nobr
Обнаружил небольшой баг: Если в тексте встречаются 2 подряд идущие переводы строк (
или
) -- класс возвращает пустую строку вместо текста
может я чего не понимаю, но не сработало на тексте:
"'ФОТКУ НЕ ПРИНИМАТЬ!!! И НЕ ОТКЛОНЯТЬ!!!'"
как я понимаю, должно было получиться:
«'ФОТКУ НЕ ТРОГАТЬ!!! НЕ ПРИНИМАТЬ И НЕ ОТКЛОНЯТЬ!!!'»
но не получилось :(
kosenka
Это какой-то уж очень странный входной текст. Что должна означать комбинация «"'»?
А плагин «Типограф» для миранды планируется?
Нет.
Если закрывающая кавычка стоит перед пробелом с "и" ("бла-бла" и бла-бла), пробелом с открывающей скобкой ("бла-бла" (бла-бла)), точкой в конце текста она преобразуется не в », а в ".
Liri
В онлайн-версии подтверждается?
Sam
В онлайн-версии, вроде все заменилось нормально.
Код в архиве и в онлайн версии один… какая кодировка использовалась?
Sam
Кодировка UTF-8.
В онлайн она же…
Максим, Александр, а как вам такое:
Создать на диске С: компьютера №11 папку с именем “Рабочая”.
превращается в
Создать на диске С: компьютера №11 папку с именем «Рабочая”.
Или такое:
превращается в
idle
Подтверждаю. Баги. Править надо…
Воспользовался Типографом. Сначала обработал пару текстов, заметил свои ошибки. Попробовал обработать html-код… удивительно — обрабатывает! Это просто гигантский плюс! Однако с представлением всей этой разметки косяки — при совпадении #id и .class они конфликтуют с элементами RMCreative. Это выглядит следующим образом.
Полагаю, стоит изолировать обрабатываемый html от CSS RMCreative, возможно написать специальные стили.
Так же странно, что не сохраняется форматирование html. Это было бы актуально.
P. S. Спасибо за замечательный инструмент для приведения страниц к корректному виду. Рад буду видеть Типограф с возможностью интерфейсной настройки форматирования и вставки символов.
При обработке некоторых страниц одна и та же ошибка PHP:
Добрый день.
Скачал исходники Типографа, сделал модуль под Drupal6 (только удалил часть правил). Оставшиеся правила (копирайты-трейдмарки, многоточия, плюс-минусы, кавычки, тире с неразрывными пробелами, проценты, IP, короткое тире, удаление лишних пробелов) сделал опциональными. Настраиваются опции через админку друпала, там же сделал добавление сейф-блоков, работает все в UTF-8, жестко, без iconv. Обозвал получившийся модуль Lite-версией 0.5.
Собственно, интересуюсь у начальника сайта: Александр, можно ли мне на своем сайте выложить исходники сделанного модуля? Понятно, со ссылками к вам, сюда.
Graker
Выкладывайте.
Спасибо.
Выложил: http://graker.ru/typofilter .
Есть проблемы с типографикой хтмл размера с статью, например, вообще не типографит следующий код:
Спасибо за типограф!
Единственное пожелание: в функции apply_rules необходимо сделать проверку на возвращаемое значении preg_replace.
Т.к. очень часто возникает ошибка PREG_BACKTRACK_LIMIT_ERROR, в результате чего типограф возвращает значение NULL и весь переданный текст теряется. Сегодня потратил несколько часов прежде чем понял, в каком месте ошибка.
Подробнее об ошибке: http://ru.php.net/manual/en/function.preg-replace.php#84285
Проблемы с текстом вида:
СРОЧНО!!!Продам шикарное белоснежное свадебное платье!Купленное в магазине "БЕЛАЯ ЛЕБЕДЬ"(за 35 т.р) в феврале 2009г. перчатки,бижутерия,шубка.Состояние идеальное,после хим. чистки.Размер 42-46(корсет регулируется)Очень пышное!
Ошибки:
1) Непарные кавычки вокруг "Белая Лебедь"
2) Не проставлены пробелы до/после точек и скобок
Спасибо.
Эх, такая клёвая штука могла бы быть.
Но, открыв код радость пропала.
Зачем вообще нужны какие-то ещё кодировки кроме UTF-8?
Сам файл явно в cp1251 и там ещё в нём что-то про неё написано.
Грустно немного, потому что часто натыкался на твой блог из поиска по интересным техническим вопросам.
Писалось давно. Следующая версия будет с UTF-8.
типографируется в
Решил изменением регулярки для слова
на
Вроде ничего сломаться не должно
“Незнаю”
типографируется в
«Незнаю”
Исправил добавлением в $_sym двух элементов:
'lquote3' => '“',
'rquote3' => '”',
и правкой переменной $any_quote
$any_quote = "(?:$sym[lquote]|$sym[rquote]|$sym[lquote2]|$sym[rquote2]|$sym[lquote3]|$sym[rquote3]|"|")";
Хотелось бы узнать у автора - это правка ничего не сломает?
Так же типограф не знаком с кавычками-сущностями такими как ” и “ - исправляется вышеуказанным образом.
ldquo; и rdquo;
В комплекте с типографом есть набор тестов. Можно запустить до и после и сравнить цифры.
134 Sam 30.08.09, 18:25
Писалось давно. Следующая версия будет с UTF-8.
ОЧЕНЬ ждем!!!
Подключил к CakePHP из за смены локали БД стала отдавать даты в "корявой" локали, и их перестал принимать strtotime... Версия с UTF без смены локали очень бы помогла!
Александр, в исходном коде типографа орфографические ошибки, н.п. «припенания». Ай-яй.
Возможно есть смысл выложить исходники на более распространенный svn-хостинг? В том же код.гугл issue-трекер более понятен, чем на Ассембле. Вот в него бы и запихать накопившиеся репорты. И на него бы ссылаться отсюда.
Да, пожалуй, стоит. Займусь в ближайшее время.
Будет ли в новой версии с UTF-8 работать существующий плагин для FCKeditora?
И когда же ожидать новую версию...
Работать будет. Скоро будет собрана ещё одна не UTF-версия. Когда будет готова UTF пока сказать не могу.
А как сделать такую же страничку — http://rmcreative.ru/typograph/? :)
Подскажите пожалуйста можно ли подключить typograp на сайт написан на php или html!? a не на wordpress, drupal и т.д., если можно то как???
Можно. Смотрите API, разбирайтесь. Сайты бывают разные.
Если кто знает подробнее распишите пожалуйста! а сайт просто на html написан.
Если просто на HTML, возможности подключить типограф нет.
а если в php то как? я все перелопатил не получается у меня никак...(((
Вот на этой странице всё описано. То есть берёте свой текст и прогоняете через метод process.
После обработки символы < и > превращаются в <>, это мешает публиковать исходников.
К каким последствиям может привести удаление html_entity_decode из типографа?
стихотворные строчки, которые начинаются с союза "а" типографятся некорректно - в начале строки ставится запятая.
Например, из оригинала:
*сказать-то можно, но за А и Б б,
а это уже разговоров на день,
а пожалуй и заполночь.*
получается:
*сказать-то можно, но за А и Б б,
, а это уже разговоров на день,
, а пожалуй и заполночь.*
То же происходит с обычными строками, которые начинаются со строчной "а"; из "дед морозы? а кто ходить будет?" получается "дед морозы?, а кто ходить будет?"
Спасибо можно продублировать в трекер?
Скажите, как использовать этот плагин, если у нас на сайте используется кодировка Windows-1251 ?
Задать в конструкторе 'windows-1251'.
А еще хорошо бы было, что бы между суммой и валютой ставился неразрывный пробел, либо (что лучше) обрамлялся в nobr, а валюту можно было указывать в массиве.
т.е., например: 5 000 рублей, 57 890 руб.
Типографика - типографикой, а клиент - клиентом :-)
Ps: а версия под utf8 когда-нибудь выйдет? :-)
nobr — тег нестандартный. Любители валидации будут против.
utf8 когда-нибудь выйдет.
ну хотя бы вместо пробелов nbsp ставить.
А вообще когда-то я тоже был рьяным поклонником стандартов, а теперь когда стоит выбор между стандартами и желаниями клиента, обычно выбор падает в сторону клиента - как-то выгоднее :)
Записывайте пожелания сюда: http://code.google.com/p/typograph/issues/list
Подскажите как сделать, что бы после точки если не поставлен пробел - он ставился.
и если использовать конструкцию 2007г. test.test
выходит 2007 г. test.test
А в принципе не надо склейки.
Здравствуйте! очень нужную вещь сделали, спасибо. Говорю как типографский верстальщик с опытом.
Есть пара багов.
почему-то не хочет обрабатывать ввод вида: НовоМикс® 30. ® не уходит в верхний индекс, получается просто НовоМикс® 30.
сноска к тексту, заданная в виде: <sup><a href="openRefs();">2</a> </sup> преобразовывается в из верхнего индекса просто в строку с сылкой.
лучше обрамлялся в nobr Эх, такая клёвая штука могла бы быть.
А какое-то дальнейшее развитие планируется? Или "пишите issues сюда" и на этом всё?
Планируется, но сначала я планирую дописать книгу по Yii. Ещё подумываю над выкидыванием кода на GitHub.
Было бы в частном случае хорошая возможность растановки точки между предложениями. Например
Картошка растёт быстро когда поливается Кукуруза созревает к концу лета примерно в апреле Проголодался как волк слона бы съел
не пойдет вместо _phone() ? return preg_replace('|^(\d)(\d{3})(\d{3})(\d{2})(\d{2})(\d*)$|','+\1 (\2) \3-\4-\5 \6',$phone);
Жека, обычно те, кто точек не ставит пишут так:
Андрей, форматирование телефонов вообще подумываю убрать. Неоднозначная штука.
Это чтобы не было глюка с повторным процессингом в кодировке, отличной от windows-1251.
Андрей, что за глюк и как воспроизвести?
Я написал выше. Повторный процессинг. Такое случается, когда, например, типограф висит в behaviors() модели. Первый раз сохранил - все ок, второй раз - порушились предыдущие изменения. Полагаю, это из-за перекодировки.
Наконец, перетащил проект на GitHub. Сейчас там три ветки. Все довольно старенькие, но вроде рабочие.
Неверно обрабатываются кавычки в некоторых случаях при их вложенности.
1.
Исходные данные:
"Тест, "вот""
Оттипографливается так:
«Тест, „вот“"
2.
Исходные данные:
"А "так"?"
Оттипографливается так:
«А „так“?"
И еще вопрос: как убрать отбивание вопросительного знака от следующего символа? Это портит ссылки:
"http://www.youtube.com/watch?v=Z-7j2YKig_I" превращается в "http://www.youtube.com/watch? v=Z-7j2YKig_I"
Вообще, идеально было бы не обрабатывать гиперссылки.
Ввел в онлайн версии "12", ответ "12». На локалхосте вообще "12В» возвращается :(
Не ставятся пробелы после точек (в инициалах, сокращениях и т. п.).
во фразе "Встреча с руководителями магистерских программ" зачем-то везде ставятся неразрывные пробелы
Есть простой скрипт:
Который почему то не типографит текст. Проверял на PHP 5.2.11, 5.3.*(разных версий)
Протестировал на более простых текстах - не типографирует, вообще.
В сокращении M.I.A. ставится неразрывный пробел.
Взял версию 2.2.1 с гитхаба. Не работает. Он-лайн типограф тоже кривой - в преложении везде расставил зачем-то.
Код грязный, здоровые куски $rules закомменченны (под 200 строк!), толи по ошибке, толи еще по какой причине. Встречаются совершенно вкусные куски, типа:
а кода-то нет!
Обрывает текст (wordpress) на месте греческих букв: не просто греческие буквы, но и весь текст после них.
Скобки и кавычки не выносятся за пределы полосы набора (справа).
Повторный прогон строки
Обрезает после первого ×
Спасибо большое за скрипт!
Глючит. Заменяет, например, в параграфе первую кавычку, а вторую оставляет какой была, а последующей (парной) считает следующую найденную. А некоторые вообще не находит, или ...
Если в текст добавляю вот такой html код, то парсер возвращает пустую строку:
вводим: "Статистика","Оценка"," Поднятия", получаем: «Статистика“,"Оценка“," Поднятия», по идее: «Статистика», «Оценка», «Поднятия»,
Да, с кавычками глюк: две идущие подряд (или разделенные текстом) фразы он воспринимает как одну фразу, обособленную кавычками внутри другой фразы, обособленной в свою очередь кавычками. То есть правильно будет обрабатываться фраза:
Кто-то сказал: "Наверное, российской экономике "пинцет" и все будет только хуже"
Но фраза
Наверное, российской экономике "пинцет", сказал кто-то сильно "оптимистичный"
будет обработана неправильно. Был работающий проект с открытым кодом на принтсканнере, такой же по функциональности, но по-моему, на него забили. По крайней мере мне не удалось найти его там.
Планируется ли обновление для последних версий php?
Нет. Обновить могу, но это в самом-самом конце списка дел.
Кто здесь? (с)