Dear Albert, On Fri, 06 Apr 2012 15:14:47 +0200 Albert Astals Cid <[email protected]> wrote:
>El Dilluns, 2 d'abril de 2012, a les 18:50:16, [email protected] va >escriure: >> I think, pdffonts should notice how the fonts are fallbacked >> in the rasterization (or the conversion to vector output >> device), primarily. > >Are you speaking of pdffonts -subst here? Seems to work fine for me. Or are >you saying it doesn't work in Windows? Thank you very much for clarification that this is Windows issue. I'm quite sorry for unclear mention about this. Yes, I'm speaking of "pdffonts -subst". On Windows, the result by "pdffonts -subst" for a sample PDF of base14 fonts ( https://bugs.freedesktop.org/show_bug.cgi?id=48040 ), is inconsistent with the rasterization result of pdftoppm. The "pdffonts -subst" on Windows is like following. name object ID substitute font substitute font file ------------------------------------ --------- ------------------------------------ ------------------------------------ Courier-BoldOblique 14 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Helvetica 15 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Helvetica-Oblique 16 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Helvetica-Bold 17 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Helvetica-BoldOblique 18 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Times-Roman 19 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Times-Italic 20 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Times-Bold 21 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Times-BoldItalic 22 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Symbol 24 0 [none] C:\WINDOWS\Fonts\SYMBOL.TTF ZapfDingbats 26 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf CourierNew 27 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf CourierNew,Italic 28 0 [none] C:\WINDOWS\Fonts\COUR.TTF CourierNew,Bold 29 0 [none] C:\WINDOWS\Fonts\COUR.TTF CourierNew,BoldItalic 30 0 [none] C:\WINDOWS\Fonts\COURI.TTF Arial 31 0 [none] C:\WINDOWS\Fonts\ARIAL.TTF Arial,Italic 32 0 [none] C:\WINDOWS\Fonts\ARIALI.TTF Arial,Bold 33 0 [none] C:\WINDOWS\Fonts\ARIALBD.TTF Arial,BoldItalic 34 0 [none] C:\WINDOWS\Fonts\ARIALBI.TTF TimesNewRoman 35 0 [none] C:\WINDOWS\Fonts\TIMES.TTF TimesNewRoman,Italic 36 0 [none] C:\WINDOWS\Fonts\TIMESI.TTF TimesNewRoman,Bold 37 0 [none] C:\WINDOWS\Fonts\TIMESBD.TTF TimesNewRoman,BoldItalic 38 0 [none] C:\WINDOWS\Fonts\TIMESBI.TTF Courier 39 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Courier-Oblique 40 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf Courier-Bold 41 0 C:\WINDOWS\Fonts\arial.ttf C:\WINDOWS\Fonts\arial.ttf It looks like as if Courier and Times-Roman will be substituted by Arial. It is unwanted result. But, as you can find by the pictures (pdftoppm) on https://bugs.freedesktop.org/show_bug.cgi?id=48040 , Courier is substituted by Courier New, Times-Roman is substituted by Timew New Roman (it is wanted result). I think pdffonts is expected to return the font substititions that pdftoppm will do. If the consistency between pdftoppm and "pdffonts -subst" is agreed, I will post a patch. However, the change by my patch for this issue will modifies non-Windows part too. So I don't want to do it for 0.20 because insufficient time to testing. >> As the extra features, the indication of >> the last rule choosing the final result would be helpful, >> when poppler have external configuration file to control the >> font substition (it's since 0.20!). > >External configuration file to control font substitution is something we do >*not* want. Oh, thank you again for the clarification. I remember your attitude about external configuration file when we discussed about the hint control - I know you don't want it, and I will follow your decision. But, the patch by Thomas for GlobalParamsWin.cc includes a feature to use external font substitution mapping table "cidfmap". It should be removed, or should be kept? commit dae29c6c201cd69cbf4f008de865cc19a36f29b3 Author: Thomas Freitag <[email protected]> Date: Sun Mar 4 15:22:02 2012 +0100 CJK substitute implementation on WIndows platforms. When You install ghostscript on WIndows You're able to switch on CJK support. This will create a cidfmap file in the gs-lib directory. The ps file which creates it (mkcidfm.ps) runs over the windows font directory and tries to create a suitable substitution table for missing CJK fonts. The cidfmap file is more or less PDF like, so it's quite easy to parse it with our parser and create a substitution table in GlobalParamsWin and use that table. But I expect it in the poppler data dir instead of searching for ghostscript installation. If it is not there, it always returns the default CID font of point 2. You can either copy it from the gs lib directory or create it with the ghostscript tool calling gswin32c -q -dBATCH -sFONTDIR=<windows font directory> -sCIDFMAP=<popper data dir>/cidfmap mkcidfm.ps In my personal opinion, I'm questionable about the requirement of this feature. There might be some people who want to make the font substitutions by Ghostscript and poppler-related softwares aligned, and "cidfmap" support may be useful for their purpose. But, at present, cidfmap support is only implemented for Windows (to serve for the people expecting same font substitution, non- Windows platforms should support cidfmap, I think), and, Ghostscript is not good tool to generate & maintain cidfmap automatically. What should we do for "cidfmap" feature? Regards, mpsuzuki _______________________________________________ poppler mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/poppler
