Incomplete CharSet causes failure with PDF/A validation
Hi all. I believe there is a problem with the way pdfTeX constructs the CharSet for a subsetted font. Not all fonts are affected, and it only shows up when attempting to validate for PDF/A. I’ve mentioned the problem to Thanh and others, but as there’s been nothing done, I’ll bring it up here, with an example that cannot be worked-around. Attached are two PDF/A documents, using Hebrew text. The main font is the “David” style font from the culmus package: DavidCLM-Medium hebart-david.pdf — produced by pdfTeX hebart-gs.pdf — produced using dvips+GS hebart-david fails PDF/A validation in one aspect only (see image): “CharSet in subset font is incomplete (font contains glyphs that are not listed)"
Hi Ross - I don't have the DavidCLM-Medium font, and had never heard of the culmus package; I see now it is a pretty big effort on sf. At any rate, I (or Thanh or whomever) need an example demonstrating the failure that can be run. Maybe you can make a self-contained set of files (the font(s) in needed formats, the tex source, etc.)? Or: it doesn't matter if there is a workaround for it, as long as it shows the failure. So if you have an example that uses fonts already in TL, so much the better. We try to keep the type1 code in sync between dvips and pdftex, so it's sad that the results differ. Clearly something is awry :(. --thanks, karl.
Hi Karl,
On Jun 11, 2016, at 8:57 AM, Karl Berry
On 6/11/2016 2:15 AM, Ross Moore wrote:
Hi Karl,
On Jun 11, 2016, at 8:57 AM, Karl Berry
mailto:karl@freefriends.org> wrote: Hi Ross - I don't have the DavidCLM-Medium font, and had never heard of the culmus package; I see now it is a pretty big effort on sf.
At any rate, I (or Thanh or whomever) need an example demonstrating the failure that can be run. Maybe you can make a self-contained set of files (the font(s) in needed formats, the tex source, etc.)?
Or: it doesn't matter if there is a workaround for it, as long as it shows the failure. So if you have an example that uses fonts already in TL, so much the better.
Certainly. The texlive-de.tex documentation uses a font that is affected this way.
Attached is a cut-down example source, test-berafont.tex with PDFs: test-berafont-pdftex.pdf — PDF/A using pdfTeX and test-berafont-gs.pdf — plain PDF using dvips+GS
You can see the difference in the attached PDFs:
SCI:TL-DE16 ross$ grep -a CharSet test-berafont-gs.pdf /CharSet(/A/E/L/T/V/X/a/aacute/acute/e/g/i/l/n/o/one/r/s/six/t/two/u/v/z/zero)/FontFile3 12 0 R>> SCI:TL-DE16 ross$ mv test-berafont.pdf test-berafont-pdftex.pdf SCI:TL-DE16 ross$ grep -a CharSet test-berafont-pdftex.pdf /CharSet (/A/E/L/T/V/X/aacute/e/g/i/l/n/o/one/r/s/six/t/two/u/v/z/zero)
where pdfTeX just puts /aacute GS includes /a/aacute/acute .
so what does acrobat distiller do ... maybe the font assembles the aacute glyph from two (using subroutines) and gs sees that as a reason to also add those glyphs (if i remember right pdftex tries to merge these things subr thingies in order to make smaller files) .. or does the ps file have a reference to the acute? if so, then this is imo a harmless difference and one cannot expect all postprocessors to behave the same Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Ross and all - back on your mail about /CharSet from two years ago.
Date: Sat, 11 Jun 2016 00:15:05 +0000
From: Ross Moore
Hi Karl,
On Jun 15, 2018, at 7:27 AM, Karl Berry
Perhaps we could just have a command-line switch that allows writing the /CharSet to be omitted? Not a command-line switch. It could be another \pdf... parameter, but I wonder if we can just make things simpler and never output the /CharSet, instead of bothering to make it conditional. I know that's ok for validation, the question is whether it would cause problems in practice. Since, as we know, its contents are likely to be incorrect, I surmise/hope the answer is no. So: Does anyone know of anything using the /CharSet value from pdftex's output? --karl
On 2018-07-06 at 21:32:04 GMT, Karl Berry wrote:
Perhaps we could just have a command-line switch that allows writing the /CharSet to be omitted?
Not a command-line switch. It could be another \pdf... parameter, but I wonder if we can just make things simpler and never output the /CharSet, instead of bothering to make it conditional. I know that's ok for validation, the question is whether it would cause problems in practice. Since, as we know, its contents are likely to be incorrect, I surmise/hope the answer is no.
So: Does anyone know of anything using the /CharSet value from pdftex's output?
According to the PDF Reference[1], /CharSet is optional and meaningful only in Type 1 fonts. Thus no program can rely on it. If no program can rely on it and it causes trouble, it should better be removed without substitution (no command line option and no new primitive). I suppose that luatex developers are listening here as well. Regards, Reinhard [1] PDF Reference, third edition, version 1.4, page 357. -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------
On 7/7/2018 2:31 AM, Reinhard Kotucha wrote:
On 2018-07-06 at 21:32:04 GMT, Karl Berry wrote:
Perhaps we could just have a command-line switch that allows writing the /CharSet to be omitted?
Not a command-line switch. It could be another \pdf... parameter, but I wonder if we can just make things simpler and never output the /CharSet, instead of bothering to make it conditional. I know that's ok for validation, the question is whether it would cause problems in practice. Since, as we know, its contents are likely to be incorrect, I surmise/hope the answer is no.
So: Does anyone know of anything using the /CharSet value from pdftex's output?
According to the PDF Reference[1], /CharSet is optional and meaningful only in Type 1 fonts. Thus no program can rely on it. If no program can rely on it and it causes trouble, it should better be removed without substitution (no command line option and no new primitive).
I suppose that luatex developers are listening here as well.
only by accident as most pdftex mails filter to the pdftex bin anyway, it's no big deal to add an option (omitcharset) for it as we also do it for cidsets (omitcidset) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
On 2018-07-07 at 11:05:49 +0200, Hans Hagen wrote:
On 7/7/2018 2:31 AM, Reinhard Kotucha wrote:
According to the PDF Reference[1], /CharSet is optional and meaningful only in Type 1 fonts. Thus no program can rely on it. If no program can rely on it and it causes trouble, it should better be removed without substitution (no command line option and no new primitive).
I suppose that luatex developers are listening here as well.
anyway, it's no big deal to add an option (omitcharset) for it as we also do it for cidsets (omitcidset)
Sounds good. Please proceed. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------
Hi guys,
Can anyone tell me how this issue has been resolved, if at all ?
On 11 Jul 2018, at 8:25 am, Reinhard Kotucha
On 7/7/2018 2:31 AM, Reinhard Kotucha wrote:
According to the PDF Reference[1], /CharSet is optional and meaningful only in Type 1 fonts. Thus no program can rely on it. If no program can rely on it and it causes trouble, it should better be removed without substitution (no command line option and no new primitive).
I suppose that luatex developers are listening here as well.
anyway, it's no big deal to add an option (omitcharset) for it as we also do it for cidsets (omitcidset)
I see no new options with man pdftex or pdftex --help . Sounds good. Please proceed. The reason I’m asking is that I have an example file that someone else has provided that produces a “missing CharSet” error when validated with Adobe’s Preflight for PDF/A-1b. It was built with: This is pdfTeX, Version 3.14159265-2.6-1.40.19 (MiKTeX 2.9.6930 64-bit) (preloaded format=pdflatex 2019.1.11) 23 JAN 2019 16:46 but there is no error when I build the analogous PDF with: This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2018) (preloaded format=pdflatex 2018.12.24) 25 JAN 2019 17:16 The attached image shows that the CharSet is included on a Mac, using MacTeX, but not with MikTeX, even though the version of pdfTeX seems to be identical. [cid:761CF147-059F-4934-96BB-747FFD2CEA18@telstra.com.au] The only explanation that I can think of is that a primitive or option is being used in one case, but not the other. Can someone please shed some light on what may be causing this difference? Could it really be connected with the LaTeX format version? For me, tlmgr update --list doesn’t list anything needing an update that is obviously relevant. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------ _______________________________________________ ntg-pdftex mailing list ntg-pdftex@ntg.nlmailto:ntg-pdftex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/ntg-pdftex All the best, Ross Dr Ross Moore Department of Mathematics and Statistics 12 Wally’s Walk, Level 7, Room 734 Macquarie University, NSW 2109, Australia T: +61 2 9850 8955 | F: +61 2 9850 8114 M:+61 407 288 255 | E: ross.moore@mq.edu.aumailto:ross.moore@mq.edu.au http://www.maths.mq.edu.au [cid:image001.png@01D030BE.D37A46F0] CRICOS Provider Number 00002J. Think before you print. Please consider the environment before printing this email. This message is intended for the addressee named and may contain confidential information. If you are not the intended recipient, please delete it and notify the sender. Views expressed in this message are those of the individual sender, and are not necessarily the views of Macquarie University. http://mq.edu.au/ http://mq.edu.au/
[ https://mailman.ntg.nl/pipermail/ntg-pdftex/2018-June/004251.html ] Can anyone tell me how this issue has been resolved, if at all ? I removed the inclusion of /CharSet in the output in the pdftex source (back in July). We did not compile new TL binaries with that change. As things stand, it will be included in TL19. I imagine Christian has compiled new MiKTeX binaries since then. Hence the difference in behavior. has provided that produces a ôòümissing CharSetôòý error when validated with Adobeôòùs Preflight for PDF/A-1b. That "error" from preflight contradicts the previous information, which was that CharSet was optional, but had to be completely correct if it was included. There is no way to make it completely correct (precomposed accent agony, etc.). Therefore the idea was to omit it. -k
Hi Karl,
On 26 Jan 2019, at 9:20 am, Karl Berry
If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then I see nothing in that wording that implies CharSet is anything but entirely optional. Anyway, right now the choices are a) omit /CharSet or b) output a possibly-incorrect CharSet. If you want to have a third option c) <something else>, you (or someone) will need to send me a patch. (I highly doubt that Thanh has time to look into this.) Sorry, but that's the reality. -k
Hi Karl,
On 26 Jan 2019, at 10:01 am, Karl Berry
On 1/26/2019 12:28 AM, Ross Moore wrote:
Hi Karl,
On 26 Jan 2019, at 10:01 am, Karl Berry
mailto:karl@freefriends.org> wrote: If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then
I see nothing in that wording that implies CharSet is anything but entirely optional.
That wording is for PDF/A-2, not for PDF/A-1.
The PDF doc from MikTeX, which alerted me to this, does *not* show the CharSet error when validated for PDF/A-2 or PDF/A-3. It *does* show the error for PDF/A-1 validation. (I’ll copy you my response to the author, in a separate email.)
There are many ways in which PDF/A-1 is stricter than later versions. See here: (page 3) https://www.pdfa.org/wp-content/until2016_uploads/2011/06/19005-1_FAQ.pdf
PDF/A-1 files must include: • Embedded fonts • Device-independent color • XMP metadata
PDF/A-1 files may not include: • Encryption • LZW Compression • Embedded files • External content references • PDF Transparency • Multi-media • JavaScript
PDF/A-2 and PDF/A-3 relax many of those 'may not include’s, which are mostly things that TeX does support. The optionality of /CharSet is just another such relaxation.
just wondering: do you see any technical advantage in this CharSet bit array, other than it being an option to predict maybe font memory allocation demands or so (which then in turn is useless as the pdf format has many aspects that will bloat memory usage anyway)
Anyway, right now the choices are a) omit /CharSet or b) output a possibly-incorrect CharSet.
If there was a primitive that can control this, then that would potentially be enough, at least for the present. It would allow the CharSet to be omitted with PDF/A-2,3 but included with PDF/A-1.
in luatex it's an option
This distinction would need to be documented (in pdfx.pdf say ) so that authors can understand the issue and choose the appropriate package-loading option for their own circumstances. I’m happy to do this.
If you want to have a third option c) <something else>, you (or someone) will need to send me a patch.
I’ve looked at the coding in writefont.c for how gl_tree is set and used. But I’ve not yet looked at how the subsetted font is constructed. My thought is that the latter needs to adjust the gl_tree before it is used. As I said previously, this will be a timing issue; so I’m not confident that I could correctly write the necessary coding, using programming structures that I don’t fully understand.
i don't know about pdftex but it is something delayed to the last when the 'combined' font resource is added as different tex fonts using the same resource can get different entries (and width arrays) but share the blobs
(I highly doubt that Thanh has time to look into this.) Sorry, but that's the reality. -k it's probably not that complex; i also doubt if the quality of that vector should be perfect as probably only its prensence is checked, not its internal validity (which then would also demand checking fonts which afaik doesn't happen in detail); and i bet that viewers ignore its content anyway
Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi Hans, and others
On 26 Jan 2019, at 8:09 pm, Hans Hagen
PDF/A-2 and PDF/A-3 relax many of those 'may not include’s, which are mostly things that TeX does support. The optionality of /CharSet is just another such relaxation.
just wondering: do you see any technical advantage in this CharSet bit array, other than it being an option to predict maybe font memory allocation demands or so (which then in turn is useless as the pdf format has many aspects that will bloat memory usage anyway) I can envisage a possible use for having this knowledge of which glyphs are available internally in a font subset. PDFs are now editable, at least in Acrobat Pro. So knowing what characters are available lets software easily determine whether a simple edit that changes or adds characters to a text block can simply be performed using the embedded font subset, or whether a font substitution is needed to do the specific edit. Of course it is preferable to not have to substitute, as this can change the metrics, hence potentially making a noticeable change to the visual appearance of that text block. If you have ever tried to edit a PDF made by someone else (with TeX or Word or …) then you should have experienced how things can move around significantly within the same paragraph.
Anyway, right now the choices are a) omit /CharSet or b) output a possibly-incorrect CharSet.
If there was a primitive that can control this, then that would potentially be enough, at least for the present. It would allow the CharSet to be omitted with PDF/A-2,3 but included with PDF/A-1.
in luatex it's an option At what level? Can it be done on a font-by-font basis? That would be ideal. If just a command-line option when calling lualatex then that is kind of workable. Essentially it would require a user to have done a preflight check and found that one of the fonts has a CharSet problem. Then rerun with the option set, to get a valid PDF/A-2 (or 3) document. It would be affecting all the Type-1 fonts, not just one of them. The ability (described above) to later edit the PDF would be lost pretty much entirely.
This distinction would need to be documented (in pdfx.pdf say ) so that authors can understand the issue and choose the appropriate package-loading option for their own circumstances. I’m happy to do this.
But I’ve not yet looked at how the subsetted font is constructed. My thought is that the latter needs to adjust the gl_tree before it is used. As I said previously, this will be a timing issue; so I’m not confident that I could correctly write the necessary coding, using programming structures that I don’t fully understand.
i don't know about pdftex but it is something delayed to the last when the 'combined' font resource is added as different tex fonts using the same resource can get different entries (and width arrays) but share the blobs My understanding of the code in writefont.c is that the Font Descriptor dictionary is constructed (and written) as a complete object, before the font subset itself is constructed. For the CharSet, the entries in gl_tree are used, based upon a list of the characters explicitly using that font. This does *not* include implicit glyphs, such as /grave (and perhaps /a ) with /agrave . It was such a circumstance that initiated this conversation roughly a year ago. I looked at solutions like writing the accent characters in white, outside the page boundaries, as an /Artifact say. But this begets a range of difficulties, and could potentially affect the pagination or typesetting, and can fail other accessibility checks. I want to develop reliable means to construct documents simultaneously for both Archivability and Accessibility.
(I highly doubt that Thanh has time to look into this.) Sorry, but that's the reality. -k it's probably not that complex; i also doubt if the quality of that vector should be perfect as probably only its prensence is checked, not its internal validity (which then would also demand checking fonts which afaik doesn't happen in detail); and i bet that viewers ignore its content anyway
From the veraPDF link that Reinhard provided, it seems that presence is checked with PDF/A-1, but not accuracy. But for PDF/A-2 and 3, there is an more detailed check for accuracy. Perhaps true for viewers; but PDFs are becoming about *more* than just the visual view. We want to be providing the structures required for accurate text extraction and editing. TeX was never designed with this in mind, but because of its programmability this is something that should be achievable. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nlhttps://protect-au.mimecast.com/s/i9o5CgZ05JfPE8zwCEkFIz?domain=pragma-ade.n... | www.pragma-pod.nlhttps://protect-au.mimecast.com/s/EEOhCjZ12RflogxGHnU_YL?domain=pragma-pod.n... ----------------------------------------------------------------- Cheers. Ross
On 1/27/2019 10:00 PM, Ross Moore wrote:
PDFs are now editable, at least in Acrobat Pro.
weren't they always, given fonts being available?
So knowing what characters are available lets software easily determine whether a simple edit that changes or adds characters to a text block can simply be performed using the embedded font subset, or whether a font substitution is needed to do the specific edit.
Of course it is preferable to not have to substitute, as this can change the metrics, hence potentially making a noticeable change to the visual appearance of that text block.
If you have ever tried to edit a PDF made by someone else (with TeX or Word or …) then you should have experienced how things can move around significantly within the same paragraph.
i never edit pdf documents (ok, i remember that once i had to strip stuff in order to get a logo, but not adding something) imo editing a pdf makes no sense (and reflow even less) ... also, with respect to fonts, editing assumes all glyphs being present and with open type fonts one also enters a feature mess and gsub/gpos are not embedded alse, editing contradicts archiving
At what level?
primitive (one can omit cidsets and charsets) and i added a setter at the lua end (there was already one for cidsets)
Can it be done on a font-by-font basis? That would be ideal.
hm, in principle that can be implemented but i don't think that will happen (also, when one uses so called wide fonts there are no charsets because the type 1 becomes a sort of simple opentype)
If just a command-line option when calling lualatex then that is kind of workable. Essentially it would require a user to have done a preflight check and found that one of the fonts has a CharSet problem. Then rerun with the option set, to get a valid PDF/A-2 (or 3) document.
same control as pdftex: primitives
It would be affecting all the Type-1 fonts, not just one of them. The ability (described above) to later edit the PDF would be lost pretty much entirely.
how many people will keep using type 1 fonts ... (i only use a few that i only have in type 1, like optima nova, but even that one is used as wide font)
My understanding of the code in writefont.c is that the Font Descriptor dictionary is constructed (and written) as a complete object, before the font subset itself is constructed. For the CharSet, the entries in gl_tree are used, based upon a list of the characters explicitly using that font. This does *not* include implicit glyphs, such as /grave (and perhaps /a ) with /agrave .
which is why you use tounicode -)
It was such a circumstance that initiated this conversation roughly a year ago. I looked at solutions like writing the accent characters in white, outside the page boundaries, as an /Artifact say. But this begets a range of difficulties, and could potentially affect the pagination or typesetting, and can fail other accessibility checks. I want to develop reliable means to construct documents simultaneously for both Archivability and Accessibility.
in luatex (and probably also in pdftex) the font id (instance often is the font in the text stream and as it has specific widths it gets disctionaty with a few properties, referring to a parent font that is shared; the question is what pdftex does when there are more than 255 glyphs referred to from one type 1 font but i guess that this doesn't happen often in pdftex usage (one can try to include the full ec, texnansi, qx, some vietnamese pagella fonts and see what happens)
From the veraPDF link that Reinhard provided, it seems that presence is checked with PDF/A-1, but not accuracy.
my impression is that fonts are never validated (there are all kind of properties that one need to keep with font objects so that is a special kind of check ... viewers of course can complain but even then, i had cases where acrobat complained and showed nothing while mypdf did and vise versa (private dict stuff and so)
But for PDF/A-2 and 3, there is an more detailed check for accuracy.
Perhaps true for viewers; but PDFs are becoming about *more* than just the visual view. We want to be providing the structures required for accurate text extraction and editing. TeX was never designed with this in mind, but because of its programmability this is something that should be achievable.
sure, and it has been ... but even with that embedding a structured source for processing to me makes more sense (which of course is not what publisheres want) (more accurate would be: this is not what maro packages and the tex way of entering content is designed for nor what users have in mind; tex itself can do pretty much anything) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote: On 1/27/2019 10:00 PM, Ross Moore wrote: PDFs are now editable, at least in Acrobat Pro. weren't they always, given fonts being available? They were always trivially editable; now they are very powerfully editable indeed. Before, an edit could not change the overall bounding box of that particular stretch of text, so one was very restricted in what one can do. Now the bounding box can be re-sized, even moved — Adobe Acrobat DC is a very powerful tool for editing PDFs. i never edit pdf documents (ok, i remember that once i had to strip stuff in order to get a logo, but not adding something) I frequently do, since many "forms" that are sent out are intended to be completed by hand; I simply complete them using AADC. imo editing a pdf makes no sense (and reflow even less) ... also, with respect to fonts, editing assumes all glyphs being present and with open type fonts one also enters a feature mess and gsub/gpos are not embedded All I can say is that since using AADC, editing PDFs has become a real pleasure. ** Phil. -- <Signature> Philip Taylor
"Taylor, P"
Hans Hagen wrote: On 1/27/2019 10:00 PM, Ross Moore wrote:
PDFs are now editable, at least in Acrobat Pro.
So are PostScript files using Tailor on a NeXtstation. But that's not an inherent property of the PDF format even though it is better parseable than PostScript. Can we stop the fanbuoyship for proprietary applications on this list? They are nothing but a distraction to what TeXlive can and should provide. -- David Kastrup
David Kastrup wrote: "Taylor, P"
On 1/28/2019 11:55 AM, Taylor, P wrote:
Hans Hagen wrote:
On 1/27/2019 10:00 PM, Ross Moore wrote:
PDFs are now editable, at least in Acrobat Pro.
weren't they always, given fonts being available?
They were always /trivially/ editable; now they are very /powerfully/ editable indeed. Before, an edit could not change the overall bounding box of that particular stretch of text, so one was very restricted in what one can do. Now the bounding box can be re-sized, even moved — Adobe Acrobat DC is a very powerful tool for editing PDFs.
hm, so where does the required information about kerning, ligature building, hyphenation, contextual substitution, anchoring etc come from? i presume we're anyway not talking of documents made by tex
i never edit pdf documents (ok, i remember that once i had to strip stuff in order to get a logo, but not adding something)
I frequently do, since many "forms" that are sent out are intended to be completed by hand; I simply complete them using AADC.
but forms use widgets and those are not really typeset
imo editing a pdf makes no sense (and reflow even less) ... also, with respect to fonts, editing assumes all glyphs being present and with open type fonts one also enters a feature mess and gsub/gpos are not embedded
All I can say is that since using AADC, editing PDFs has become a real pleasure. instead of fixing the source? (i'd probably opt for html then)
but ... given this thread: we're talking of archiving and editing a scientific archived article is imo "not done' and ... for texies, if then make a pdf, they do have a source, so they can fix the source and regenerate the pdf (which also keeps them in sync) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote: hm, so where does the required information about kerning, ligature building, hyphenation, contextual substitution, anchoring etc come from? No idea, Hans; I simply use the tools that Adobe provide, and everything seems to work like magic. A very great step forward from the days of Acrobat 7. i presume we're anyway not talking of documents made by tex Probably not (I would imagine that most originated in Word) but if you like to send me a sample of something (relatively small) created using LuaTeX, I will see to what extent I can edit it using AADC. but forms use widgets and those are not really typeset You know that, and Adobe know that, but the people who send out forms do not. They send out bog-standard Word (or similar) documents with spaces for the respondent to write his (or her) answer, converted to Adobe PDF. Not wishing to hand-write on such things, I instead use AADC to insert and/or modify text and images. Even our national court service were happy to accept such a think as a part of a formal legal proceedings, with the "signature" (a jpeg from a scan) inserted using AADC. imo editing a pdf makes no sense (and reflow even less) ... also, with respect to fonts, editing assumes all glyphs being present and with open type fonts one also enters a feature mess and gsub/gpos are not embedded As I say, I have not looked into what happens internally; all I can say is "it works", in almost all cases where I have tried. All I can say is that since using AADC, editing PDFs has become a real pleasure. instead of fixing the source? (i'd probably opt for html then) I have no source; I have a PDF, originated by a third party, which I need to amend (e.g., to illustrate what can be achieved or what is desired). I have done this with wine lists, advertisements, posters, etc., sent them back to the originator, and he or she has then been able to incorporate the requested amendments in the original (Photoshop / InDesign / Illustrator / etc.) source. but ... given this thread: we're talking of archiving and editing a scientific archived article is imo "not done' Fine, that is a very different matter. and ... for texies, if then make a pdf, they do have a source, so they can fix the source and regenerate the pdf (which also keeps them in sync) Agreed. ** Phil.
Hi Phil, On 28/01/2019, at 22:44, "Taylor, P"
On 1/28/2019 7:59 PM, Ross Moore wrote:
Hi Phil,
On 28/01/2019, at 22:44, "Taylor, P"
mailto:P.Taylor@rhul.ac.uk> wrote: Hans Hagen wrote:
All I can say is that since using AADC, editing PDFs has become a real pleasure. instead of fixing the source? (i'd probably opt for html then)
I /have /no source; I have a PDF, originated by a third party, which I need to amend (e.g., to illustrate what /can/ be achieved or what is desired). I have done this with wine lists, advertisements, posters, etc., sent them back to the originator, and he or she has then been able to incorporate the requested amendments in the original (Photoshop / InDesign / Illustrator / etc.) source.
but ... given this thread: we're talking of archiving and editing a scientific archived article is imo "not done'
Why is it about *just* that? It is about adjusting pdfTeX to be able to produce PDFs that are useable in a variety of modern contexts. Editability is one of those aspects.
the "just" applies to the archiving: render a document, make sure it's ok, and put it in an archive where it's not touched (if it's a real archive)
As a lecturer and academic, I use (La)TeX for a wide variety of document types. Why should I need to use completely different software applications for class materials, lecture notes, student tests, examinations, performance reports, grant applications, conference reports, special demonstrations, and much more?
Well, this is indeed why editing pdf is not an issue is it? You use tex so you edit your source! This means that pdftex only has to create a valid pdf and not worry about it being edited.
The answer is that I do not have to with TeX, provided it allows to do all the special things in a reasonably consistent way, and all can exist compatibly within a PDF file. A feature that is obviously useful in one context could be useful also for other types of document.
Sure but editible means embedding whole fonts and such.
Fine, that is a very different matter.
No, it is not. Everything that Philip has said that he does with PDFs is very appropriate for this discussion.
He edits forms! That is widgets! And widgets are not typeset (well kind of pseudo typeset) ... just strings and choices wrapped in annotations. If one can edit and tweak them, fine, but here we're talkin gof text streams generated with a tex program (with all things fonts involved).
Essentially we need to keep TeX relevant to document production in the current age, and into the future.
It has been relevant for a few decades and will probably survide a few more. No one knows what happens from then on. If advanced html rendering had been around two decades ago, would tex be where it is now (not even pdf would be around i guess).
and ... for texies, if then make a pdf, they do have a source, so they can fix the source and regenerate the pdf (which also keeps them in sync)
Even when working collaboratively, you do not always have the full source. I frequently use APro to add hyperlinks and logos into otherwise sterile-looking PDFs produced with TeX by others, before making the
resulting PDF available, linked from public pages of a website. Hm, so archiving got a new meaning. I wonder how that works on the long run in academia: patching documents, maybe even presented results. Does
Hm, that is worrying ... that you have to mess with the pdf instead of reprocessing ... so tex is not that portable. But anyway, aghain we're not really talkling about editing content here: a logo is an image (no document fonts involved) and making a url active is applying an annotyation which again involves no document fonts. So, these don't relate to embedding fonts and charsets and ... which is what this thread is about. (btw, i'd rather ot bet tex's future on some commercial programs: just see what happens with media etc in pdf ... pretty much a waste of time to spend tex related dev time on that (in retrospect)) that also invalidate a reference to it? Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hans Hagen wrote:
Everything that Philip has said that he does with PDFs is very appropriate for this discussion.
He edits forms! That is widgets! And widgets are not typeset (well kind of pseudo typeset) ... just strings and choices wrapped in annotations. If one can edit and tweak them, fine, but here we're talkin gof text streams generated with a tex program (with all things fonts involved).
He (sometimes) edits forms. But they are real-world forms, not Adobe Acrobat forms. They are PDFs representing sheets of paper which one is meant to print and complete by hand. I do not. I edit them. I also edit menus, wine lists, posters, etc., etc., etc. All the PDFs I am sent, I can edit, to a greater or lesser degree. Edit text, add text, remove text, add images, remove images, etc., etc., etc. ** Phil.
On 1/26/2019 12:01 AM, Karl Berry wrote:
If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then
I see nothing in that wording that implies CharSet is anything but entirely optional.
that was my impression so the problem is that as soon a some validator complains we tend to 'fix' it (by inclusion again) but we really should be willing to doubt validators (interesting is that for validating the correctness of a pdf document in terms of xref and such, many pdf tools are pretty useless: when it comes to viewing, gs, mupdf, qpdf, xpdf, web stuff all have tolerance and/or recovery built in so they react differently ... only (old) acrobats can be trusted in that department)
Anyway, right now the choices are a) omit /CharSet or b) output a possibly-incorrect CharSet.
maybe we should just make a statement and always do (a) ... and as most folks use resonable modern viewers, just ignore a validators complain in that area
If you want to have a third option c) <something else>, you (or someone) will need to send me a patch. (I highly doubt that Thanh has time to look into this.) Sorry, but that's the reality. -k _______________________________________________ ntg-pdftex mailing list ntg-pdftex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/ntg-pdftex
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Hi Hans, and others.
Sent from my iPad
On 26 Jan. 2019, at 8:18 pm, Hans Hagen
If the FontDescriptor dictionary of an embedded Type 1 font contains a CharSet string, then
I see nothing in that wording that implies CharSet is anything but entirely optional.
that was my impression so the problem is that as soon a some validator complains we tend to 'fix' it (by inclusion again) but we really should be willing to doubt validators I understand what you imply here, but the practicality is different. Students (postgrads mainly) produce theses using TeX which need to be submitted to their institution's library. The library system requires valid PDF/A. This validity is checked using Acrobat, since their institution has spent money for this. Our own view on whether this is sensible or not has no bearing whatsoever. Hence we must *allow* for workflows that produce PDFs to any sensible published standard. We have to work out how to do this, else TeX will be considered a dinosaur. And we *are* smart enough to do this, provided we have the will to play this game properly. (interesting is that for validating the correctness of a pdf document in terms of xref and such, many pdf tools are pretty useless: when it comes to viewing, gs, mupdf, qpdf, xpdf, web stuff all have tolerance and/or recovery built in so they react differently ... only (old) acrobats can be trusted in that department) I've never found modern Acrobat, with Preflight, to ever be wrong. Sometimes it's been pretty hard to work out just what it is complaining about. But by viewing the correct object (after careful evaluation of the message) within a text viewer or parts of Preflight itself, the objection has always proved to be justified in the sense that something was either missing or causing a syntax error.
Anyway, right now the choices are a) omit /CharSet or b) output a possibly-incorrect CharSet.
maybe we should just make a statement and always do (a) ... No. That will lead to the greatest number of rejections from libraries. Our advice can be to use PDF/A-2 (or 3 if there are attachments) overriding any advice to submit as PDF/A-1b. Most validators check what is declared in the PDF itself, rather than what a clerk may be thinking. and as most folks use resonable modern viewers, just ignore a validators complain in that area Again, no. If a validator objects, we have to provide inexperienced authors with a way forward. Lack of clarity is harmful.
If you want to have a third option c) <something else>, you (or someone) will need to send me a patch. (I highly doubt that Thanh has time to look into this.) Sorry, but that's the reality. -k _______________________________________________ ntg-pdftex mailing list ntg-pdftex@ntg.nlmailto:ntg-pdftex@ntg.nl https://mailman.ntg.nl/mailman/listinfo/ntg-pdftexhttps://protect-au.mimecast.com/s/lhBYCP7L1Nfvzq40fj5Pk8?domain=mailman.ntg....
-- ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nlhttps://protect-au.mimecast.com/s/zVm0CQnM1WfBvm6Xcre9nY?domain=pragma-ade.n... | www.pragma-pod.nlhttps://protect-au.mimecast.com/s/MnxICRONg6sn48rGso6lkE?domain=pragma-pod.n... ----------------------------------------------------------------- Hope this helps. Ross
On 1/26/2019 12:27 PM, Ross Moore wrote:
the problem is that as soon a some validator complains we tend to 'fix' it (by inclusion again) but we really should be willing to doubt validators
I understand what you imply here, but the practicality is different. Students (postgrads mainly) produce theses using TeX which need to be submitted to their institution's library. The library system requires valid PDF/A. This validity is checked using Acrobat, since their institution has spent money for this.
Instead of complaining about the pdf they could better filter (unfinishedor invalid) crap from useful stuff and prevent further internet polution -) btw, i don't know how it's in other countries, but i wonder to what extent universities really care about long term ... it's not unusual to remove web pages (even email accounts) and such of employees that retire that they created (forcing them to host documents on another not future safe place) of students after a few years
Our own view on whether this is sensible or not has no bearing whatsoever.
Isn't it funny that a major of body of contributers of pdf's has no say in this? How competent are those making those decisions and demands. Just accepting a bit more sane standard (in the whole range of pdf standards) makes sense. I bet that at some point it will be okay anyway. (I also bet that these same institutions happily update to html 5 or whatever comes around.)
Hence we must *allow* for workflows that produce PDFs to any sensible published standard. We have to work out how to do this, else TeX will be considered a dinosaur. And we *are* smart enough to do this, provided we have the will to play this game properly.
well, it definitely makes pdf a dinosaur (or maybe it already is) (it's really funny that the standards permit other dinosauric, more complex and sort of useless, aspects of pdf) (anyway, i understand your pov; i never have to submit anything to any place; i normally add to context what users need to make the receiver happy, as long as i don't have to use it myself i don't bother too much) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
Ross, it is easy enough to make inclusion of CharSet a runtime option. I'll do it since apparently it will make you happier. However, this will merely revert to the status quo ante which you made your original bug report about, in https://mailman.ntg.nl/pipermail/ntg-pdftex/2016-June/004087.html. That report is why we made the change to omit CharSet in the first place. As I replied in https://mailman.ntg.nl/pipermail/ntg-pdftex/2018-June/004251.html that original report appears to be about including the character references for the (deprecated) seac operator. As I also wrote in my reply, although dealing with seac seems moderately doable (but not by me), in the other reported cases the accented characters are completely opaque in the original font. Thus I doubt any solution is easy. (Also, although you say we are smart enough, it seems we aren't, since none of us want to figure out what's actually needed. I know I don't. Sorry.) So, as far as I can see, including the /CharSet will only help in cases where there happen to be no accented or other problematic characters in the document. Otherwise, it seems Adobe's preflight will still fail (according to your original report). I suppose it is worth doing for those cases, but it is no panacea. It is not clear to me whether the option should default to omitting CharSet or including the likely-incorrect CharSet. What do you advise? I gather the PDF/A-1 standard is not available online. -k
On 2019-01-26 at 10:04:30 -0700, Karl Berry wrote:
I gather the PDF/A-1 standard is not available online. -k
See https://github.com/veraPDF/veraPDF-validation-profiles/wiki It provides at least section 6 (Technical Requirements). Statements in sections "Requirement" are from the ISO specs. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------
Hi Reinhard, Karl, Philip and others.
On 27 Jan 2019, at 4:53 am, Reinhard Kotucha
I gather the PDF/A-1 standard is not available online. -k
See https://github.com/veraPDF/veraPDF-validation-profiles/wikihttps://protect-au.mimecast.com/s/GFxqCD1vRkCjYg69h52RoW?domain=github.com It provides at least section 6 (Technical Requirements). Statements in sections "Requirement" are from the ISO specs. Thanks for this link, and also Phil’s message. I’ll add this into the Bibliography of pdfx.pdf . Looking at: https://github.com/veraPDF/veraPDF-validation-profiles/wiki/PDFA-Part-1-rule... Rule 6.3.5-2 for PDF/A-1 https://github.com/veraPDF/veraPDF-validation-profiles/wiki/PDFA-Parts-2-and... Rule 6.2.11.4-3 for PDF/A-2 and PDF/A-3 it becomes clear that • PDF/A-1 requires a CharSet entry to exist, but places no requirement on its accuracy • PDF/A-2,3 relaxes this to being optional, but if present the CharSet must be accurate. So when the new primitive becomes available I’ll adjust coding in pdfx.sty to: * include the CharSet when building PDF/A-1b * omit the CharSet when building PDF/A-2b or PDF/A-3b (and u flavours) That should satisfy these rules. It then must be documented that if validation due to an incomplete CharSet occurs with PDF/A-1 the author should upgrade to PDF/A-2 to avoid having the bad CharSet. But that error should not occur, unless the validator is being more picky than required. All I need is the name of the new primitive, and which values will correspond to include/exclude, to be able to write this new (La)TeX coding, by testing for the csname . This will allow pdfx.sty to support this for TeXLive 2019. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ————————————————————————————————— All the best, Ross Dr Ross Moore Department of Mathematics and Statistics 12 Wally’s Walk, Level 7, Room 734 Macquarie University, NSW 2109, Australia T: +61 2 9850 8955 | F: +61 2 9850 8114 M:+61 407 288 255 | E: ross.moore@mq.edu.aumailto:ross.moore@mq.edu.au http://www.maths.mq.edu.au [cid:image001.png@01D030BE.D37A46F0] CRICOS Provider Number 00002J. Think before you print. Please consider the environment before printing this email. This message is intended for the addressee named and may contain confidential information. If you are not the intended recipient, please delete it and notify the sender. Views expressed in this message are those of the individual sender, and are not necessarily the views of Macquarie University. http://mq.edu.au/ http://mq.edu.au/
On 2019-01-26 at 21:21:17 +0000, Ross Moore wrote:
On 27 Jan 2019, at 4:53 am, Reinhard Kotucha
wrote: Thanks for this link, [...]
Mojca thankfully mentioned veraPDF some time ago. IMO veraPDF is quite promising because it seems to be developed like TeX (investigate thoroughly before writing the first line of code). Furthermore, an invaluable feature of veraPDF is that its source code is available. An online validator once complained about an erroneous /GlyphSet in a PDF file produced by LuaTeX. I extracted the font (CharisSIL) and disassembled the TTF with TTX/FontTools. Then I reverse-engineered the /GlyphSet and came to the conclusion that the /GlyphSet produced by LuaTeX is fully compliant with the PDF and PDF/A standards. The web site offered me to convert my document to PDF/A-1b but they simply removed /GlyphSet and *their* validator said that the PDF/A-1b file I created with *their* tool is correct. But without access to the source code I'll never be able to find out why the /GlyphSet was considered wrong. In short: I'm convinced that veraPDF is a very good thing. Keep in mind that Adobe Acrobat Pro isn't available on platforms used by the majority of TeX users. And most TeX users (not only at schools and universities) cannot afford proprietary software or are not willing to pay for it. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------
Reinhard Kotucha wrote:
Keep in mind that Adobe Acrobat Pro isn't available on platforms used by the majority of TeX users.
Surely the majority of TeX users are Windows users, are they not ? And AAC is available for Microsoft Windows.
And most TeX users (not only at schools and universities) cannot afford proprietary software or are not willing to pay for it.
Even as a formerly poorly paid member of the academic community, now in even more penurious retirement for 11 years, I can afford the measly £14 per month to licence the full Adobe Creative Cloud suite ! The academic pricing offered for Adobe CC makes this a most worthwhile investment, since not omly do I get full Adobe Acrobat DC, I get Photoshop, Lightroom, Illustrator, InDesign, Dreamweaver, and many many more. An absolute bargain. ** Phil.
All I need is the name of the new primitive, and which values will correspond to include/exclude, \pdfincludecharset=0 (default) -> no /CharSet \pdfincludecharset=1 -> /CharSet included Just now committed to pdftex and TL repos. Hope it works out. -k
Hi Karl,
On 28 Jan 2019, at 9:35 am, Karl Berry
wrote: All I need is the name of the new primitive, and which values will correspond to include/exclude,
\pdfincludecharset=0 (default) -> no /CharSet \pdfincludecharset=1 -> /CharSet included
Just now committed to pdftex and TL repos.
Great. Thanks for this.
Hope it works out. -k
The only thing is that you might want to consider swapping the default, for backwards compatibility reasons - nothing to do with PDF/A. Building CharSets has been the norm for many years. My email from earlier today gives a reason why CharSets can be useful. It’s only when building specifically PDF/A-2, 3 that the validation issue has emerged, and only with some documents and fonts. Now that we have the means to cope, we are unlikely to get complaints. On the other hand, we the developers know that sometimes we could be building PDFs that contain a small defect; with fixing it a task for the future. Opinions? Cheers Ross
The only thing is that you might want to consider swapping the default, for backwards compatibility reasons - nothing to do with PDF/A. I wish you had answered my earlier question about that. Or maybe I missed it. Changing the default means messing with everything again, since I'd want to name it differently for consistency with many other parameters. So forget this name, I'll change it to \pdfomitcharset and commit again. Will let you know. -k
On 7/6/2018 11:32 PM, Karl Berry wrote:
Perhaps we could just have a command-line switch that allows writing the /CharSet to be omitted?
Not a command-line switch. It could be another \pdf... parameter, but I wonder if we can just make things simpler and never output the /CharSet, instead of bothering to make it conditional. I know that's ok for validation, the question is whether it would cause problems in practice. Since, as we know, its contents are likely to be incorrect, I surmise/hope the answer is no.
So: Does anyone know of anything using the /CharSet value from pdftex's output?
that question can be asked for more pdf stuff ... one never knows (nor does one ever know if something a little beyond just texts and simple fonts keeps working in viewers etc) an option that can be set in the format is cheap and those who feel sure can do that then (freeing us from decisions) .. a command line switch is (at least for luatex) no realistic option as we then, for consistency reasons, have to add another dozen flags related to similar issues (there's also sometimes compatilibility stuff hidden in the details as we recently found out wrr to compressed xref streams) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl -----------------------------------------------------------------
I disabled the /CharSet output in pdftexdir/writefont.c with a compile-time conditional ENABLE_PDF_CHARSET (r48169 in TeX Live), but left all the code in place just in case we need to reenable it. As discussed, there is no feasible way to guarantee its correctness. I surmise Akira will build a new pdftex for w32tex soon enough, and so we'll get some testing that way before the next release. Norbert, maybe you would like to insert that change for the next round of Debian updates too? BTW, I noticed that /CharSet was already output only for subsetted Type1 fonts, so nothing could have reliably depended on it always being present anyway. -k
Hi Karl,
we'll get some testing that way before the next release. Norbert, maybe you would like to insert that change for the next round of Debian
Will do that. I will actually build a new set of binaries from current svn, because the number of patches I have pulled back were already too big ;-) Best Norbert -- PREINING Norbert http://www.preining.info Accelia Inc. + JAIST + TeX Live + Debian Developer GPG: 0x860CDC13 fp: F7D8 A928 26E3 16A1 9FA0 ACF0 6CAC A448 860C DC13
Hi again,
Just one more thing to add.
On Jun 11, 2016, at 8:57 AM, Karl Berry
On 2016-06-10 at 03:58:05 +0000, Ross Moore wrote:
1. TeX cannot easily be persuaded to include /space within the font subset;
Dear Ross, if the font you are using contains a glyph for /space, it should be sufficient to type \char 32 somewhere in your document and the /space should appear within the font subset. There is probably no \space in Computer Modern but a macro can always steal a /space from another font. I assume that there is a /space in Computer Modern Typewriter. Regards, Reinhard -- ------------------------------------------------------------------ Reinhard Kotucha Phone: +49-511-3373112 Marschnerstr. 25 D-30167 Hannover mailto:reinhard.kotucha@web.de ------------------------------------------------------------------
On 6/11/2016 1:32 AM, Reinhard Kotucha wrote:
On 2016-06-10 at 03:58:05 +0000, Ross Moore wrote:
1. TeX cannot easily be persuaded to include /space within the font subset;
Dear Ross, if the font you are using contains a glyph for /space, it should be sufficient to type \char 32 somewhere in your document and the /space should appear within the font subset.
this is why long ago (so maybe forgotten) \pdfincludechars was introduced (because in widgets one also needs to have glyphs present for editing) (i remember using the 'put wanted glyph typeset white one meter in the margin outside mediabox' trick but that could confuse viewers) Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------
Hi Hans,
Great to hear from you.
On Jun 12, 2016, at 7:28 PM, Hans Hagen
\T1/fve/m/n/17.28 . <recently read> \font
l.31 \showthe\font ./test-berafont.tex:32: pdfTeX error (font): command cannot be used with virtua l font. ? l.32 \pdfincludechars\font {\'{ }a} ./test-berafont.tex:32: ==> Fatal error occurred, no output PDF file produced! Transcript written on test-berafont.log. The same thing happens with the hebart example.
\HE8/cmr/m/n/12 . <recently read> \font
l.39 \showthe\font ? ./hebart.tex:40: pdfTeX error (font): command cannot be used with virtual font. l.40 \pdfincludechars\font {\char32'\char39} ./hebart.tex:40: ==> Fatal error occurred, no output PDF file produced! Besides, how is one supposed to know which extra glyphs need to be added? What I don’t understand is that if the glyphs are needed to make the font subset usable, then this means adding the coding for glyphs which are called by other characters. So the names of these (sub-glyphs, if you like) should be able to be added to the /CharSet list. (I’m saying this without having examined the actual coding.) Is there really a problem with coding this? Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | www.pragma-ade.comhttp://www.pragma-ade.com | www.pragma-pod.nlhttp://www.pragma-pod.nl ----------------------------------------------------------------- Cheers, Ross Dr Ross Moore Mathematics Dept | Level 2, S2.638 AHH Macquarie University, NSW 2109, Australia T: +61 2 9850 8955 | F: +61 2 9850 8114tel:%2B61%202%209850%209695 M:+61 407 288 255tel:%2B61%20409%20125%20670 | E: ross.moore@mq.edu.aumailto:rick.minter@mq.edu.au http://www.maths.mq.edu.auhttp://mq.edu.au/ [cid:image001.png@01D030BE.D37A46F0]http://mq.edu.au/ CRICOS Provider Number 00002J. Think before you print. Please consider the environment before printing this email.http://mq.edu.au/ This message is intended for the addressee named and may contain confidential information. If you are not the intended recipient, please delete it and notify the sender. Views expressed in this message are those of the individual sender, and are not necessarily the views of Macquarie University.http://mq.edu.au/
participants (8)
-
David Kastrup
-
Hans Hagen
-
Hans Hagen
-
Karl Berry
-
Norbert Preining
-
Reinhard Kotucha
-
Ross Moore
-
Taylor, P