De Zero Width Joiner (veelal aangegeven als ZWJ in het Engels vaak uitgesproken als "Zwidzj" [1]) is een bijzonder Unicode karakter, dat niet zichtbaar of afdrukbaar is, maar dat tot gevolg heeft dat het volgende karakter in een sequentie op het voorgaande karakter terechtkomt, in plaats van de gebruikelijke situatie dat een opeenvolgend karakter één positie na het voorgaande karakter afgedrukt wordt.
Het gebruik van een ZWJ is vaak van toepassing bij ligaturen, maar ook bij emoji worden regelmatig ZWJ-sequenties gebruikt om tot samengestelde karakters te komen. De ZWJ, en een karakter met een tegengestelde functie, de Zero Width Non Joiner (ZWNJ) maken al sinds de Unicode 1.1 standaard uit 1993 deel uit van de standaard karakterset.
Het gebruik van ZWJ sequenties, hetzij voor het gebruik in ligaturen of in emoji, is veelal wel afhankelijk van implementatie in het lettertype of in het geval van emoji, ondersteuning in de weergevende applicatie of platform. Voor de samengestelde ligatuur of emoji zal er ook een corresponderende glief aanwezig moeten zijn. Is dat niet het geval, dan worden de karakters uit de samenstelling veelal gewoon achter elkaar weergegeven. Het gebruik van de ZWJ is vooral relevant voor weergave, alhoewel er ook gevallen zijn waar het gebruik van een ZWJ de betekenis van een weergegeven tekst verandert.[2]
Er kunnen overigens meer dan twee karakters op elkaar gestapeld worden.
Niet alle ZWJ sequenties hebben ondersteuning op alle platforms; Unicode houdt lijsten bij met welke combinaties feitelijke ondersteuning op ieder platform behoeven, de zogenaamde Recommended for General Interchange (RGI) karakters. [3]
De ZWJ kan gebruikt worden om individuele Arabische letters weer te geven op een wijze die ze anders alleen aannemen als ze in een woord met andere letters verbonden zijn.
Karaktersequentie | weergave | bedoelde weergave | uitleg |
---|---|---|---|
Ba | ب | (ar) ﺏ | isolaat |
ZWJ – Ba | ب | ﺐ | eindvorm |
Ba – ZWJ | ب | ﺑ | beginvorm |
ZWJ – Ba – ZWJ | ب | ﺒ | middenvorm |
👩‍🦰
In Unicode vindt men de ZWJ onder de code U+200D (hex).
In HTML kan men in hex de volgende codes gebruiken: ‍
, of ‍