<rmcreative>

RSS

Типограф

30 января 2008

«Типограф» — средство подготовки текстов к web-изданию. Форматирует текст для приведения его к более правильному с точки зрения типографики виду.

Текущая версия: 2.2.0

Online-версия

Тесты

Исходный код и тесты (PHP5)

Исходный код 1.0.6 (PHP4, не поддерживается)

Страничка проекта на GitHub.

Трекер (все ошибки пишем сюда)

Если знаете, как исправить ошибки и готовы потратить на это время — пишите, дам доступ на запись в SVN.

Версия для PHP4 больше не поддерживается. Возможны проблемы с кодировками.

Авторы

Оранский Максим ( http://smee-again.livejournal.com/ )

 Большая часть кода, тестирование, правила.

Макаров Александр ( http://rmcreative.ru/ )

 Код, тестирование, правила, плагины для Smarty, дальнейшая поддержка.



При создании «типографа» помимо личного опыта использовались:

http://philigon.ru/

http://artlebedev.ru/kovodstvo/

http://pvt.livejournal.com/

Спасибо:

-=Ustas=-, http://vingrad.ru/@-=Ustas=-/

faZeful, http://fazeful.ru/

Naruvi (Begemot)

grasshopper

eagle

SHAman

Max

Reki

Zav

sadhaka

Алексей Волкогон

… и всем, кто пользуется типографом и сообщает об ошибках.

Отдельное спасибо Max-у за плагин к Wordpress.

Ссылки

Типограф для TinyMCE

Типограф для FCKEditor

Комментарии RSS

  1. №74
    Колян
    Колян 26.03.2008, 15:09:12

    Вот что бы добавить.

    Не отрабатывает изменение дефиса на тире, если он приклеен к запятой.

  2. №75
    Sam
    Sam 26.03.2008, 15:48:25

    Спасибо, принято.

  3. №101
    Колян
    Колян 31.03.2008, 13:34:33

    Ещё наблюдение:

    пишем: «в соответствии с Распоряжением Правительства РФ».

    отвечает: «в соответствии с Распоряжением. Правительства РФ».

    где отключить расстановку точек?

  4. №102
    Колян
    Колян 31.03.2008, 15:04:24

    добавление.

    „Клиника ФГУ «ФБМСЭ» согласно Лицензии…“

    заменяется на

    „Клиника ФГ. У «ФБМСЭ» согласно Лицензии…“

  5. №103
    Sam
    Sam 31.03.2008, 15:10:04

    Спасибо. Обязательно поправлю в следующей версии.

  6. №133
    Илья
    Илья 04.04.2008, 1:52:49

    При типографировании строчки вида

    тел. 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

  7. №135
    Sam
    Sam 04.04.2008, 13:12:06

    Спасибо, поправлю в следующей версии.

  8. №155
    Илья
    Илья 09.04.2008, 17:36:11

    Вот это правило не годится при наличии в тексте висячих дефисов

    // Оторвать тире от слова

    '~(w)- ~' => '$1 - ',

    Пример:

    газо- и электросварка

    превращается в

    газо — и электросварка

  9. №156
    Sam
    Sam 09.04.2008, 18:12:18

    Поправлю. Спасибо.

  10. №163
    Илья
    Илья 12.04.2008, 15:14:45

    Вот ещё баг: некоторые сокращения (например, МГУ, ГУМ и т.п.) неверно обрабатываются.

    Получается МГ. У и Г. УМ соответственно.

  11. №166
    Илья
    Илья 12.04.2008, 16:01:03

    Дробные числа (например, число 625,35) не должны разделяться пробелом.

    P.S. Если не подписываться на комментарии при отправке поста вылетают ошибки.

  12. №167
    Sam
    Sam 12.04.2008, 16:59:41

    Спасибо.

  13. №233
    Антон Иконников
    Антон Иконников 15.05.2008, 23:02:48

    Время неправильно обрабатывается.(ненужных пробел после двоеточия)

    Например 22:33 => 22: 33

  14. №234
    Sam
    Sam 16.05.2008, 3:57:56

    Спасибо.

  15. №240
    Serhiy
    Serhiy 18.05.2008, 0:08:05

    А будет ли вариант для других языков, например немецкого (использую UTF-8)?

  16. №242
    Sam
    Sam 18.05.2008, 15:51:12

    Serhiy

    Будет, если дадите описание праил немецкой типографики.

  17. №244
    Serhiy
    Serhiy 18.05.2008, 18:17:35

    Очень детальное описание всех случаев дано в Википедии (на немецком, но там все в примерах и очень наглядно):

    Для типографского текста

    http://de.wikipedia.org/wiki/Geviertstrich (описание на символ вибирается справа вверху)

    для Веба

    http://de.wikipedia.org/wiki/Typografie_für_HTML (там внизу есть еще дополнительные линки. Часто повторы, но кое-где информация более обширная)

  18. №245
    Sam
    Sam 18.05.2008, 18:20:20

    Почитаю. Шанс, что будет профиль для немецкого есть.

  19. вот бы его к WP плагином!!!

  20. №344
    Sam
    Sam 11.06.2008, 17:15:01

    Есть в комплекте плагин.

  21. лично у меня при активации плагина вылетает ошибка :(

    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 - всеравно фатал еррор :(

  22. №346
    Sam
    Sam 12.06.2008, 16:23:14

    Надо положить Typographus.php в /wp-content/plugins/TypographMachine/

  23. я догадался :)

    буду эксперементировать с настройками хоста.

  24. №378
    Антон Иконников
    Антон Иконников 25.06.2008, 10:09:28

    В таком тексте "Жопа с кавычками..." закрывающие кавычки в елочки не преобразуются.

  25. №383
    Sam
    Sam 25.06.2008, 13:37:11

    Преобразуются. Проверьте: http://typo.rmcreative.ru/.

  26. №409
    Octane
    Octane 05.07.2008, 19:08:10

    А почему перед тире не вставляется неразрывный пробел? Ведь тире нельзя переносить на следующую строку.

  27. №410
    Sam
    Sam 06.07.2008, 15:49:30

    Должен ставится. С каким текстом проблема?

  28. №411
    Octane
    Octane 06.07.2008, 16:47:39

    Когда 2 подряд идущих дефиса преобразуются в тире, то перед ним не вставляется неразрывный пробел. screenshot

  29. №423
    Ярослав
    Ярослав 10.07.2008, 10:50:11

    Типограф перед всеми большими буквами ставит точки? Такое даже в фичах вроде не написано.

    Пример: «совместно с художником Рерихом» преобразуется в «совместно с художником. Рерихом».

  30. №424
    Ярослав
    Ярослав 10.07.2008, 10:53:42

    Да, и указанная в файле с классом ссылка http://rmcreative.ru/article/programming/typograph/ не работает.

  31. №425
    Sam
    Sam 10.07.2008, 12:54:18

    Octane, Ярослав

    Спасибо. В следующей версии поправлю.

  32. №428
    Денис
    Денис 11.07.2008, 12:56:55

    А будут ли в следующей версии исправлены/добавлены правила, которые сейчас неадекватно работают (ошибки в тестах)? И когда примерно ждать новую версию?

    Спасибо.

  33. №429
    Sam
    Sam 11.07.2008, 13:04:38

    Большинство будет. Сейчас уже многое исправлено. Ну и тесты конечно же сильно пополнились.

    Дат называть пока не буду…

  34. №431
    егор
    егор 13.07.2008, 2:52:22

    строка "вася - лох" типографится как "вася — лох", т.е. между словом и последующим тире не стоит неразрывного пробела.

  35. №432
    егор
    егор 13.07.2008, 3:02:38

    ещё один забавный тест: строка "Приветствуем Вас" типографится как "Приветствуем. Вас" )))

  36. №434
    Sam
    Sam 13.07.2008, 23:24:05

    егор

    Спасибо, исправлю в следующей версии.

  37. №461
    Денис
    Денис 18.07.2008, 18:24:12

    На данный момент «типограф» умеет

    — Заменять два-четыре знака точки подряд - на знак многоточия.

    — Заменять от 2-х до 5-и точек подряд на троеточие.

    Не многовато ли? :)

  38. №462
    Sam
    Sam 18.07.2008, 18:42:25

    Многовато :) Спасибо.

  39. №475
    егор
    егор 27.07.2008, 0:08:33

    ну так чо там с новой версией? как часто вобще они выходят? )

  40. №479
    Sam
    Sam 27.07.2008, 13:18:53

    Текущий вариант в разработке конечно лучше чем последняя версия, но выкладвать рановато…

  41. №494
    Пётр
    Пётр 03.08.2008, 14:35:10

    Спецсимволы введённые с клавиатуры (« » “ ” — … © ™ ' ®) не обрабатываются, а должны заменяться на соответствующий код (« » “ ” — … © ™ ' ®).

  42. №497
    Антон Иконников
    Антон Иконников 05.08.2008, 12:16:08

    Вот в таком тексте все пробелы и переводы строки сжираются:

    Смайл :(

    Жопа

  43. №498
    Sam
    Sam 05.08.2008, 15:24:18

    Пётр, Антон Иконников

    Внёс в todo.

  44. №500
    Антон Иконников
    Антон Иконников 06.08.2008, 11:34:28

    А еще типограф простое русское слово ЗАГС не любит.

    Вообще, как мне кажется, очень много проблем в типографе от того, что он пытается решить задачу исправления всего и вся, в частности всевозможных опечаток (например, тоже удаление любых пробельных символов после скобки). Мне думается, что это в корне неверно. Типограф должен облегчать жизнь пользователю, которому очень неудобно при наборе текста вставлять длинные тире и неразрывные пробелы. А вот пытаться исправлять текст за теми, кто искренне верит, что перед запятой надо пробел ставить, бесполезно.

  45. №501
    Денис
    Денис 06.08.2008, 11:45:23

    Антон Иконников, такие мелочи, как пробел перед запятой можно бы и исправить, это улучшает читабельность текстов, а вот что-то серьёзное, типа разбивка тел. номера на составляющие - явно лишнее и должно включаться опционально...

    Предлагаю сделать базовый функционал (замены знаков, расстановка кавычек, неразрывных пробелов) по умолчанию, а все остальное - пусть включается набором методов или параметров...?

  46. №503
    Sam
    Sam 06.08.2008, 13:37:35

    А почему бы и не сделать…

  47. №507
    brainsolid
    brainsolid 07.08.2008, 20:44:01

    Установил вашу версию плагина для Wordpress. Со своими задачами плагин справляется на ура, но есть одна неполадка. После активации плагина ломается вывод текста, который реализован через функцию excerpt: вместо 55 слов выводится вдвое больше. Буду очень признателен, если вы поможете устранить эту мелочь - она-то мелочь, но очень портит жизнь.

  48. №508
    Sam
    Sam 08.08.2008, 12:42:50

    Версия WordPress какая?

  49. №517
    Александр М.
    Александр М. 09.08.2008, 2:24:17

    Можно сделать так, чтоб этот Типограф сохранял в базу уже оттипографленный текст, а не обрабатывал его при каждом вызове? В общем так как это реализовано у Kavychker-а.

  50. №520
    Антон Иконников
    Антон Иконников 09.08.2008, 10:35:44

    Я бы в строках 313, 314 (в версии 2.1.0) заменил s на один пробел (может быть еще табуляцию добавить). Тогда типограф не будет удалять переводы строк, если строка начиналась или оканчивалась скобкой, что мне кажется излишним.

  51. №522
    brainsolid
    brainsolid 09.08.2008, 12:05:52

    Sam, WP последний, 2.6

  52. №523
    brainsolid
    brainsolid 09.08.2008, 12:06:48

    я случайно подписался на комментарии, отпишите меня, пожалуйста.

  53. №524
    Пётр
    Пётр 09.08.2008, 15:45:05

    Присоединяюсь к brainsolid, отпишите от комментариев.

  54. №525
    Александр М.
    Александр М. 09.08.2008, 18:41:09

    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.: не хочешь сделать описания ограничений в комментариях? Непостижимым, для меня, образом из моих комментариев некоторые ссылки вырезались полностью, а некоторые былы заменены ссылками на эту (?!) статью. Да и форматирование работатет как-то не совсем очевидным образом.

  55. №526
    Антон Иконников
    Антон Иконников 10.08.2008, 11:00:22

    В правилах преобразования дефисов в длинное тире (строки 350-353) ошибка - съедаются переводы строк в прямой речи. Например,

    Вася:

    • Иду в лес!
  56. №516
    Sam
    Sam 12.08.2008, 16:07:29

    Все, кто хочет отписаться — снимайте галочку «Подписаться на комментарии» и напишите что-нибудь. Знаю, что не очень удобно, но пока так…

    Александр М.

    Java Developer — это не про JavaScript ;) Реализовать могу, но времени нужно прилично. Если сделаю, то не очень скоро.

    На кавычкер ссылки порезались случайно. Правда ;)

    Про комментарии учту. Вообще в качестве разметки используется bbcode, принятый на форумах. HTML запрещён полностью.

    Всем

    Огромное спасибо за ценные замечания.

    Антон Иконников

    Отдельное спасибо.

  57. №534
    Пётр
    Пётр 12.08.2008, 20:20:47

    Робокоп.

    • У меня тоже нет, — сказала лиса, — а я хвост в прорубь закинула, вот на него и наловила.

    После третьего тире появляется лишняя запятая, видимо из-за союза а.

  58. №558
    Денис
    Денис 21.08.2008, 14:35:38

    Sam, а может все таки не будем за пользователем ничего исправлять (я про добавление запятых)?! Это не цель типографа... Тем более, что есть случаи в которых исправления в орфографии/пунктуации текста нежелательно вообще!

  59. №559
    Sam
    Sam 21.08.2008, 14:53:47

    Денис

    Самое болезненное я вроде поправил. Давайте конкретных примеров, я либо выкину какие-то возможности, либо улучшу так, чтобы ничего не портилось.

  60. №560
    егор
    егор 21.08.2008, 22:20:01

    предлагаю перевести всё-таки скрипт в utf-8 и заменять на реальные символы а не на « и пр., а то после htmlspecialchars() становится всё ужасно... ну и я конечно тоже против проверки орфографии и пр., нужна только замена тире, кавычек и многоточия...

  61. №561
    егор
    егор 21.08.2008, 22:20:57

    правка:

    заменять на реальные символы « а не на &laquo; и пр.

    )))

  62. №562
    егор
    егор 21.08.2008, 23:18:32

    не преобразуется последняя кавычка

    компания "говно"

  63. №563
    Sam
    Sam 22.08.2008, 14:17:47

    егор

    Может быть поможет:

    $typo->setOpt(self::HTML_ENTITIES, false);
  64. №609
    Igor
    Igor 17.09.2008, 9:37:15

    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 иногда глючит почему-то только локально на Денвере.

  65. №610
    Igor
    Igor 17.09.2008, 9:43:13

    Пардон, уже оказывается поправлено, я давно скачивал.

  66. №725
    Суханов Дмитрий
    Суханов Дмитрий 17.10.2008, 18:55:16

    "квант" тра тата "квант"

    заменяет на

    «квант» тра тата «квант"

  67. №726
    Sam
    Sam 17.10.2008, 18:59:43

    Суханов Дмитрий

    Спасибо.

  68. №727
    Dr.Death
    Dr.Death 17.10.2008, 22:23:44

    Сдается с 20 октября -> Cдается с. 20 октября

    думаю ошибка

  69. №728
    Dr.Death
    Dr.Death 17.10.2008, 22:26:37

    пл. – 125 м2, 4 этаж -> пл. – 125 м. 2, 4 этаж :(

  70. №729
    Dr.Death
    Dr.Death 17.10.2008, 22:28:32

    3/8этажного -> 3/8этажного

    з.ы. пока хватит :)

  71. №730
    Sam
    Sam 17.10.2008, 22:29:02

    Dr.Death

    Спасибо. Конфликт правил вышел…

  72. №739
    Антон Иконников
    Антон Иконников 20.10.2008, 11:08:04

    А еще логично, как мне кажется, применять пользовательский SafeBlock до встроенных, а не после. Например потому, что иначе пользовательский блок, выполненный в виде комментариев (<!-- no typo -->) обрабатываться не будет.

  73. №767
    Михаил
    Михаил 24.10.2008, 15:45:55

    С WordPress 2.6.3 отказывается работать, точнее активироваться, так как вызывает фатальную ошибку...

  74. №776
    Егор Вербицкий
    Егор Вербицкий 27.10.2008, 15:36:01

    А случайно не планируется реализация правил со страницы http://typograf.ru/flog/, например:

    • Расстановка дефиса перед -то, -либо, -нибудь

    • Расстановка дефиса перед -ка, -де, -кась

    и другие? Было бы классно!

    Очень хочется новой версии :))

  75. №777
    Sam
    Sam 27.10.2008, 15:45:10

    Планируется, но тут надо очень аккуратно делать…

  76. №780
    Егор Вербицкий
    Егор Вербицкий 27.10.2008, 16:48:05

    Жду с нетерпением :)

  77. №781
    Михаил
    Михаил 27.10.2008, 18:39:48

    На Word Press 2.6.3 кто нибудь тестил?

    Или это у меня только он не хочет работать?

  78. №782
    Sam
    Sam 27.10.2008, 18:41:20

    Тестили. Не работает с последним WP. Попробую зафиксить…

  79. №783
    Михаил
    Михаил 27.10.2008, 18:46:08

    Спасибо буду очень ждать.

  80. №833
    Филатов Дмитрий
    Филатов Дмитрий 07.11.2008, 19:12:10

    Неправильно обрабатываются строки вида:

    10×10

    На выходе какая-то ботва:

    10Ч10

  81. №836
    Sam
    Sam 10.11.2008, 17:47:32

    Филатов Дмитрий

    Вот такое зафиксить не очень просто т.к. корёжит символ iconv ещё при инициализации типографа…

  82. №837
    Филатов Дмитрий
    Филатов Дмитрий 10.11.2008, 18:15:18

    Можно попробовать перед iconv заменять такие символы на энтити.

    Хотел прикрутить ваш типограф к себе вместо своего, но такие моменты сразу оттолкнули...

  83. №838
    Sam
    Sam 10.11.2008, 19:08:29

    Кстати, да… попробую.

  84. №848
    Igor
    Igor 11.11.2008, 19:55:51

    Сделал на твоем классе плагин к редактору FCK.

    Подобрать здесь.

    http://drupal.ru/files/typograf2.zip

  85. №849
    Sam
    Sam 11.11.2008, 20:11:47

    Спасибо. Включу в следующую версию.

  86. №850
    Михаил
    Михаил 12.11.2008, 3:12:07

    Igor под какую версию FCK сделан плагин?

    У меня движок использует FCK, но он не хочет работать с плагином...

  87. №851
    Михаил
    Михаил 12.11.2008, 4:45:39

    Почему-то × заменяется на Ч .

    При повторном редактировании страницы очень убивает ={

  88. №852
    Igor
    Igor 12.11.2008, 8:42:40

    Версия

    FCKeditor 2.6.3

  89. №853
    Igor
    Igor 12.11.2008, 8:45:46

    Т.к. настраивал на Друпале - проверю, может что специфичное от друпала прикрутил. Поправлю - отпишусь.

  90. №854
    Сергей
    Сергей 12.11.2008, 9:30:09

    не понимает букву ё в кавычках: "всё" превращается в «всё"

  91. №855
    Igor
    Igor 12.11.2008, 9:35:24

    Проверил, немного подправил поиск файла типографа typographus.php

    Кстати, важно плагин пока работает только с кодировкой UTF-8.

    Ссылка на обновленный файл.

    http://drupal.ru/files/typograf2_0.zip

  92. №856
    Сергей
    Сергей 12.11.2008, 10:03:26

    to Igor:

    никак не могу завести ваш плагин :( (Денвер, FCK 2.6.3, с Друпал 6.6 и без него)

    картинка http://drop.io/ozid9vp/asset/fck-tipo , фаербаг говорит ошибка.

  93. №857
    Igor
    Igor 12.11.2008, 10:36:33

    Извиняюсь, считаем ЭТО alfa версией, не проверял на др броузерах. Сейчас проверил - заработало только на ослике.

  94. №859
    Михаил
    Михаил 12.11.2008, 13:02:11

    По поводу FCK пришлось пока просто на выход повесить php typograf нужно проект запускать, потом уже если не будет решений можно писать плагин.

    По поводу "всё" превращается в «всё", это касается не только буквы Ё, такая проблема есть еще в примере:

    «Федерации Любителей Декоративных Животных (клубы „ОЛМС“, „Москва“, „Морские свинки Петербурга“, „ШиКС“,

    изначально Федерации Любителей Декоративных Животных была в "".

  95. №872
    Лютиков
    Лютиков 19.11.2008, 10:06:36

    Пробелы перед смайликами удаляет.

  96. №873
    Антон Иконников
    Антон Иконников 19.11.2008, 12:24:26
    • Прямая речь!

    Вставляет лишний пробел перед тире.

  97. №878
    Антон Иконников
    Антон Иконников 21.11.2008, 13:33:35

    Не совсем уверен, что все правильно описываю, но все же...

    Типографим следующую строку:

    "Умирает старый еврей - признанный в округе мастер заварки чая. Собрались вокруг родственники и уговаривают его: - Не дай умереть твоему искусству вместе с тобой, расскажи тайну своего мастерства."

    Как я понял, правило обработки прямой речи в строке 376 файла Typographus.php должно было перенести "- Не дай умереть..." на новую строку. Но этого не происходит.

    Кроме того, если то, что у нас уже имеется на выходе оттипографить второй раз, то на новую строку уже будут перенесены как то, что нужно, так и "- признанный в округе...". А это уже перебор.

  98. №882
    Дмитрий Хайретдинов
    Дмитрий Хайретдинов 22.11.2008, 19:04:45

    Пишу

    «Убирает лишние знаки??»

    Получаю

    «Убирает лишние знаки??»

    (двойной знак в конце стоки)

  99. №1022
    Сергей М.
    Сергей М. 25.12.2008, 16:45:41

    Спасибо авторам за класс, частично он использовался для создания плагина типографики для Wordpress. Некоторые вещи из класса вроде пофиксены (из-за конвертации, кстати, иногда по непонятной причине теряются целые посты), так что, если все еще поддерживаете проект, могу помочь.

  100. №1023
    Sam
    Sam 25.12.2008, 16:51:14

    Поддерживаем. Помощь не помешает. Стучите в асю/jabber/email.

  101. №1028
    Александр М.
    Александр М. 27.12.2008, 11:42:23

    Редакторонезависимая кнопка на Яве "Оттипографить текст" еще в проекте? Очень нужна! Хотелось бы видеть :)

  102. №1029
    Sam
    Sam 27.12.2008, 12:55:18

    Александр М.

    Пока не в поекте. Есть уже готовый типограф на JS: devanagari. Можете попробовать прикрутить его.

  103. №1054
    Igor
    Igor 31.12.2008, 17:48:32

    Доделал (точнее переделал полностью) плагин для FCK на базе этого (и 2-х других) типографа.

    Смотрим тут: Типограф - плагин к FCK

  104. №1165
    afgm
    afgm 26.01.2009, 21:13:24

    не такого знака троеточие

    http://gramota.ru/spravka/buro/29_206370

  105. №1260
    anup
    anup 13.02.2009, 4:45:28

    Прежде всего, спасибо за отличный модуль! :)

    Вот только использование W в выражении

    '/(?<=s|^|W)('.$prepos.')(s+)/i' => '$1'.$sym['nbsp'],

    на некорых сборках pcre, (в частности на той, которую я использую), работает не корректно. Т.е. приводит к тому, что неразрывный пробел вставляется почти между всеми словами.

    Было бы хорошо, если бы типограф работал вне зависимости от W.

    Пока что, я в своей версии |W просто убрал.

  106. №1261
    anup
    anup 13.02.2009, 5:39:41

    Но главная проблема в том, что не работает модификатор i в preg_replace.

    Если использовать UTF-8, то там предусмотрен ключ u, который помогает обойти проблемы с русскими буквами. А в WINDOWS-1251, например, получается, что все предлоги в начале предложений (т.е. написанные с большой буквы) типограф не обнаруживает и неразрывный пробел после них, следавательно, не ставит.

  107. №1266
    Sam
    Sam 13.02.2009, 12:52:42

    anup

    Спасибо. Проблема известная. Ядро уже переписано на UTF-8. Осталось портировать правила…

  108. №1283
    Sergant
    Sergant 17.02.2009, 13:32:36

    Прежде всего, спасибо за Ваши труды!

    Продукт нужный и полезный, но не типографит средних текстов, к примеру:

    "

    За последний месяц киевский мэр охватил дополнительной платой практически все, что есть в Киеве. Начиная от медицинских услуг, заканчивая похоронами. Черновецкий даже раскошелился на торжественную церемонию похорон "любимых бабушек" по особому сценарию.

    В распоряжении "Украинской правды" оказалось еще одно официальное распоряжение Киевской городской администрации, подписанное лично Леонидом Черновецким о новых инициативах столичной мэрии по наполнению городского бюджета.

    При первоначальном прочтении письмо больше напоминает выдержку какого-то сюрреалистического романа о животных.

    "п.2 Немедленно дать предложения по создание мониторинговой группы, которая будет контролировать звонки по всей Украине. Программа за телефонные звонки по Украине за консультации по котикам – 1 млрд. грн. Дайте мне каждый в отдельности концепцию, как мы сможем добывать звонки со всей Украины.

    п.2 Берзиной и Панченко доложить немедленно, как они собираются создавать мониторинговую группу типа 051 или все переключить на 051?

    К. Бектурсунову

    Дать рекламу по всей Украине, чтобы звонили Берзиной платно и выясняли, как котику животик вылечить.

    "

    Результат работы - строка в 0 символов...

    Ну и конечно, хочеться увидеть UTF-8 версию.

  109. №1323
    T-34
    T-34 28.02.2009, 21:18:47

    Еще хочется, чтобы слова, написанные через дефис, заключались в nobr

  110. №1325
    Роман
    Роман 01.03.2009, 13:01:54

    Обнаружил небольшой баг: Если в тексте встречаются 2 подряд идущие переводы строк (

    или

    ) -- класс возвращает пустую строку вместо текста

  111. №1320
    kosenka
    kosenka 02.03.2009, 11:34:17

    может я чего не понимаю, но не сработало на тексте:

    "'ФОТКУ НЕ ПРИНИМАТЬ!!! И НЕ ОТКЛОНЯТЬ!!!'"

    как я понимаю, должно было получиться:

    «'ФОТКУ НЕ ТРОГАТЬ!!! НЕ ПРИНИМАТЬ И НЕ ОТКЛОНЯТЬ!!!'»

    но не получилось :(

  112. №1369
    Sam
    Sam 12.03.2009, 14:30:48

    kosenka

    Это какой-то уж очень странный входной текст. Что должна означать комбинация «"'»?

  113. №1370
    Antonio
    Antonio 13.03.2009, 4:59:01

    А плагин «Типограф» для миранды планируется?

  114. №1373
    Sam
    Sam 13.03.2009, 15:50:59

    Нет.

  115. №1378
    Liri
    Liri 18.03.2009, 17:04:09

    Если закрывающая кавычка стоит перед пробелом с "и" ("бла-бла" и бла-бла), пробелом с открывающей скобкой ("бла-бла" (бла-бла)), точкой в конце текста она преобразуется не в », а в ".

  116. №1389
    Sam
    Sam 18.03.2009, 18:27:44

    Liri

    В онлайн-версии подтверждается?

  117. №1392
    Liri
    Liri 19.03.2009, 15:24:31

    Sam

    В онлайн-версии, вроде все заменилось нормально.

  118. №1395
    Sam
    Sam 19.03.2009, 20:13:15

    Код в архиве и в онлайн версии один… какая кодировка использовалась?

  119. №1411
    Liri
    Liri 23.03.2009, 16:20:29

    Sam

    Кодировка UTF-8.

  120. №1412
    Sam
    Sam 23.03.2009, 17:22:18

    В онлайн она же…

  121. №1513
    idle
    idle 15.04.2009, 13:00:11

    Максим, Александр, а как вам такое:

    Создать на диске С: компьютера №11 папку с именем “Рабочая”.

    превращается в

    Создать на диске С: компьютера №11 папку с именем «Рабочая”.

    Или такое:

    Тема падения и духовного возрождения человека в произведениях Ф.М. Достоевского. (По роману «Преступление и наказание» или «Идиот».) <em>Тема маленького человека» в романе Ф.М. Достоевского «Преступле ние и наказание». </em>

    превращается в

    Тема падения и духовного возрождения человека в произведениях Ф.М. Достоевского. (По роману «Преступление и наказание» или «Идиот“.) <em>Тема маленького человека» в романе Ф.М. Достоевского «Преступле ние и наказание». </em>
  122. №1518
    Sam
    Sam 15.04.2009, 15:42:12

    idle

    Подтверждаю. Баги. Править надо…

  123. №1570
    Dr.Holerik
    Dr.Holerik 11.05.2009, 14:01:22

    Воспользовался Типографом. Сначала обработал пару текстов, заметил свои ошибки. Попробовал обработать html-код… удивительно — обрабатывает! Это просто гигантский плюс! Однако с представлением всей этой разметки косяки — при совпадении #id и .class они конфликтуют с элементами RMCreative. Это выглядит следующим образом.

    Полагаю, стоит изолировать обрабатываемый html от CSS RMCreative, возможно написать специальные стили.

    Так же странно, что не сохраняется форматирование html. Это было бы актуально.

    P. S. Спасибо за замечательный инструмент для приведения страниц к корректному виду. Рад буду видеть Типограф с возможностью интерфейсной настройки форматирования и вставки символов.

  124. №1571
    Dr.Holerik
    Dr.Holerik 11.05.2009, 16:21:16

    При обработке некоторых страниц одна и та же ошибка PHP:

    **A PHP Error was encountered** Severity: Notice Message: iconv() [[function.iconv](/function.iconv)]: Detected an illegal character in input string Filename: libraries/typographus.php Line Number: 176
  125. №1624
    Graker
    Graker 08.06.2009, 16:52:13

    Добрый день.

    Скачал исходники Типографа, сделал модуль под Drupal6 (только удалил часть правил). Оставшиеся правила (копирайты-трейдмарки, многоточия, плюс-минусы, кавычки, тире с неразрывными пробелами, проценты, IP, короткое тире, удаление лишних пробелов) сделал опциональными. Настраиваются опции через админку друпала, там же сделал добавление сейф-блоков, работает все в UTF-8, жестко, без iconv. Обозвал получившийся модуль Lite-версией 0.5.

    Собственно, интересуюсь у начальника сайта: Александр, можно ли мне на своем сайте выложить исходники сделанного модуля? Понятно, со ссылками к вам, сюда.

  126. №1625
    Sam
    Sam 08.06.2009, 17:07:59

    Graker

    Выкладывайте.

  127. №1628
    Graker
    Graker 08.06.2009, 22:06:12

    Спасибо.

    Выложил: http://graker.ru/typofilter .

  128. №1647
    illusive
    illusive 18.06.2009, 20:49:02

    Есть проблемы с типографикой хтмл размера с статью, например, вообще не типографит следующий код:

    <p style="text-align: center;"><img title="Зенд Сервер" src="/articles/67/zend-server-ce-screens.gif" alt="Зенд Сервер" /></p><p><a title="Zend Server Community Edition" href="/goto/?url=http://www.zend.com/community/zend-server-ce" target="_blank">Zend Server </a>от компании <a title="Zend Technologies" href="/goto/?url=http://zend.com/" target="_blank">Zend Technologies</a> стал общедоступным! Используя <a title="Zend Server Community Edition" href="/goto/?url=http://www.zend.com/community/zend-server-ce" target="_blank">Zend Server</a>
    Вы получаете грамотно настроенный веб-сервер с оригинальной панелью
    управления сервером, которая предоставляется ввиде веб-интерфейса.
    Продукт ориентирован на интеграцию с другими продуктами <a title="Zend Technologies" href="/goto/?url=http://zend.com/" target="_blank">Zend</a>, что идеально подходит для <a title="Zend Framework Community Site" href="/goto/?url=http://framework.zend.com/" target="_blank">Zend Framework</a> программистов.</p><p>Используя эту сборку Вы будете экономить кучу времени - установщик сделает множество задач за Вас.</p><p>Основные фичи:</p><ul><li>Веб-интерфес для управления сервером. Все для Ваших удобств и комфорта</li><li>Качественная подборка серверного ПО, которое предназначено для установки на продакшн сервер!</li><li>Также есть и кроссплатформенные сборки под Mac, Linux, Windows</li><li>Базовая оптимизация серверной конфигурации для увеличения производительности и уровня безопасности.</li><li>Поддержка самых восстребованых баз данных.</li><li>Обновления и хот-фиксы</li><li>Интерграция с Zend Studio</li><li>Высокая производительность и экономия системных ресурсов</li></ul><p>Одной
    из наиболее интересных вкусностей для администраторов серверов является
    возможность автоматической установки патчей и хот-фиксов для Zend
    Server, что позволит поддерживать <strong>ПО сервера</strong> в актуальном состоянии без лишнего труда.</p><p>Так как <strong>Zend Server</strong>
    ориентирован и на установку для продакшн серверов, то основной упор
    разработчики сделали на *nix подобные системы. Ну и не зря, как
    свидетельствует статистика 75% разработчиков пишут программный код на
    Windows, а продакшн версии, 95% разработчиков, размещают на
    *nix-подобных системах.</p><p>Если Вы работаете с <em>Zend Framework</em>,
    то я могу Вас обрадовать - он включен в поставку продукта. Программное
    обеспечение сервера сконфигурировано и оптимизировано также и для
    работы <strong>ZF</strong>, то позволит <strong>ускорить работоспособность</strong> Ваших ресурсов довольно существенно:</p><ul><li>Уменьшение потребления памяти</li><li>Меньше активных сетевых соединений</li><li>Существенно меньше обращений к базе данных</li></ul><p>По предварительных <a title="Замеры производительности Zend Server" href="/goto/?url=http://2bits.com/articles/benchmarking-zend-server-community-edition-drupal.html" target="_blank">подсчетах</a> производительность <em>Zend Server</em> на <strong>15%</strong>
    выше от производительности связки PHP+APC! И это только комьюнити
    версия, интересно что творится в коммерческой? И при тестировании не
    использовался <strong>Zend Framework</strong>, если же учесть тот факт, что под
    фреймворк тоже есть оптимизации и заточенные решения, то логично, что
    производительность проектов на <span style="text-decoration: underline;">Zend Framework</span> вырастет еще больше!</p><p>&nbsp;</p><p><img style="margin: 10px; float: right;" title="Zend Framework" src="/articles/67/zf.jpg" alt="Zend Framework" width="100" height="105" /></p><p>В
    плане маркетинга, компания позиционирует данный продукт как
    корпоративный, поэтому регулярные обновления/исправления гарантируются,
    что тоже является не мало важным аспектом. <strong>Zend Server</strong> также призван популяризировать продукты <span style="text-decoration: underline;">Z</span><span style="text-decoration: underline;">end </span><span style="text-decoration: underline;">Technologies</span>,
    компания использует такой ход чтобы максимально завоевать рынок пока на
    нем нет крупных игроков, т.е. компания использует свое выгодное
    положение и покоряет все новые пространства.</p><p>&nbsp;</p><p>Как всегда Zend не перестает меня удивлять и как всегда буду изучать новые фичи и инструменты от Zend!</p><p>&nbsp;</p><p>Не
    успеваеш изучить одно, как выходит что-то другое. Действительно
    компания Zend сделала очень многое для поддержки PHP и его развития!</p>
  129. №1707
    Сергей
    Сергей 06.07.2009, 14:22:11

    Спасибо за типограф!

    Единственное пожелание: в функции apply_rules необходимо сделать проверку на возвращаемое значении preg_replace.

    Т.к. очень часто возникает ошибка PREG_BACKTRACK_LIMIT_ERROR, в результате чего типограф возвращает значение NULL и весь переданный текст теряется. Сегодня потратил несколько часов прежде чем понял, в каком месте ошибка.

    Подробнее об ошибке: http://ru.php.net/manual/en/function.preg-replace.php#84285

  130. №1779
    alexander
    alexander 11.08.2009, 9:41:14

    Проблемы с текстом вида:

    СРОЧНО!!!Продам шикарное белоснежное свадебное платье!Купленное в магазине "БЕЛАЯ ЛЕБЕДЬ"(за 35 т.р) в феврале 2009г. перчатки,бижутерия,шубка.Состояние идеальное,после хим. чистки.Размер 42-46(корсет регулируется)Очень пышное!

    Ошибки:

    1) Непарные кавычки вокруг "Белая Лебедь"

    2) Не проставлены пробелы до/после точек и скобок

  131. №1780
    Sam
    Sam 11.08.2009, 13:33:31

    Спасибо.

  132. №1822
    Тормоз
    Тормоз 30.08.2009, 17:41:12

    Эх, такая клёвая штука могла бы быть.

    Но, открыв код радость пропала.

    Зачем вообще нужны какие-то ещё кодировки кроме UTF-8?

    Сам файл явно в cp1251 и там ещё в нём что-то про неё написано.

    Грустно немного, потому что часто натыкался на твой блог из поиска по интересным техническим вопросам.

  133. №1823
    Sam
    Sam 30.08.2009, 18:25:56

    Зачем вообще нужны какие-то ещё кодировки кроме UTF-8?

    Писалось давно. Следующая версия будет с UTF-8.

  134. №1947
    Павел
    Павел 30.10.2009, 16:26:29

    Телеканал "2*2 на Волге" переходит под контроль "СТС-медиа".

    типографируется в

    Телеканал "2×2 на Волге» переходит под контроль «СТС-медиа».

    Решил изменением регулярки для слова

    $word = '[a-zA-Zа-яА-Я_]';

    на

    $word = '[a-zA-Zа-яА-Я0-9_]';

    Вроде ничего сломаться не должно

  135. №1957
    Павел
    Павел 03.11.2009, 12:00:01

    “Незнаю”

    типографируется в

    «Незнаю”

    Исправил добавлением в $_sym двух элементов:

    'lquote3' => '“',

    'rquote3' => '”',

    и правкой переменной $any_quote

    $any_quote = "(?:$sym[lquote]|$sym[rquote]|$sym[lquote2]|$sym[rquote2]|$sym[lquote3]|$sym[rquote3]|"|")";

    Хотелось бы узнать у автора - это правка ничего не сломает?

  136. №1959
    Павел
    Павел 03.11.2009, 12:32:40

    Так же типограф не знаком с кавычками-сущностями такими как ” и “ - исправляется вышеуказанным образом.

  137. №1960
    Павел
    Павел 03.11.2009, 12:33:27

    ldquo; и rdquo;

  138. №1963
    Sam
    Sam 03.11.2009, 16:27:34

    В комплекте с типографом есть набор тестов. Можно запустить до и после и сравнить цифры.

  139. №2087
    hexes
    hexes 11.12.2009, 7:18:47

    134 Sam 30.08.09, 18:25

    Зачем вообще нужны какие-то ещё кодировки кроме UTF-8?

    Писалось давно. Следующая версия будет с UTF-8.

    ОЧЕНЬ ждем!!!

    Подключил к CakePHP из за смены локали БД стала отдавать даты в "корявой" локали, и их перестал принимать strtotime... Версия с UTF без смены локали очень бы помогла!

  140. №2095
    idle
    idle 17.12.2009, 7:42:11

    Александр, в исходном коде типографа орфографические ошибки, н.п. «припенания». Ай-яй.

    Возможно есть смысл выложить исходники на более распространенный svn-хостинг? В том же код.гугл issue-трекер более понятен, чем на Ассембле. Вот в него бы и запихать накопившиеся репорты. И на него бы ссылаться отсюда.

  141. №2100
    Sam
    Sam 18.12.2009, 0:47:21

    Да, пожалуй, стоит. Займусь в ближайшее время.

  142. №2221
    Onore
    Onore 03.02.2010, 12:55:15

    Будет ли в новой версии с UTF-8 работать существующий плагин для FCKeditora?

    И когда же ожидать новую версию...

  143. №2228
    Sam
    Sam 04.02.2010, 12:32:08

    Работать будет. Скоро будет собрана ещё одна не UTF-версия. Когда будет готова UTF пока сказать не могу.

  144. №2294
    Женя
    Женя 16.02.2010, 14:06:51

    А как сделать такую же страничку — http://rmcreative.ru/typograph/? :)

  145. №2334
    Максим
    Максим 20.02.2010, 0:25:29

    Подскажите пожалуйста можно ли подключить typograp на сайт написан на php или html!? a не на wordpress, drupal и т.д., если можно то как???

  146. №2338
    Sam
    Sam 20.02.2010, 13:12:14

    Можно. Смотрите API, разбирайтесь. Сайты бывают разные.

  147. №2339
    Максим
    Максим 21.02.2010, 15:28:43

    Если кто знает подробнее распишите пожалуйста! а сайт просто на html написан.

  148. №2344
    Sam
    Sam 22.02.2010, 14:06:02

    Если просто на HTML, возможности подключить типограф нет.

  149. №2347
    Максим
    Максим 22.02.2010, 20:23:38

    а если в php то как? я все перелопатил не получается у меня никак...(((

  150. №2349
    Sam
    Sam 23.02.2010, 0:38:43

    Вот на этой странице всё описано. То есть берёте свой текст и прогоняете через метод process.

  151. №2415
    sartas
    sartas 19.03.2010, 21:27:08

    После обработки символы < и > превращаются в <>, это мешает публиковать исходников.

    К каким последствиям может привести удаление html_entity_decode из типографа?

  152. №2441
    Сван
    Сван 04.04.2010, 20:14:27

    стихотворные строчки, которые начинаются с союза "а" типографятся некорректно - в начале строки ставится запятая.

    Например, из оригинала:

    *сказать-то можно, но за А и Б б,

    а это уже разговоров на день,

    а пожалуй и заполночь.*

    получается:

    *сказать-то можно, но за А и Б б,

    , а это уже разговоров на день,

    , а пожалуй и заполночь.*

    То же происходит с обычными строками, которые начинаются со строчной "а"; из "дед морозы? а кто ходить будет?" получается "дед морозы?, а кто ходить будет?"

  153. №2445
    Sam
    Sam 05.04.2010, 13:27:44
  154. №2514
    Андрей
    Андрей 07.05.2010, 13:06:08

    Скажите, как использовать этот плагин, если у нас на сайте используется кодировка Windows-1251 ?

  155. №2517
    Sam
    Sam 07.05.2010, 20:09:00

    Задать в конструкторе 'windows-1251'.

  156. №2604
    Владимир
    Владимир 31.05.2010, 16:02:05

    А еще хорошо бы было, что бы между суммой и валютой ставился неразрывный пробел, либо (что лучше) обрамлялся в nobr, а валюту можно было указывать в массиве.

    т.е., например: 5 000 рублей, 57 890 руб.

    Типографика - типографикой, а клиент - клиентом :-)

    Ps: а версия под utf8 когда-нибудь выйдет? :-)

  157. №2606
    Sam
    Sam 31.05.2010, 17:22:52

    nobr — тег нестандартный. Любители валидации будут против.

    utf8 когда-нибудь выйдет.

  158. №2608
    Владимир
    Владимир 31.05.2010, 23:37:01

    ну хотя бы вместо пробелов nbsp ставить.

    А вообще когда-то я тоже был рьяным поклонником стандартов, а теперь когда стоит выбор между стандартами и желаниями клиента, обычно выбор падает в сторону клиента - как-то выгоднее :)

  159. №2611
    Sam
    Sam 02.06.2010, 12:29:55

    Записывайте пожелания сюда: http://code.google.com/p/typograph/issues/list

  160. №3171
    FleSh
    FleSh 04.10.2010, 19:25:25

    Подскажите как сделать, что бы после точки если не поставлен пробел - он ставился.

    и если использовать конструкцию 2007г. test.test

    выходит 2007 г. test.test

    А в принципе не надо склейки.

  161. №3172
    FleSh
    FleSh 04.10.2010, 19:26:00
    2007г. 
    test.test
  162. №3361
    Василий
    Василий 12.11.2010, 15:28:33

    Здравствуйте! очень нужную вещь сделали, спасибо. Говорю как типографский верстальщик с опытом.

    Есть пара багов.

    1. почему-то не хочет обрабатывать ввод вида: НовоМикс&reg; 30. ® не уходит в верхний индекс, получается просто НовоМикс® 30.

    2. сноска к тексту, заданная в виде: <sup><a href="openRefs();">2</a> </sup> преобразовывается в из верхнего индекса просто в строку с сылкой.

  163. №4670
    Victor
    Victor 20.05.2011, 13:36:14

    лучше обрамлялся в nobr Эх, такая клёвая штука могла бы быть.

  164. №4738
    Иван
    Иван 25.05.2011, 21:13:26

    А какое-то дальнейшее развитие планируется? Или "пишите issues сюда" и на этом всё?

  165. №4739
    Sam
    Sam 25.05.2011, 23:08:31

    Планируется, но сначала я планирую дописать книгу по Yii. Ещё подумываю над выкидыванием кода на GitHub.

  166. №5227
    Жека
    Жека 25.08.2011, 22:11:50

    Было бы в частном случае хорошая возможность растановки точки между предложениями. Например

    Картошка растёт быстро когда поливается Кукуруза созревает к концу лета примерно в апреле Проголодался как волк слона бы съел

  167. №5333
    Андрей
    Андрей 13.09.2011, 18:23:33

    не пойдет вместо _phone() ? return preg_replace('|^(\d)(\d{3})(\d{3})(\d{2})(\d{2})(\d*)$|','+\1 (\2) \3-\4-\5 \6',$phone);

  168. №5334
    Sam
    Sam 13.09.2011, 22:32:05

    Жека, обычно те, кто точек не ставит пишут так:

    картошка растёт быстро когда поливается кукуруза созревает к концу лета примерно в апреле проголодался как волк слона бы съел

    Андрей, форматирование телефонов вообще подумываю убрать. Неоднозначная штука.

  169. №5365
    Андрей
    Андрей 21.09.2011, 10:23:42
    $src='2x2';
    $rst1=$t->process($src); // 2&times;2
    $rst2=$t->process($rst1); // 2Ч2

    Это чтобы не было глюка с повторным процессингом в кодировке, отличной от windows-1251.

    --- ./orig/typographus.php  2011-09-21 10:08:41.000000000 +0400
    +++ ./typographus.php   2011-09-21 00:26:10.000000000 +0400
    @@ -173,9 +173,10 @@
         */
        public function process($str){
            if($this->_encoding!=null){
    +           $str = htmlentities($str, null, $this->_encoding);
                $str = iconv($this->_encoding, 'WINDOWS-1251', $str);    
            }
    -       $str = html_entity_decode($str);
    +       $str = html_entity_decode($str, null, 'WINDOWS-1251');
     
            $pattern = '(';
            foreach ($this->_safeBlocks as $start => $end){
    @@ -303,6 +304,9 @@
     
                "~'~" => $sym['apos'], //str_replace?
     
    +           // Размеры 10x10x10, правильный знак + убираем лишние пробелы
    +           '~(\d+)\s*?[x|X|х|Х|*]\s*(\d+)\s*?[x|X|х|Х|*]\s*?(\d+)~' => '$1'.$sym['multiply'].'$2'.$sym['multiply'].'$3',
    +        
                // Размеры 10x10, правильный знак + убираем лишние пробелы
                '~(\d+)\s{0,}?[x|X|х|Х|*]\s{0,}(\d+)~' => '$1'.$sym['multiply'].'$2',
  170. №5367
    Sam
    Sam 21.09.2011, 18:11:35

    Андрей, что за глюк и как воспроизвести?

  171. №5368
    Андрей
    Андрей 21.09.2011, 20:10:26

    Я написал выше. Повторный процессинг. Такое случается, когда, например, типограф висит в behaviors() модели. Первый раз сохранил - все ок, второй раз - порушились предыдущие изменения. Полагаю, это из-за перекодировки.

    $t=new Typographus('utf-8');
    $src='2x2';
    $rst1=$t->process($src);
    $rst2=$t->process($rst1);
    var_dump($rst1,$rst2);
    // string '2&times;2' (length=9)
    // string '2Ч2' (length=4)
  172. №5409
    Sam
    Sam 26.09.2011, 1:06:10

    Наконец, перетащил проект на GitHub. Сейчас там три ветки. Все довольно старенькие, но вроде рабочие.

  173. №5760
    Станислав
    Станислав 17.01.2012, 16:54:41

    Неверно обрабатываются кавычки в некоторых случаях при их вложенности.

    1.

    Исходные данные:

    "Тест, "вот""

    Оттипографливается так:

    «Тест, „вот“"

    2.

    Исходные данные:

    "А "так"?"

    Оттипографливается так:

    «А „так“?"

  174. №5761
    Станислав
    Станислав 17.01.2012, 16:57:31

    И еще вопрос: как убрать отбивание вопросительного знака от следующего символа? Это портит ссылки:

    "http://www.youtube.com/watch?v=Z-7j2YKig_I" превращается в "http://www.youtube.com/watch? v=Z-7j2YKig_I"

    Вообще, идеально было бы не обрабатывать гиперссылки.

  175. №6070
    Виталий
    Виталий 24.03.2012, 22:53:26

    Ввел в онлайн версии "12", ответ "12». На локалхосте вообще "12В» возвращается :(

  176. №6166
    edhel
    edhel 21.04.2012, 20:13:40

    Не ставятся пробелы после точек (в инициалах, сокращениях и т. п.).

  177. №6167
    edhel
    edhel 21.04.2012, 21:02:18

    во фразе "Встреча с руководителями магистерских программ" зачем-то везде ставятся неразрывные пробелы

  178. №6201
    librarian
    librarian 10.05.2012, 18:48:09

    Есть простой скрипт:

    <?php
    $text ='- Так,еще немного, — сдавленным голосом проговорил Туло,делая пассы руками.Заклинания материализации с промежуточной трансформацией все еще давались ему с трудом.Раздалось легкое "чпок" и на столе появился немыслимой красоты букет.Причем,немыслимость была буквальной — Туло напряг все свое воображение,фантазию,познание во флористике,чтобы создать нечто необычное и прекрасное.
     
    — "Занимаешься?" — Гебердур возник за спиной как всегда не вовремя.
     
    Туло "испуганно" дернулся и попытался прикрыть букет спиной.
    ';
     
    require_once('typographus.php');
    $typo = new Typographus('UTF-8');
    $text = $typo->process($text);
    print_r($text);

    Который почему то не типографит текст. Проверял на PHP 5.2.11, 5.3.*(разных версий)

  179. №6203
    librarian
    librarian 11.05.2012, 1:56:11

    Протестировал на более простых текстах - не типографирует, вообще.

  180. №6207
    Петруха
    Петруха 11.05.2012, 19:14:52

    В сокращении M.I.A. ставится неразрывный пробел.

  181. №6220
    OnkelTem
    OnkelTem 15.05.2012, 13:33:19

    Взял версию 2.2.1 с гитхаба. Не работает. Он-лайн типограф тоже кривой - в преложении везде расставил   зачем-то.

    Код грязный, здоровые куски $rules закомменченны (под 200 строк!), толи по ошибке, толи еще по какой причине. Встречаются совершенно вкусные куски, типа:

    // Рассавляем кавычки. Можно делать рекурсивно читая "(" началом рекурсии ")" - концом...
     
    // Здесь добавляем <nobr> </nobr> в словах с дефисами.
     
    // Добавляем неразрывный пробел перед последним словом.

    а кода-то нет!

  182. №6543
    Владимир
    Владимир 07.08.2012, 13:56:01

    Обрывает текст (wordpress) на месте греческих букв: не просто греческие буквы, но и весь текст после них.

  183. №6544
    Владимир
    Владимир 07.08.2012, 14:02:41

    Скобки и кавычки не выносятся за пределы полосы набора (справа).

  184. №6836
    Dr.Death
    Dr.Death 16.10.2012, 8:41:08

    Повторный прогон строки

    Завод ЭКОПЛАСТ расширил гамму миниканалов тремя новыми сечениями: 15×10, 25×25 и 40×40 в сериях «MEX / ЭКО» с соответствующими комплектующими

    Обрезает после первого ×

  185. №7190
    Николай
    Николай 06.12.2012, 15:02:13

    Спасибо большое за скрипт!

  186. №8682
    Сергей
    Сергей 08.12.2013, 20:37:54

    Глючит. Заменяет, например, в параграфе первую кавычку, а вторую оставляет какой была, а последующей (парной) считает следующую найденную. А некоторые вообще не находит, или ...

  187. №8897
    Максим
    Максим 23.03.2014, 12:25:10

    Если в текст добавляю вот такой html код, то парсер возвращает пустую строку:

    <p><em><strong>sdf+abd</strong></em></p>
  188. №9179
    Андрей
    Андрей 16.09.2014, 12:36:21

    вводим: "Статистика","Оценка"," Поднятия", получаем: «Статистика“,"Оценка“," Поднятия», по идее: «Статистика», «Оценка», «Поднятия»,

  189. №10391
    Максим
    Максим 27.03.2016, 0:22:45

    Да, с кавычками глюк: две идущие подряд (или разделенные текстом) фразы он воспринимает как одну фразу, обособленную кавычками внутри другой фразы, обособленной в свою очередь кавычками. То есть правильно будет обрабатываться фраза:

    Кто-то сказал: "Наверное, российской экономике "пинцет" и все будет только хуже"

    Но фраза

    Наверное, российской экономике "пинцет", сказал кто-то сильно "оптимистичный"

    будет обработана неправильно. Был работающий проект с открытым кодом на принтсканнере, такой же по функциональности, но по-моему, на него забили. По крайней мере мне не удалось найти его там.

  1. Почта опубликована не будет.

  2. Можно использовать синтаксис Markdown или HTML.

  3. Введите ответ в поле. Щёлкните, чтобы получить другую задачу.