Word to PDF conversion bullet symbols not correctly displayed

Hi Team,

I am using the latest version of Aspose.Words.

When I try to convert word document that has bullet symbols into PDF, the symbols are not displayed properly.

This issue occurs only on Mac but not on Windows.

Please find attached the test case:

WordtoPDF_BulletPunktSymbole.zip (8.5 KB)

Tested Word document:
BulletPoint.docx (13.4 KB)

Aspose Converted pdf:
preview.pdf (50.8 KB)

I have also the Symbol and related fonts installed in my Mac:
Font1.jpg (180.3 KB)
Font2.jpg (120.7 KB)

Could you please look into the issue?

Thanks and Regards,
Arne

@arne411 It is a known peculiarity. Windows “Symbol” font is a symbolic font (like “Webdings”, “Wingdings”, etc.) which uses Unicode PUA. Thus substitution of this font will cause different glyphs rendering. Provided Mac “Symbol” font on the other hand is a proper Unicode font (for example Greek characters are in the U+0370…U+03FF Greek and Coptic block). So these fonts are incompatible and Mac “Symbol” font cannot be used instead of Windows “Symbol” without additional actions. In this particular case you have to change the bullet codepoint from PUA U+F0B7 (or U+00B7 which also can be used in MW for symbolic fonts) to the U+2022 in the document to use the Mac “Symbol” font. See the following code for example:

Document doc = new Document("/Users/mac1/Downloads/BulletPoint.docx");

for (com.aspose.words.List lst : doc.getLists())
{
    for (com.aspose.words.ListLevel level : lst.getListLevels())
    {
        if (level.getFont().getName().equals("Symbol") && level.getNumberFormat().equals("\uF0B7"))
        {
            level.setNumberFormat("\u2022");
        }
    }
}

doc.save("/Users/mac1/Downloads/out1.pdf");

Hi,

Thanks for the fix. It works with the workaround. Kindly close the issue.

Thanks and regards

Arne

Hi,

Just a final question. Will this workaround be included in your latest or future versions as well?

Thanks and regards

Arne

@arne411 This behavior is not considered as a bug in Aspose.Words code. So the suggested workaround will not be included into Aspose.Words code.