|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002477||NetSurf||RISC OS-specific||public||2016-10-09 20:31||2017-04-11 16:54|
|Target Version||Fixed in Version|
|Summary||0002477: Scanning fonts fails on MathPhys despite previously being OK|
|Description||Having not consciously changed my fonts (I only have 11 plus the ROM fonts) on my Risc PC, NetSurf now fails to start while scanning fonts. Perhaps I deleted the RUFL cache in !Scrap at some point, never mind.|
I noticed this a while ago, but just moved the fonts out of the way to continue to use NetSurf, however with CI#3729 and putting the fonts back it's still there.
The rufl_test app seems happy with everything, and rufl_chars also. Dump attached from rufl_test in case that helps?
|Steps To Reproduce||Run NetSurf.|
|Additional Information||It's also annoying that the Wimp's single tasking error box "The Unicode font library could not be initialized" opens centrally on screen and doesn't mention the font which was the problem, because it obscures the "Scanning fonts..." dialogue so you have to binary chop your !Fonts directory to find which one was the problem.|
|Tags||No tags attached.|
|Fixed in CI build #|
|Reported in CI build #||3729|
|URL of problem page|
Spotted this in the log:
(0.640000) frontends/riscos/font.c:120 nsfont_init: Initialise RUfl
(2.180000) frontends/riscos/font.c:124 nsfont_init: rufl_init: rufl_FONT_MANAGER_ERROR: 0x21e: /Default encoding not found
(2.180000) frontends/riscos/gui.c:2124 die: The Unicode font library could not be initialized. Please report this to the developers.
|Extra data point, since this is a Risc PC, if I softload RISC OS 5 NetSurf starts correctly (ie. with the same !Fonts) but with RISC OS 4.02 the above error happens. Presumably some difference in behaviour between the two font managers?|
Vincent Sanders (administrator)
|Unfortunately as this is a RISC OS specific issue and we currently have no active RISC OS developer we cannot guarantee a timely response to this issue.|
Just tried this again with 3.7 CI#4060, but it still errors.
Having had a quick look at rufl_init() there are only 11 places where it can return rufl_FONT_MANAGER_ERROR.
I think the key piece of information (which I don't appear to have mentioned before, sorry) is that it's Font Manager 3.71. This seems to be key. If I go back to the ROM based Font Manager (3.40) then the RUFL cache is generated. I can then reboot so I'm back with Font Manager 3.71 again and the cache is loaded OK.
I can see in rufl_init.c there's all kinds of logic to work out which API to use. It would seem the non-unicode case is tripping up requesting the /Default encoding for some reason, which is presumably skipped entirely on old font managers.
|2016-10-09 20:31||Sprow||New Issue|
|2016-10-09 20:31||Sprow||File Added: dump.zip|
|2016-10-09 20:58||Sprow||Note Added: 0001411|
|2016-10-27 20:37||Sprow||Note Added: 0001414|
|2016-11-22 22:21||Vincent Sanders||Note Added: 0001442|
|2016-11-22 22:21||Vincent Sanders||Status||new => acknowledged|
|2017-04-11 16:54||Sprow||Note Added: 0001538|