Как предотвратить исчезновение установленных мной шрифтов при перезагрузке Windows?

Как предотвратить исчезновение установленных мной шрифтов при перезагрузке Windows?

Это похоже наэтотвопрос в Сан-Франциско, за исключением того, что это происходит на моем ноутбуке, где мой идентификатор пользователя является частью группы администраторов.

Шрифты, которые я устанавливаю, исчезают после перезагрузки. Мне эти шрифты очень нужны по двум причинам: 1. Определенные шрифты с фиксированной шириной, к которым я слишком привык для программирования/IDE/Emacs. 2. Специальные шрифты для просмотра контента на индийских языках.

Есть ли у меня идеи, как этого избежать?

Сценарий:

  1. Загрузите и войдите в Windows, используя мой идентификатор пользователя.
  2. Установите новый шрифт (перейдите в C:\WINDOWS\Fonts, щелкните File -> Install new font..., укажите местоположение, выберите Copy files to fonts folder, щелкните OK)
  3. Установлен новый шрифт. Он виден во всех приложениях, например, в Microsoft Word и GNU Emacs.
  4. Перезагрузите компьютер и войдите в систему под тем же именем пользователя.
  5. Новые шрифты, установленные на шаге 2, исчезли! Они не доступны ни в одном приложении.

Я проверил следующее:

  1. Я использую Windows XP.
  2. Мой идентификатор пользователя входит в группу администраторов
  3. С точки зрения разрешений Windows (вкладка «Безопасность» в свойствах папки) группа «Администраторы» имеет полный контроль над папкой C:\Windows\Fonts.
  4. Даже после перезагрузки файлы шрифтов присутствуют в папке C:\Windows\Fonts и я не могу их переустановить. Когда я пытаюсь переустановить, я получаю диалоговое окно с ошибкой

    альтернативный текст

  5. Отсутствуют только новые шрифты, которые я установил.

  6. В разделе реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fontsэти шрифты отображаются в соответствующих файлах шрифтов.
  7. В HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.iniзначении Fontsсопоставляются данные SYS:Microsoft\Windows NT\CurrentVersion\Fonts(это было #SYS:Microsoft\Windows NT\CurrentVersion\Fontsпо умолчанию).

решение1

Я нашел это на одном сайте, и это мне помогло.

Если файлы шрифтов зашифрованы (зеленого цвета), они будут заблокированы и станут недоступны после перезагрузки. Щелкните правой кнопкой мыши по шрифту (в папке, в которой он был установлен), выберите «Свойства», «Дополнительно» и снимите флажок «Шифровать содержимое для защиты данных».

Затем установите шрифт.

решение2

Я нашел решение, которое работает. Помимо того, что я уже проверил (спасибоСФинекоторый другой ссылки) остался 1 последний пункт, который нужно было отсортировать. Коренная причина проблемы, похоже, связана с шифрованием.

На моем компьютере есть несколько папок, которые автоматически шифруются Windows (они отображаются зеленым цветом в проводнике). Когда я устанавливаю шрифты из этой папки (используя опцию «Копировать шрифты»), Windows не может прочитать скопированные файлы шрифтов после перезагрузки. Вероятно, это происходит из-за того, что она пытается загрузить шрифтдоон загружает службу шифрования/дешифрования.

Я обнаружил это, случайно установив приложение из другого места (потому что хотел скопировать ярлык и т. д.).

Решением является установка из расположения, где файлы расшифрованы, или ручная расшифровка скопированных файлов шрифтов (выбрав Файл -> Свойства и на вкладке «Общие» нажав Дополнительно, а затем сняв флажок «Шифровать содержимое...»).

Итак, ниже приведен обновленный контрольный список, который позволит убедиться, что установленные пользователем шрифты не исчезнут в XP после перезагрузки.

  1. Убедитесь, что идентификатор пользователя входит в группу «Администраторы» или «Опытные пользователи» (далее именуемую «Администраторы»).A/P group
  2. С точки зрения разрешений Windows (вкладка «Безопасность» в свойствах папки) A/P groupдолжен иметь право записи в папку C:\Windows\Fonts
  3. Раздел реестра HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fontsдолжен быть полностью изменяем для A/P group.
  4. В HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\IniFileMapping\win.iniзначении Fontsдолжно быть сопоставлено с данными SYS:Microsoft\Windows NT\CurrentVersion\Fonts(это #SYS:Microsoft\Windows NT\CurrentVersion\Fontsпо умолчанию). Я не знаю, необходим ли этот шаг
  5. Убедитесь, что файлы шрифтов не зашифрованы. Если вы решили скопировать файлы шрифтов, установите их из исходной папки, которая не зашифрована, или вручную расшифруйте их «на месте» (C:\Windows\Fonts) после установки. Если вы решили не копировать файлы шрифтов, убедитесь, что файлы хранятся без шифрования.

Связанный контент