Opened 9 years ago

Closed 8 years ago

#27 closed defect (fixed)

do we need to say anything special about ZWNJ and ZWJ?

Reported by: duerst@… Owned by: duerst@…
Priority: major Milestone:
Component: 3987bis Version:
Severity: - Keywords:


This is issue from the old issue tracker, originally brought up by Felix Sasaki (see

Change History (6)

comment:1 Changed 9 years ago by duerst@…

  • Owner set to duerst@…

From editorial teleconference 2010-09-28:

Ticket #27: do we need to say anything special about ZWNJ and ZWJ?

Martin: this seems similar to ticket #26 -- legal, but a bad idea

Addison: if you use these chars, output might not be a working address

Martin: we might in the future need to generalize this

Martin: also might need to add this to text about spoofing

Addison: not ready to do a full proposal yet?

ACTION ITEM: Martin to post to list or propose text

comment:2 in reply to: ↑ description Changed 8 years ago by chris@…

Replying to duerst@…:

This is issue from the old issue tracker, originally brought up by Felix Sasaki (see

If the use cases for ZWJ/ZWNJ are only valid in limited contexts, then could the draft make a statement that it's legal to use in those cases and not recommended in other cases?

comment:3 Changed 8 years ago by duerst@…

ZWNJ is Zero Width Non-Joiner, preventing ligatures and similar stuff. ZWJ is Zero Width Joiner, suggesting or forcing ligatures. They are invisible in many contexts, but are important in Persian (Farsi) and some Indic languages (Malayalam,...).

IDNA 2003 removed them, but IDNA 2008 allows them based on context and with the expectation that registries will be careful about allowing them only in those circumstances where they really make a difference.

comment:4 Changed 8 years ago by duerst@…

We will say something about it. We'll split it into restriction on generation, vs. loose check when processing. We'll reference IDNA 2008.

comment:5 Changed 8 years ago by duerst@…

I propose the following text, to be added in the section "Limitations on UCS Characters Allowed in IRIs":

--- C:/Users/duerst/AppData/Local/Temp/draft-ietf-iri-3987bis.xml-revBASE.svn000.tmp.xml	木 3  1 19:10:21 2012
+++ C:/Data/ietf-iri/draft-ietf-iri-3987bis/draft-ietf-iri-3987bis.xml	木 3  1 19:38:04 2012
@@ -18,6 +18,7 @@
 <!ENTITY rfc3987 SYSTEM "">
 <!ENTITY rfc5890 SYSTEM "">
 <!ENTITY rfc5891 SYSTEM "">
+<!ENTITY rfc5892 SYSTEM "">
 <!ENTITY rfc6055 SYSTEM "">
 <!ENTITY rfc6082 SYSTEM "">
@@ -930,6 +931,13 @@
     includes many look-alikes of "space", "delims", and "unwise",
     characters excluded in <xref target="RFC3491"/>.</t>
+  <t hangText='d.'>The ZERO WIDTH NON-JOINER (U+200C) and ZERO WIDTH
+    JOINER (U+200D) are invisible in most contexts, but are crucial in
+    some very limited contexts. Appendix A of <xref target="RFC5892"/>
+    contains contextual restrictions for these and some other characters.
+    The use of these characters are strongly discouraged except
+    in the relevant contexts.</t>
@@ -1734,6 +1742,7 @@
 <reference anchor="UNIV6">

comment:6 Changed 8 years ago by duerst@…

  • Resolution set to fixed
  • Status changed from new to closed

Addressed by applying commit 98 as described in comment 5.

Note: See TracTickets for help on using tickets.