You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于ANSI转义序列SGR参数10-19(替代字体)的技术咨询

ANSI SGR参数10-19:替代字体说明与Windows终端配置

一、参数10-19的作用机制

  • 参数10:切换回默认字体,是11-19的重置选项
  • 参数11-19:对应第1到第9号替代字体,规则是「参数值-10=替代字体编号」——比如\033[11m选第1号替代字体,\033[12m选第2号,以此类推

这些属于ANSI转义序列里的SGR(Select Graphic Rendition)指令,终端收到\033[<参数>m格式的序列后,会切换对应的字体显示后续文本,直到遇到重置指令(比如\033[0m)或者其他字体切换指令。

二、Windows 11终端没效果的解决办法

Windows默认的CMD(命令提示符)对SGR字体切换的支持几乎为零,哪怕配置了也没用。想看到效果,得用Windows Terminal,还要做以下配置:

1. 配置终端的附加字体

  • 打开Windows Terminal,按Ctrl+,调出设置
  • 找到你当前使用的配置文件(比如PowerShell、CMD)
  • 往下翻到「外观」板块,找到「附加字体」选项
  • 添加你想用的等宽字体(必须是等宽,比如Fira Code、Consolas、JetBrains Mono),添加顺序对应替代字体编号:第一个附加字体对应参数11,第二个对应12,以此类推
  • 保存设置后重启终端,再运行测试代码就能看到效果

2. 其他注意事项

  • 非等宽字体在终端中显示会错乱,务必选择等宽字体
  • 把Windows Terminal更新到最新版,旧版本可能不支持该特性
  • 确认终端已开启「启用ANSI颜色」选项(默认是开启状态,可在设置中检查)

测试代码

print('\033[10m', end='')
print('font0 TEST123test')
print('\033[11m', end='')
print('font1 TEST123test')
print('\033[12m', end='')
print('font2 TEST123test')

print('\033[0;33m', end='')
print('TEST123test')
print('\033[1;33m', end='')
print('TEST123test')

内容的提问来源于stack exchange,提问作者Mars Baboon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 02:40:29