Commit Graph

130 Commits

Author SHA1 Message Date
Chris Young
d5608581b9 Integrate Unicode font scanner into NetSurf.
NetSurf will now use any available font when trying to print
characters that are missing from the current font.
TODO: Preferred font list.

svn path=/trunk/netsurf/; revision=13905
2012-05-05 15:58:17 +00:00
Chris Young
a4ff885365 Ensure we are using the faster(?) character size functions in all
applicable places.

svn path=/trunk/netsurf/; revision=13901
2012-05-02 18:29:59 +00:00
Chris Young
8d4678b04b Add AppWindow ourself rather than letting window.class create it. Initial
tests indicate we are no longer losing icon drop events although there is
still an "event leak" somewhere.
Fix warnings.

svn path=/trunk/netsurf/; revision=13894
2012-04-28 19:43:46 +00:00
Chris Young
f6b15c1061 Re-jig URL launch as would never have fallen back to using openurl.library.
Add it as an option instead.

svn path=/trunk/netsurf/; revision=13882
2012-04-18 19:44:09 +00:00
Chris Young
65b128b088 Just get glyph widths rather than the entire glyph when calculating sizes.
This should be faster but isn't (probably still rendering the glyph
internally)

svn path=/trunk/netsurf/; revision=13843
2012-04-09 12:01:57 +00:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Chris Young
61a36faf7f Add proposed small caps "x" and "q" mappings.
svn path=/trunk/netsurf/; revision=13247
2011-12-05 20:08:17 +00:00
Chris Young
71a08da397 Support small caps using the font's designed characters.
TODO: fallback to generated characters.

svn path=/trunk/netsurf/; revision=13245
2011-12-04 23:39:22 +00:00
Chris Young
ccbca43457 Avoid memory leak when requested font cannot be opened.
svn path=/trunk/netsurf/; revision=13243
2011-12-04 20:06:53 +00:00
Chris Young
a06678dabf Don't use a designed font for oblique, only italic.
svn path=/trunk/netsurf/; revision=13226
2011-12-04 01:45:31 +00:00
Chris Young
0ce6fc409c Global list for diskfont.library fontengine cache
svn path=/trunk/netsurf/; revision=13225
2011-12-04 01:10:19 +00:00
Chris Young
69f83ed262 Be more flexible with the aspect ratios we correct to.
svn path=/trunk/netsurf/; revision=13036
2011-10-11 17:58:14 +00:00
Chris Young
8e67ad8051 Select fonts, sizes and colours for splash screen text rather than relying on system
default

svn path=/trunk/netsurf/; revision=12776
2011-09-07 23:01:53 +00:00
Chris Young
11b3bb228a Correct aspect ratio correctly and support widescreen displays
svn path=/trunk/netsurf/; revision=12607
2011-07-17 14:48:19 +00:00
Chris Young
208363fe2a Rename DataTypes related code/files/defines to avoid confusion and aid adding support
for other DataType classes.
Disable MNG/WebP by default as they aren't common and the required libs are quite
large; DataTypes can handle these formats for now.

svn path=/trunk/netsurf/; revision=12284
2011-05-06 22:42:37 +00:00
Chris Young
da20605385 Correct width of the em-square for non-72dpi settings
Fix warnings

svn path=/trunk/netsurf/; revision=12268
2011-05-02 10:33:16 +00:00
Chris Young
08dcfc0c44 Every five minutes, close any fonts not used in the last five minutes
svn path=/trunk/netsurf/; revision=12267
2011-05-01 11:59:08 +00:00
Chris Young
37854d1575 Better logging
svn path=/trunk/netsurf/; revision=12266
2011-05-01 08:53:51 +00:00
Chris Young
56482725b6 If a designed font is defined but not available, error out
svn path=/trunk/netsurf/; revision=12265
2011-05-01 08:49:00 +00:00
Chris Young
11a0284427 Don't open fonts until they are needed
svn path=/trunk/netsurf/; revision=12264
2011-04-30 19:05:11 +00:00
Chris Young
06213b4dd2 Make Y DPI a configurable option. Default is 72 (AmigaOS standard)
svn path=/trunk/netsurf/; revision=12237
2011-04-25 17:43:22 +00:00
Chris Young
93d4939787 Logically, this ratio should be x/y not y/x
svn path=/trunk/netsurf/; revision=12232
2011-04-22 17:00:27 +00:00
Chris Young
1bc9a86109 Aspect-corrected font DPI. Needs testing on a mode with non-square pixels and on a
widescreen monitor.

svn path=/trunk/netsurf/; revision=12230
2011-04-22 16:48:29 +00:00
Chris Young
83914b9c3e Set font DPI from nscss_screen_dpi to ensure it is always in sync
Reset font DPI when opening screens to allow us to correct for aspect ratio in the
future

svn path=/trunk/netsurf/; revision=12229
2011-04-22 16:06:46 +00:00
Chris Young
b14edfdd5a Also add softstyle for italics
Move the values into defines at the top of the file to make them easier to change

svn path=/trunk/netsurf/; revision=12228
2011-04-22 15:30:16 +00:00
Chris Young
ed5d8d0dba Use bold softstyle when no designed bold font is defined
svn path=/trunk/netsurf/; revision=12225
2011-04-22 14:53:56 +00:00
Michael Drake
e073f1c542 Don't scale text plots in front end (Amiga).
svn path=/trunk/netsurf/; revision=11939
2011-03-08 18:49:11 +00:00
John Mark Bell
d83f683e96 Sprinkle some #ifdef __amigaos4__ around
svn path=/trunk/netsurf/; revision=11230
2011-01-06 23:17:17 +00:00
Chris Young
f55c11dbd6 Amiga font code revamped and fixed. Will now fall back to a different font if the
character isn't present in the current one, this needs a complete or near-complete
Unicode font in order to be useful - Code2000 and Bitstream Cyberbit are auto-detected
by NetSurf on startup if none is configured.  Japanese websites now display correctly,
along with Japanese characters within Google UK search results etc.

svn path=/trunk/netsurf/; revision=10551
2010-05-06 10:02:58 +00:00
Chris Young
4d6abc7744 Fix assert. This is wrong, needs investigation.
svn path=/trunk/netsurf/; revision=10549
2010-05-03 21:45:58 +00:00
Chris Young
d752fd194c Fix loops reading too many characters
svn path=/trunk/netsurf/; revision=10548
2010-05-03 20:57:32 +00:00
Chris Young
a3b14f6d98 Fix assert when clicking empty text boxes
svn path=/trunk/netsurf/; revision=10531
2010-04-30 17:28:07 +00:00
Chris Young
b579b0deb3 Don't check if the next character is outside the printable string, if it is it'll pick
up the NULL terminator anyway.

svn path=/trunk/netsurf/; revision=10523
2010-04-29 23:05:52 +00:00
Chris Young
ce570ddde0 Text kerning
svn path=/trunk/netsurf/; revision=10522
2010-04-29 22:30:21 +00:00
Chris Young
c0d7ba762e More correct font width calculations/placing
svn path=/trunk/netsurf/; revision=10518
2010-04-29 19:43:50 +00:00
Chris Young
1f529dc33f Possibly more accurate text placement
svn path=/trunk/netsurf/; revision=10517
2010-04-29 18:22:20 +00:00
Chris Young
3921fcf173 Fix character offset, which was one character left of where the user clicked even
though the caret itself was placed in the correct location.

svn path=/trunk/netsurf/; revision=10128
2010-03-14 22:48:25 +00:00
Chris Young
6061cc3103 More helpful font open error
svn path=/trunk/netsurf/; revision=9809
2010-01-15 22:51:07 +00:00
Chris Young
90012b487a Fix odd missing chars
svn path=/trunk/netsurf/; revision=9654
2009-10-24 09:18:22 +00:00
Chris Young
a80a4968bd fix text cursor positioning some more
svn path=/trunk/netsurf/; revision=9597
2009-09-23 21:52:36 +00:00
Chris Young
3d971835db Click position improvements
svn path=/trunk/netsurf/; revision=9541
2009-09-05 14:39:38 +00:00
Chris Young
2fc90e362c Fix missing characters
svn path=/trunk/netsurf/; revision=9540
2009-09-05 12:35:05 +00:00
Chris Young
b322e5d8d6 More simple
svn path=/trunk/netsurf/; revision=9539
2009-09-05 11:58:13 +00:00
Chris Young
10a9f0e030 Simplify and fix some long-standing highlight/layout issues
svn path=/trunk/netsurf/; revision=9538
2009-09-05 11:33:05 +00:00
Chris Young
138d0754c9 Font scaling - scaling now works for printing, need 2nd attempt at implementing it for
browsing.

svn path=/trunk/netsurf/; revision=9496
2009-08-29 14:24:47 +00:00
John Mark Bell
ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
John Mark Bell
6e13c2fb0a Scale font sizes, for better accuracy.
svn path=/trunk/netsurf/; revision=8657
2009-07-21 16:55:35 +00:00
John Mark Bell
2565a37a52 Refactor text plotter and other font functions to remove dependency on CSS.
svn path=/trunk/netsurf/; revision=8641
2009-07-21 10:59:53 +00:00
Chris Young
b8f6dfd58d Minor positional changes. This code probably needs a rethink as it doesn't correctly
advance for two-byte UTF8 chars.

svn path=/trunk/netsurf/; revision=8276
2009-07-02 23:07:04 +00:00
Chris Young
397e2cc0a9 Revert accidental change
svn path=/trunk/netsurf/; revision=7898
2009-06-20 14:13:16 +00:00
Chris Young
cb23d7d911 Modify correct RastPort
svn path=/trunk/netsurf/; revision=7897
2009-06-20 14:11:24 +00:00
Chris Young
2afe4157cd Support option_font_default
svn path=/trunk/netsurf/; revision=7896
2009-06-20 13:44:39 +00:00
Chris Young
c28114732a Adjust minimum font size
svn path=/trunk/netsurf/; revision=7450
2009-05-09 14:30:17 +00:00
Chris Young
3ad3a8f7f9 Fix warnings
svn path=/trunk/netsurf/; revision=7131
2009-04-18 16:55:59 +00:00
Chris Young
853793eaa8 Remove option_quick_text (local charset text printing)
svn path=/trunk/netsurf/; revision=7021
2009-04-01 17:36:18 +00:00
Chris Young
f388785f8a fix text co-ordinate
svn path=/trunk/netsurf/; revision=6987
2009-03-29 20:57:57 +00:00
Chris Young
3179a891d6 Fix actual_x
svn path=/trunk/netsurf/; revision=6968
2009-03-28 14:12:31 +00:00
John Mark Bell
41d2eca3b1 Port our UTF-8 routines to parserutils (only enabled when building against Hubbub).
Sync our temporary internal copies of these functions with parserutils (which is rather better tested and fixes a number of known bugs in NetSurf's previous UTF-8 handling).
Ideally, this will be the only place in NetSurf that has any dependency on parserutils, so port the amiga font code to our internal APIs.

svn path=/trunk/netsurf/; revision=6550
2009-02-17 23:44:17 +00:00
Chris Young
f4d1f89957 It's probably a good idea to free memory once we've finished with it.
svn path=/trunk/netsurf/; revision=6222
2009-01-24 12:24:15 +00:00
Chris Young
161dea3d8b Implement bold and italic font rendering for Unicode display and make it the default.
svn path=/trunk/netsurf/; revision=6155
2009-01-20 16:53:06 +00:00
Chris Young
ddd59deaf2 position in string was off by one
svn path=/trunk/netsurf/; revision=6141
2009-01-18 12:15:48 +00:00
Chris Young
1417b0c0b8 Complete Unicode text display implementation bar styles (bold, italic)
Need to find out why it is freezing on yahoo.ru

svn path=/trunk/netsurf/; revision=6115
2009-01-17 15:29:41 +00:00
Chris Young
da4b0580b9 Most nsfont placement routines done for UTF-8 printing, missing the odd character off
of the end of lines though so needs some tweaking.

svn path=/trunk/netsurf/; revision=6109
2009-01-17 00:43:51 +00:00
Chris Young
cd4f5ebd08 nsfont_width implemented for Unicode text
cache outline fonts for big speedup

still need to implement other text size functions
and also bold and italic fonts

svn path=/trunk/netsurf/; revision=6095
2009-01-16 20:05:21 +00:00
Chris Young
15bd48a0da Spacing perfect, text now printing correctly on baseline.
Formatting is mostly only wrong when non-local charset characters are being printed,
due to the current text size calculations routines needing rewriting.

svn path=/trunk/netsurf/; revision=6073
2009-01-15 23:15:17 +00:00
Chris Young
82a801dbfa Much faster Unicode text display (still slower than local charset mode though)
Improved character spacing

Still some formatting issues:
Baseline is ignored
The text size calculation routines need to be re-written for the Unicode display

However sites are mostly readable now with this option enabled.

svn path=/trunk/netsurf/; revision=6072
2009-01-15 22:46:28 +00:00
Chris Young
2967b76f4a Unicode text display. Painfully slow and needs some work wrt text alignment, colours.
The nsfont_width etc functions also need adjustment.

svn path=/trunk/netsurf/; revision=5938
2008-12-27 23:25:42 +00:00
Chris Young
b682523066 Minor improvements to output.
svn path=/trunk/netsurf/; revision=5905
2008-12-13 23:20:49 +00:00
Chris Young
d9c7f033e6 Code cleanup, removed remnants of ttengine experimental code (way too slow to be
useful)

svn path=/trunk/netsurf/; revision=5337
2008-09-15 22:18:33 +00:00
Chris Young
5c9f7937f5 Fixed bold/italic styles
svn path=/trunk/netsurf/; revision=5328
2008-09-15 18:56:11 +00:00
Chris Young
35befab994 Experimental font code to plot Unicode text.
svn path=/trunk/netsurf/; revision=5220
2008-08-30 16:55:25 +00:00
Chris Young
c7da20b4c1 Improved text reflow more
svn path=/trunk/netsurf/; revision=5208
2008-08-26 18:03:07 +00:00
Chris Young
2d4818c5ad Work on local charset encoded strings for improved layout.
svn path=/trunk/netsurf/; revision=5204
2008-08-26 01:21:22 +00:00
Chris Young
f071afe243 Code cleanup.
svn path=/trunk/netsurf/; revision=5167
2008-08-21 21:42:48 +00:00
Chris Young
61294f493e Close fonts properly and default back to initial RastPort font.
svn path=/trunk/netsurf/; revision=5136
2008-08-17 16:22:40 +00:00
Chris Young
ea5e026f7d Fixed font styles
svn path=/trunk/netsurf/; revision=5075
2008-08-12 17:47:35 +00:00
Chris Young
058fcac225 Added code to set correct font.
svn path=/trunk/netsurf/; revision=4986
2008-08-10 09:57:41 +00:00
Chris Young
289196c6ba Functions now return correct values for proper text formatting.
svn path=/trunk/netsurf/; revision=4983
2008-08-09 20:28:35 +00:00
Chris Young
394263bb2f Basic plotter functions and support code for the plotters.
svn path=/trunk/netsurf/; revision=4948
2008-08-07 18:44:28 +00:00
Chris Young
26203b2215 Initial Amiga port files, mostly empty stub functions.
svn path=/trunk/netsurf/; revision=4864
2008-08-02 14:31:32 +00:00