Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I have a very weird task. There is a compiled PDF document with guidelines on a mathematical subject. It is in Russian, hence it contains a lot of Russian symbols in plain text and a lot of mathematical symbols in formulas. Here is a short sample:

Source document

I need to print this document with invisible plain text, i.e. to print only the formulas and mathematical symbols. Like the following:

Corrected document

Document is compiled with LaTeX, but sources are unavailable. The only thing I can think of is somehow to remove or substitute all the Russian fonts in the document. But they are not embedded and I can't even locate them in my Windows! Here is the screenshot of fonts used in the document from Adobe Acrobat:

Document fonts page 1 Document fonts page 2

My ultimate task is to obtain a printed copy of this document. So if one could tell how to make all Russian symbols white - it would be acceptable solution. Any suggestions are welcome.

And a couple of small questions just for me to understand how it works:

  1. Where are these fonts stored in my Windows 7 x64 OS? There are no such entries in my C:\Windows\Fonts\ folder.
  2. What utility should I use for low-level edit of a PDF document? I.e. like fonts manipulation?

Update

Using Adobe Acrobat I've checked the fonts of shown fragment. It is SFRM1200 for plain text, SFTI1200 for italic, CMMI12 and others for mathematical symbols. So now the question is how to unembed SFTI1200 and CMMI12 fonts from the document? I expect that once I unembed them, a reader wouldn't be able to render them correctly and will substitute them on some meaningless symbols, like squares. It is even more acceptable for my task.

share|improve this question
    
all the fonts shown on the list are the "usual" computer modern and euler fonts distributed with all tex systems (that i'm aware of). the only difference is that the names are all uppercase, whereas most current tex systems use lowercase names. check that first. the names of the russian fonts aren't shown; perhaps they're further down on the list, not shown in your screen shot. if those can be identified, i'm sure someone can help; what's important is to know the widths of the cyrillic letters so that the space they occupy can be matched exactly. –  barbara beeton Jan 8 '13 at 14:33
    
@barbarabeeton See the picture with the second fonts page and updated section please. –  Mikhail Jan 8 '13 at 14:49
    
i can't say how to unembed fonts from a pdf document, but i can identify the sm* fonts -- they are part of the cm-super collection, and the pfb (type 1 binary) files, all the ones cited, are on ctan in the area fonts/ps-type1/cm-super/pfb/. again, the file names are all lowercase on ctan. i hope that helps. –  barbara beeton Jan 8 '13 at 15:46
    
Even if you succeed, you will have lots of punctuation left over. Removing punctuation will probably break formulas. –  Boris Bukh Jan 8 '13 at 16:01
    
@BorisBukh Acrobat tells me punctuation has the CMMI12 font, and this font will be unaffected. –  Mikhail Jan 8 '13 at 16:06

1 Answer 1

up vote 1 down vote accepted

Here is my solution.

  1. Use pdffonts utility from Xpdf package to list full names of the fonts in the document. Now we know that the font SFRM1200 has the full name ABEHUC+SFRM1200. I have no idea what these "full names" mean.

Full font names

  1. Use ghostscript utility to unembed selected fonts with the following command:

    "n:\Program Files\gs\gs9.06\bin\gswin64c.exe" ^
    -dBATCH ^
    -dNOPAUSE ^
    -sOutputFile=output.pdf ^
    -sDEVICE=pdfwrite ^
    -dPDFSETTINGS=/default ^
    -dEmbedAllFonts=true ^
    -c ".setpdfwrite <</NeverEmbed [/ABEHUC+SFRM1200 /ICZOQF+SFTI1200]>> setdistillerparams" ^
    -f POSOBSBR.pdf
    

    Thanks to this post on SO for the hint. Note how the full names of the fonts are listed under the /NeverEmbed switch.

That's how the result looks after processing:

Result

Thanks for you help!

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.