public virtual void TestMonospaceFlag() { FontCharacteristics fontCharacteristics = new FontCharacteristics(); NUnit.Framework.Assert.IsFalse(fontCharacteristics.IsMonospace()); NUnit.Framework.Assert.IsTrue(fontCharacteristics.IsUndefined()); fontCharacteristics.SetMonospaceFlag(true); NUnit.Framework.Assert.IsTrue(fontCharacteristics.IsMonospace()); NUnit.Framework.Assert.IsFalse(fontCharacteristics.IsUndefined()); fontCharacteristics = new FontCharacteristics(); fontCharacteristics.SetMonospaceFlag(false); NUnit.Framework.Assert.IsFalse(fontCharacteristics.IsMonospace()); NUnit.Framework.Assert.IsTrue(fontCharacteristics.IsUndefined()); }
public virtual int Compare(FontInfo o1, FontInfo o2) { int res = 0; for (int i = 0; i < fontFamilies.Count && res == 0; i++) { FontCharacteristics fc = fontStyles[i]; String fontName = fontFamilies[i]; if (fontName.EqualsIgnoreCase("monospace")) { fc.SetMonospaceFlag(true); } res = CharacteristicsSimilarity(fontName, fc, o2) - CharacteristicsSimilarity(fontName, fc, o1); } return(res); }
public virtual int Compare(FontInfo o1, FontInfo o2) { int res = 0; // It's important to mention that at the FontProvider level we add the default font-family // which is to be processed if for all provided font-families the score is 0. for (int i = 0; i < fontFamilies.Count && res == 0; i++) { FontCharacteristics fc = fontStyles[i]; String fontFamily = fontFamilies[i]; if ("monospace".EqualsIgnoreCase(fontFamily)) { fc.SetMonospaceFlag(true); } bool isLastFontFamilyToBeProcessed = i == fontFamilies.Count - 1; res = CharacteristicsSimilarity(fontFamily, fc, o2, isLastFontFamilyToBeProcessed) - CharacteristicsSimilarity (fontFamily, fc, o1, isLastFontFamilyToBeProcessed); } return(res); }