I'm happy to release another update to Html Renderer project.
This release is a result of integration of the Html Renderer in actual commercial project with complex html and stylesheet (more than 400 different styles), still not perfect but much closer to WebBrowser control rendering I'm replacing.
My next big step is to add support for images so stay tuned.
Added support
- Support ex measurement value
- Line-Height style
- Multiple comma separated fonts in font-family style
- Basic support for height style (as min-height only)
- CSS class on specific html element (img.someClass)
- CSS class on specific html element by id (#id)
- Hierarchical CSS selector, also with direct parent (p class1 > div.class2)
- Partial handling for block boxes inside inline boxes (<span>one <p>two</p> three</span>)
Fixes
- Fix HtmlLabel to better act as a control (AutoSize, AutoSizeHeightOnly, MinSize, MaxSize)
- Fix RemoveHtmlComments bug creating infinite loop
- Fix RemoveStylesheetComments not removing all comments
- Fix html actual size calculation
- Respect set top location on HtmlContainer and HtmlRender
- Respect max height by clipping graphics
- Fix html decoding
- Fix font-width inherit style causes bold text
- Fix extra whitespace between words with inline elements
- Fix underline and background color going beyond word end
- Fix font-size style in pixels calculation
- Fix font css style been overwritten
- If given font family is not supported by .net set style to inherit and not use .net default serif font
- More "br" element handling fix
- Fix "monospace" font to be "Courier New" as monospace is not TrueTrype font and so not supported.
- Handle inline elements that have only whitespaces.
Refactor
- Full featured HtmlRender
- Proper HtmlLabel and HtmlPanel API
- Renamed RootContainer to HtmlContainer
- Changed SetBounds to Location and MaxSize properties
- Change MaximumSize property name to ActualSize
- Changed parsing of complex css styles