Starting to investigate test failures on our non-Windows builds and a lot of them are due to various differences in the output on each platform.
Hi Nuix,
I’m attaching the results for v8.3.0. Each image looks different to the previous results, but the two results look different to each other still, as well as the positioning being different.
Hi Nuix,
String[] _fontDir = new String[] {fontDir};FontsLoader.loadExternalFonts(_fontDir);
Hi Nuix,
Still happens on v8.5.0. Actually, the difference is even more pronounced on 8.5.0.
Hi Nuix,
Hi Nuix,
Hi Nuix,
Our development team has investigated the issue SLIDESJAVA-34347. It has been observed that Presentation simple_2010.pptx uses Arial font for bullets. Please install Arial font or to copy Arial font in your MAC and use FontsLoader.LoadExternalFonts() method to load that externally. Please share, if I may help you further in this regard.
//Loading font directory
FontsLoader.loadExternalFonts(new String[]{path+“Font\”});
Many Thanks,
- We have that font already. It’s a standard font shipped with the OS.2. As you can see from our screenshots, the bullets are exactly the same size.3. Font differences don’t explain the text being in a completely different position.4. Please write some unit tests of your own as it’s pretty obvious you’re not doing it already.
Hi Nuix,
Thanks for your feedback. I have shared the comments with our development team in respective associated ticket and will get back to you as soon as any further information is shared by our development team in this regard.
Many Thanks,
Hi Nuix,
Our development team has investigated the issue on their end. Actually, in the attached images generated in Mac the Aspose.Slides has used Calibri font for bullets instead of Arial font.
Can you please share the Arial and Calibri fonts directories on your Mac installation. It will help us to understand why Aspose.Slides found Calibri and not found Arial.
Please also provide complete MAC, Windows and complete JDK versions used on both MAC and Windows on your end. Please also not that there are some JDKs like JDK 16_45 and JDK 1.7_21 that have issue with Calibri font rendering. Please also make sure that you must not use the shared JDK versions on your end.
Please share the requested information so that we may help you further in this regard. For the time being you can please use the FontsLoader.LoadExternalFonts() method to load missing Arial font in your MAC environment to get things going on.
Many Thanks,
Attached zip includes Mac and Windows fonts for both Arial and Calibri.
nuix:
As part of our attempt to get consistent behaviour across all platforms, we already use FontsLoader.loadExternalFonts to load all fonts used in all tests from a local directory. (You can see that in the code example we already provided as well.)This local testing fonts directory contains both Arial and Calibri already. Problem is, there is only this "loadExternalFonts" method. I know that FontsLoader loads the system-wide fonts regardless, because we have another ticket open about an AccessControlException caused by it doing that during our unit tests. So that could perhaps also explain the rendering differences. For this sort of reason, it would be very helpful if there were API to set *exactly* which fonts to use. That way, we would know that there can't be any other rogue font files being loaded.The loadExternalFonts method load the fonts from a directory that you have set in arguments of the method. Aspose.Slides loads all the fonts specified in the local directory specified by you just the same way Java loads the fonts from Windows installation. This support is not available that a mechanism may be provided to load the selected fonts in LoadExternalFonts from the directory. You can do this on your end by keeping only those fonts that are required in LoadExternalFonts method directory. You should not place such fonts that are not required in LoadExternalFonts method directory and it also makes sense as well. You can also copy individual fonts in individual directories and then load the directory references on run time for desired fonts only in LoadExternalFonts method. This way you will be able to achieve what you are looking for.Many Thanks,
Version of OSX being used at the moment is: Mac OS X 10.10.1 (14B25)
Anyway, font differences aside, how do you explain the first page – which doesn’t even have any bullets – having the same fonts but two different font sizes? That’s the biggest problem, in my opinion. I don’t care if a bullet is subtly different, and our test framework might not care either. The text being in completely the wrong place at the wrong size definitely causes a failure, though. I think you should fix the bigger issue before worrying about the bullet.
Hi Nuix,
Thank you for sharing the feedback. We are investigating the both issues on our end and will share the feedback with you as soon as the issues will be resolved.
Many Thanks,