= Сообщение: 2736 из 3030 =================================== GANJANET.LOCAL = От : Mithgol the Webmaster 2:5063/88 18 Jan 09 17:19:12 Кому : All 18 Jan 09 17:19:12 Тема : Гипертекстовый векторный Фидонет более десяти лет назад FGHI : area://GANJANET.LOCAL?msgid=2:5063/88+49733aed = Кодировка сообщения определена как: CP866 ================================== ==============================================================================
* изначально написано в эхоконференцию Ru.FTN.Develop * также было отослано в эхоконференцию Fidonet.History * также было отослано в эхоконференцию Ru.Blog.Mithgol * также было отослано в эхоконференцию GanjaNet.Local * также было отослано в эхоконференцию Sunny.Night
Совсем недавно (ещё вчера, кажется) со ссылкою на http://tinyurl.com/85bsc8 я говорил, что первые идеи гипертекстовой адресации и фидонетовских URLов появились ещё двадцатого октября 1997 года, но так и сгинули во мраке забвения по той причине, что в те годы ещё не существовало открытого кода браузеров. Код Netscape Communicator был открыт в марте 1998 года, а Mozilla 1.0 явилася только в июне 2002 года. KHTML появился в ноябре 1998 года. Написать же свой собственный браузер Фидонета с нуля фидошникам было бы не под силу.
Революционная идея гипертекстового Фидонета опередила своё время и умерла, не успев родиться ── словно цыплёнок из ритуальной фразы студенческого комитета Академии Отори в аниме Shoujo Kakumei Utena.
Сегодня, продолжая поступательное чтение эхоконференции Ru.Fido.NextGen, мне удалось установить, что не только гипертекстовым, но и векторным Фидонет мог стать ещё десять лет назад, когда бы воля фидонетовских разработчиков могла привести их к созданию сперва стандартов, а затем и программного обеспечения.
Mon 05 Oct 98 at 11:14 Amir Shabashvili 2:5049/12 wrote to Dmitriy:
DY>> А что это за сабж вы обсуждаете? Что это за пpоект? DY>> Hа чем основан, где пpименяется, какова его цель? AS> Да мне самому интеpесно. Автоp отфоpваpдил нечто на эту тему и пpопал.
да, извини. вот он я.
что это за проект ? да вот есть мысль новую технологию создать... еще нигде не применяется, потому что физически не существует. цель ? более удобное общение. в частности, вот например, вместо plain text сделать tml и gml - соотвественно текстовой и графический разметочные языки. т.е. для форматирования текста и векторной графики. html - это монстр... кстати, вчера я создал эху Ru.FlySoft, там собственно это все и будем обсуждать/развивать/писать. (в плане стандартов и т.п.)
вот еще некоторые наброски на эту тему. (вроде не оффтопик?)
================================================================= * Area : SU.FIDOTECH * From : Gena Makhomed 2:4631/20 (Sat 17 Oct 98 16:33) * To : All * Subj : Ru.FlySoft area was created 17 Oct 1998 at 17:00 by 2:4631/20 ================================================================= // там далее идет фрагмент исходного текста, потому такая большая мессага.
about TML project:
Sat 17 Oct 98 at 09:53 Boris Ivanov 2:5020/1779 wrote to Alexander:
AK>> В p4 это лyчше оpганизовать yже имеющимися сpедставми, AK>> т.е. японский текст хpанить в отдельном текстовом блоке AK>> с японским чаpсетом.
BI> И как бyдет выглядеть фpаза типа: "японское слово "gaijin" [гайдзин] BI> может означать..." (gaijin - иеpоглифами)?
я предлагал иной вариант - специальные команды внутри текста, которые переключают чарсеты. тогда можно будет писать на всех желаемых языках, (этот способ более расширяем, чем UniCode), а кроме того, не будет чрезмерного оверхеда, как в случае двухбайтовых символов.
т.е. это все тот же UniCode но только с другим способом представления информации.
и фраза твоя будет выглядеть примерно так:
\crusalt японское слово "gaijin" [гайдзин] может означать \cjapanxx..."
при этом можно переключать только верхнюю половину таблицы, т.е. первые 128 символов (0...127) - это _всегда_ строго ASCII, а остальные 128 - настраиваемо с помощью команты Charset change - \cxxx
если в тексте встречается символ '\' то в мессаге он выглядит как проследовательность символов '\\'.
директива в TML - это любая последовательность символов 33-127 кроме '\.' конец слова-директивы - это любой символ вне этого диапазона, или '.', которая является символом конца директивы. (внутри слова, например)
директива смены чарсета - \cxxxxx , где xxxxxx - имя чарсета.
потом по мере необходимости допридумываются и все остальные фичи языка под названием TML - text markup language.
например, квотинг -
'\qX[xx]' - задается автор слов (xx, инициалы) и уровень вложенности квотинга (X, dec цифра от 0 до 9)
если XX == 0, то это слова того, то стоит в from.
структура здесь не блочная, а потоковая, т.е. какое-то отпределение действует до тех пока, пока не будет переопределено в будущем, или действует до конца мессаги.
вот еще например, можно:
\fl{m|p|b|i|l|r|j|f|...} - стиль выравнивания параграфа \fs<xx> - размер шрифта \fn<ssssss> - имя шрифта.
причем, кодовые страницы - из UniCode, фонты - тоже предполагаются UniCode.
если это кому-то нужно, скажите, напишу наброски стандарта.
html тут не подходит. из-за своей монстроидальности, например. но кто хочет читать фидошные мессаги через броузер, сможет это сделать, потому что будет написан несложный конвертор из TML представления в HTML.
таким образом, TML остается только для транспортного уровня (tmlp-код намного компактнее, чем html код), а также для редакторов, потому что авторам оных не придется идучать талмуды на тему устройства html, или встраивать в редактор чьи-то фриварные парсеры html`ного кода.
в последствии будет оформлет и gml - формат для графическойй векторной графики, представление - тоже текстовое, по директивам совместим с tml.
например, \gml - это директива для переключения на gml команды, \tml - это директива для переключения обратно на tml команды оформления.
таким образом, в самом начале мессаги идет последовательность символов '\tml' которая говорит о том, что в этой мессаге - tml-код, а не plain text.
если нет такого тэга, то это не tml. таким образом, tml может сочетаться с любыми способами представления данных, в том числе могут быть и html мессаги.
PS я этим вопросом уже очень давно интересуюсь. например, весной 1995 года мной был написан софт который умеет интерпретировать исходный код на С и корректно обрабатывать вызовы ~50 BGI`шных функций (почти все), а кроме того, можно было писать и юзерские функции, которые потом можно было вызывать изнутри любых других функций.
а кроме того, была еще псевдофункция _link, которая имела такой вид: _link(x1,y1,x2,y2,active,inactive,link);
где прямоугольник x1,y1,x2,y2 задает область линка, active - юзер-функцию для отрисовки активного линка, inactive - юзер-функцию для отрисовки неактивного линка, goto - имя юзер-функции для перехода, если был выбран этот линк (keyboard enter или mouse double click)
вот пример из сктипта BGI-демонстрации: _link(25,50,205,75,a_arc,i_arc,_arc);
а также _pause, _quit и другие. и две спец. юзеровские ф-ции, starpup и exit, выполнявшиеся сразу после старта и непосредственно перед выходом из программы.
вот пример "скрипта": (здесь - надцать экранов, они показываются через паузу)