Coder Social home page Coder Social logo

Hello !

nearly acid1

pic 1: HtmlRenderer, Gdi+, see test file

seems promising ?, NEARLY pass ACID1 test :)


Work In Progrss ... : Cross Platform HtmlRenderer

The HtmlRenderer example!

gles_html pic 2: HtmlRenderer on GLES2 surface, text are renderered with the Typography

gles_html pic 3: HtmlRenderer on GLES2 surface

also, please note the text selection on the Html Surface.

(HtmlRender => https://github.com/LayoutFarm/HtmlRenderer,

Typography => https://github.com/LayoutFarm/Typography)


How to build it

see https://github.com/LayoutFarm/HtmlRenderer.Build


Work In Progrss ... : Html-input

Html input elements are built with 'html-fragment (sub dom)'

see more at #18

2019-03-31_21-55-37

pic3 : HtmlRenderer on GLES2 surface,developing Html-input, click to view full size img


The classic image. html_renderer_s01

pic 4: HtmlRenderer's Classic, Gdi+

MORE info / screen capture imgs -> see wiki

Build Note -> see wiki


I forked this project from https://github.com/ArthurHub/HTML-Renderer (thank you so much)

I added some features

such as

  1. dynamic html dom

  2. decoupling, dependency analysis

  3. optimizing the html,css parser. see: HtmlKit v1.0(https://github.com/jstedfast/HtmlKit)

  4. add svg/canvas support (not complete)

  5. abstract canvas backend (GDI+, OpenGL) also not complete for Linux (for the canvas backend, I used it from another project ->https://github.com/prepare/PixelFarm-dev)

  6. Javascript (v8) binding (https://github.com/prepare/Espresso)

  7. debug view

  8. more layout support eg. inline-block,relative, absolute ,fixed, flex etc

  9. added custom controls eg. text editer control, scrollbar, gridbox etc.

  10. some events (eg. mouse /keyboard events)

.. BUT not complete :(

feel free to fork/ comment/ suggest /pull request


Plan

  1. always permissive license (MIT,BSD, Apache2)

  2. bind some features from Blink engine

  3. add more html5/css3/js support

  4. convert to C++ code with some transpiler tools so users can build a final native code web browser

  5. to make this runs on .NetCore


Licenses

The project is based on multiple open-sourced projects (listed below) all using permissive licenses.

A license for a whole project is MIT.

but if you use some part of the code please check each source file's header for the licensing info.

Html Engine

BSD, 2009, José Manuel Menéndez Poo, https://www.codeproject.com/Articles/32376/A-Professional-HTML-Renderer-You-Will-Use

BSD, 2013-2014, Arthur Teplitzki, from https://github.com/ArthurHub/HTML-Renderer

MIT, 2015, Jeffrey Stedfastm, from HtmlKit https://github.com/jstedfast/HtmlKit

Javascript Engine

MIT, 2013, Federico Di Gregorio, from https://github.com/Daniel15/vroomjs

MIT, 2015-present, WinterDev, from https://github.com/prepare/Espresso

Geometry

BSD, 2002-2005, Maxim Shemanarev, from http://www.antigrain.com , Anti-Grain Geometry - Version 2.4,

BSD, 2007-2014, Lars Brubaker, agg-sharp, from https://github.com/MatterHackers/agg-sharp

ZLIB, 2015, burningmine, CurveUtils.

Boost, 2010-2014, Angus Johnson, Clipper.

BSD, 2009-2010, Poly2Tri Contributors, from https://github.com/PaintLab/poly2tri-cs

SGI, 2000, Eric Veach, Tesselate.

Image Processing

BSD, 2002-2005, Maxim Shemanarev, from http://www.antigrain.com , Anti-Grain Geometry - Version 2.4,

MIT, 2009-2015, Bill Reiss, Rene Schulte and WriteableBitmapEx Contributors, https://github.com/teichgraf/WriteableBitmapEx

MIT, 2008, dotPDN LLC, Rick Brewster, Chris Crosetto, Tom Jackson, Michael Kelsey, Brandon Ortiz, Craig Taylor, Chris Trevino, and Luke Walker., from OpenPDN v 3.36 (Paint.NET), https://github.com/rivy/OpenPDN

Font

MIT, 2016-present, WinterDev, Samuel Carlsson, Sam Hocevar and others, from https://github.com/LayoutFarm/Typography

Apache2, 2014-2016, Samuel Carlsson, from https://github.com/vidstige/NRasterizer

MIT, 2015, Michael Popoloski, from https://github.com/MikePopoloski/SharpFont

The FreeType Project LICENSE (3-clauses BSD style),2003-2016, David Turner, Robert Wilhelm, and Werner Lemberg and others, from https://www.freetype.org/

MIT, 2016, Viktor Chlumsky, from https://github.com/Chlumsky/msdfgen

Platforms

MIT, 2015-2015, Xamarin, Inc., from https://github.com/mono/SkiaSharp

MIT, 2006-2009, Stefanos Apostolopoulos and other Open Tool Kit Contributors, from https://github.com/opentk/opentk

MIT, 2013, Antonie Blom, from https://github.com/andykorth/Pencil.Gaming

MIT, 2004,2007, Novell Inc., for System.Drawing


Long Live Our Beloved C#

WinterDev :)

layoutfarm's Projects

typography icon typography

C# Font Reader (TrueType / OpenType / OpenFont / CFF / woff / woff2) , Glyphs Layout and Rendering

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.