[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17552036#comment-17552036 ] Georg Berky commented on FOP-3062: -- I can confirm the problem: [https://stackoverflow.com/q/72033977/4862767] I'm also on an M1 Mac. The font is different, but it seems to be a general problem with fonts. > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png, > propagate_use_advanced.patch > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at >
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519767#comment-17519767 ] Simon Steiner commented on FOP-3062: We will fix the assertion failure > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png, > propagate_use_advanced.patch > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.j
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519752#comment-17519752 ] Richard Zowalla commented on FOP-3062: -- A possible fix / solution / workaround would (maybe - I was just looking at the code) probably be: 1. Pass "useAdvanced" as a new parameter to FontInfoFinder#find(...). To avoid breaking the API, we could do something like: {code:java} public EmbedFontInfo[] find(URI fontURI, InternalResourceResolver resourceResolver, FontCache fontCache) { return find(fontURI, resourceResolver, fontCache); } public EmbedFontInfo[] find(URI fontURI, InternalResourceResolver resourceResolver, FontCache fontCache, boolean useAdvanced) { ... } {code} 2. Add a boolean property for "useAdvanced" to the FontManager (?) to propagate to the FontFinderInfo / FontAdder. Note: If "complexScriptFeaturues" has the same meaning ie is semantically equal to "useAdvanced" in FontInfoFinder, we would need to make sure, that this property is passed to the FontManager (after being set via XML or programmatically). Something like [^propagate_use_advanced.patch] Btw. the same holds for "useKerning", which is set to "true" by default in find(...). Shouldn't that be a parameter to, which is passed from the font manager to the find(...) method? Wdyt? > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png, > propagate_use_advanced.patch > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apac
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519747#comment-17519747 ] Richard Zowalla commented on FOP-3062: -- Another (simple) way to reproduce is to checkout the current FOP master on GitHub and conduct a "mvn clean install" with the font being installed on the local system. This will trigger the following unit test: {code:java} Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 0.177 sec <<< FAILURE! - in org.apache.fop.config.FontsAutoDetectTestCase testUserConfig(org.apache.fop.config.FontsAutoDetectTestCase) Time elapsed: 0.176 sec <<< FAILURE! java.lang.AssertionError: null{code} > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRe
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519706#comment-17519706 ] Richard Zowalla commented on FOP-3062: -- Thanks for updating the documentation as well as your time. I tested the sample code: If I hard-code the path to SFArabic via the font is loaded and used (at least no exception / assertion error is thrown) {code:java} Apr. 08, 2022 6:47:05 PM org.apache.fop.fo.properties.CommonHyphenation getHyphChar WARNUNG: Substituted specified hyphenation character (0x2d) with 0x20 because the font doesn't have the specified hyphenation character: SFArabic,normal,400 Apr. 08, 2022 6:47:05 PM org.apache.fop.events.LoggingEventListener processEvent WARNUNG: Glyph "t" (0x74, t) not available in font ".SFArabic-Regular". Apr. 08, 2022 6:47:05 PM org.apache.fop.events.LoggingEventListener processEvent WARNUNG: Glyph "e" (0x65, e) not available in font ".SFArabic-Regular". Apr. 08, 2022 6:47:05 PM org.apache.fop.events.LoggingEventListener processEvent WARNUNG: Glyph "s" (0x73, s) not available in font ".SFArabic-Regular". Apr. 08, 2022 6:47:05 PM org.apache.fop.events.LoggingEventListener processEvent WARNUNG: Glyph "2" (0x32, two) not available in font ".SFArabic-Regular". Apr. 08, 2022 6:47:05 PM org.apache.fop.events.LoggingEventListener processEvent INFORMATION: Rendered page #1.{code} My issue is, that I do +*not*+ want to use *SFArabic* at all (it is just a system font, which is available by default on an MacOS 12.3 and cannot be deleted), which is detected during auto scanning by fop. So I am not quite sure, if specifying the specific font will help with the original issue which occurs during auto-scanning. Is there a configuration option to exclude fonts from being scanned? The good news: I was able to reproduce it on my Ubuntu 20.04 LTS machine by adjusting your code snippet as follows. Note: I installed the *SFArabic.ttf* system-wide and re-generated the Ubuntu font cache. {code:java} import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopConfParser; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.FopFactoryBuilder; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; public class ComplexScript { public static void main(String[] args) throws Exception { String fo = "http://www.w3.org/1999/XSL/Format\"\n"; + " xmlns:fox=\"http://xmlgraphics.apache.org/fop/extensions\";>\n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " \n" + " test2 \n" + "\n" + " \n" + "\n"; String fopxconf = """ http://www.w3.org/2001/XMLSchema-instance"; xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> null flate ascii-85 \s """; FopFactoryBuilder builder = new FopConfParser(new ByteArrayInputStream(fopxconf.getBytes()), new File(".").toURI()).getFopFactoryBuilder(); builder.setComplexScriptFeatures(false); FopFactory fopFactory = builder.build(); fopFactory.getFontManager().disableFontCache(); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); FileOutputStream fos = new FileOutputStream("/tmp/out.pdf"); Fop fop = fopFactory.newFop("application/pdf", foUserAgent, fos); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); Source src = new StreamSource(new ByteArrayInputStream(fo.getBytes())); Result res = new SAXResult(fop.getDefaultHandler()); transformer.tr
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519631#comment-17519631 ] Simon Steiner commented on FOP-3062: I updated the webpage > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.java:105) at > org.apache.fop.render.Renderer
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519625#comment-17519625 ] Simon Steiner commented on FOP-3062: what about: {code:java} import org.apache.fop.apps.FOUserAgent; import org.apache.fop.apps.Fop; import org.apache.fop.apps.FopConfParser; import org.apache.fop.apps.FopFactory; import org.apache.fop.apps.FopFactoryBuilder; import javax.xml.transform.Result; import javax.xml.transform.Source; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.sax.SAXResult; import javax.xml.transform.stream.StreamSource; import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileOutputStream; public class ComplexScript { public static void main(String[] args) throws Exception { String fo = "http://www.w3.org/1999/XSL/Format\"\n"; + " xmlns:fox=\"http://xmlgraphics.apache.org/fop/extensions\";>\n" + " \n" + "\n" + " \n" + "\n" + " \n" + " \n" + "\n" + " test2 \n" + "\n" + " \n" + "\n"; String fopxconf = "\n" + " \n" + "\n" + " \n" + "\n" + " \n" + " \n" + "\n" + " \n" + "\n" + " \n" + "\n"; FopFactoryBuilder builder = new FopConfParser(new ByteArrayInputStream(fopxconf.getBytes()), new File(".").toURI()).getFopFactoryBuilder(); builder.setComplexScriptFeatures(false); FopFactory fopFactory = builder.build(); FOUserAgent foUserAgent = fopFactory.newFOUserAgent(); FileOutputStream fos = new FileOutputStream("/tmp/out.pdf"); Fop fop = fopFactory.newFop("application/pdf", foUserAgent, fos); TransformerFactory factory = TransformerFactory.newInstance(); Transformer transformer = factory.newTransformer(); Source src = new StreamSource(new ByteArrayInputStream(fo.getBytes())); Result res = new SAXResult(fop.getDefaultHandler()); transformer.transform(src, res); fos.close(); } } {code} > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvanc
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519603#comment-17519603 ] Richard Zowalla commented on FOP-3062: -- Thanks for your reply - your help is very much appreciated! :) I applied the the part of the documentation above by using fopBuilder.setComplexScriptFeatures(false); as FOUserAgent does not have this method as suggerated by the docs *and* via the XML config. The value is set for the given factory configuration (as shown in the screenshot) above. If I am looking into the stacktrace and navigate to [line 170|https://github.com/apache/xmlgraphics-fop/blame/1c35037f340df7ad112da5af646c878d2cf927c9/fop-core/src/main/java/org/apache/fop/fonts/autodetect/FontInfoFinder.java#L170] {code:java} FontInfoFinder#find(URI fontURI, InternalResourceResolver resourceResolver, FontCache fontCache) {code} *useAdvanced* is set to true (by default) and is then passed to the font loader (and so on). I didn't see an override for this flag (based on the given config). Basically, I am wondering, why the FontInfoFinder doesn't honour this setting specified by the factory? > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519588#comment-17519588 ] Simon Steiner commented on FOP-3062: See https://xmlgraphics.apache.org/fop/trunk/complexscripts.html#Disabling-complex-scripts > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeH
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519587#comment-17519587 ] Richard Zowalla commented on FOP-3062: -- Tried disabling via {code:java} fopBuilder.setComplexScriptFeatures(false); {code} and via {code:java} {code} but that led to the same exception. I debugged into the FopFactory and the value is set: !image-2022-04-08-16-09-21-254.png! > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf, image-2022-04-08-16-09-21-254.png > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.Rende
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519530#comment-17519530 ] Simon Steiner commented on FOP-3062: You could add in the fop.xconf to avoid this > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.java:105) at > org.apache.fop.render.RendererFactory.cre
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519461#comment-17519461 ] Richard Zowalla commented on FOP-3062: -- >From a Mac OS 12.3: [^SFArabic.ttf] > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > Attachments: SFArabic.ttf > > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.java:105) at > org.apache.fop.render.RendererFactory.createFO
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519459#comment-17519459 ] Simon Steiner commented on FOP-3062: Can you give url of font file > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.java:105) at > org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:363) > at org.
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519455#comment-17519455 ] Richard Zowalla commented on FOP-3062: -- This is a developer machine. We are starting TomEE Maven Plugin, which has Assertions enabled by default ;) (and it cannot be disabled easily...) but would also impact unit tests, which are using assertions. > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHand
[jira] [Commented] (FOP-3062) AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf
[ https://issues.apache.org/jira/browse/FOP-3062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17519448#comment-17519448 ] Simon Steiner commented on FOP-3062: do you need assertions enabled on your jvm? > AssertionError in GlyphPositioningTable$DeviceTable with SFArabic.ttf > - > > Key: FOP-3062 > URL: https://issues.apache.org/jira/browse/FOP-3062 > Project: FOP > Issue Type: Bug > Components: unqualified >Affects Versions: 2.7 >Reporter: Richard Zowalla >Priority: Major > > While working on a M1 Mac OS system: > > {code:java} > Java version: 17.0.2, vendor: Oracle Corporation, runtime: > /Library/Java/JavaVirtualMachines/jdk-17.0.2.jdk/Contents/HomeDefault locale: > de_DE, platform encoding: UTF-8 > OS name: "mac os x", version: "12.3", arch: "aarch64", family: "mac"{code} > I get the following AssertionError with a simple FOP config as follows: > {code:java} > http://www.w3.org/2001/XMLSchema-instance"; > > xsi:noNamespaceSchemaLocation="http://svn.apache.org/viewvc/xmlgraphics/fop/trunk/src/foschema/fop-configuration.xsd?view=co";> > > > > > null > > > > flate > ascii-85 > > > > /Users/abc/uploads/fonts > > > > > > /Users/abc/uploads/fonts > > {code} > The font, which violates the assertion in DeviceTable is: > *[file:/System/Library/Fonts/SFArabic.ttf*|file:///System/Library/Fonts/SFArabic.ttf*] > > *Stacktrace:* > {code:java} > java.lang.AssertionError at > org.apache.fop.complexscripts.fonts.GlyphPositioningTable$DeviceTable.(GlyphPositioningTable.java:1774) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosDeviceTable(OTFAdvancedTypographicTableReader.java:1727) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readPosAnchor(OTFAdvancedTypographicTableReader.java:2051) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTableFormat1(OTFAdvancedTypographicTableReader.java:2345) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readMarkToLigaturePosTable(OTFAdvancedTypographicTableReader.java:2371) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOSSubtable(OTFAdvancedTypographicTableReader.java:3122) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupTable(OTFAdvancedTypographicTableReader.java:3191) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readLookupList(OTFAdvancedTypographicTableReader.java:3218) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readCommonLayoutTables(OTFAdvancedTypographicTableReader.java:3239) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readGPOS(OTFAdvancedTypographicTableReader.java:3499) > at > org.apache.fop.complexscripts.fonts.OTFAdvancedTypographicTableReader.readAll(OTFAdvancedTypographicTableReader.java:84) > at > org.apache.fop.fonts.truetype.OpenFont.handleCharacterSpacing(OpenFont.java:889) > at org.apache.fop.fonts.truetype.OpenFont.readFont(OpenFont.java:861) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:119) at > org.apache.fop.fonts.truetype.OFFontLoader.read(OFFontLoader.java:103) at > org.apache.fop.fonts.FontLoader.getFont(FontLoader.java:126) at > org.apache.fop.fonts.FontLoader.loadFont(FontLoader.java:110) at > org.apache.fop.fonts.autodetect.FontInfoFinder.find(FontInfoFinder.java:253) > at org.apache.fop.fonts.FontAdder.add(FontAdder.java:63) at > org.apache.fop.fonts.FontDetectorFactory$DefaultFontDetector.detect(FontDetectorFactory.java:105) > at org.apache.fop.fonts.FontManager.autoDetectFonts(FontManager.java:229) at > org.apache.fop.fonts.DefaultFontConfigurator.configure(DefaultFontConfigurator.java:82) > at > org.apache.fop.render.PrintRendererConfigurator.getCustomFontCollection(PrintRendererConfigurator.java:147) > at > org.apache.fop.render.PrintRendererConfigurator.setupFontInfo(PrintRendererConfigurator.java:127) > at org.apache.fop.render.intermediate.IFUtil.setupFonts(IFUtil.java:170) at > org.apache.fop.render.intermediate.IFRenderer.setupFontInfo(IFRenderer.java:187) > at org.apache.fop.area.RenderPagesModel.(RenderPagesModel.java:75) at > org.apache.fop.area.AreaTreeHandler.setupModel(AreaTreeHandler.java:135) at > org.apache.fop.area.AreaTreeHandler.(AreaTreeHandler.java:105) at > org.apache.fop.render.RendererFactory.createFOEventHandler(RendererFactory.java:3