Hi, I have a PPT file (please see the attachment) and want to confirm if PPT Slides support (Ink Free Font)
Original PPT: font ppt issue.zip (5.0 MB)
PPT: inkfree.JPG (68.1 KB)
Note: Aspose PPT version used: name: ‘aspose-slides’, version: ‘24.3’
Language used: Java
Fonts installed in Docker file:
apt-get install -y awscli wget zip python3-pip xfonts-utils ca-certificates cabextract xfonts-intl-chinese fonts-arphic-ukai fonts-arphic-uming fonts-ipafont-mincho fonts-ipafont-gothic fonts-unfonts-core procps grep && \
wget http://ftp.de.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.7_all.deb && \
wget -O dd-java-agent.jar 'https://dtdg.co/latest-java-tracer' && \
dpkg -i ttf-mscorefonts-installer_3.7_all.deb && \
rm ttf-mscorefonts-installer_3.7_all.deb && \
Let me know if you are able to reproduce the issue. Can you please help on this if I need to add anything to fix the issue.
Thank you!
@ankitagupta17,
Thank you for contacting support. I am working on the issue and will get back to you soon.
@ankitagupta17,
Thank you for your patience.
- Please check whether the font is actually installed on the OS. You can see all fonts using the following code:
public void PrintFonts() {
GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
for (java.awt.Font font : ge.getAllFonts()) {
System.out.println(font.getName());
try {
Object font2D = null;
try {
font2D = Class.forName("sun.font.FontUtilities").getDeclaredMethod("getFont2D", new Class[]{java.awt.Font.class})
.invoke(null, new Object[]{font});
} catch (Throwable ignored) {
try {
font2D = Class.forName("sun.font.FontManager").getDeclaredMethod("getFont2D", new Class[]{java.awt.Font.class})
.invoke(null, new Object[]{font});
} catch (Throwable e) {
}
}
java.lang.reflect.Field platNameField = Class.forName("sun.font.PhysicalFont").getDeclaredField("platName");
platNameField.setAccessible(true);
if (font2D != null) {
System.out.println(platNameField.get(font2D));
}
} catch (Throwable e) {
}
}
}
-
Check whether the font is available for your application. You can try to read the font file.
-
If the font is not installed on the OS, then alternatively, you can load the font in the application runtime as below:
String[] folders = new String[] { "path_to_a_folder_with_fonts" };
FontsLoader.loadExternalFonts(folders);
Custom PowerPoint Font in Java|Aspose.Slides Documentation