| extractDataFromMultipleSubstitutionFormat1Table(Map, LookupTypeMultipleSubstitutionFormat1) |  | 0% |  | 0% | 4 | 4 | 16 | 16 | 1 | 1 |
| extractDataFromAlternateSubstitutionSubstFormat1Table(Map, LookupTypeAlternateSubstitutionFormat1) |  | 0% |  | 0% | 5 | 5 | 15 | 15 | 1 | 1 |
| extractDataFromSingleSubstTableFormat2Table(Map, LookupTypeSingleSubstFormat2) |  | 0% |  | 0% | 3 | 3 | 12 | 12 | 1 | 1 |
| extractData(Map, LookupTable) |   | 58% |   | 50% | 4 | 7 | 6 | 13 | 0 | 1 |
| getGsubData(String, ScriptTable, FeatureListTable, LookupListTable) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| buildMapBackedGsubData(FeatureListTable, LookupListTable, GlyphSubstitutionDataExtractor.ScriptTableDetails) |   | 75% |   | 50% | 2 | 3 | 2 | 9 | 0 | 1 |
| putNewSubstitutionEntry(Map, List, List) |   | 60% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| getSupportedLanguage(Map) |   | 96% |   | 83% | 1 | 4 | 1 | 7 | 0 | 1 |
| getGsubData(Map, FeatureListTable, LookupListTable) |   | 85% |   | 50% | 1 | 2 | 1 | 4 | 0 | 1 |
| populateGsubData(Map, FeatureRecord, LookupListTable) |  | 100% |   | 75% | 1 | 3 | 0 | 10 | 0 | 1 |
| extractDataFromLigatureTable(Map, LigatureTable) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| extractDataFromLigatureSubstitutionSubstFormat1Table(Map, LookupTypeLigatureSubstitutionSubstFormat1) |  | 100% |  | 100% | 0 | 3 | 0 | 4 | 0 | 1 |
| populateGsubData(Map, LangSysTable, FeatureListTable, LookupListTable) |  | 100% |   | 75% | 1 | 3 | 0 | 5 | 0 | 1 |
| extractDataFromSingleSubstTableFormat1Table(Map, LookupTypeSingleSubstFormat1) |  | 100% |  | 100% | 0 | 2 | 0 | 7 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| GlyphSubstitutionDataExtractor() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |