Missing GPOS and GSUB tables

We are using Aspose.Font for C#
We use the TtfFont object to Open a font, and then we look at the TtfTables property, which contains the HeadTable, the HmtxTable, and more. However, it does not contain the GPOS nor the GSUB tables. How can we access the GPOS and GSUB tables?
Sincerely,
Avi Shmidman
Dicta: The Israel Center for Text Analysis

@ashmid_a

Could you please also provide the sample Font file in .zip format along with sample code snippet that you are using. We will test the scenario in our environment and address it accordingly.

Well, we can’t write the code, that’s the problem - the GPOS table structure is not support in the Aspose.Font package.
So here is sample code, indicating what is missing. According to the Aspose C++ docs, there should be a GPOSTable property within TtfTables, but in Aspose.Font for .NET there is no such property:

        string fn = "font.ttf";
        //open font as TtfFont
        TtfFont font = (TtfFont)Font.Open(FontType.TTF, fn);
        //can access all tables:
        var table1 = font.TtfTables.CffTable;
        var table2 = font.TtfTables.CMapTable;
        var table3 = font.TtfTables.CvtTable;
        //...
        //but no font.TtfTables.GPOSTable

The C++ version clearly has this property, as indicated here:
https://reference.aspose.com/font/cpp/class/aspose.font.ttf_tables.ttf_table_repository#a7bd156d2436431eb20f5e890b0431bbe

@ashmid_a

We were able to notice the missing properties in .NET API and have logged an enhancement ticket as FONTNET-174 in our issue management system to expose them. We will further check the feasibility of it and let you know as soon as the ticket is resolved. Please be patient and spare us some time.

We are sorry for the inconvenience.

1 Like