internal FontProgramDescriptor(FontNames fontNames, float italicAngle, bool isMonospace) { this.fontName = fontNames.GetFontName(); this.fontNameLowerCase = this.fontName.ToLowerInvariant(); this.fullNameLowerCase = fontNames.GetFullName()[0][3].ToLowerInvariant(); this.familyNameLowerCase = fontNames.GetFamilyName() != null && fontNames.GetFamilyName()[0][3] != null? fontNames.GetFamilyName()[0][3].ToLowerInvariant() : null; this.style = fontNames.GetStyle(); this.weight = fontNames.GetFontWeight(); this.macStyle = fontNames.GetMacStyle(); this.italicAngle = italicAngle; this.isMonospace = isMonospace; }
private String ExtractFamilyNameEnglishOpenType(FontNames fontNames) { if (fontNames.GetFamilyName() != null) { for (int k = 0; k < TT_FAMILY_ORDER.Length; k += 3) { foreach (String[] name in fontNames.GetFamilyName()) { if (TT_FAMILY_ORDER[k].Equals(name[0]) && TT_FAMILY_ORDER[k + 1].Equals(name[1]) && TT_FAMILY_ORDER[k + 2] .Equals(name[2])) { return(name[3].ToLowerInvariant()); } } } } return(null); }
internal FontProgramDescriptor(FontNames fontNames, float italicAngle, bool isMonospace) { // Initially needed for open type fonts only. // The following sequence represents four triplets. // In each triplet items sequentially stand for platformID encodingID languageID (see open type naming table spec). // Each triplet is used further to determine whether the font name item is represented in English this.fontName = fontNames.GetFontName(); this.fontNameLowerCase = this.fontName.ToLowerInvariant(); this.fullNameLowerCase = fontNames.GetFullName()[0][3].ToLowerInvariant(); this.familyNameLowerCase = fontNames.GetFamilyName() != null && fontNames.GetFamilyName()[0][3] != null? fontNames.GetFamilyName()[0][3].ToLowerInvariant() : null; this.style = fontNames.GetStyle(); this.weight = fontNames.GetFontWeight(); this.macStyle = fontNames.GetMacStyle(); this.italicAngle = italicAngle; this.isMonospace = isMonospace; this.familyNameEnglishOpenType = ExtractFamilyNameEnglishOpenType(fontNames); this.fullNamesAllLangs = ExtractFullFontNames(fontNames); this.fullNamesEnglishOpenType = ExtractFullNamesEnglishOpenType(fontNames); }