1. Как проверить установлен ли шрифт в windows?
2. Как его установить, если он не установлен?
3. Возможен ли вывод текста шрифтом, не устанавливая его?
objWMIService = ПолучитьCOMОбъект("winmgmts:{impersonationLevel=impersonate}!\\" + ИмяКомпьютера() + "\root\CIMV2");
colItems = objWMIService.ExecQuery("SELECT * FROM Win32_FontInfoAction",,48);
Для Каждого objItem Из colItems Цикл
Сообщить("File: " + objItem.File);
КонецЦикла;
НО!!! есть установленный шрифт в системе, и он отсутствует в этом списке. И скорость выполнения данного запроса - НУ ОЧЕНЬ МЕДЛЕННАЯ, у меня выполнялась около 10 сек.
sh = Новый COMОбъект("WScript.Shell");
КаталогШтрифтов = sh.ExpandEnvironmentStrings("%SYSTEMROOT%") + "\Fonts";
ФайлШрифта = КаталогШтрифтов + "\MAGAZKA.ttf";
НовФайлШрифта = Новый Файл(ФайлШрифта);
Если НовФайлШрифта.Существует() Тогда
Иначе
ПутьМакета=Константы.ПутьКартинок.Получить() + "\MAGAZKA.ttf";
ПолучитьОбщийМакет("ALGER").Записать(ПутьМакета);
Попытка
ПолучитьОбщийМакет("ALGER").Записать(КаталогШтрифтов + "\MAGAZKA.ttf");
Исключение
Сообщить("Я сильно извиняюсь...."+Символы.ПС+
"Но мне не хватает ПРАВ в системе для установки файла шрифта штрихкода"+Символы.ПС+
"Скоприруете самостоятиельно "+ ПутьМакета+ " в " +КаталогШтрифтов+Символы.ПС+
"Спасибо Вам. У Вас все получиться!");
КонецПопытки;
КонецЕсли;