Hi,

This is my first post to the list, and I apologize in advance for any naivete revealed by my question. However:

BACKGROUND:
I have a project for which my team is extracting text from a large number (~100K) of PDF files from scientific publications. These PDFs come from a wide variety of sources. They often use obscure-sounding fonts for symbols, and those fonts do not seem to include toUnicode data in the PDFs themselves. The mapping in these fonts is not obvious and needs to be determined on a case-by-case (often character-by-character when the font info is unavailable online) basis.

I have been accumulating my own table of character mappings for those fonts, focusing on characters of most interest to our team (certain symbols). I would like to be able to apply that table during text-extraction by pdftotext, but I don't see any way to do that currently. Since complaints about obscure non-documented font/character mappings are common online, application of such a table seems like something that would be of potentially broad interest.

REQUEST:
Ideally, I'd like to be able to take a 3-column table (see below) that I have built and supply it to pdftotext at runtime. The table would be applied in cases where a given character from a given font appears in a PDF, no toUnicode table is supplied in the PDF, and the character does appear in the supplied table (characters missing from the table would continue to be extracted the way pdftotext does it today - i.e., characters missing from the table should have no effect).

The table would simply be a tab-delimited 3-column file with:
1. fontname, e.g. AdvP4C4E74 or AdvPi1 or YMath-Pack-Four, but NOT things like NJIBIE+YMath-Pack-Four 2. font character (could supply an actual character, or a hexadecimal codepoint) 3. desired Unicode mapping (again - could be an actual character or a codepoint)

Exact table format isn't a big deal, but the above info is all that should be needed.

If there is *already* a way to do this in pdftotext, please let me know. If there is a stopgap method by which I could add such info to Poppler source somewhere and then recompile (hard-coding the table), please let me know - I'm fine with that for short-term use though I think a runtime table would be much much more flexible and useful.

Thanks!
--Jeff Lerman

_______________________________________________
poppler mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/poppler

Reply via email to