The problem is with 21m of ANSI escape code, it's show double underline instead of bold off like all others terminals.
Hi, the escape codes are handled by vte which is the underlying terminal widget. Which means that all vte-based terminal apps (I've checked gnome-terminal and tilix) treat 21m the same way. What "all other terminals" are you talking about? The support for 21m as a double underline code has been added to vte per this bug report: https://bugzilla.gnome.org/show_bug.cgi?id=721761
That being said: Egmont, if you're reading this - vte and xterm do treat 21m differently: for example, `echo -e "Normal \e[1mBold \e[21mNormal"` would show "Normal" as bold and single underlined in xterm but bold and double underlined in vte.
> [rmbeer] instead of bold off like all others terminals This is a false claim. xterm does double underline. mlterm does double underline. pterm (putty) does at least a single underline, and no bold off. As far as I know, recent Linux kernels no longer treat 21 either as bold off. The ECMA-48 standard, § 8.3.117 says "doubly underlined". Please adjust your scripts accordingly, or report bugs against applications that have faulty expectations (see e.g. https://github.com/curl/curl/issues/2736). > [Igor] single underlined in xterm The only slight difference between VTE and xterm is that xterm shows a thicker underline (a single underline of double width), whereas VTE shows two underlines. The exact look in xterm might depend on the font size, at certain font sizes the double version might not actually be thicker. I'm not fluent enough in English to tell whether "doubly underlined" could mean either of these, or which one only.
Thank you, Egmont! Closing.