无论如何在 ansi 控制台上打印斜体字体?

Is there anyway to print italic font on ansi console?

这是在 ansi 控制台上为文本着色并提供粗体、闪烁和突出显示效果的脚本。

import (
    "fmt"
    "github.com/mgutz/ansi"
)

color1Func := ansi.ColorFunc(fmt.Sprintf("%v+bh:%v", 181, 255))
color2Func := ansi.ColorFunc(fmt.Sprintf("%v+B:%v", 121, 255))

io.WriteString(os.Stdout, color1Func(text1))
io.WriteString(os.Stdout, color2Func(text2))

我尝试打印斜体字体以设计更好的控制台应用程序,但苦苦挣扎了好几天都找不到它。 这是 ansi 控制台无法做到的吗?

更新:

这是我为 mgutz/ansi

检查的内容
        if strings.Contains(fgStyle, "b") {
            buf.WriteString(bold)
        }
        if strings.Contains(fgStyle, "B") {
            buf.WriteString(blink)
        }
        if strings.Contains(fgStyle, "u") {
            buf.WriteString(underline)
        }
        if strings.Contains(fgStyle, "i") {
            buf.WriteString(inverse)
        }
        if strings.Contains(fgStyle, "s") {
            buf.WriteString(strikethrough)
        }
        if strings.Contains(fgStyle, "h") {
            base = highIntensityFG
        }

它有 "i" 但不是斜体。

Is there anyway to print italic font on ansi console?

没有

来自https://en.wikipedia.org/wiki/ANSI_escape_code

Italic Not widely supported. Sometimes treated as inverse.

这在很大程度上取决于您的终端的细节,因此没有可靠的便携方式来做到这一点。