[rendering] Do not write duplicated hashes...
[wikipediardware.git] / host-tools / rendering / README
blob75505b10d418613fd9ef63bfd56de512559554ba
1 Hacks to webkit to get the things we want.... to happen
4 == What ==
6 * This is patching WebKit/Gtk+ to extract the used 'glyphs' and
7   their x/y position from a webpage. This then can be encoded
8   in various ways (for font collection generation or such)
11 == Why ==
13 * MediaWiki is simply a way to describe HTML (actually HTML is
14   embedded into the content) and WebKit was the most easy way to
15   get a moderm HTML renderer.
17 * I'm the original author of the font rendering for WebKit/Gtk+
18   which allowed me to easily change the pango implementation to
19   keep a copy of the glyphs and their position on the screen.
22 == How == 
24 The patches will patch the Gtk+ port of WebKit and the GtkLauncher
25 executable to create a directory with glyph information and write
26 one file with the positions of each glyph.
27 The glyph data is pnm....
29 = Building =
30 Get a recent webkit (e.g. r40817) and apply the patches from the
31 current directory. Use ./WebKitTools/Script/build-webkit to build
32 it.
35 = Run ./Programs/GtkLauncher on any url  =
36 After load directories with the pattern fonts/Font_Name_Size/GlyphIndex/
37 will be created. They contain font information and a bitmap of the glyph.
39 You will also find a render_text.blib. Containing the position of
40 each to be displayed glyph and the to be used font.
42 = Conver pnm to png =
43 Use this snippet to convert. This is needed as cairo only has a
44 png loader builtin...
46 for i in fonts/*/*/*.pbm; do pnmtopng $i > `dirname $i`/`basename $i pbm`png; done
48 = Render render_text.blib with the fonts =
49 Use the small cairo script render_text.py to convert the render_text.blib
50 into a rendered image.
53 = Change font operation to save size... =