Garbled text when opening PDFs in draw?


I’m sorry if this belongs in the “bug” area instead of the general question area. This just started happening today - everything was working fine yesterday. I attempt to open a PDF in draw and the text appears super garbled, not just disorganized, but instead of the word “potato” the text reads “8%Jf1P&” or something like that. This only appears to happen in certain fonts.

The font in question is “cafeteria” (example here). When I first installed libreoffice, I did not have cafeteria installed on my computer. When I attempted to open a PDF containing that font, libreoffice chose a replacement font. Then, I installed cafeteria, and the files opened just fine, with the text appearing as it should. But now, a day later, even with cafeteria installed, I’m getting this garbled text. I’ve tried uninstalling the font, reinstalling the font, and reinstalling libreoffice. No dice.

Any time the font appears messed up, it’s supposed to be the cafeteria typeface. Please let me know if there’s anything I can do, or if this should be moved to the “bugs” section.

I’ve edited this post to include a screenshot. To clarify, the PDF on the right is the one I opened in draw. The image on the left is the way it appeared during editing, and also how it appeared when I saved it as a new PDF.

I believe the type of font is OTF - at least that’s how it appears when I examine the font properties in my fonts system folder.


(Edit: activated image -AK)

Please edit the question to include a screenshot (you should have enough karma now). Also indicate (exactly) what a particular piece of text does display and what is it expected to display. If you can indicate the packaging (Type1, TTF, OTF) of the font that may also help. Thanks.

I have edited my original post - thanks for your help!

Thanks for providing a screenshot. The problem is one of font substitution. There appears to be a copy of the original editable document here. Examining that document, the pieces of text that are not displaying correctly, indicates that they are set in Trebushet MS (title) and Arial (list items). It may be that a subset of the Caffeteria font is embedded in the PDF, but Draw cannot make use of embedded font subsets (related enhancement request to get this functionality is fdo#82163).

My guess about what is likely happening is that the Caffeteria font is using non-standard ranges / code-points for characters, but I would need to examine the font to confirm this. If this is the case, when font substitution occurs, the character in the font being used instead of Caffeteria is not the same one e.g., “C” instead of “L”. You could try manually creating a font substitution entry (Tools > Options… > LibreOffice > Fonts) but this will be of no assistance if the Caffeteria font is non-standard in the manner described.

Thanks for your answer. Is there any way to explain why I could initially open files without any problems (even the very same file that I included the screenshot of) and then all of a sudden everything stopped working? Is there anything I can do, or are you basically saying that I can’t open these files with LibreOffice?

@MikeV a link to the PDF will help more clearly determine what the exact problem is and what can be done about it (if anything).

@oweng Here’s a link to the file. Please let me know if there is anything else I can do.

The header/footer areas appear to use the CaffeteriaIdentityH font and the list items the StoneSansIdentityH font. Note the non-standard font naming. Unless you have these unusually named fonts installed, the rendering will be according to font substitution.

@oweng I have used font editors and confirmed that the ranges/code-points are all mapped normally for the Cafeteria font. I am not sure why LibreOffice thinks there’s a font called CafeteriaIdentityH. In the past, I have opened these very same files using Adobe Acrobat Pro and the font is simply called Cafeteria.

At this point, I don’t care whether or not the document loads with the Cafeteria font or some replacement font. Is there any way to make that happen?