Типограф версия 0.1 волевой выпуск
Это первый типограф для кириллицы на Python с открытым исходным кодом.
Построено на основе PHP версии http://rmcreative.ru/blog/post/tipograf
Обладает схожим набором функционала.
Отличия в работе Lookahead и Lookbehind в Python regEx заставило автора кода придумать иной механизм замены. Результат получился вполне рабочим.
Код написан почти в соответствии с PEP8.
Файл testTypographus.py содержит юнит тесты функционала, который был необходим
в проекте автора (для него же и писался типограф).
Пример использования:
def test_quotes (self):
str = self.t.process (u'
Капец тебе о сын «Неба»')
self.assertEquals (str, u'
Капец тебе о сын «Неба»')
Разрешаю менять данный код как угодно, просить меня исправить ошибки и ссылаться на страницу проекта.
Качаем: http://www.kigorw.com/files/typographus_0.1_.zip
Можете отписываться в камментах, если используете типограф, я на вас ссылку поставлю.
Новости:
- Создал проект на гугл коде: http://code.google.com/p/typo-py/



Очень интересно. Возможно буду использовать, но в данном варианте это не очень удобно. Может есть смысл хостить, например, на http://code.google.com/hosting/ с SVN’ом, блек джеком и…?
я об этом думал, для меня возникнет смысл, как только наберется хотя бы 10 пользователей
Если всё-таки в SVN желание будет выложить — лучше в Assembla.
Это не первый типограф на Python, уже много лет существует http://freetypo.sourceforge.net/
да, мне уже сказали Как я понимаю, тот типограф можно после некоторого ковыряния настроить для работы с кириллицей. Этот типограф писался сразу для работы с кириллицей
Багрепорт: херится разметка (табы, нужное количество пробелов) внутри
*внутри тега pre
А как насчет поддержки хотя бы английского языка? Для себя я применяю ваш типограф на сайте для парсинга контента страницы, пришедшего из wysiwyg админки, но контент бывает двуязычным, как минимум.
Пока не планируется поддержка инглиша. Возможно есть смысл поискать другое решение для этого языка.
+1 пользователь
вот кстати правильная регулярка для союзов:
{"pat»: u'(?<=\s|\W)(%s)(\s+)' % prepos, «rep»: u'\g'+sym['nbsp'], «mod»: re.I|re.U},