【问题标题】:Disable/reset bold in xterm在 xterm 中禁用/重置粗体
【发布时间】:2015-12-05 11:03:49
【问题描述】:

使用转义序列"\033[21m" 用于重置/删除粗体/明亮:

echo -e "Text\033[1mMore text\033[21mEnd"

必须返回:

文字更多文字结束

但我明白了

文字更多文字E̲n̲d̲

如您所见,在xterm "\033[21m" 更改为下划线并重置粗体我们需要使用"\033[0m",这是为什么呢?

有没有办法改变这种行为? (也许用一些参数启动 xterm)

【问题讨论】:

    标签: console xterm ansi-escape


    【解决方案1】:

    根据XTerm Control Sequences,SGR 21 是“双下划线”:

    CSI Pm m  Character Attributes (SGR).
    
            Ps = 2 1  -> Doubly-underlined (ISO 6429).
            Ps = 2 2  -> Normal (neither bold nor faint).
            Ps = 2 3  -> Not italicized (ISO 6429).
            Ps = 2 4  -> Not underlined.
            Ps = 2 5  -> Steady (not blinking).
            Ps = 2 7  -> Positive (not inverse).
            Ps = 2 8  -> Visible, i.e., not hidden (VT300).
            Ps = 2 9  -> Not crossed-out (ISO 6429).
    

    也许您打算使用 SGR 22。

    双下划线功能已在 xterm patch #305 中实现:

    小幅重组以实现“填充”SGR 功能。没有建立依赖于这些的应用程序;有些人觉得它们很有趣。

  • 用于管理绘图状态与属性位的单独位。
  • 实现 SGR 代码 2、3、9、21 及其相应的重置。
  • 添加配置选项--disable-wide-attrs 以禁用该功能。
  • 【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-13
      • 1970-01-01
      • 2013-03-12
      • 1970-01-01
      • 2023-03-05
      • 1970-01-01
      • 2018-08-20
      • 1970-01-01
      相关资源
      最近更新 更多