Standardmäßig ignorierbar
Zeichen, die keine sichtbare Wirkung haben sollen und von Prozessen ignoriert werden können, die sie nicht unterstützen, einschließlich Variantenselektoren, Zeichen ohne Breite und Sprach-Tags.
What Are Default Ignorable Code Points?
A Default Ignorable Code Point is a character that should, by default, produce no visible glyph and no advance width when rendered. These characters exist to convey invisible semantic information—joining behavior, direction control, variation selection—without disturbing the visual flow of text when a renderer does not support them.
The rule is: if a process does not recognize or support a default ignorable character, it should silently discard it rather than display a replacement box (□) or a question mark. This allows documents using advanced Unicode features to degrade gracefully on older or simpler systems.
Important Default Ignorable Characters
| Code Point | Name | Use |
|---|---|---|
| U+00AD | SOFT HYPHEN (SHY) | Line-break hint; invisible unless break occurs |
| U+034F | COMBINING GRAPHEME JOINER | Prevents canonical reordering |
| U+200B | ZERO WIDTH SPACE | Line-break opportunity with no width |
| U+200C | ZERO WIDTH NON-JOINER (ZWNJ) | Prevents cursive joining in Arabic/Persian |
| U+200D | ZERO WIDTH JOINER (ZWJ) | Forces cursive joining; used in emoji sequences |
| U+2060 | WORD JOINER | Like NBSP but with no width |
| U+2061–U+2064 | Function Application, etc. | Mathematical invisible operators |
| U+FE00–U+FE0F | Variation Selectors 1–16 | Select text vs. emoji presentation |
| U+E0000–U+E01EF | Tags | Language tags (now largely deprecated) |
# ZWJ is used to combine emoji into sequences
family_emoji = "\U0001F468\u200D\U0001F469\u200D\U0001F467"
# MAN + ZWJ + WOMAN + ZWJ + GIRL = 👨👩👧
print(len(family_emoji)) # 5 code points (including 2 ZWJ)
print(family_emoji) # Renders as single family emoji on supported systems
# ZWNJ prevents Arabic ligature formation
# ك + ZWNJ + ا → kaf and alef do NOT join
# ك + ا → normal: join into ـكا
# Soft hyphen: invisible but marks a valid break point
word = "antidis\u00ADestablishment\u00ADarianism"
print(word) # Visible on most renderers without hyphens
print(len(word)) # 27 code points including 2 SHY
Testing for Default Ignorable
The Unicode property Default_Ignorable_Code_Point (DI) is a derived property. Characters with DI=Yes form a set that includes not just control and format characters but also many reserved code points in the Specials and Tag blocks.
# Using the 'regex' package for property-based matching
import regex
di_pattern = regex.compile(r'\p{Default_Ignorable_Code_Point}')
test = "Hello\u200BWorld" # contains ZWSP
matches = di_pattern.findall(test)
print(f"Found {len(matches)} default ignorable character(s)")
# Found 1 default ignorable character(s)
Quick Facts
| Property | Value |
|---|---|
| Unicode property name | Default_Ignorable_Code_Point |
| Short alias | DI |
| Type | Boolean |
| Expected renderer behavior | Produce no glyph, no width |
| Key characters | ZWJ (U+200D), ZWNJ (U+200C), VS1–VS16, SHY |
| Python built-in | No direct support; use regex package |
| Spec reference | Unicode Standard Section 5.21, DerivedCoreProperties.txt |
Verwandte Begriffe
Mehr in Eigenschaften
Klassifikation jedes Codepunkts in eine von 30 Kategorien (Lu, Ll, Nd, So …
Eigenschaft, die bestimmt, wie sich ein Zeichen in bidirektionalem Text verhält (LTR, …
Ein benannter zusammenhängender Bereich von Codepunkten (z. B. Basic Latin = U+0000–U+007F). …
Unicode property (UAX#11) classifying characters as Narrow, Wide, Fullwidth, Halfwidth, Ambiguous, or …
Das vom Benutzer wahrgenommene „Zeichen" — was wie eine einzelne Einheit wirkt. …
Regeln zur Umwandlung von Zeichen zwischen Groß-, Klein- und Titelschreibung. Kann von …
Zeichen, die zur Organisation und Verdeutlichung der Schriftsprache verwendet werden: Punkte, Kommas, …
Unicode property controlling how Arabic and Syriac characters connect to adjacent characters. …
Zwei Zeichenfolgen, die semantisch identisch sind und als gleichwertig behandelt werden müssen. …
Numerischer Wert (0–254), der die Reihenfolge von Kombinationszeichen bei der kanonischen Zerlegung …