问题描述
keil5.36的编辑器默认是ANSI编码,此时字体正常但无法输入中文,当修改为GB2312编码后中文输入正常,但字体变成类似宋体的样式,且无法修改为ANSI编码时使用的字体。
解决方法
经测试,在keil可以选择的monospaced等宽字体中,有一部分字体是能在GB2312编码下正常使用的,比如Terminal、MS Gothic和黑体等本身包含中文字符的字体。
猜测此问题可能是keil的编辑器内部某处存在bug,使得字符编码与选择的字体文件强相关,导致绝大部分不带中文字符的等宽字体无法使用。
虽然有部分字体可用,但是我感觉不太好看,所以我摸索出了下面两种解决方法。
方法1
使用非等宽且包含中文的字体。
- 首先在Configuration设置中取消勾选use monospaced Font;
- 然后进到字体选择界面,可以看到可选择的字体变多了,这是因为keil的编辑器默认使用monospaced等宽字体,而windows自带的等宽字体又很少,所以看起来可选择的就很少。
在字体选择界面选择一种自己觉得好看的即可,下面是非等宽微软雅黑的效果。
方法2
方法1虽然可用的字体更多了,但是会导致某些代码或注释看起来比较乱,这是因为非等宽字体的缘故。所以最后我用了方法2。这个方法还是继续使用monospaced等宽字体,只需要额外安装一些其他样式的支持中英文的等宽字体即可。
经过一番搜索,最终找到两款实测可用效果也还可以的等宽字体:Sarasa Mono SC Nerd、YaHei-Consolas-Hybrid-1.12
- 首先把字体文件下载下来,下载好后双击打开.ttf格式文件,在左上角点击安装;
- 重启keil,进入configuration,勾选use monospaced Font;
- 进入字体选择界面对应的字体即可,Sarasa Mono SC Nerd对应更纱黑体 Mono SC。