Commit Graph

156 Commits

Author SHA1 Message Date
Chris Young
bcdbb9e365 Use correct parameters 2016-01-10 12:52:51 +00:00
Chris Young
5fb63e19ab If the specified font won't open, use the fallback font for character 'A'.
This helps stop pages showing up blank when the default fonts are wrong.
2016-01-10 12:42:12 +00:00
Chris Young
47fa0bf7a2 Faster hashing 2015-11-17 23:19:30 +00:00
Chris Young
af71481a5f Use a hash as the skiplist key 2015-11-17 18:50:14 +00:00
Chris Young
e0198789ae Use a skip list instead of a splay tree for now to fix memory leakage 2015-09-01 19:14:11 +01:00
Chris Young
33eb8d3324 Attempt to use splay trees for font caching.
This is theoretically faster, but leaks like a sieve.
2015-09-01 00:23:20 +01:00
Chris Young
914ba332e2 Use the correct decoded surrogate values for calculating kerning widths 2015-08-24 20:56:01 +01:00
Chris Young
cba6bdb481 If a designed (bold, italic, etc) version of a specific font is set but not actually installed, treat this as a non-critical error, log it, and create a computed version. 2015-08-19 19:15:06 +01:00
Chris Young
f9bb4ba71d Fix memory leak 2015-08-16 13:02:14 +01:00
Chris Young
a28be12270 Fix blitting of font glyphs on OS3/AGA 2015-08-16 12:06:00 +01:00
Chris Young
527a13a841 Ensure OS3 doesn't try to obtain an 8-bit GlyphMap. 2015-08-15 17:32:28 +01:00
Chris Young
b19cd801fd Revert "Ensure we don't accidentally use an 8-bit glyphmap under OS3."
This reverts commit c43d09af64.
2015-08-15 17:27:57 +01:00
Chris Young
0c2f466786 Revert "Fix OS4 build"
This reverts commit c759b2a262.
2015-08-15 17:27:19 +01:00
Chris Young
c759b2a262 Fix OS4 build 2015-08-15 17:07:59 +01:00
Chris Young
c43d09af64 Ensure we don't accidentally use an 8-bit glyphmap under OS3. 2015-08-15 16:56:02 +01:00
Chris Young
c38670ade8 Allow a fallback font for characters above 0xFFFF to be specified. There is no scanning of this range as most fonts don't have any characters here. Symbola is selected if it is installed. 2015-07-06 19:29:16 +01:00
Chris Young
8282f53880 Support UTF-16 surrogates. This enables Emoji to be displayed if an appropriate font is installed.
NB: Currently surrogate glyphs are not able to use the fallback font.  The wrong glyphs may be displayed if you use an "old font engine".
2015-07-06 18:46:08 +01:00
Chris Young
bc3534d920 Split UTF-16 char length check into a separate function 2015-07-06 18:16:39 +01:00
Vincent Sanders
c105738fa3 Change LOG() macro to be varadic
This changes the LOG macro to be varadic removing the need for all
callsites to have double bracketing and allows for future improvement
on how we use the logging macros.

The callsites were changed with coccinelle and the changes checked by
hand. Compile tested for several frontends but not all.

A formatting annotation has also been added which allows the compiler
to check the parameters and types passed to the logging.
2015-05-28 16:08:46 +01:00
Chris Young
947c466c4b Split plotting and widthing functions up 2015-02-28 13:01:16 +00:00
Chris Young
df25135a4d micro-optimisation 2015-02-28 12:41:50 +00:00
Chris Young
85df94f47a more microoptimisation 2015-02-23 18:47:58 +00:00
Chris Young
6fda772b89 Avoid clobbering the PPC pipeline 2015-02-23 18:44:47 +00:00
Chris Young
5d43025adf Mostly working bitmap font support 2015-02-22 16:50:41 +00:00
Chris Young
f123ed101f Lazy bitmap font rendered text for slow hardware (non-working) 2015-02-03 19:48:28 +00:00
Chris Young
2066390555 Fix bullet.library usage 2015-01-30 18:32:44 +00:00
Chris Young
e5b6dac87c Fix OS3 build
Fix font cache on OS3
2015-01-29 19:31:47 +00:00
Chris Young
509053cae7 Fix template blit Y position by adjusting the pointer to the template 2015-01-29 00:17:34 +00:00
Chris Young
003344023b Blit text to screen correctly on OS3 2015-01-29 00:13:48 +00:00
Chris Young
bc3cb4070d Remove dead code 2015-01-28 23:36:52 +00:00
Chris Young
ecdf37c6ac Fixup font.c a bit better for OS3 2015-01-28 18:49:44 +00:00
Chris Young
1bee34e164 Stub out font.c and font_scan.c for OS3 for now
A more involved fix required for later.
2015-01-12 22:40:46 +00:00
Chris Young
04c80ce0a7 Fix warnings 2014-11-09 19:26:59 +00:00
Vincent Sanders
0b64df140c Update amiga frontend for split operation table header changes 2014-10-16 22:33:44 +01:00
Vincent Sanders
17be8cf216 Put the font operations table alongside all the other core API
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.
2014-10-13 11:56:31 +01:00
Vincent Sanders
3fa0ed01c0 add API to set DPI 2014-10-13 02:34:10 +01:00
Michael Drake
34d7edcdc6 Remove debug logging. 2014-08-30 15:40:00 +01:00
Chris Young
a98b946ca2 Confidently remove the debug 2014-06-01 08:45:29 +01:00
Chris Young
3457d3adc7 Sometimes (but not always) the UTF-16 conversion inserts a BOM. Skip it. 2014-06-01 08:44:51 +01:00
Chris Young
06ad319c24 Filter all control chars from width kerning and fix some const warnings. 2014-05-19 18:39:54 +01:00
Michael Drake
eb5ca0f94d Add logging to nsfont_split function. 2014-05-18 19:36:06 +01:00
Chris Young
e197abf63a Don't try to kern a character with \0 2014-05-18 13:42:30 +01:00
Michael Drake
9727f87525 Fix build. 2014-05-16 18:14:28 +01:00
Michael Drake
09e7ea6566 Simplfy and clarify splitting function.
Should be funtionally identical.
2014-05-16 18:06:29 +01:00
Chris Young
65adc17121 Fix a bunch of cppcheck unused/unreadVariable warnings 2014-04-05 20:26:40 +01:00
Vincent Sanders
87f6314dab move scheduleing into browser operation table 2014-03-09 15:37:40 +00:00
Vincent Sanders
654da2ffb5 move utf8 conversion routines to use nserror instead of their own error enum 2014-01-28 21:40:13 +00:00
Chris Young
ade86e496e Replace AllocVec with AllocVecTags. Remove some instances of MEMF_CLEAR where it is not necessary. 2013-10-12 13:11:13 +01:00
Chris Young
f4d04cefc0 Revert nsfont_split back to how it was before I started meddling with it. 2013-08-03 12:54:50 +01:00
Chris Young
1bbafde641 Further split fixing 2013-05-28 20:58:39 +01:00