The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.
This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
- Currently only libnsfb's SDL surface supports resizing.
- Flickers like crazy while resizing. Possibly because the SDL
surface is not set to use double buffering.
- The internal widget library, fbtk, was never intended for this,
as such it has no knowledge of how a widget should be positioned
with respect to its parent.
This means the top level window has to track everything and move
them itself.
Adds:
U+0118 - LATIN CAPITAL LETTER E WITH OGONEK
U+0119 - LATIN SMALL LETTER E WITH OGONEK
U+0104 - LATIN CAPITAL LETTER A WITH OGONEK
U+0105 - LATIN SMALL LETTER A WITH OGONEK
U+0106 - LATIN CAPITAL LETTER C WITH ACUTE
U+0107 - LATIN SMALL LETTER C WITH ACUTE
U+0143 - LATIN CAPITAL LETTER N WITH ACUTE
U+0144 - LATIN SMALL LETTER N WITH ACUTE
U+015A - LATIN CAPITAL LETTER S WITH ACUTE
U+015B - LATIN SMALL LETTER S WITH ACUTE
U+0179 - LATIN CAPITAL LETTER Z WITH ACUTE
U+017A - LATIN SMALL LETTER Z WITH ACUTE
U+017B - LATIN CAPITAL LETTER Z WITH DOT ABOVE
U+017C - LATIN SMALL LETTER Z WITH DOT ABOVE
To update the generated source file, first build the converter:
$ gcc -O2 -Wall framebuffer/convert_font.c \
-o build-Linux-framebuffer/tools/convert_font
And then use it to generate the souce file:
$ build-Linux-framebuffer/tools/convert_font \
framebuffer/res/fonts/glyph_data \
framebuffer/GEN_font_internal.c
This rationalises the path construction and basename file
operations. The default implementation is POSIX which works for all
frontends except windows, riscos and amiga which have differeing path
separators and rules.
These implementations are significantly more robust than the previous
nine implementations and also do not use unsafe strncpy or buffers
with arbitrary length limits.
These implementations also carry full documentation comments.
Added regular, italic, bold and bold italic versions of:
U+0102 - LATIN CAPITAL LETTER A WITH BREVE
U+0103 - LATIN SMALL LETTER A WITH BREVE
U+1EC6 - LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW
U+1EC7 - LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW