Zmienić czcionkę w nieaktualnym wierszu polecenia w systemie Windows 10 z zestawem znaków innym niż ASCII - Właściwości czy wartości domyślne?

3

Mam problemy z nowym wierszem poleceń systemu Windows 10. Jestem ze stroną kodową 936 (GBK).

Mówię „nowy”, ponieważ widzę we Właściwościach cmd, że jest run legacy command prompt (need restart)zaznaczone, domyślnie niezaznaczone, więc myślę, że ten, którego używam, jest „nowszy”.

Pytanie polega na tym, że przeszukiwanie Internetu daje mi tylko kilka sposobów na dodanie czcionki w rejestrze, aby starsze cmd rozpoznało ją i pokazało w ustawieniach „Właściwości” / „Wartości domyślne”, takie jak:

http://www.techrepublic.com/blog/windows-and-office/quick-tip-add-fonts-to-the-command-prompt/

Wspomina o dodaniu wpisu czcionki do pokazanej lokalizacji w:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont

aby system Windows rozpoznał tę czcionkę. Zwracam uwagę, że czcionki już tam wymienione są takie same, jakie widzę w starszym cmd. W normalnym cmd widzę więcej czcionek.

wprowadź opis zdjęcia tutaj

Zwróć uwagę, że na obrazku otworzyłem starsze polecenie cmd, z niektórymi czcionkami terminalu, oraz w oknie dialogowym ustawień właściwości, spośród których mogę wybrać czcionki Consolas i Lucida Console, takie same jak w rejestrze.

A jeśli przejdę do normalnego cmd, są dwa przypadki:

  1. Jeśli zdecyduję się edytować „Właściwości”, widzę mniej czcionek i zmiana działa.
  2. Jeśli zdecyduję się edytować „Wartości domyślne”, widzę więcej czcionek, ale zmiana nie wchodzi w życie.

We właściwościach:

wprowadź opis zdjęcia tutaj

Tutaj mogę wybierać między Yahei Consolas Hybridczcionkami i innymi, a cmd szanuje moje ustawienia i natychmiast zmienia czcionkę.

W wartościach domyślnych:

wprowadź opis zdjęcia tutaj

Można zobaczyć więcej czcionek o stałej szerokości tu, jak Dejavu Sans Mono, Monacoi tak dalej, ale nie można dokonać zmiany cmd tych czcionek.

Nie znam tutaj różnicy, ale to po prostu nie ma sensu. Niektóre ustawienia, których nie można przestrzegać, nie powinny istnieć, nie wspominając już o zamieszaniu: „Właściwości” i „Wartości domyślne” są identyczne.

Chcę zmienić czcionkę w normalnym cmd na Monaco lub Dejavu Sans Mono. Jeśli nie jest to możliwe, w starszym cmd.

A tak przy okazji, jeśli ktoś może wyjaśnić różnicę między „Właściwościami” a „Domyślnymi wartościami”, byłoby świetnie.

WesternGun
źródło
1
Zwykle (na przykład w systemie Windows 7) „Właściwości” dotyczą bieżącego okna cmd (i skrótu, który go uruchamia), a „Domyślne” dotyczy wszystkich okien cmd (jakkolwiek są one uruchamiane). Nie mam pojęcia, czy nadal dotyczy to „starszych” systemów Windows 10 i „nowych” okien cmd ...
DavidPostill
@DavidPostill Robi to i aby zmienić ustawienia domyślne, musisz je jawnie zmienić
Ramhound 21.04.17
@DavidPostill Tak, we właściwościach systemu Windows 10 nadal obowiązuje bieżące okno, domyślnie dla wszystkich przyszłych. Nie jestem pewien co do dziedzictwa.
Xalorous
Również technet.microsoft.com/en-us/library/mt427362.aspx Oto wszystkie informacje na temat nowego hosta konsoli.
Xalorous
Dzięki za wszystkie odpowiedzi! Myślę, że masz rację. Widzę teraz, że w „Właściwościach” widzę ograniczone czcionki i zmiana działa, ale w Domyślnie widzę więcej czcionek, ale nie dotyczy to tego cmd, ani innego nowego cmd. jakieś pomysły? Wątpię, czy ma to coś wspólnego ze stroną kodową, ponieważ: Yahei Consolas Hybrid to czcionka, która może wyświetlać zarówno chińskie, jak i angielskie znaki w stylu monospace, więc musi zawierać niektóre chińskie czcionki. Moja strona kodowa to GBK, a system wykrywa, że ​​Monaco / Dejavu nie ma żadnych chińskich czcionek, więc nie
zawraca

Odpowiedzi:

2

Teraz znajduję odpowiedź, dziękuję wszystkim za pomoc. Nie zaakceptuję własnej odpowiedzi za tydzień, aby sprawdzić, czy ktoś może opublikować lepszą odpowiedź.

Problem leży w stronie kodowej. Ustawiłem domyślny język wyświetlania dla systemu Windows 10 na chiński uproszczony ze stroną kodową GBK (936). Tak więc w cmdsystemie Windows system wyświetla wszystkie informacje w języku chińskim. W rzeczywistości widzimy, że na pierwszych obrazach, które opublikowałem w pytaniu, początkowe wiersze informacji pomocy są wyświetlane w języku chińskim.

Aby pokazać coś po chińsku, musisz znaleźć odpowiednią czcionkę, która będzie zawierać wskazówki dla chińskich znaków. Najwyraźniej system Windows sprawdza wcześniej wszystkie czcionki, aby sprawdzić, czy obsługuje bieżące znaki strony kodowej. Gdy zobaczy, że ustawiona czcionka nie obsługuje chińskiego, porzuci tę czcionkę i wróci do domyślnej. Ponadto usunie tę czcionkę z listy ustawień czcionek w panelu Domyślny. Yahei Consolas Hybridobsługuje zarówno angielski, jak i chiński, dlatego można go wyświetlić na liście w ustawieniach domyślnych i właściwościach. Monacoi Dejavujednak zniknął z panelu Domyślny, ale pozostał w panelu Właściwości.

Dlaczego nie usuwa również listy czcionek Właściwości? Ponieważ, jak mówią komentarze, „Właściwości” dotyczą bieżącego cmdokna / sesji, podczas gdy „Domyślne” ustawienia kontrolują wszystkie kolejne cmdsesje, np. Bardziej globalne. Zapewnia to, że jeśli użytkownik zmieni stronę kodową w czasie wykonywania, nie będzie musiał ponownie sprawdzać listy czcionek pod kątem właściwości, a użytkownik może bezpośrednio zmieniać czcionkę. Dokładnie tak się dzieje w moim przypadku. Muszę powiedzieć, że Windows wykonał tutaj wiele pracy w tle.

Na poniższym zrzucie ekranu widać, że zmieniłem stronę kodową, chcp 1252a zmiana czcionki zaczyna obowiązywać natychmiast. Jest Monacoteraz

wprowadź opis zdjęcia tutaj

Pytanie zatem brzmi: „Jak zmienić stronę kodową po uruchomieniu cmdokna?” I znalazłem bardzo przydatne pytanie:

Zmień domyślną stronę kodową konsoli Windows na UTF-8

Upraszczam zmianę na:

  1. Utwórz .regplik, nadaj mu dowolną nazwę.
  2. Skopiuj te linie do pliku i zapisz.

Po prostu wpisz:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor]
"Autorun"="chcp 1252>>nul"

1252mogą być inne wartości. >>nuljest unikanie drukowania

Active code page: 1252

przy każdym uruchomieniu cmd.

  1. Uruchom plik, aby zaimportować ustawienia.
  2. Uruchom cmd. Teraz możesz łatwo ustawić czcionkę we właściwościach. (Zauważ, że jeśli uruchamiasz z linku na pulpicie, czcionka jest Simsun, ale jeśli uruchamiasz z zakotwiczenia na pasku zadań, to jest Yahei Consolas Hybrid. Nie wiem dlaczego. Ale możesz po prostu zmienić czcionkę.

cmdJednak ustawienie domyślnej czcionki w Domyślne nie działa dla kolejnych sesji . Nadal spada Simsun, więc nie mogę uzyskać „Open cmd and with Monacofont”. Myślę, że dzieje się tak, ponieważ system Windows sprawdza bieżącą stronę kodową języka za pomocą czcionek, a nie stronę kodową „autorun” z czcionkami. , więc zmiana domyślnego języka może działać, ale nie tego chcę. Nadal jestem z tym tematem.

WesternGun
źródło
1

Teraz w Ustawieniach regionu (Region / Administracja [nazwa karty], a następnie Zmień ustawienia regionalne systemu ...) znajduje się pole wyboru z napisem „Beta: Użyj Unicode UTF-8 do obsługi języków na całym świecie”. Sprawdź to i prawdopodobnie będzie działać. Obecnie korzystam z kompilacji systemu Windows 10 17134.165.

Tayakorn Rakwetpakorn
źródło