Можно ли включить дополнительные шрифты в командной строке без редактирования реестра?

Можно ли включить дополнительные шрифты в командной строке без редактирования реестра?

У меня есть (совместимый с Windows) шрифт открытого типа, который я хотел бы использовать в командной строке, Powershell, WSL и т. д. Я успешно установил его, и он отображается в других инструментах, таких как Wordpad. Однако он не отображается как опция в командной строке после щелчка правой кнопкой мыши по панели и выбора «Свойства», а затем перехода на вкладку «Шрифт». Его просто нет в списке. Только небольшое количество отображается.

Я прочитал в интернете, что это может потребовать редактирования реестра. Возможно ли это сделать?безредактирование реестра?

В случае необходимости, конкретный шрифт: «Fura Mono Medium Nerd Font Complete Mono Windows Compatible.otf»

Я взял это здесь:https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts/FiraMono

решение1

Вероятно, проблема в том, что добавленный вами шрифт неправильно помечен как моноширинный или он установлендля одного пользователяи недоступен длядругой(например, пользовательСистема).

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

В командной строке CMD должно отображаться любоедопустимый моноширинный шрифтто естьустановлено для всех пользователей.[В дополнение к шрифтам TrueType,фиксированная системаТакже можно использовать шрифты.]Никакого взлома реестра не используется.

Обратите внимание на три условия:

  • Допустимо, т.е. в шрифте нет ошибки, неверно идентифицирующей его.
  • Моноширинный, не пропорциональный.
  • Установлено для всех пользователей, включая Систему.

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

Использование добавленного шрифта

Что касается моноширинных и пропорциональных шрифтов:

В командной строке CMD используются толькомоноширинные шрифты, такие как Courier New [устанавливается по умолчанию в Windows], и другие, такие как3270, Консолас, Дежавю Санс Моно,Инконсолата, Liberation Mono и Lucida Console. СмотритеВикипедия для еще большегомоноширинные шрифты. Вы добавилимоноширинныйшрифт, онбыпоявились в списке вариантов вПредпочтения.

Есть причинапропорциональные шрифтыявляютсянетиспользовал.Кернингбукв регулирует интервалы для улучшения внешнего вида и использования меньшего пространства между буквами. Например, буквы AVможно сжать так, чтобы они перекрывали друг друга. Однако это разрушает ширину столбцов, если только между столбцами нет табулятора (табуляции) — а традиционные подсказки CMD и терминалы игнорируют табуляции, что может непреднамеренно вызывать трудно диагностируемые проблемы в командах.

введите описание изображения здесь

Обратите внимание, что на изображении выше были выбраны два "столбца" (дата и время) с помощью Altпри выборе диапазона мышью. Пропорциональный интервал не позволил бы буквам аккуратно выстроиться, одна над другой.

Опять же, никакого взлома реестра не требуется, и я бы с подозрением отнесся к любому такому «требованию».

решение2

Я почти уверен, что вы не можете добавлять новые шрифты в командную строку без правок реестра. Я предполагаю, что решение было принято для того, чтобы не позволить кому-либо изменить шрифты на что-то, что кто-то не сможет прочитать, например, WingDings или шрифт иностранного языка, тем самым сделав его практически бесполезным.

решение3

Оказывается, что инструмент Windows CMD, Powershell и WSL поддерживают только шрифты True Type (.ttf), а не Open Type (.otf). Смотрите объяснение здесь:https://github.com/ryanoasis/nerd-fonts/issues/1110#issuecomment-1423726176

Также, похоже, что некоторые из исправленных шрифтов Nerd Fonts имеют версии .ttf, а другие — нет.

Я обнаружил, что у них есть версия Inconsolata в виде пропатченного шрифта Nerd Font (так что в нем есть дополнительные символы, необходимые для таких инструментов, как LSDeluxe), а также версия .ttf.

К сожалению, это такнетесть символы, необходимые для правильной работы подсказки Starship. Все, что я пробовал до сих пор, не сработало.

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