Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Автоматическая установка Windows 2000/XP/2003 (http://forum.oszone.net/forumdisplay.php?f=32)
-   -   [решено] Установка дополнительных шрифтов (http://forum.oszone.net/showthread.php?t=92136)

Алексей Н. 14-10-2007 14:39 660225

Установка дополнительных шрифтов
 
Зравствуйте все!
Вопрос такой. Пытаюсь при "тихой" установке добавлять в систему дополнительные шрифты. Сам процесс вроде никаких затруднений не представлят. Скопировать в папку WINDOWS\Fonts нужные файлы шрифтов. Но вот результат этого процесса мало радует. Сразу хочу сказать, что пробовал несколько путей. На этапе постинсталляции пробовал копировать шрифты с помощью самораспаковывающегося архива, пробовал устанавливать их с помощью самодельного инсталлятора. Пробовал на этапе Т-12 копировать их с помощью батника. Результат один и тот же.
Система не видит этих новых шрифтов. Когда я захожу в папку Fonts, в ней присутствуют только стандартные шрифты. Соответственно Ворд и другие приложения видят только стандартные шрифты. Но стоит только изменить вид папки на список или таблицу. (Правой кнопкой мыши "Вид->список/таблица"). Сразу же появляются все новые шрифты и все работает нормально. Каждый раз заходить после установки в папку со шрифтами и совершать это в общем то глупое действие нет никакого желания. Если кто-то знает как справиться с такого рода проблемой подскажите, пожалуйста.

Petya V4sechkin 14-10-2007 14:48 660231

Алексей Н., дело в том, что шрифты надо регистрировать.
Для этого можно использовать специальную утилиту fontinst.exe.

Пример:
Код:

fontinst.exe /f fontinst.inf
Содержимое fontinst.inf:
Код:

[fonts]
ваш_шрифт1.ttf
ваш_шрифт2.ttf


Алексей Н. 14-10-2007 15:37 660252

Спасибо за объяснение и утилиту.
Перед тем как пробовать пару вопросов по использованию.
Если я правильно понял:

1 Создаем файл fontinst.inf, где прописываем наши шрифты. (Можно только .ttf?)
2 Копируем шрифты в папку Fonts
3 Запускаем fontinst.exe /f fontinst.inf
Правильно?

Petya V4sechkin 14-10-2007 16:14 660276

Цитата:

Цитата Алексей Н.
Можно только .ttf?

Не знаю, не пробовал.

Цитата:

Цитата Алексей Н.
Копируем шрифты в папку Fonts

Насколько я помню, шрифты + fontinst.exe + fontinst.inf должны быть в одной папке.

Вообще говоря, при регистрации шрифты прописываются в разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts. Это поможет вам облегчить отладку/экспериментирование. В принципе, можно обойтись и без fontinst.exe, внося необходимые записи в этот раздел реестра (но при таком варианте система "увидит" новые шрифты только после перезагрузки).

Дополнительные ссылки:
[решено] Установка шрифтов Type 1
[решено] Как правильно установить шрифты?

Алексей Н. 14-10-2007 16:38 660285

OK Спасибо!
Разобрался.
А этих веток почему то не нашел:(. Искал по слову "шрифты"

Котяра 04-04-2008 17:47 774690

Petya V4sechkin, утилита fontinst.exe откуда взята?

Petya V4sechkin 04-04-2008 17:50 774693

Котяра, микрософтская.

svs23 02-04-2015 01:10 2490700

Цитата:

Цитата Petya V4sechkin
fontinst.exe /f fontinst.inf »

а можно поподробнее что значит "Запускаем fontinst.exe /f fontinst.inf"
как это приписать в inno?

svs23 02-04-2015 09:18 2490750

так?
[Files]
Source: "...\XVMSymbol_11.1*"; DestDir: "{tmp}\XVMSymbol_11.1";

[Run]
Filename: "{tmp}\XVMSymbol_11.1\fontinst.exe"; Parameters: "/f fontinst.inf"

Сlassic 02-04-2015 12:30 2490820

http://forum.oszone.net/post-1500442.html

wadimus 11-04-2015 07:40 2494398

просто запустить fontinst.exe ..

в папке с fontinst.exe должны быть файл fontinst.inf и шрифты (а список шрифтов в текстовом файле fontinst.inf)
и установятся только те шрифты, которые попали в список!

таким образом, можно сделать выбор: шрифты полный набор, минимально-необходимые, красивые .. и прочее ..
для этого держать разные копии fontinst.inf и подставлять нужную версию fontinst.inf в папку установки

ivandoroh 23-12-2016 09:30 2697844

Список шрифтов в файле 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 2697886

Цитата:

Цитата ivandoroh
Работает ли на Win8-10 этот способ установки? »

На Windows 8.1-10 точно работает. При установке своей сборки Total Commander я устанавливаю набор шрифтов, которые находятся в папке Fonts. Установка происходит с помощью SFX 7z архива. После установки запускается файл fontinst.cmd с таким содержанием
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 имеет следующее содержание:
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


Цитата:

Цитата ivandoroh
Можно ли в одной папке создать несколько пар exe + ini для установки разных наборов шрифтов из одной папки? »

Зачем всё усложнять? Вам надо установить шрифты, так устанавливайте их одним exe + ini, для чего вам их копии?

wadimus 25-12-2016 17:21 2698271

sNc-DAntES, давайте решим, что копирует фонты в системную шрифтовую папку .. или мы сами или что-то другое ..
ваш случай: сначала копируем файлы принудительно, потом еще делаем попытку скопировать теже файлы туда же!!
уберите из файла fontinst.cmd всё, кроме последней строки и наша задача также выполнится!
так зачем усложнять задачу .. или сами копируем и ждём, пока фонты попадут в систему .. или используем fontinst.exe, который:
- первое!! скопирует список файлов из fontinst.inf в нужное место
- второе!! зарегистрирует их

wadimus 25-12-2016 17:44 2698275

предлагаю иной способ решения данной проблемы, установки и регистрации нужных нам шрифтов ..

FontReg - Windows Font Registration & Installation Utility

как использовать ..

в архиве два файла для х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 2698407

wadimus, то есть делаем так:
  1. Качаем отсюда файл fontreg-2.1.3-redist.7z
  2. Из распакованного архива из папки bin.x86-32 берем файл FontReg.exe, переименовываем его в FontReg-x86 и кидаем в папку "My fonts" (для примера)
  3. Проделываем то же самое с файлом FontReg.exe из папки bin.x86-64 (переименовав его в FontReg-x64)
  4. Далее в папку "My fonts" копируем шрифты TTF и OTF с любыми именами и в любом количестве
  5. Создаем в папке "My fonts" файл install.txt (опять-таки для примера) со следующим содержанием:
    Код:

    if defined ProgramW6432 (
    FontReg-x64.exe /copy
    ) else (
    FontReg-x86.exe /copy
    )

  6. Переименовываем install.txt в install.bat
  7. В итоге папка "My fonts" имеет следующее содержание:
    Код:

    FontReg-x86
    FontReg-x64
    <наши шрифты *.ttf, *.otf>
    install.bat

  8. Для установки всех шрифтов на любой платформе (x64, x86) и любой Windows-системе из папки "My fonts" запускаем install.bat.
Всё верно?

sNc-DAntES 26-12-2016 10:48 2698425

Цитата:

Цитата wadimus
давайте решим, что копирует фонты в системную шрифтовую папку .. или мы сами или что-то другое .. »

копируете их вы.
Цитата:

Цитата wadimus
ваш случай: сначала копируем файлы принудительно, потом еще делаем попытку скопировать теже файлы туда же!! »

Батником вы копируете шрифты дальше вы их регистрируете в системе с помощью программы.
Цитата:

Цитата wadimus
так зачем усложнять задачу .. или сами копируем и ждём, пока фонты попадут в систему .. или используем fontinst.exe, который:
- первое!! скопирует список файлов из fontinst.inf в нужное место
- второе!! зарегистрирует их »

Он ничего не копирует. Он вносит запись в реестр.

wadimus 26-12-2016 17:16 2698519

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 2698525

Цитата:

Цитата wadimus
и копирует и регистрирует!! только TTF .. »

Должен, но не копирует. Да, возможно не хочет на х64 системах. Но регистрирует нормально. Так что вкупе с батником, работает :)


Время: 20:34.

Время: 20:34.
© OSzone.net 2001-