Re: [gentoo-user] PHP, Haru, Ghostscript, Courier, and Nimbus
Michael wrote: > > If your customers do not have Nimbus fonts available on their OS/PDF viewer, > the viewer application will proceed using font substitution. It will use > whichever font family it thinks is the closest match, I would assume > Helvetica. Their application appears to get confused and substitute the > Nimbus fonts with something else. In any case, the solution to this is to > embed the Nimbus fonts in the PDF file. How would I do that? It seems to be impossible for "Courier" because this is a built-in font "and all viewers can display them", as stated at https://durak.org/sean/pubs/software/php-7.0.0/haru.builtin.fonts.html So it won't make much sense to embed Courier into the PDF anyway?! It's just that >=ghostscript-gpl-9.56 won't write the requested font name $myFont=$myPdf->getFont('Courier', 'WinAnsiEncoding'); into the PDF, but the substituted font name "Nimbus" (which seems to confuse some PDF readers). Why did they change it from 9.55 to 9.56? This is strange... To be completely independent from any PDF display software, I could imagine that the following could help: - install media-fonts/corefonts - load the ttf font with embed=true: https://durak.org/sean/pubs/software/php-7.0.0/harudoc.loadttf.html for example, $myFontName=$myPdf->loadTTF('/usr/share/fonts/corefonts/cour.ttf', TRUE); $myFont=$myPdf->getFont($myFontName, 'WinAnsiEncoding'); but I guess it will blow up my nice little PDF files (29 K only!) to a multiple size... :-( Anyway, I'll give it a try. -Matt
Re: [gentoo-user] PHP, Haru, Ghostscript, Courier, and Nimbus
On Monday, 7 November 2022 11:56:34 GMT Matthias Hanft wrote: > Hi, > > since many years, I'm using PHP (currently 7.4) and the (self- > compiled) Haru extension to produce PDF invoices on my server. > > Internally, Haru seems to use Ghostscript, because: > > - up to app-text/ghostscript-gpl-9.55.0-r2, when you look at the > PDF "properties" and then the "fonts" tab, there is "Courier", > "Helvetica" and "Helvetica-BoldOblique" - just as requested in > my PHP script like >$myPdf=new HaruDoc(); >[...some page settings...] >$myFont=$myPdf->getFont('Courier', 'WinAnsiEncoding'); > > - from app-text/ghostscript-gpl-9.56.1-r3 on, everything looks like > before, but in the "properties/fonts" tab of the resulting PDF, > the fonts are now "NimbusMonoPS-Regular", "NimbusSands-BoldItalic" > and "NimbusSans-Regular". > > I have already found this "translation" in the file > /usr/share/ghostscript/9.56.1/Resource/Init/Fontmap.GS but there is > obviously no relevant difference in that file between 9.55 and 9.56. > > Some of my customers now seem to have trouble if the fonts in the > PDF properties are named "Nimbus" instead of "Courier" - they just > see some hieroglyphics when displaying the PDF. > > Any idea that's going wrong here? > > Thanks in advance, > > -Matt If your customers do not have Nimbus fonts available on their OS/PDF viewer, the viewer application will proceed using font substitution. It will use whichever font family it thinks is the closest match, I would assume Helvetica. Their application appears to get confused and substitute the Nimbus fonts with something else. In any case, the solution to this is to embed the Nimbus fonts in the PDF file. signature.asc Description: This is a digitally signed message part.
[gentoo-user] PHP, Haru, Ghostscript, Courier, and Nimbus
Hi, since many years, I'm using PHP (currently 7.4) and the (self- compiled) Haru extension to produce PDF invoices on my server. Internally, Haru seems to use Ghostscript, because: - up to app-text/ghostscript-gpl-9.55.0-r2, when you look at the PDF "properties" and then the "fonts" tab, there is "Courier", "Helvetica" and "Helvetica-BoldOblique" - just as requested in my PHP script like $myPdf=new HaruDoc(); [...some page settings...] $myFont=$myPdf->getFont('Courier', 'WinAnsiEncoding'); - from app-text/ghostscript-gpl-9.56.1-r3 on, everything looks like before, but in the "properties/fonts" tab of the resulting PDF, the fonts are now "NimbusMonoPS-Regular", "NimbusSands-BoldItalic" and "NimbusSans-Regular". I have already found this "translation" in the file /usr/share/ghostscript/9.56.1/Resource/Init/Fontmap.GS but there is obviously no relevant difference in that file between 9.55 and 9.56. Some of my customers now seem to have trouble if the fonts in the PDF properties are named "Nimbus" instead of "Courier" - they just see some hieroglyphics when displaying the PDF. Any idea that's going wrong here? Thanks in advance, -Matt