Chris Young
8dc7ec2cb4
More split fixery
2013-05-25 14:12:02 +01:00
Chris Young
4a618b7040
Another attempt to fix the moving split position when a string fits exactly.
2013-05-25 14:05:32 +01:00
Chris Young
2f94771f41
revert text split change
2013-05-20 17:59:58 +01:00
Chris Young
5fcdbb80f0
Try to avoid the split point jumping around when it occurs exactly on the boundary requested
2013-05-18 13:34:36 +01:00
Chris Young
e4f11d1b74
Fix a potential crash when plotting glyphs
2013-04-28 11:53:37 +01:00
Chris Young
d9b8809908
Fix memory leak and make a point of ignoring UTF-16 surrogates
2013-04-14 16:03:46 +01:00
Chris Young
52e811a842
Don't recalculate next char position
2013-04-14 15:05:27 +01:00
Chris Young
7de97e8d6a
ensure the closest character is picked
2013-03-24 11:35:27 +00:00
Chris Young
f70e58b4a1
update posn_in_string loop to be similar to nsfont_split
2013-03-24 11:27:26 +00:00
Chris Young
e678df267e
Handle UTF-16 multi-length characters properly
2013-03-24 11:06:36 +00:00
Michael Drake
d0966c9d3f
Fix leaked utf16 string.
2013-03-20 22:22:36 +00:00
Michael Drake
91d05fc0f1
Ensure that actual_x is set when string fits inside available_width.
2013-03-20 22:07:22 +00:00
Michael Drake
918aa9d266
Fix error.
2013-03-20 20:59:00 +00:00
Michael Drake
138d2529ef
More meddling.
2013-03-20 20:55:03 +00:00
Michael Drake
5d7b1f40a3
Another attempt.
2013-03-20 20:06:24 +00:00
Michael Drake
ea4b7eb3a8
Try fixing Amiga nsfont_split. (Untested!)
2013-03-20 13:14:17 +00:00
Chris Young
8da8f14396
More logical splitting code
2013-02-15 16:51:50 +00:00
Chris Young
d25fd5fb6c
Set the split point to the end of the line if the entire string fits in the allocated space
2013-02-12 00:21:56 +00:00
Chris Young
d78777276c
Bring nsfont_split up to core expectations. Slightly bodged.
2013-02-10 23:24:04 +00:00
Chris Young
d7ddfd6ac3
Make logic compare clearer
2013-01-10 22:07:11 +00:00
Chris Young
34154ebb99
Disable anti-aliasing for palette-mapped modes
2012-08-05 10:48:36 +01:00
Chris Young
dad8065f0a
move text colour settings into plotters.c, and use palette-map capable function
2012-08-04 18:05:26 +01:00
Chris Young
0161b2a33e
Rescan fonts if preferred fallback font is changed in the GUI
...
svn path=/trunk/netsurf/; revision=13908
2012-05-06 17:55:35 +00:00
Chris Young
7003f6932e
Use font_unicode option as preferred (first scanned) font. Ideally need to
...
expand this so multiple fonts can be specified. Allow disabling of
scanning other fonts. Add stubs for a scanning progress GUI.
svn path=/trunk/netsurf/; revision=13907
2012-05-05 19:09:42 +00:00
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