Сочетание двух ответов сработало для меня. Сначала я модифицировал файл .csproj, чтобы удалить ссылку на версию 1.0.0
< Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild" >
----Error---
< /Target>
, а затем сделал
Update-Package -Reinstall
из файла и работал.
string fontName = "Consolas";
float fontSize = 12;
using (Font fontTester = new Font(
fontName,
fontSize,
FontStyle.Regular,
GraphicsUnit.Pixel))
{
if (fontTester.Name == fontName)
{
// Font exists
}
else
{
// Font doesn't exist
}
}
, Как Вы получаете список всех установленных шрифтов?
var fontsCollection = new InstalledFontCollection();
foreach (var fontFamiliy in fontsCollection.Families)
{
if (fontFamiliy.Name == fontName) ... \\ installed
}
См. класс InstalledFontCollection для деталей.
Благодаря Jeff я лучше прочитал документацию Класса шрифта:
, Если familyName параметр определяет шрифт, который не установлен на машине, запускающей приложение, или не поддерживается, Microsoft Sans Serif заменят.
результат этого знания:
private bool IsFontInstalled(string fontName) {
using (var testFont = new Font(fontName, 8)) {
return 0 == string.Compare(
fontName,
testFont.Name,
StringComparison.InvariantCultureIgnoreCase);
}
}