2010-09-01 2 views
2

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

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

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

P.S. Для J2ME ноу-хау:

  • Портирование из Java SE на J2ME не обязательно является проблемой для меня
  • Я еще не обеспокоен неспособностью (или, по крайней мере, непригодности) использования векторных шрифтов

UPDATE

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

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

+0

проверить http://www.netsurf-browser.org/ является облегчённым браузером с основным движком рендеринга ... вы также можете проверить текстовый браузер, как ссылки, lynx – amirouche

ответ

2

Ишь, я, кажется, отвечая на мой собственный вопрос.

Единственные возможности, которые я нашел являются:

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

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

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

+0

Вы можете принять свой ответ, кстати. :) – pinkgothic

+0

Да, но это казалось бы чертовски слишком эгоистичным с моей стороны, не так ли? –

+0

Дополнительная информация здесь: http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML), http://en.wikipedia.org/wiki/Category:Free_layout_engines –

2

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

+0

Спасибо. Я нашел интерес к разделу [Технические статьи] (http://webkit.org/coding/technical-articles.html). –

2

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

  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/
+0

Я думаю, что Gecko действительно не удовлетворяет легким требованиям :) –

+0

Большое спасибо! Видео потрясающие! Кстати, есть некоторая информация [здесь] (http://www.mozilla.org/newlayout/doc/layout-2006-12-14/master.xhtml). –

+0

@ dark_charlie, Gecko, возможно, не удовлетворяет легким требованиям, но он прочен, как черт. Когда дело доходит до рендеринга HTML, надежность превосходит другие требования. При использовании всех различных особенностей HTML, конкретный механизм компоновки должен обрабатывать все. После того, как кто-то заставляет конкретный инструмент с открытым исходным кодом вписываться в их требования, а затем перейдите к работе, чтобы перераспределить его и сделать его легким :) –

1

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

+0

Wow! Я знаю, что такое _LWUIT_, но не знал, что у них есть компонент HTML. Большое спасибо! –

+0

Плохая новость: она недостаточно гибкая, и LWUIT является ** закрытым источником **, так что я даже не могу * попробовать * искривить его для моего использования. Спасибо за ответ, хотя это была новость для меня! –

+0

lwuit - с открытым исходным кодом. проверьте https://lwuit.dev.java.net/source/browse/lwuit/ В каком смысле недостаточно гибкой? –

Смежные вопросы