Я пытаюсь использовать Linq для прокрутки всех шрифтов в папке% windir% \ Fonts и найти ту, которая имеет название свойства «Arial» (или любое имя семейства шрифтов), но я не могу показаться для доступа к свойствам шрифта (например, «Заголовок», «Стиль шрифта», «Предназначен для» и т. д.).Как получить свойства шрифта из имени файла шрифта?
Ниже только дает мне основную информацию о файле:
Dim fontDir = Environment.GetEnvironmentVariable("windir") & "\Fonts\"
Dim fontFiles = From file In My.Computer.FileSystem.GetFiles(fontDir)
Dim fontInfo = From fontFile In fontFiles Select _
My.Computer.FileSystem.GetFileInfo(fontFile)
То, что я хотел бы поставить на конце что-то вроде ...Where fontFile.Title = "Arial"
. Любой совет здесь?
Причина, по которой мне нужно сделать это, - найти одно с одним или несколькими свойствами, такими как Title, а затем физически скопировать этот файл шрифта в другой каталог.
Мне действительно нужен доступ к физическому файлу, когда я нашел то, что мне нужно. Например, в этом случае мне нужно найти тот, у которого есть Arial в качестве заголовка, а затем скопировать файл шрифта в другой каталог. Если 'InstalledFontCollection' имеет свойство' Path', то я бы использовал его точно. –
Я помню, что я сделал что-то на этом в C++. Вычистите какой-то старый код и нашли способ :) Вам действительно нужно перечислить раздел реестра, чтобы найти все имя шрифта, а данные - файл шрифта. HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Fonts Напишите код, который будет проходить через все записи этого ключа. Путь к шрифту всегда находится в папке% windows% \ Fonts. Если вы не находитесь в контролируемой среде, попробуйте также прочитать этот ключ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Fonts –
Это действительно хорошо. Я смотрел на этот ключ, и похоже, что он имеет то, что мне нужно, по большей части. Как вы обрабатывали разбор материалов, которые не соответствовали шаблону «* Name * (TrueType)»? Я нахожу только несколько нечетных мячей, таких как * Batang & BatangChe & Gungsuh & GungsuhChe (TrueType) *, * Roman (All res) *, * Small Fonts (120) *, * Segoe Condensed * и * Courier 10,12 , 15 *. Не так уж и много, но мне просто интересно, где-то где-то где-то описано, как имена шрифтов сидят в этом ключе, поэтому я могу применить некоторые RegEx к ним. –