![Можно ли включить дополнительные шрифты в командной строке без редактирования реестра?](https://rvso.com/image/1684436/%D0%9C%D0%BE%D0%B6%D0%BD%D0%BE%20%D0%BB%D0%B8%20%D0%B2%D0%BA%D0%BB%D1%8E%D1%87%D0%B8%D1%82%D1%8C%20%D0%B4%D0%BE%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D0%B5%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5%20%D1%88%D1%80%D0%B8%D1%84%D1%82%D1%8B%20%D0%B2%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%BD%D0%BE%D0%B9%20%D1%81%D1%82%D1%80%D0%BE%D0%BA%D0%B5%20%D0%B1%D0%B5%D0%B7%20%D1%80%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%20%D1%80%D0%B5%D0%B5%D1%81%D1%82%D1%80%D0%B0%3F.png)
У меня есть (совместимый с 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. Все, что я пробовал до сих пор, не сработало.