【问题标题】:Why can only certain characters be printed in bold?为什么只能用粗体打印某些字符?
【发布时间】:2014-06-02 11:22:11
【问题描述】:

我一直在开发一个在某些情况下在终端中打印粗体文本的程序,但我一直想知道,为什么某些字符(如 *、# 和 ~)没有以粗体打印?另外,是否有办法让它们以粗体打印。我已经知道如何使用转义序列来做到这一点,但还有其他方法吗?这是一个代码示例:

#This isn't bold:  
print "\033[94m####\033[1m"

#But this is:
print "\033[94mHello\033[1m"

编辑:我很笨。上面的代码应该是这样的:

print "\033[94;1m####\033[0m"

【问题讨论】:

  • 您是如何尝试打印的?
  • 你能发布一些你用来打印粗体文本的代码/方法吗?
  • 您使用的是什么操作系统,您使用的是什么外壳?我敢打赌,不同的 shell 或操作系统会以不同的方式处理这个问题。
  • @SethMMorton 我正在运行 Linux 的树莓派变体。
  • @SethMMorton 你绝对是对的.. 我的解释器中正好有零个使用这种语法打印粗体文本

标签: bash printing terminal ansi-colors


【解决方案1】:

您正在打印粗体 SGR 命令文本之后。您必须在 文本之前打印粗体命令以使其生效:

bold='\033[1m'
blue='\033[94m'
normal='\033[m'

print bold+'Hello'+normal  # This prints in bold
print bold+'###'+normal    # So does this

参考:

【讨论】:

  • 也许吧。你用什么终端?
  • 当我在 LX 终端窗口中执行上述代码时,我得到一个粗体“hello”一个粗体“###”。我不知道你为什么会得到其他的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-23
相关资源
最近更新 更多