Пришла в голову идея прикрутить типографику на уже известном по модулю Typografica движке от pixel-apes.com к BUEditor. Сам движок мне не очень нравится, однако, если есть возможность руками подправить результат его работы, то не все так плохо. К счастью, существует JS-версия этого движка: http://pixel-apes.com/typografica/corrector/
Как прикрутить:
- Прикрепленные файлы закидываются в каталог library самого модуля (sites/all/modules/bueditor/library). Эти скрипты я взял по указанному выше адресу, перевел в UTF-8 и немного подправил под себя.
- В BUEditor создаете кнопку со следующим содержимым:
js:
var typo = new typografica("inches laquo quotes dash emdash (c) (r) (tm) (p) +- degrees wordglue spacing phones");
editor.active.setContent(typo.correct(editor.active.getContent()));
Готово! Нажимаете на вновь созданную кнопку и получаете правильные кавычки и тире в тексте.
Вложение | Размер |
---|---|
typografica3.js | 16.81 КБ |
scripts.js | 3.52 КБ |
Комментарии
очень понравилось, сразу поставил на http://aquaria2,ru. тут же начали приходить отзывы:
вот цитата из моего форума:
неправильно отрабатывает кавычку после открывающей скобки. Вот пример:
Только две фирмы ("Аааааа" и «Бббббб») делают эти приборы действительно качественно, причем реально можно говорить только о трех марках (»В2», «В3» и «В4»).
В первом случае кавычки вообще не преобразовались, во втором — преобразовались неверно.
и уж совсем неправильна замена кавычек в тегах...
Действительно. Как я и говорил, движок кривой. Я сейчас пытаюсь написать свой собственный типографер. Могу посоветовать либо дождаться его, либо самому править typografica3.js
Вот здесь я давал ссылки на десяток типограферов с открытым кодом. Посмотрите, может какой-то из них привяжете к BUeditor или встроите в свой типографер.
Спасибо, буду глядеть их.
А никто не пробовал прикрутить к Друпалу веб-сервисы Типографа от Лебедева (http://www.artlebedev.ru/tools/typograf/webservice/) ?
А заглянуть в исходник религия не позволяет?
<?php
function RemoteTypograf ($encoding)
{
if ($encoding) $this->_encoding = $encoding;
}
?>
'UTF-8' обязательный параметр!
Ставил кодировку, выдаётся ошибка. К тому же,
<?php
class RemoteTypograf
{
var $_encoding = 'UTF-8';
?>
Прописано по дефолту
Стан, по рукам за такое бить нужно... параметр обязательный!!!
Поправил в твоем посте код... внимательнее нужно быть.
Спасибо Энди!