Показать сообщение отдельно
  #91 (permalink)  
Старый 12.01.2012, 00:22
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Попытка разработки формата
Следуя своим традициям придерживаться зрелых стандартов, я решил попробовать в
качестве бинарного стандарта аппаратной разметки гипертекста использовать идею
MDA-терминалов м представить всё цепочкой символов и атрибутов в видео памяти.
Для начала, следует расширить слово, выделяемое под каждый символ на экране, с
двух до четырёх байт. При этом старшее слово будет атрибутом, а младшее пойдёт
под Unicode. Будем при этом иметь по 16 бит под символы и 16 бит под атрибуты.
Как и в технологии VGA с режимами графики использующих таблицу палитры, теперь
можно воспользоваться таким подходом и к атрибутам. И все каскадные стили надо
расположить в памяти, указатели на которые будут храниться в линейной таблице.

Примеры:
<style>
p:first-letter { background-color: silver; font-size: 24; }
</style>
<p style='text-align:justify'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
Nulla at turpis eget nibh ultricies dignissim. Duis luctus euismod turpis.
Mauris augue. Aliquam facilisis semper elit.
Pellentesque semper hendrerit arcu. Phasellus eleifend commodo justo.
Aliquam orci urna, imperdiet sit amet, posuere in, lobortis et, risus.
Integer interdum nonummy erat. Nullam tellus. Sed accumsan.
Vestibulum orci ipsum, eleifend vitae, mollis vel, mollis sed, purus.
Suspendisse mollis elit eu magna. Morbi egestas.
Nunc leo ipsum, blandit ac, viverra quis, porttitor quis, dui.
Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae;
Vivamus scelerisque ipsum ut justo. Pellentesque et ligula eu massa sagittis rutrum.
In urna nibh, eleifend vel, suscipit ut, sagittis id, nunc.
Nam ut sapien sed pede pulvinar rutrum. Nunc eu elit sed augue aliquet tincidunt.
Morbi rutrum. Vestibulum dui turpis, lobortis quis, euismod sed, consectetuer sit amet, nunc.
Nam mi. Fusce at nisl eu tortor bibendum eleifend. Sed ac metus. Phasellus nec elit.
Morbi tortor nulla, tristique a, adipiscing at, consectetuer et, nisi.
Nunc vel sapien sed risus hendrerit egestas.
Vivamus turpis arcu, placerat eu, congue vel, commodo ut, nisl.</p>
в бинарном виде может выглядить как дамп:
Код:
Offset .0 .1 .2 .3 .4 .5 .6 .7 .8 .9 .A .B .C .D .E .F
+0000: 4C 00 01 00 6F 00 02 00 72 00 00 80 65 00 00 80|L...o...r...e...
+0010: 6D 00 00 80 20 00 00 80 69 00 00 80 70 00 00 80|m... ...i...p...
+0020: 73 00 00 80 75 00 00 80 6D 00 00 80 ...........|s...u...m.......
Как видно, используется три атрибута (0x00010000, 0x00020000, 0x80000000), где
третий является неправильным целым числом (-32768 << 16) и используется за NOP
атрибут. При этом, каждый положительный индекс атрибута (+1..+32767) сработает
также оператором открытия скобки действия и помещения в стек текущего атрибута
с его параметрами. Тогда как отрицательный индекс (-1..-32767) действует здесь
для освобождения стека с извлечением до 32767 атрибутов. Однако не следует это
число принимать как ограничитель глубины стека, потому что это лишь количество
всех одновременно извлекаемых атрибутов. И это исчерпывающая информация о том,
как представлять текстовую информацию гипертекста в памяти видео контролера.

Но, гораздо сложнее дело обстоит с описанием всех атрибутов и с использованием
мультимедийной информации. Бессмысленно копировать все ключевые слова из CSS и
портировать их в байт-код. Так, всё равно большая часть рутинной работы должна
выполняться самими браузерами на стадии полного отображения страницы.

Вообще-то в своём форуме я веду несколько тем, где посвящаю в частности и этой проблеме ряд своих интересов.
Ответить с цитированием