Алгоритм рендеринга HTML - PullRequest
3 голосов
/ 01 сентября 2010

Я делаю электронную книгу для J2ME , и мне интересно, смогу ли я сделать так, чтобы она отображала HTML страниц. На данный момент я использую некоторые собственные упрощенные стили.

Итак, кто-нибудь может указать мне на хорошее углубленное руководство или спецификацию движка с открытым исходным кодом HTML? Конечно, у меня есть некоторое представление обо всем этом, то есть основные этапы, использование конечных автоматов и так далее, но этого недостаточно.

Но зачем изобретать велосипед, если он достаточно сложный? Знаете ли вы какой-нибудь движок HTML, написанный исключительно на Java и достаточно легкий для использования в качестве библиотеки в проекте J2ME?

* * 1012 P.S. Для ноу-хау J2ME:
  • Перенос с Java SE на J2ME не обязательно является проблемой для меня
  • Меня пока не беспокоит невозможность (или, по крайней мере, непригодность) использования векторных шрифтов

UPDATE

Если бы вы только могли указать мне подробное руководство по разметке HTML-кода, я был бы более чем благодарен! Мне нужно создать очень простой HTML-код, такой как текст с базовыми стилями, изображениями, элементами div и таблицами. Вот и все.

знаю это не тривиально, хотя мне нужно простое расположение, вот почему я спрашиваю.)

Ответы [ 5 ]

3 голосов
/ 01 сентября 2010

Webkit приходит на ум.

2 голосов
/ 02 сентября 2010

Дорогой, я, кажется, отвечаю на свой вопрос.

Единственные найденные мной возможности:

К сожалению, ни один из них не выглядит достаточно гибким, чтобы я мог его реализоватьдля моих собственных куколок:

  • рендеринг на любом графическом объекте
  • поддержка растровых шрифтов
  • разделение контента на страницы
  • перенос слов TeX
  • быть в состоянии получить слово (если оно есть) в заданной точке изображения.

Это все, что я сделал, но проблема в том, что он не рендерит HTML, но нестандартный и ограниченный стиль.

2 голосов
/ 01 сентября 2010

Я думаю, что Firefox использует движок Gecko Layout. Может оказаться полезным. Подробнее здесь

  1. https://developer.mozilla.org/en/docs/Gecko и
  2. https://wiki.mozilla.org/Gecko:Home_Page и
  3. Для некоторых видео http://redivide.com/blog/gecko-reflow-awesome-visualization-of-web-page-layout/
1 голос
/ 02 сентября 2010

Другой вариант будет LWUIT
В последней версии он содержит компонент HTML (см. http://www.nextgenmoco.com/2010/05/css-support-added-to-htmlcomponent.html)
LWUIT - это набор компонентов пользовательского интерфейса для J2ME с открытым исходным кодом, открытый коди у меня была какая-то поддержка SUN, я не знаю, поддержит ли ее оракул.

1 голос
/ 01 сентября 2010

Я гуглил и нашел Кобра

...