Stacked combining characters are squished together

I want to have some text that uses multiple combining characters stacked on each other, such as what can be generated and copied from Diacriticism.  Unfortunately, when I paste something from there into Libreoffice Writer, all the combining characters get squished together, within the line.  It’s as if they are constrained to the line height.  Is there a way to allow these marks to bleed into the lines above/below?

Example:
Desired:
image

Actual:

Version info

LO Version: 7.5.8.1 (X86_64) / LibreOffice Community
Build ID: 50(Build:1)
CPU threads: 4; OS: Linux 6.3; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Debian package version: 4:7.5.8~rc1-2
Calc: threaded

image

Thanks

If yu really want help, edit your question (= modify it, don’t use a comment) to mention OS nam, LO version and save format.

The link you provided gives absolutely no information about the goal and how it is made. Any attempt to jump to home page (root of the site) results in Error 403 (access permission error). There is no way to understand what is at stake.

Attach a sample file so that the formatting can be analysed.

IMHO, this is an abuse of combining diacritics. These are supposed to slightly change the base character look, not to create decorative artistic effects. From what I know about fonts, diacritics have predetermined positions with “shift” rules when several diacritics target the same position. So, having “chimneys and smoke” is not part of the game.

Also, don’t forget that pasting data from web sites will bring in formatting directives potentially incompatible with office suites primitives. Only pasting as unformatted text is reliable, which, of course, wipes out all directive to create fancy effects.

1 Like

… and they definitely agree with you, writing in the footer:

This is a tool for abusing combining diacritical marks

However, it seems that there might be something wrong in LO, since e.g. github’s markdown display shows the stacking as the abuse meant it to. Who is correct?

1 Like

I did a check with data from the linked site: data is “pure” Unicode, i.e. base character followed by combining marks without any fancy formatting directives in-between. Therefore, it “can” be handled by the font renderer.

But, when I look (in Firefox) at the page pointed to by @mikekaganski I see roughly the same result as in Writer. The page to create the effect uses a different formatting “engine” based on a complex CSS stylesheet where position of marks is individually controlled.

I could not find any Technical Report or Annex in the Unicode site specifying combining marks positioning (in the case where many compete for the same base position).

OpenType has several tags to deal with the case. In particular mkmk seems to be the one dealing with position competition. As far as I can tell with FontForge, most fonts have no mkmk table but FontForge is known not to show everything in font files.

IMHO, default renderer behaviour is sufficient for the usual case with few diacritics with no position conflict in the absence of the various tables related with diacritics. But this does not allow to handle the pathological case described here (which seems to be perfectly legal from a Unicode point of view) because there is no hint about what to do when 2 diacritics claim the same position. In addition, from a semantics point of view, it is likely that the order of diacritics is relevant (i.e. changes the meaning of the combination). Hence the importance of a clean specification about shifts and offsets (a bit like the aforementioned CSS stylesheet).

Oh abuse is such a strong term 🫳  Even though they use it on their own site…  This (“unintended feature”, perhaps?) can be used in all sort of creative, artistic, and non-abusive ways!  Anyway,

it appears to be font-dependent

rather than app-dependent.  For example, using the text below (which to me looks like the clouds and rain have condensed to snow), you can copy/paste it into different apps and try different fonts.

L͛͛͛͛͠͠i͛͛͛͛͛͠͠b͛͛͛͛͠͠r͛͛͛͛͠͠e͛͛͛͠͠͠O͛͛͛͛͛͠͠͠f͛͛͛͠͠f͛͛͠͠i͛͛͛͛͠͠͠c͛͛͠͠e͛͛͛͛͠͠͠

I tried with a few free fonts in LibreOffice Writer.  The Liberation fonts do not stack, neither do the GNU Free fonts.  However, the DejaVu and Noto fonts do stack.  In gedit, got similar results depending on the font.

image

image

If you want decoration by fonts, you could consider fonts designed for that. Some of the Foglihten fonts explore the extent of the OpenType features although you might be disappointed by the lack of diacritical features other effects are quite interesting and possibly more controlable. See www.glukfonts.pl
Foglihten

2 Likes

Your experiment is very interesting. It shows behaviour is highly font-dependent. It would be worth to see which tables (“tags”) are present in the font file. For example, grave accent seems to stack vertically in all fonts while tilde either stacks vertically (monospaced fonts, but this may be inherent to the monospace property) or is slightly offset to right.

1 Like