Supported properties:
* text-decoration (as shorthand for other text-decoration properties)
* text-decoration-color
* text-decoration-line
* text-decoration-style
* text-decoration-thickness
Changes in the container::create_font:
```litehtml::uint_ptr create_font(const font_description& descr, const document* doc, litehtml::font_metrics* fm);```
All font parameters are moved to the ```font_description``` structure.
* Added subscripts/superscripts baseline shift to the font_metrics
* Improved rendering of inline elements with top and bottom vertical align
* Improved rendering of the line-height property
The following settings can be applied:
width - force width to draw
height - force height to draw
bestfit - (true or false) Use false to disable "best fit" feature
1. Using container_cairo_pango for running tests.
2. Added Dockerfile to create docker container for building litehtml
tests
3. Added script run_render_tests.sh to build litehtml tests in the
docker container
4. Added render2png target (cmake -DLITEHTML_BUILD_RENDER2PNG). This
utility allow to render html file into a png file.
5. Tests building are off by default.
Use "cmake -DLITEHTML_BUILD_TESTING=ON" command to buid tests
6. Added container_cairo_pango::get_font_options. Overwrite this method
to control fonts rendering.
They didn't look bold enough. There is no space, so I made m/w wider. This makes terminus-16px-bold.yaff a variable-width font, which may be confusing because normal weight variant is monospace. I also used this variable-width opportunity to improve NMW glyphs.
Rendering of css-box-justify-content.htm changed because width of nbsp is computed correctly now.
Radial gradient supported by canvas_ity is different (two circles vs one ellipse in CSS), so I implemented new brush type, css_radial. It is created with canvas::set_css_radial_gradient().
Old behavior is still available with #define CANVAS_ITY_IMPLEMENTATION LINEARIZE_RGB
Comparison of rendering linear-gradient-1.htm with and without LINEARIZE_RGB:

Browsers don't render gradients identically, so I use max_color_diff() to compare them.
It measures max difference in each RGBA component in each pixel.
max_color_diff
chrome vs firefox 1
chrome vs canvas_ity without linearized colors 1
chrome vs canvas_ity with linearized colors 74