Показать полную графическую версию : [решено] Установка дополнительных шрифтов
Алексей Н.
14-10-2007, 14:39
Зравствуйте все!
Вопрос такой. Пытаюсь при "тихой" установке добавлять в систему дополнительные шрифты. Сам процесс вроде никаких затруднений не представлят. Скопировать в папку WINDOWS\Fonts нужные файлы шрифтов. Но вот результат этого процесса мало радует. Сразу хочу сказать, что пробовал несколько путей. На этапе постинсталляции пробовал копировать шрифты с помощью самораспаковывающегося архива, пробовал устанавливать их с помощью самодельного инсталлятора. Пробовал на этапе Т-12 копировать их с помощью батника. Результат один и тот же.
Система не видит этих новых шрифтов. Когда я захожу в папку Fonts, в ней присутствуют только стандартные шрифты. Соответственно Ворд и другие приложения видят только стандартные шрифты. Но стоит только изменить вид папки на список или таблицу. (Правой кнопкой мыши "Вид->список/таблица"). Сразу же появляются все новые шрифты и все работает нормально. Каждый раз заходить после установки в папку со шрифтами и совершать это в общем то глупое действие нет никакого желания. Если кто-то знает как справиться с такого рода проблемой подскажите, пожалуйста.
Petya V4sechkin
14-10-2007, 14:48
Алексей Н., дело в том, что шрифты надо регистрировать.
Для этого можно использовать специальную утилиту fontinst.exe (http://tools.oszone.net/V4sechkin/MS/fontinst.exe).
Пример:
fontinst.exe /f fontinst.inf
Содержимое fontinst.inf:
[fonts]
ваш_шрифт1.ttf
ваш_шрифт2.ttf
Алексей Н.
14-10-2007, 15:37
Спасибо за объяснение и утилиту.
Перед тем как пробовать пару вопросов по использованию.
Если я правильно понял:
1 Создаем файл fontinst.inf, где прописываем наши шрифты. (Можно только .ttf?)
2 Копируем шрифты в папку Fonts
3 Запускаем fontinst.exe /f fontinst.inf
Правильно?
Petya V4sechkin
14-10-2007, 16:14
Можно только .ttf?
Не знаю, не пробовал.
Копируем шрифты в папку Fonts
Насколько я помню, шрифты + fontinst.exe + fontinst.inf должны быть в одной папке.
Вообще говоря, при регистрации шрифты прописываются в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Это поможет вам облегчить отладку/экспериментирование. В принципе, можно обойтись и без fontinst.exe, внося необходимые записи в этот раздел реестра (но при таком варианте система "увидит" новые шрифты только после перезагрузки).
Дополнительные ссылки:
[решено] Установка шрифтов Type 1 (http://forum.oszone.net/post-530756.html#post530756)
[решено] Как правильно установить шрифты? (http://forum.oszone.net/thread-65312.html)
Алексей Н.
14-10-2007, 16:38
OK Спасибо!
Разобрался.
А этих веток почему то не нашел:(. Искал по слову "шрифты"
Petya V4sechkin, утилита fontinst.exe откуда взята?
Petya V4sechkin
04-04-2008, 17:50
Котяра, микрософтская.
fontinst.exe /f fontinst.inf »
а можно поподробнее что значит "Запускаем fontinst.exe /f fontinst.inf"
как это приписать в inno?
так?
[Files]
Source: "...\XVMSymbol_11.1*"; DestDir: "{tmp}\XVMSymbol_11.1";
[Run]
Filename: "{tmp}\XVMSymbol_11.1\fontinst.exe"; Parameters: "/f fontinst.inf"
http://forum.oszone.net/post-1500442.html
просто запустить fontinst.exe ..
в папке с fontinst.exe должны быть файл fontinst.inf и шрифты (а список шрифтов в текстовом файле fontinst.inf)
и установятся только те шрифты, которые попали в список!
таким образом, можно сделать выбор: шрифты полный набор, минимально-необходимые, красивые .. и прочее ..
для этого держать разные копии fontinst.inf и подставлять нужную версию fontinst.inf в папку установки
ivandoroh
23-12-2016, 09:30
Список шрифтов в файле fontinst.ini содержит имена файлов шрифтов (к примеру, arialblack.ttf) или имена самих шрифтов (к примеру, Arial Black.ttf)? Исходный файл arialblack.ttf. Можно ли в одной папке создать несколько пар exe + ini для установки разных наборов шрифтов из одной папки? Например, fontinst_1.exe + fontini_1.ini, fontinst_2.exe + fontini_2.ini? Работает ли на Win8-10 этот способ установки?
sNc-DAntES
23-12-2016, 12:20
Работает ли на Win8-10 этот способ установки? »
На Windows 8.1-10 точно работает. При установке своей сборки Total Commander я устанавливаю набор шрифтов, которые находятся в папке Fonts. Установка происходит с помощью SFX 7z архива. После установки запускается файл fontinst.cmd с таким содержанием
cd "c:\Program Files\Totalcmd\Fonts\"
copy Catorze27Style1-Black.ttf %Windir%\Fonts /Y
copy Catorze27Style1-Bold.ttf %Windir%\Fonts /Y
copy Catorze27Style1-Book.ttf %Windir%\Fonts /Y
copy Catorze27Style1-Light.ttf %Windir%\Fonts /Y
copy Catorze27Style1-Medium.ttf %Windir%\Fonts /Y
copy Catorze27Style1-SemiBold.ttf %Windir%\Fonts /Y
copy Catorze27Style1-Thin.ttf %Windir%\Fonts /Y
copy kelly_slab_regular.ttf %Windir%\Fonts /Y
copy Lobster.ttf %Windir%\Fonts /Y
copy Neo.ttf %Windir%\Fonts /Y
copy Neo medium.ttf %Windir%\Fonts /Y
copy neucha.ttf %Windir%\Fonts /Y
fontinst.exe /f fontinst.inf
А файл fontinst.inf имеет следующее содержание:
[fonts]
AFuturaOrtoLtLight.ttf
Catorze27Style1-Black.ttf
Catorze27Style1-Bold.ttf
Catorze27Style1-Book.ttf
Catorze27Style1-Light.ttf
Catorze27Style1-Medium.ttf
Catorze27Style1-SemiBold.ttf
Catorze27Style1-Thin.ttf
kelly_slab_regular.ttf
Lobster.ttf
Neo medium.ttf
Neo.ttf
neucha.ttf
OpenSans-CondBold.ttf
OpenSans-CondLight.ttf
OpenSans-CondLightItalic.ttf
Можно ли в одной папке создать несколько пар exe + ini для установки разных наборов шрифтов из одной папки? »
Зачем всё усложнять? Вам надо установить шрифты, так устанавливайте их одним exe + ini, для чего вам их копии?
sNc-DAntES, давайте решим, что копирует фонты в системную шрифтовую папку .. или мы сами или что-то другое ..
ваш случай: сначала копируем файлы принудительно, потом еще делаем попытку скопировать теже файлы туда же!!
уберите из файла fontinst.cmd всё, кроме последней строки и наша задача также выполнится!
так зачем усложнять задачу .. или сами копируем и ждём, пока фонты попадут в систему .. или используем fontinst.exe, который:
- первое!! скопирует список файлов из fontinst.inf в нужное место
- второе!! зарегистрирует их
предлагаю иной способ решения данной проблемы, установки и регистрации нужных нам шрифтов ..
FontReg - Windows Font Registration & Installation Utility (http://code.kliu.org/misc/fontreg/)
как использовать ..
в архиве два файла для х64 и для х86 .. переименовываем в FontReg-x64.exe и FontReg-x86.exe и копируем в отдельную папку
в ту же папку копируем нужные нам шрифты .. они могут быть не только TTF но и OTF (в отличие от утилиты от мелкософта, что оперирует только с TTF)
простейший bat-файл установит все шрифты:
if defined ProgramW6432 (
FontReg-x64.exe /copy
) else (
FontReg-x86.exe /copy
)
ivandoroh
26-12-2016, 09:21
wadimus, то есть делаем так:
Качаем отсюда (http://code.kliu.org/misc/fontreg/) файл fontreg-2.1.3-redist.7z
Из распакованного архива из папки bin.x86-32 берем файл FontReg.exe, переименовываем его в FontReg-x86 и кидаем в папку "My fonts" (для примера)
Проделываем то же самое с файлом FontReg.exe из папки bin.x86-64 (переименовав его в FontReg-x64)
Далее в папку "My fonts" копируем шрифты TTF и OTF с любыми именами и в любом количестве
Создаем в папке "My fonts" файл install.txt (опять-таки для примера) со следующим содержанием:
if defined ProgramW6432 (
FontReg-x64.exe /copy
) else (
FontReg-x86.exe /copy
)
Переименовываем install.txt в install.bat
В итоге папка "My fonts" имеет следующее содержание:
FontReg-x86
FontReg-x64
<наши шрифты *.ttf, *.otf>
install.bat
Для установки всех шрифтов на любой платформе (x64, x86) и любой Windows-системе из папки "My fonts" запускаем install.bat.
Всё верно?
sNc-DAntES
26-12-2016, 10:48
давайте решим, что копирует фонты в системную шрифтовую папку .. или мы сами или что-то другое .. »
копируете их вы.
ваш случай: сначала копируем файлы принудительно, потом еще делаем попытку скопировать теже файлы туда же!! »
Батником вы копируете шрифты дальше вы их регистрируете в системе с помощью программы. так зачем усложнять задачу .. или сами копируем и ждём, пока фонты попадут в систему .. или используем fontinst.exe, который:
- первое!! скопирует список файлов из fontinst.inf в нужное место
- второе!! зарегистрирует их »
Он ничего не копирует. Он вносит запись в реестр.
sNc-DAntES
и копирует и регистрирует!! только TTF ..
какие шрифты - берутся из файла fontinst.inf, после тега [fonts] .. каждая строка - один шрифт.
и ничего не надо самому копировать!!
сам файл fontinst.exe очень старый, еще 16-битный, возможно не сработает на х64
ivandoroh, да .. пробуйте ..
есть еще ключ /move (вместо /copy)
еще фишки этой программы:
- проверяет каждый шрифт в системе и убирает регистрацию отсутствующих шрифтов (.. FontReg will repair any missing font registrations for fonts located in the C:\Windows\Fonts directory ..)
- может инсталлировать практически любые шрифты (.. FontReg will install all files with a .fon, .ttf, .ttc, or .otf file extension located in the CURRENT DIRECTORY ..)
sNc-DAntES
26-12-2016, 17:32
и копирует и регистрирует!! только TTF .. »
Должен, но не копирует. Да, возможно не хочет на х64 системах. Но регистрирует нормально. Так что вкупе с батником, работает :)
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC