Hello,
both fonts are on the system, see attached textfile. It was the content
of the Windows Font Directory only.
But where in the sample is setting this path on a windows machine? No
one. I have inserted a printout of the actual Font search path. The path
(for windows) is NOT SET by default. This is the first issue. And where
should the fallback found ? It can not be found too, because no path to
the system font dir was set.
-
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos>fcldemo -d
jsondata -f pdf
Fontspath start -
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos\/fonts/
Fontspath end -
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
Exception at 00010004C44F: EReportFontNotFound:
Font not found: "Arial".
Heap dump by heaptrc unit of
"D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos\fcldemo.exe"
4895 memory blocks allocated : 1547952/1562136
4895 memory blocks freed : 1547952/1562136
0 unfreed memory blocks : 0
True heap size : 262144 (320 used in System startup)
True free heap : 261824
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos>
Am 27.12.2019 um 23:03 schrieb Michael Van Canneyt:
Hello,
Can we please tackle one problem at a time ?
The first problem is: Why is the "liberation sans" not found ?
Once we've established that, we can check why the fallback is not
found, and
perhaps the error message.
Michael.
On Fri, 27 Dec 2019, Andreas Frieß wrote:
Hello Michael,
if the font is not found, why is there not the correct indication of the
missing font ? The errormessage is in this case completly wrong.
If a fallback should be possible, it should work and not mask the
problem and create a false errormessage.
Maybe the font liberation Sans is not on a Windows10/64 machine, if this
is true i should see the message -> fpreport: Could not find the font
in the font cache.
Or
-> EReportFontNotFound: >> Font not found: "Liberation Sans".
Andreas
Am 27.12.2019 um 16:00 schrieb Michael Van Canneyt:
As I said:
The demos do not use Arial on purpose. Probably it is used as a
fallback somewhere.
So the question is: why is the demo falling back to Arial ?
It means the actually used font (Liberation Sans, line 74 of rptjson)
is not found.
Michael.
On Fri, 27 Dec 2019, Andreas Frieß wrote:
The reason (with ReadStandardfonts inserted):
---
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos>fcldemo -d
jsondata -f pdf
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
1 : Name -> Albania
1 : Population -> 2894000
2 : Name -> Algeria
2 : Population -> 38934000
3 : Name -> Angola
3 : Population -> 24228000
some lines skipped .
155 : Name -> Zambia
155 : Population -> 15721000
156 : Name -> Zimbabwe
156 : Population -> 15246000
Exception at 0001000631E0: Exception:
fpreport: Could not find the font in the font cache.
Heap dump by heaptrc unit of
"D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos\fcldemo.exe"
74069 memory blocks allocated : 101484860/101702272
74069 memory blocks freed : 101484860/101702272
0 unfreed memory blocks : 0
True heap size : 2785280 (320 used in System startup)
True free heap : 2784960
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos>
-
Original (without ReadStandardfonts) = Original
--
D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos>fcldemo -d
jsondata -f pdf
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
0 : Name -> Afghanistan
0 : Population -> 31628000
Exception at 00010004C36F: EReportFontNotFound:
Font not found: "Arial".
Heap dump by heaptrc unit of
"D:\data\lazdev\trunk64\fpcsrc\packages\fcl-report\demos\fcldemo.exe"
4894 memory blocks allocated : 1547732/1561920
4894 memory blocks freed : 1547732/1561920
0 unfreed memory blocks : 0
True heap size : 262144 (320 used in System startup)
True free heap : 261824
Michael Van Canneyt wrote:
>
>
> On Fri, 27 Dec 2019, Andreas Frieß wrote:
>
> > I have now built the fcl-fpreport demos on win64 on a Windows10/64
> > machine. But the demo is not running (comandline with -d
jsondata -f
> > pdf), because the font Arial is not found. It looks like the demos
> > didnt use the gTTFontCache.ReadStandardFonts and so the standard
> > font is not found.
>
> Why do you think Arial is needed ?
>
> All demos explicitly use a font, but never Arial. That is why
> gTTFontCache.ReadStandardFonts should not be necessary.
>
> Most demos use the LiberationSans font. Some use DejaVuSans or the
> Ubuntu font. You must of course have these fonts installed in your
> system. The LiberationSans font is included in the fonts subdirecto