Commit Graph

162 Commits

Author SHA1 Message Date
Chris Young b3aa313e84 misc amiga fixes re font plotting 2016-01-17 23:40:50 +00:00
Chris Young 132be1eed2 OS3 build fixes 2016-01-16 19:37:39 +00:00
Chris Young 46f181b348 More font-related tidy-up 2016-01-16 00:00:57 +00:00
Chris Young 6ad939b5a6 Make font engine selection bit more logical 2016-01-15 19:37:21 +00:00
Chris Young adccaadb57 More consistent naming for font cache elements 2016-01-11 20:05:15 +00:00
Chris Young 4f7e2563c1 Separate font cache code into a new file 2016-01-11 19:55:37 +00:00
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