Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2020-01-01 Thread Gerd Sager
Am Sun, 29 Dec 2019 10:58:31 +0100 (CET)
schrieb Michael Van Canneyt :

 
> So I come back to my initial question: why is it looking for Arial ?
> 
> Michael.

As far as i see the reason for this behavior is not located in the
demo but in the constructors of TFPReportCustomBand and
TFPReportCustomMemo. The setting of the field FUseParentFont has no
effect.

Deleting the line which sets FUseParentFont and adding the setting of
the property UseParentFont to true after the creation of FFont will
solve the problem.

As i am not able to create a patch against trunk i post the changes
here. 

In both constructors it should look like

  //FUseParentFont := True;
  FFont := TFPReportFont.Create;
  UseParentFont := True;

Gerd

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-29 Thread Michael Van Canneyt



On Sat, 28 Dec 2019, Andreas Frieß wrote:


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.


The paths are set in udapp.pp, line 257 and following:

procedure TReportRunner.RunReport(AFileName : string);

begin
  // specify what directories should be used to find TrueType fonts
  gTTFontCache.SearchPath.Add(Location+'/fonts/');
{$IFDEF UNIX}
  gTTFontCache.SearchPath.Add(GetUserDir + '.fonts/');
  gTTFontCache.SearchPath.Add('/usr/share/fonts/truetype/ubuntu-font-family/');
  gTTFontCache.SearchPath.Add('/usr/share/fonts/truetype/dejavu/');
{$ENDIF}

The question is still: why is it looking for Arial ?

I understand that it is the fallback/default font, but since the font is set
explicitly to liberation sans, which exists in the fonts subdir, the 
Arial font should not be searched to begin with. If the demo looks for it on

windows, I would like to know why.

Your solution of reading standard system fonts will of course also help
since that will search the windows fonts dir, but the intention of the 
demos was to be able to work without using the system fonts.


So I come back to my initial question: why is it looking for Arial ?

Michael.___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-29 Thread Andreas Frieß

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 

Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-27 Thread 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 subdirectory
> of the demo dir.
>
> So the question is, why does not the demo program find these fonts ?
>
> Michael.
> ___
> fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal
___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-27 Thread Andreas Frieß

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 subdirectory
> of the demo dir.
>
> So the question is, why does not the demo program find these fonts ?
>
> Michael.
> ___
> fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-27 Thread Michael Van Canneyt



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 subdirectory of the demo dir.

So the question is, why does not the demo program find these fonts ?

Michael.___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


[fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found

2019-12-27 Thread Andreas Frieß

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.

If i change in udapp.pp procedure TReportRunner.RunReport(AFileName :
string);

...

  // ask to generate the font cache
  gTTFontCache.ReadStandardFonts;  // implies gTTFontCache.BuildFontCache;
...

the report is now built, but the rendere of pdf in fpreportpdfexport.pp
have the same issue with not find font arial. It is not logical for me.
gTTFontCache is built correct for the report, why is the renderer not
found the font ? Is the renderer use another fontcache ?!

Andreas



___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal