Как я в CKEditor неразрывный пробел вставлял

Jul 04, 2012 11:52


Да, я считаю, правильная типографика - это важно. Предыдущая фраза набрана через неразрывный пробел и настоящее длинное тире, а не заморское короткое или какой-нибудь дефисоминус. Для таких вещей у меня расширение Character Palette от благородного кантонца Райана Ли. Судя по статистике использования, таких, кроме меня, на всём свете шестьсот восемьдесят человек. Так что для Маоизм.ру я решил делать интегрированное решение.

И отчасти обломался. WYSIWYG-редактор CKEditor, позиционирующийся как один из лучших бесплатных, оказался тяжёл в отладке и забагован. Для начала я обнаружил, что он по умолчанию конвертит всё, что может, в HTML-сущности, то есть мнемонические записи вида . По стандарту XML так следует поступать только с угловыми скобками (точнее, тем, что в обиходе ошибочно называется угловыми скобками), амперсандом и машинописными кавычками. Остальное - зачем? У нас же Юникод. …Отключение конвертации оказалось задачей нетривиальной, просто выставление нужных настроек приводит к тому, что конвертиться, причём неправильно, начинают самые безобидные буквы:

CKEDITOR.config.basicEntities=false; CKEDITOR.config.entities_additional='gt,lt,amp,apos,quot';
Полез исправлять, так ведь рабочий код этого редактора пожат, неудобно. Ладно, нашёл нужное место, исправил (описание бага и патчи уже потом нашёл).

И вот тут я столкнулся с невозможностью вставить неразрывный пробел в «Файерфоксе» (уже написав для этого плагин кнопки). Это баг, известный уже четыре года. Его уже обходили в FCKEditor, предшественнике CKEditor, но в новом продукте эта проблема вновь всплыла. Я попытался приспособить старый патч, но безрезультатно. В общем, пришлось пока отложить этот вопрос.

firefox, Web-разработка, ckeditor

Previous post Next post
Up