Combining arbitrary Unicode symbols, or Unicode characters with negative width

tor*_*gen 9 unicode glyph

Back in the older ZX Spectrum days, there was a way to print one glyph on top of another, creating a composite glyph with the help of OVER 1 instruction.

I wonder if there is a Unicode way to do the same on modern computers? Can I overlay two completely arbitrary printable glyphs (e.g. 7 and ~) on top of each other as if they were OR'ed or XOR'ed to produce this result?

数字七 (U+0037) 波浪号 (U+007E) DIGIT SEVEN 和 TILDE 的 OR'ed 组合 数字七和波浪号的异或组合

Or, alternatively, are there any "negative width" Unicode symbols?

Dav*_*lor 7

没有办法在 Unicode 中对两个任意字符的叠加进行编码。

在甚至早于 8 位计算机的某些编码中,您可以通过传输退格键来覆盖任意字符,因此 è 将是 e backspace`。这在早期的计算机屏幕上不起作用,但在机械行式打印机上起作用!

Unicode 中有组合字符,包括 7̴ 和 7̃。只是不是那个特别的。

支持将任意字符组合成单个字素的最接近的东西是零宽度连接器 ( zwidge ),例如用于制作 (woman) + ZWJ+ ? (杖) = ??? (女卫生工作者)。在表情符号和许多脚本中,例如梵文和阿拉伯文,这意味着除了叠加符号之外的其他内容。

OpenType 字体支持连字,因此给定的字体可能会定义 7~ 或 7 ZWJ~ 作为该符号。Palatino Linotype 是一种以这种方式支持 interrobang (?)

但是,通常,您需要通过其他方式将此信息传达给您的应用程序,例如嵌入自定义字体或将字形作为内联矢量图形传输。