- Сегодня испытал очередное потрясение. Уж пора бы и привыкнуть, ан нет. Каждый раз сам себе удивляюсь, насколько сильно, оказывается, меня еще впечатляют такие закидоны.
-
- Уже несколько лет успешно пользуюсь таким скриптом для установки шрифтов в систему:
'fonts.install.vbs Const FONTS = &H14& Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.Namespace(FONTS) objFolder.CopyHere "c:\t\fnts\*.ttf" '~ objFolder.CopyHere objShell.Namespace("c:\t\fnts").Items @rem fonts.install.cmd md c:\t\fnts copy *.ttf c:\t\fnts\ cscript.exe //Nologo //T:600 fonts.install.vbs |
- Уж не знаю, где был надыбан первоисточник, но Скриптинг Гай дает практически такой же рецепт:
-
- this should help a little:
- Const FONTS = &H14&
- Set objShell = CreateObject("Shell.Application")
- Set objFolder = objShell.Namespace(FONTS)
- objFolder.CopyHere "C:\Scripts\Myfont.ttf"
-
- Of course, that might also get you to thinking; in fact, you might be thinking, “Hey, all I have to do is copy a font into the Fonts folder and that font will automatically be installed for me.” And that’s true, but with one very important caveat: you must copy the file using the Shell object. Admittedly, you can use WMI or the FileSystemObject to copy a file into the Fonts folder; however, when you do so the operating system will not automatically install the font for you. As far as we know, the only programmatic way to get Windows to recognize that a new font has been added to the Fonts folder, and thus get Windows to install that font for you, is to use the Shell object.
-
- blogs.technet.com/b/heyscriptingguy/archive/2008/04/25/how-can-i-install-fonts-using-a-script
-
- До сего дня этот рецепт не вызывал никаких проблем. Но сегодня выяснилось, что фактически это неработоспособное решение. Нет, шрифты в системе появляются и ими можно пользоваться, но есть особенности. В частности, ArcMap может не увидеть шрифт, установленный таким образом. Только после установки шрифта вручную, через панель управления MS Windows, ArcMap соизволил увидеть и использовать новый шрифт. Возможно, апплет панели управления делает еще что-то, чего не делает скрипт. Например, создает шрифтовый кеш или в реестре чего-где прописывает, мне уже неважно. Важно, что скриптом пользоваться нельзя.
-
- Есть мнение, что у MS Windows (и ее компонент) есть три состояния: работает, не работает, может быть работает. Не на пустом месте придумано.
-
Комментариев нет:
Отправить комментарий