猿问

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

这是为文本着色并在 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”,但不是斜体。


四季花海
浏览 141回答 1
1回答

斯蒂芬大帝

无论如何在ansi控制台上打印斜体字体?不。来自https://en.wikipedia.org/wiki/ANSI_escape_code:斜体 未得到广泛支持。有时被视为逆。这在很大程度上取决于终端的细节,以至于没有可靠的便携式方式来做到这一点。
随时随地看视频慕课网APP

相关分类

Go
我要回答