Family Test 1: Verify that each group of fonts with the same nameID 1 has maximum of 4 fonts. Family Test 2: Check that the Compatible Family group has same name ID's in all languages except for the compatible names 16,17,18, 20, 21 and 22. Family Test 3: Check that the Compatible Family group has same Preferred Family name (name ID 16)in all languagesID 16 in all other languages. Family Test 4: Family-wide 'size' feature checks. Family Test 5: Check that style settings for each face is unique within Compatible Family group, in all languages. Family Test 6: Check that the Compatible Family group has a base font and at least two faces, and check if weight class is valid. Family Test 7: Check that all faces in the Preferred Family group have the same Copyright and Trademark string. Family Test 8: Check the Compatible Family group style vs OS/2.usWeightClass settings. Max 2 usWeightClass allowed. Family Test 9: Check that all faces in the Compatible Family group have the same OS/2.usWidthClass value. Family Test 10: Check that if all faces in family have a Panose number and that CFF ISFixedPtch matches the Panose monospace setting. Family Test 11: Check that Mac and Windows menu names differ for all but base font, and are the same for the base font. Family Test 12: Check that GSUB/GPOS script and language feature lists are the same in all faces, and that DFLT/dflt and latn/dflt are present. Error: In GPOS/GUSB tables, the sets of lookups used by features in the script-language systems differ between fonts. This may be intended if the faces have different charsets. Lang/Sys Table for font(s): SourceSansPro-Regular SourceSansPro-Bold SourceSansPro-Black SourceSansPro-ExtraLight SourceSansPro-Light SourceSansPro-Semibold GSUB Table - script:tag list. DFLT: dflt cyrl: SRB dflt grek: dflt latn: AZE CRT NSM SKS TRK dflt lookup group ID to lookup index list: ID 1: maps to lookups [0, 1]. ID 2: maps to lookups [17, 18, 19]. ID 3: maps to lookups [35]. ID 4: maps to lookups [8, 9, 10, 11, 12, 13, 14]. ID 5: maps to lookups [23]. ID 6: maps to lookups [22, 24, 25]. ID 7: maps to lookups [47]. ID 8: maps to lookups [22]. ID 9: maps to lookups [32]. ID 10: maps to lookups [26]. ID 11: maps to lookups [31]. ID 12: maps to lookups [3, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46]. ID 13: maps to lookups [30]. ID 14: maps to lookups [15, 16, 18, 20, 21]. ID 15: maps to lookups [36, 37, 38]. ID 16: maps to lookups [39, 40]. ID 17: maps to lookups [41, 42]. ID 18: maps to lookups [43, 44, 45]. ID 19: maps to lookups [33]. ID 20: maps to lookups [26, 27, 28, 29]. ID 21: maps to lookups [34]. ID 22: maps to lookups [5, 6]. ID 23: maps to lookups [5]. ID 24: maps to lookups [4]. ID 25: maps to lookups [2]. ID 26: maps to lookups [3]. GSUB Table - feature lookup groups by script:tag column headers. (The lookup group ID assigned to each set of lookups is an arbitrary - see list above for map to actual lookup indices.) DFLT: dflt cyrl: SRB dflt grek: dflt latn: AZE CRT NSM SKS TRK dflt aalt c2sc case ccmp dnom frac liga locl - 22 23 24 25 25 26 26 25 - numr onum ordn pnum salt sinf smcp ss01 ss02 ss03 ss04 ss05 subs sups zero GPOS Table - script:tag list. DFLT: dflt cyrl: SRB dflt grek: dflt latn: AZE CRT NSM SKS TRK dflt lookup group ID to lookup index list: ID 1: maps to lookups [0, 1]. ID 2: maps to lookups [17, 18, 19]. ID 3: maps to lookups [35]. ID 4: maps to lookups [8, 9, 10, 11, 12, 13, 14]. ID 5: maps to lookups [23]. ID 6: maps to lookups [22, 24, 25]. ID 7: maps to lookups [47]. ID 8: maps to lookups [22]. ID 9: maps to lookups [32]. ID 10: maps to lookups [26]. ID 11: maps to lookups [31]. ID 12: maps to lookups [3, 36, 37, 39, 40, 41, 42, 43, 44, 45, 46]. ID 13: maps to lookups [30]. ID 14: maps to lookups [15, 16, 18, 20, 21]. ID 15: maps to lookups [36, 37, 38]. ID 16: maps to lookups [39, 40]. ID 17: maps to lookups [41, 42]. ID 18: maps to lookups [43, 44, 45]. ID 19: maps to lookups [33]. ID 20: maps to lookups [26, 27, 28, 29]. ID 21: maps to lookups [34]. ID 22: maps to lookups [5, 6]. ID 23: maps to lookups [5]. ID 24: maps to lookups [4]. ID 25: maps to lookups [2]. ID 26: maps to lookups [3]. GPOS Table - feature lookup groups by script:tag column headers. (The lookup group ID assigned to each set of lookups is an arbitrary - see list above for map to actual lookup indices.) DFLT: dflt cyrl: SRB dflt grek: dflt latn: AZE CRT NSM SKS TRK dflt kern mark mkmk size Lang/Sys Table for font(s): SourceSansPro-It SourceSansPro-BoldIt SourceSansPro-BlackIt SourceSansPro-ExtraLightIt SourceSansPro-LightIt SourceSansPro-SemiboldIt GSUB Table - script:tag list. DFLT: dflt latn: dflt lookup group ID to lookup index list: ID 1: maps to lookups [0, 1]. ID 2: maps to lookups [19]. ID 3: maps to lookups [3, 4, 5, 6, 7]. ID 4: maps to lookups [9]. ID 5: maps to lookups [8, 10, 11]. ID 6: maps to lookups [24]. ID 7: maps to lookups [8]. ID 8: maps to lookups [16]. ID 9: maps to lookups [12]. ID 10: maps to lookups [15]. ID 11: maps to lookups [20, 21, 22, 23]. ID 12: maps to lookups [14]. ID 13: maps to lookups [20]. ID 14: maps to lookups [21]. ID 15: maps to lookups [22]. ID 16: maps to lookups [23]. ID 17: maps to lookups [17]. ID 18: maps to lookups [12, 13]. ID 19: maps to lookups [18]. GSUB Table - feature lookup groups by script:tag column headers. (The lookup group ID assigned to each set of lookups is an arbitrary - see list above for map to actual lookup indices.) DFLT: dflt latn: dflt aalt case ccmp dnom frac liga numr onum ordn pnum salt sinf ss01 ss02 ss03 ss04 ss05 subs sups zero GPOS Table - script:tag list. DFLT: dflt latn: dflt lookup group ID to lookup index list: ID 1: maps to lookups [0, 1]. ID 2: maps to lookups [19]. ID 3: maps to lookups [3, 4, 5, 6, 7]. ID 4: maps to lookups [9]. ID 5: maps to lookups [8, 10, 11]. ID 6: maps to lookups [24]. ID 7: maps to lookups [8]. ID 8: maps to lookups [16]. ID 9: maps to lookups [12]. ID 10: maps to lookups [15]. ID 11: maps to lookups [20, 21, 22, 23]. ID 12: maps to lookups [14]. ID 13: maps to lookups [20]. ID 14: maps to lookups [21]. ID 15: maps to lookups [22]. ID 16: maps to lookups [23]. ID 17: maps to lookups [17]. ID 18: maps to lookups [12, 13]. ID 19: maps to lookups [18]. GPOS Table - feature lookup groups by script:tag column headers. (The lookup group ID assigned to each set of lookups is an arbitrary - see list above for map to actual lookup indices.) DFLT: dflt latn: dflt kern mark mkmk size Family Test 13: Check that no two faces in a preferred group have the same weight/width/Italic-style values when the OS/2 table fsSelection bit 8 (WEIGHT_WIDTH_SLOPE_ONLY) is set. Family Test 14: Check that all faces in a preferred group have the same fsType embedding values. Error: fsType embedding permission '0' for 'SourceSansPro-Regular' should be 8 for Adobe fonts. Error: fsType embedding permission '0' for 'SourceSansPro-It' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-Bold' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-BoldIt' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-Black' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-BlackIt' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-ExtraLight' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-ExtraLightIt' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-Light' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-LightIt' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-Semibold' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Error: fsType embedding permission '0' for 'SourceSansPro-SemiboldIt' should be 8 for Adobe fonts, aka OS/2.achVendID == Adobe. Family Test 15: Check that all faces in a preferred group have the same underline position and width. Family Test 16: Check that for all faces in a preferred family group, that the width of any glyph is not more than 3 times the width of the same glyph in any other face. Warning: width (140) of glyph tonos.cap in SourceSansPro-Black is more than 3 times the width (20) in SourceSansPro-ExtraLight. Warning: width (50) of glyph uni030C.a in SourceSansPro-Black is more than 3 times the width (0) in SourceSansPro-ExtraLight. Warning: width (140) of glyph uni1FEF.cap in SourceSansPro-Black is more than 3 times the width (20) in SourceSansPro-ExtraLight. Warning: width (140) of glyph uni1FFD.cap in SourceSansPro-Black is more than 3 times the width (20) in SourceSansPro-ExtraLight. Family Test 17: Check that new fonts have OS/2 table version 4, and that previously shipping fonts do not. Warning: The font SourceSansPro-Regular should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Warning: The font SourceSansPro-Bold should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Warning: The font SourceSansPro-Black should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Warning: The font SourceSansPro-ExtraLight should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Warning: The font SourceSansPro-Light should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Warning: The font SourceSansPro-Semibold should have an OS/2 table version of at least 4 instead of 3. as it is not in the list of known shipped fonts in the file /usr/local/bin/FDK/Tools/SharedData/LegacyFontList.pyc. Family Test 18: Check that all faces in a Compatible Family group have the same array size of BlueValues and OtherBlues within a Compatible Family Name Italic or Regular sub-group of the family. Family Test 19: Check that all faces in the Preferred Family group have the same values of FamilyBlues and FamilyOtherBlues, and are valid. Family Test 20: Check that all faces in the Compatible Family group have the same BlueScale value. FamilyTest 21: Check that all faces in the Compatible Family group have the same BlueShift value.