How do Windows terminals make Chinese and English characters 1:2 in width?

Solution 1:

how do these Windows terminals make Chinese and English characters 1:2 in width regardless of the font family?

Most coding-style terminals or code-text-editors display characters in a literal X/Y grid, and ignore font for spacing entirely. However, most "general" text-editors only use the glyph width defined in the font to determine where to place the next character.

Can we achieve that in text editors?

Obviously, features depend on the editor itself, but Monospaced fonts are used to align characters in any text editor. For example, VS Code uses monospaced fonts by default (Settings > Text editor > Fonts), so it is usually aligned properly.

Not all monospaced fonts are equal though, and uncommon or Wide characters can be exceptions in fonts that you would normally expect to be monospaced like Consolas. You can try a font that renders wide characters as 2 latin characters instead e.g. Inconsolata.

Ligatures (joined-characters) may also be enabled in the editor, and you can run into monospaced fonts without monospaced ligature glyphs.