Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
06.02.2011 03:47

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

"QSP: Типограф" — модуль для форматирования текста

Платформа QSP позволяет задействовать возможности HTML для форматирования текстов описаний и всего такого, и это хорошо. Плохо то, что писать html-ready текст — сущая мука: теги загромождают текст и мешают его восприятию в редакторе.

Чтобы хоть немного облегчить подобную работу, я написал небольшой модуль для форматирования текста. Он позволяет использовать сокращённые формы записи тегов, что изрядно облегчает как написание, так и визуальное восприятие "исходного" текста.

Например, для вставки заголовка в обычный html-текст, в него нужно добавить запись: "<h1>Заголовок</h1>". Для вставки параграфа, растянутого по ширине, — "<p align=justify>Текст</p>". С помощью представляемого модуля данные записи можно сократить до "з1. Заголовок" и "п. Текст" соответственно.

Кроме этого есть сокращённые формы для выделения текста: жирный, курсив, подчёркнутый, подстрочный, надстрочный и т.п.

И можно отметить автоматическую расстановку длинных тире и правильных кавычек.

Текущая версия: 1.6 (скачать)
Документация on-line: https://ifiction.ru/h/otg_lib_typograph_help.html

Пример форматирования:

Код:

з1. Демонстрация работы модуля "QSP: Типограф"
----
п. Попробуем-ка строчные теги: **жирный**, //курсив//, __подчёркивание__, Примечания^^2^^, Индексы: C~~2~~H~~5~~OH, ++Крупный текст++ , --мелкий текст--.

цт. Волшебник владел дюжиной заклятий, способных в мгновение ока превратить юного Принца в пар. Он владел заклятиями, способными заставить нахала корчиться в непрерывных муках в течение года, прежде чем позволить ему сдохнуть. Он владел заклятиями, способными обречь на участь куда худшую, нежели самая страшная гибель. И у всех этих заклятий имелся один общий предосаднейший недостаток – они требовали подготовки. Некоторые – совсем небольшой, но ни одно нельзя было применить прямо сейчас.

>. Джон Мур "Принц быстрого реагирования"


п. А ещё дроби: 1/2, 1/4, 3/4

п. Плюс-минус: 40+-3, правильный минус: 9-6=4

~
~

><. Так, разместим что-нибудь по центру... <- тут должно быть многоточие

п. А так можно вставить текст моноширинным шрифтом прямо в параграф:$$00FFFF:##

  ADDQST "otg_lib_typograph.qsp"
  *NL func("Типограф", "пробный //круглый// шар")

##$$
вот так!

Прикрепленные файлы:
otg_lib_typograph_v016.zip, Размер: 13,007 байт, Скачано: 878

Неактивен

0    0    #2
06.02.2011 15:42

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Надо бы добавить:

  • Тег горизонтальной линии: "----" -> "<hr/>" (wiki-style).
  • Русскоязычные аналоги тегов форматирования заголовков, параграфов и цитат.

Неактивен

0    0    #3
07.02.2011 21:44

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

версия 1.1:

  • У функции "Типограф" появился второй параметр. Если параметр не указан (или указан 0), то все символы "<", ">", "&" в тексте экранируются, т.е. выводятся именно как символы, а не части записи html-тегов.
  • Для тегов "h(1-6).", "p." и "bq." добавлены русскоязычные синонимы: "з(1-6).", "п.", "цт." соответственно.
  • Сочетание "----" (на отдельной строке) заменяется на тег "<hr/>".
  • Блоки "<pre>…</pre>" исключаются из обработки.
  • Блоки "/*…*/" полностью вырезаются из исходного текста (комментарии!).
  • Добавлен тег "о:NNN." (англоязычный вариант: "i:NNN."), где NNN - отступ в пикселах ("о:25." - 25 пикселов) или процентах ("о:25%." - 25%). Блок преобразуется в таблицу, состоящую из двух колонок - ширина левой колонки соответствует указанному отступу. Таблица обрамляется в "<div>" - иначе html-движок QSP косячит с предыдущим абзацем.
  • Добавлена автозамена некоторых символов: дробей, знака умножения, многоточия и т.п.

Неактивен

0    0    #4
08.02.2011 00:19

NooS
Участник
Откуда: Кальб Аль-Асад
Зарегистрирован: 13.07.2009
Сообщений: 163

Идиотъ нашего времени

Re: "QSP: Типограф" — модуль для форматирования текста

Olegus t.Gl. написал:

Пример форматирования:

Код:

п. Попробуем-ка строчные теги: **жирный**, //курсив//, 
__подчёркивание__, Примечания^^2^^, 
Индексы: C~~2~~H~~5~~OH, ++Крупный текст++ , --мелкий текст--.

Раз уж удвоенный минус использован для мелкого текста — я бы предложил утроенный для ---зачёркнутого---.

Правда, в выбранном варианте остаётся открытым вопрос длинного и среднего тире.

Отредактировано NooS (08.02.2011 00:20)

Неактивен

0    0    #5
08.02.2011 09:07

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

NooS написал:

Раз уж удвоенный минус использован для мелкого текста — я бы предложил утроенный для ---зачёркнутого---.
Правда, в выбранном варианте остаётся открытым вопрос длинного и среднего тире.

Изначально "--" предполагался именно для зачёркивания текста. Однако в html-движке QSP-Classic тег "<s>" не работает, а "<strike>" работает как подчёркивающий тег "<u>". Потому "--" и стал заменой тегу "<small>".

Неактивен

0    0    #12
08.02.2011 11:07

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Обнаружен недочёт в реализации тега $$ — цветом можно было выделять только часть строки. В версии 1.2. можно будет выделять многострочный блок.
Также в версии 1.2 будет убрана замена символа ' на html-код "39", потому как это портит ссылки в QSP.

Неактивен

0    0    #19
08.02.2011 14:58

Dark[Ol(U23)leneri]
Участник (-3)
Зарегистрирован: 16.05.2010
Сообщений: 203

Re: "QSP: Типограф" — модуль для форматирования текста

Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тега

Неактивен

0    0    #20
08.02.2011 15:29

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Dark[Ol(U23)leneri] написал:

Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тега

Блочные теги "закрываются" двойным переводом строки.

Неактивен

0    0    #22
09.02.2011 11:41

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Модуль обновлён до версии 1.2:

  • Исправлен недочёт в реализации тега $$ - теперь цветом можно выделять многострочный блок.
  • Убрана замена символа ' на код "39", потому как это портит ссылки в QSP.
  • Немного почищен код.

Неактивен

0    0    #23
16.02.2011 10:19

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: "QSP: Типограф" — модуль для форматирования текста

Olegus t.Gl. написал:

Dark[Ol(U23)leneri] написал:

Вам лишь бы потрепаться
По сути, не совсем понял как у Олегуса идет закрытие тега

Блочные теги "закрываются" двойным переводом строки.

Наглядный пример в студию, как это делается, а то уж интересно стало. wink

Неактивен

0    0    #24
16.02.2011 11:17

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Eten написал:

Olegus t.Gl. написал:

Dark[Ol(U23)leneri] написал:

По сути, не совсем понял как у Олегуса идет закрытие тега

Блочные теги "закрываются" двойным переводом строки.

Наглядный пример в студию, как это делается, а то уж интересно стало. wink

Можно посмотреть, как работает пример, который идёт в комплекте с модулем.

Но если уж объяснять тут, то текст:

Код:

п. Первый абзац.

п. Второй абзац.

преобразуется в такой html-код:

Код:

<p align=justify>Первый абзац.</p><p align=justify>Второй абзац.</p>

а текст:

Код:

п. Первый абзац.
Второй абзац.

преобразуется в такой html-код:

Код:

<p align=justify>Первый абзац.Второй абзац.</p>

Разница между двумя текстами (и способами их обработки) — в дополнительном переводе строки, между строками.

Неактивен

0    0    #25
16.02.2011 16:57

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: "QSP: Типограф" — модуль для форматирования текста

Olegus t.Gl., не сочти за юмор, но простые случаи, всегда решаются просто. А как быть со сложным форматированием (см. цитату ниже)?

Например текст в цитате ниже является абзацем, в котором встречается жирный текст, курсивный текст, жирный и курсивный текст.

Тот самый текст:

Интерактивная Литература (далее ИЛ) — это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это — любая разновидность художественных произведений, текст которых не является фиксированным, а способен меняться в зависимости от действий читателя (в «компьютерном» варианте — пользователя). Например, популярные некогда книжки с нелинейным или «ветвящимся» сюжетом — это тоже вариант ИЛ.

Как у тебя будет реализован этот текст из цитаты выше в виде кода? wink

З.Ы.
Наглядный пример, в котором видна актуальность данного модуля. Если может, флаг в руки, иначе, тогда стоит доработать. И все это не беря в расчет все теги форматирования, а лишь некоторые. wink

Неактивен

0    0    #26
16.02.2011 17:48

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Eten написал:

Olegus t.Gl., не сочти за юмор, но простые случаи, всегда решаются просто. А как быть со сложным форматированием (см. цитату ниже)?

Например текст в цитате ниже является абзацем, в котором встречается жирный текст, курсивный текст, жирный и курсивный текст.

Тот самый текст:

Интерактивная Литература (далее ИЛ) — это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это — любая разновидность художественных произведений, текст которых не является фиксированным, а способен меняться в зависимости от действий читателя (в «компьютерном» варианте — пользователя). Например, популярные некогда книжки с нелинейным или «ветвящимся» сюжетом — это тоже вариант ИЛ.

Как у тебя будет реализован этот текст из цитаты выше в виде кода? wink

З.Ы.
Наглядный пример, в котором видна актуальность данного модуля. Если может, флаг в руки, иначе, тогда стоит доработать. И все это не беря в расчет все теги форматирования, а лишь некоторые. wink

Этэн, то, что ты привёл, — это как раз простое форматирование. Сложное — это когда есть вложенные блочные теги (абзацы, цитаты, прижатый к какому-либо краю текст). Вот такое форматирование модуль не поддерживает и его нужно прописывать вручную.
Что до твоего примера, то в Типограф нужно загнать такой текст:

п. **Интерактивная Литература** (далее ИЛ) - это русский эквивалент англоязычного понятия Interactive Fiction (IF). В самом широком понимании термина, это - любая разновидность художественных //произведений, текст которых не является фиксированным//, а способен меняться в зависимости от действий читателя (в "компьютерном" варианте - пользователя).// **Например, популярные некогда книжки с нелинейным или "ветвящимся" сюжетом - это тоже вариант ИЛ.** //

Но тут есть нюанс — между тегами // и ** должен быть пробел, поскольку Типограф спутает их сочетание с тегами комментария (/* … */) и вырежет текст между ними напрочь.

Неактивен

0    0    #27
16.02.2011 18:16

Eten
Участник (+9, -307)
Откуда: Балаково, Санкт-Петербург.
Зарегистрирован: 21.05.2007
Сообщений: 1416
Вебсайт

---

Re: "QSP: Типограф" — модуль для форматирования текста

Ладно, видно, что не велосипед. А что-то действительно упрощающее. wink

Надеюсь, что подобные примеры у тебя включены там в какой-нибудь реадми.

Неактивен

0    0    #28
16.05.2011 16:43

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Версия 1.4. Убран баг с распознаванием последовательностей "п.", ">." и т.п. внутри строки как блочных тегов.

Неактивен

0    0    #29
18.08.2011 09:57

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

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

Неактивен

0    0    #30
24.08.2011 08:57

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

В модуль добавлен именной тег (тег имени кое-кого) — "кс.", т.е. красная строка. Делает то же самое, что и "п.", только в начало текста вставляет отступ (вид отступа настраивается командой "Типограф.Отступ").

Неактивен

0    0    #31
24.08.2011 11:39

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Выложена версия 1.5:

  • Прекращена поддержка англоязычных команд и тегов.
  • Добавлена функция "ПустаяСтрока".
  • Добавлен тег "кс." (параграф с красной строкой).
  • Добавлена команда "Типограф.Отступ".
  • Добавлена команда "Типограф.Инициализация".
  • Улучшена обработка блочных тегов.

Неактивен

0    0    #32
06.09.2011 10:48

Olegus t.Gl.
Участник (+1039, -248)
Откуда: Москва
Зарегистрирован: 01.03.2001
Сообщений: 2851
Вебсайт

Re: "QSP: Типограф" — модуль для форматирования текста

Выложена версия 1.6:

  • Изменён порядок вызова обработчиков текста, в результате чего исчезли некоторые глюки.

Неактивен

Powered by PunBB
© copyright 2001–2021 iFiction.Ru