Feb 20, 2009

Embedding Fonts in PDFs

I encountered a really annoying issue with OpenOffice. The export function is not really reliable.

I am using Impress in OpenOffice on Linux to create a presentation. The presentation is later to be reproduced on a Windows PC. During rehearsals on Windows and MacOS, the exportation exported to powerpoint ppt format had the layout messed up. Opening the presentation in OpenOffice in Windows or MacOS there appeared issues with images that did not load. While the images displayed normally otherwise (in the slide pane and in normal view) they did not display in presentation (full screen) mode.

In order to be safe I wanted to create a PDF document. Because OpenOffice doesn't support export of animations as far as I could see, so I had to make some changes before exporting to PDF.

Now I wanted to make sure all fonts were embedded. This is done using pdffonts in linux.

> pdffonts my_presentation.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BAAAAA+LiberationSans-BoldItalic TrueType yes yes yes 306 0
CAAAAA+LiberationSans-Bold TrueType yes yes yes 271 0
DAAAAA+LiberationSans-Regular TrueType yes yes yes 291 0
EAAAAA+OpenSymbol TrueType yes yes yes 261 0
FAAAAA+LiberationSerif-Regular TrueType yes yes yes 266 0
GAAAAA+cmr10 TrueType yes yes yes 256 0
Symbol Type 1 no no no 307 0
IAAAAA+LiberationSans-Italic TrueType yes yes yes 301 0
NimbusSanL-Regu Type 1 yes no yes 312 0
KAAAAA+DejaVuSans TrueType yes yes yes 281 0
LAAAAA+LiberationSerif-Italic TrueType yes yes yes 276 0
MAAAAA+DejaVuSans-Bold TrueType yes yes yes 296 0
NAAAAA+LiberationSerif-Bold TrueType yes yes yes 286 0

Obviously they were not. Is this related to the bug report here, which is marked as resolved/closed since 2004?

I have no idea why there are so many fonts, but who cares, I thought. It should work anyways.

The format PDF/A-1, supported in OpenOffice since version 2.4 includes font embedding and I checked that this option actually embeds the fonts, however while exporting to pdf, open office warns transparency.not supported and the presentation does not open in acrobat reader and even crashes it (some color problem).

I spent several hours searching the internet and trying out different things. I think I am by far not the only one with the same problem! I tried converting to ps and back (ps2pdf -dEmbedAllFonts=true -dUseFlateCompression=true) and optimizing the pdf with pdfopt, but results were not satisfying (pdf very big and in bad resolution).

I think I would have an easier life with a double boot or a virtual machine running windows. How annoying.

It is consoling that in rehearsal, the exported PDF didn't give any problems with fonts. However can I trust that it will be ok for the actual presentation?

Post scriptum - Extended PDF

The version at sourceforge is outdated, and that you have to fill out a form with your name and email address in order to receive the last version. The homepage of extended pdf is here. However the manual still refers to the standard installation path of openoffice 1.2 and requires locating an exe file. I found out that there is a linux binary of the same name (obviously without the exe extension) for older systems, which is deprecated. The solution is to execute either the extension manager under tools in openoffice or to execute in the terminal: unopkg add -v -f extendedPDF.zip. I also had to remove a few lines in a macro which produced an error.

I finally found out that extended PDF does the same as what I tried before with ps2pdf. It actually produced a pdf file of 111Mb which was of bad quality.

Feb 5, 2009

Formulas in OpenOffice

In latex it's really easy to write mathematical formulas. When I use OpenOffice, should I have to push buttons in the formula editor? No! I googled latex openoffice and found OOoLatex. There is no package yet for ubuntu, but installation is quite fast, following the detailed instructions in this forum post, which can mostly just be pasted directly into the terminal. So now I can enter formulas directly and they are freely scalable. Thanks!