我想尝试重新提出几年前的一个问题。那里有一些推测性的评论,认为这可能不起作用,但我感觉这里有几十/几百个天才轻松破解了这个问题,现在在他们的普通 PS 5.1 控制台上有了带有 Powerline 字体的 Starship(即不是Windows 终端)。从这个问题提出已经过去了 2 年零 4 个月,如果有人能解决这个问题我将不胜感激......(我要指出的是,在我的工作环境中,在 Server 2012/2016 环境中,我将在未来至少 4-5 年内使用 PS 5.1 控制台,虽然这远非关键,但尝试构建一个舒适/功能齐全的环境还是不错的)。请注意,这是不是关于 Windows 终端的一个问题。
https://stackoverflow.com/questions/62113888/starship-symbols-in-powershell
答案1
Windows 默认控制台 (conhost.exe) 不支持打印所有 Unicode 字符。例如,每个缓冲区单元格仅限于16 位字符数据。问题不仅仅出在字体或编码上
以下是一些可以正常工作的随机字符:
« »
ᐊ ᐅ
҂ ҈
您可以使用类似这样的方法生成完整列表,并查看您的字体中呈现的代码:
0x20..0x1600 | %{[pscustomobject]@{code=$_;char=[char]$_}}
code char
---- ----
32
33 !
34 "
35 #
36 $
37 %
38 &
39 '
Starship 的其他一切似乎在 5.1 终端上运行良好