Re: [fpc-pascal] fcl-report demos not working on windows10/64 with win64 compiled - Font Arial not found
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
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
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
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
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
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
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