J'ai développé un script qui agit comme une application basée sur la console (pensez ncurses) en utilisant PowerShell.PowerShell - Modifier la police de la console par programme
La police 'Lucida Console' est configurée dans un raccourci vers le script.
Je voudrais donner à l'utilisateur la possibilité de changer la taille de la police. Le module suivant fait juste cela, cependant la police est toujours réinitialisée à 'Raster Fonts': https://4sysops.com/archives/change-powershell-console-font-size-with-cmdlet/
Je ne comprends pas pourquoi cela se produit, car le code apparaît pour produire la liste des tailles de police légales en fonction d'une référence à le actuel informations de police.
MISE À JOUR @ Le commentaire de sodawillow m'a envoyé sur le bon cap. Pour élaborer ...
Il semble que la liste des tailles de police valides soit déterminée par la taille de la fenêtre de la console (il est également possible que d'autres facteurs aient été omis).
Par exemple, get-consolefontinfo | Format table renvoie le message suivant sur une taille de fenêtre de 120x64:
nFont dwFontSizeX dwFontSizeY
----- ----------- -----------
0 84 42
1 70 48
2 52 64
3 105 64
4 105 64
5 120 64
6 120 64
7 168 64
8 52 96
9 105 96
10 140 96
11 210 128
Alors qu'avec une taille de fenêtre de 106x51, il retourne:
nFont dwFontSizeX dwFontSizeY
----- ----------- -----------
0 104 49
1 114 49
2 125 49
3 104 55
4 78 73
5 156 73
6 179 73
7 250 73
8 78 110
9 156 110
10 209 110
11 313 147
La police (Consolas, Lucida Console ou Raster Fonts) Cela s'applique différera en fonction de l'index sélectionné.
Donc contrairement à ma question, ce module ne réinitialise pas toujours la police à 'Raster Fonts'.
Merci, votre commentaire m'a mis sur la bonne voie. – Fitzroy
De rien. L'utilisation ici est d'accepter la réponse que vous préférez en cliquant sur la coche à côté du vote de réponse. – sodawillow