GetMissedFonts

MetaImage.GetMissedFonts method

Возвращает список шрифтов, которые использовались внутри метафайла, но не были найдены.

public string[] GetMissedFonts()

Возвращаемое значение

Список шрифтов

Примеры

В следующем примере показано, как распечатать информацию об используемых и пропущенных шрифтах в изображениях WMF/EMF.

[C#]

string dir = "c:\\aspose.imaging\\net\\issues\\3544";

// Чтобы сделать все шрифты недоступными
string[] fontDirectories = Aspose.Imaging.FontSettings.GetFontsFolders();
Aspose.Imaging.FontSettings.SetFontsFolder("empty");
string[] files = new string[]
{
    "TestWmfText.wmf",
    "TestEmfFonts.emf",
    "TestEmfPlusFonts.emf",
};

try
{
    foreach (string file in files)
    {
        System.Console.WriteLine("========== {0} ==========", file);
        using (Aspose.Imaging.FileFormats.Emf.MetaImage image = (Aspose.Imaging.FileFormats.Emf.MetaImage)Aspose.Imaging.Image.Load(System.IO.Path.Combine(dir, file)))
        {
            string[] used = image.GetUsedFonts();
            foreach (string it in used)
            {
                System.Console.WriteLine("Used font: " + it);
            }

            string[] missed = image.GetMissedFonts();
            foreach (string it in missed)
            {
                System.Console.WriteLine("Missed font: " + it);
            }

            int ui = 0, mi = 0;
            foreach (string it in used)
            {
                if (it.Contains("Times"))
                {
                    ui++;
                    continue;
                }

                if (used[ui] != missed[mi])
                {
                    throw new System.Exception("Font lists must be equal!");
                }

                ui++; mi++;
            }
        }
    }
}
finally
{
    Aspose.Imaging.FontSettings.SetFontsFolders(fontDirectories, true);
}

// Журнал STDOUT может выглядеть так:
//========== TestWmfText.wmf ==========
//Используемый шрифт: Garamond
//Используемый шрифт: Arial
//Используемый шрифт: Bookman Old Style
//Используемый шрифт: Comic Sans MS
//Используемый шрифт: Courier
//Используемый шрифт: Courier New
//Используемый шрифт: Impact
//Используемый шрифт: Современный
//Используемый шрифт: MS Sans Serif
//Используемый шрифт: MS Serif
//Используемый шрифт: Мелкие шрифты
//Используемый шрифт: Символ
//Используемый шрифт: Tahoma
//Используемый шрифт: Times New Roman
//Используемый шрифт: Verdana
//Используемый шрифт: Wingdings
// Пропущенный шрифт: Garamond
// Пропущенный шрифт: Arial
// Отсутствует шрифт: Bookman Old Style
// Пропущенный шрифт: Comic Sans MS
// Отсутствует шрифт: Courier
// Отсутствует шрифт: Courier New
//Пропущенный шрифт: Воздействие
//Пропущенный шрифт: Современный
// Пропущенный шрифт: MS Sans Serif
// Пропущенный шрифт: MS Serif
//Пропущенный шрифт: Мелкие шрифты
//Пропущенный шрифт: Символ
// Пропущенный шрифт: Tahoma
// Пропущенный шрифт: Verdana
// Отсутствует шрифт: Wingdings
//========== TestEmfFonts.emf ==========
//Используемый шрифт: Arial
//Используемый шрифт: Verdana
//Используемый шрифт: Times New Roman
//Используемый шрифт: Символ
// Пропущенный шрифт: Arial
// Пропущенный шрифт: Verdana
//Пропущенный шрифт: Символ
//========== TestEmfPlusFonts.emf ==========
//Используемый шрифт: MICROSOFT SANS SERIF
// Пропущенный шрифт: MICROSOFT SANS SERIF

Смотрите также