Home Forums General XMetaL Discussion Generate PDF with Symbol, Courier New and Wingding Reply To: Generate PDF with Symbol, Courier New and Wingding

Derek Read

Reply to: Generate PDF with Symbol, Courier New and Wingding

The documentation for XEP does in fact clearly state that it only supports Unicode encoded fonts (http://mediawiki.renderx.com/index.php/XEP_User_Guide/Appendix_C_Supported_Fonts). I suspect that they are unlikely to alter this but you might wish to check with them anyway.

A quick test using the Windows charmap.exe tool shows me that it is not a Unicode font. See my screenshot called charmap_test.jpg — if it was a Unicode font then the features highlighted in red would be enabled.

One workaround might be to try to locate a Unicode font that has the same (or similar glyphs) in it mapped to the characters you want represented that way and use it instead.

However, I suspect your issue is a little more complex than you understand it to be.

Wingdings is representing characters in a non-standard way w.r.t. Unicode. The glyphs it uses for characters do not match those suggested in the Unicode specification and are in fact not even close. This is because wingdings is from an earlier time when fonts were limited to containing only 256 characters and Unicode did not exist. So for example, if you use Notepad and set it to use Wingdings as the font and you enter the letter “a” you see the glyph that represents the astrological symbol “[url=http://en.wikipedia.org/wiki/Cancer_%28astrology%29]cancer[/url]”. If you were doing everything in Unicode you would insert the [url=http://unicode.org/charts/PDF/Unicode-6.0/U60-2600.pdf]Unicode character U+264B[/url] (see column 265 row B in that PDF), then use a font that contains a glyph for this character.

By default, documents created by XMetaL Author Enterprise as well as those generated by the DITA OT to be passed on to XEP to generate PDF files from are encoded in UTF-8 encoding (Unicode). Unicode is generally the way to go, and I would stick with it as much as possible so that you don't end up putting characters into files that aren't actually the characters you want. This will remove your dependency on a particular font (in your case wingdings). You will still need to locate a font that has glyphs for your special characters, but all Unicode fonts are supposed to encode glyphs using the correct character number (called a code point), if they contain a glyph for that character. This means that your problem is reduced simply to locating a Unicode font that defines the character you need. You can use these websites to aid with that:
or as mentioned above, the charmap.exe tool is also useful as it helps to check on a particular font you already have installed.

The best solution (in my opinion) is to use a Unicode font that maps characters to glyphs that are “correct” (ie: they have some resemblance to what one would expect them to be as described in the Unicode spec) but this may then require you to change the characters you are using for input to be the “real” characters as defined by Unicode. Depending on which glyphs you want to see out of wingdings.ttf this might require you to use more than one alternative Unicode ttf file.

This sounds confusing but I'm not sure I can explain it any better. If you have specific characters in mind (perhaps you only use one or two in Wingdings) then knowing what they are might allow me to give an answer that is shorter and easier to understand.