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