Windows 11
1.5.1
字体选择更换之后出现乱码,之后再选择乱码字体无效。重启应用也没有用
cld4siwp1#
才注意你是win11啊,windows是通过vbs脚本获取字体列表的,升级之前正常么?
voj3qocg2#
看了看 font-list 的逻辑,是用cmd呼起powershell执行的,你用CMD执行下面命令,看返回编码正确么
font-list
这是目前Another使用的版本powershell -command "chcp 65001;[System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\");(New-Object System.Drawing.Text.InstalledFontCollection).Families"
powershell -command "chcp 65001;[System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\");(New-Object System.Drawing.Text.InstalledFontCollection).Families"
下面是他的最新版本powershell -command "chcp 65001|Out-Null;Add-Type -AssemblyName PresentationCore;$families=[Windows.Media.Fonts]::SystemFontFamilies;foreach($family in $families){$name='';if(!$family.FamilyNames.TryGetValue([Windows.Markup.XmlLanguage]::GetLanguage('zh-cn'),[ref]$name)){$name=$family.FamilyNames[[Windows.Markup.XmlLanguage]::GetLanguage('en-us')]}echo $name}"
powershell -command "chcp 65001|Out-Null;Add-Type -AssemblyName PresentationCore;$families=[Windows.Media.Fonts]::SystemFontFamilies;foreach($family in $families){$name='';if(!$family.FamilyNames.TryGetValue([Windows.Markup.XmlLanguage]::GetLanguage('zh-cn'),[ref]$name)){$name=$family.FamilyNames[[Windows.Markup.XmlLanguage]::GetLanguage('en-us')]}echo $name}"
看看这俩执行结果编码对么都,我的win10正常
xienkqul3#
oldj/node-font-list#28 给原作者提了个pr,应该能解决乱码问题了
py49o6xq4#
这一段 powershell -command "chcp 65001;[System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\");(New-Object System.Drawing.Text.InstalledFontCollection).Families" 执行报错了。
这个一段 powershell -command "chcp 65001|Out-Null;Add-Type -AssemblyName PresentationCore;$families=[Windows.Media.Fonts]::SystemFontFamilies;foreach($family in $families){$name='';if(!$family.FamilyNames.TryGetValue([Windows.Markup.XmlLanguage]::GetLanguage('zh-cn'),[ref]$name)){$name=$family.FamilyNames[[Windows.Markup.XmlLanguage]::GetLanguage('en-us')]}echo $name}" 执行是正常显示的
juud5qan5#
第一段前面少东西了吧 powershell -command
0vvn1miw6#
链接: https://pan.baidu.com/s/1046nyIse4k6RSjHQPi2v-A?pwd=yth2 提取码: yth2@GaoIU 新打了个包,win11安装试一下还乱码么
6条答案
按热度按时间cld4siwp1#
才注意你是win11啊,windows是通过vbs脚本获取字体列表的,升级之前正常么?
voj3qocg2#
看了看
font-list
的逻辑,是用cmd呼起powershell执行的,你用CMD执行下面命令,看返回编码正确么这是目前Another使用的版本
powershell -command "chcp 65001;[System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\");(New-Object System.Drawing.Text.InstalledFontCollection).Families"
下面是他的最新版本
powershell -command "chcp 65001|Out-Null;Add-Type -AssemblyName PresentationCore;$families=[Windows.Media.Fonts]::SystemFontFamilies;foreach($family in $families){$name='';if(!$family.FamilyNames.TryGetValue([Windows.Markup.XmlLanguage]::GetLanguage('zh-cn'),[ref]$name)){$name=$family.FamilyNames[[Windows.Markup.XmlLanguage]::GetLanguage('en-us')]}echo $name}"
看看这俩执行结果编码对么都,我的win10正常
xienkqul3#
oldj/node-font-list#28 给原作者提了个pr,应该能解决乱码问题了
py49o6xq4#
这一段
powershell -command "chcp 65001;[System.Reflection.Assembly]::LoadWithPartialName(\"System.Drawing\");(New-Object System.Drawing.Text.InstalledFontCollection).Families"
执行报错了。这个一段
powershell -command "chcp 65001|Out-Null;Add-Type -AssemblyName PresentationCore;$families=[Windows.Media.Fonts]::SystemFontFamilies;foreach($family in $families){$name='';if(!$family.FamilyNames.TryGetValue([Windows.Markup.XmlLanguage]::GetLanguage('zh-cn'),[ref]$name)){$name=$family.FamilyNames[[Windows.Markup.XmlLanguage]::GetLanguage('en-us')]}echo $name}"
执行是正常显示的juud5qan5#
第一段前面少东西了吧 powershell -command
0vvn1miw6#
链接: https://pan.baidu.com/s/1046nyIse4k6RSjHQPi2v-A?pwd=yth2 提取码: yth2
@GaoIU 新打了个包,win11安装试一下还乱码么