# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

*Typography and invisible characters*

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

*Standalone dash line follows:*

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

*Typography and invisible characters*

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

*Standalone dash line follows:*

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

*Typography and invisible characters*

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

*Standalone dash line follows:*

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

*Typography and invisible characters*

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

*Standalone dash line follows:*

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

## Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

# Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:
 -
After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab

Typography and invisible characters

Smart quotes: "double" and 'single' in prose.

Dashes: word - spaced em, word - tight em, range 3 - 5 en dash.

Ellipsis... mid-sentence and at the end...

Standalone dash line follows:

After the dash line.

Invisible injections: zerowidth space, nonjoiner, injectedjoiner, wordjoiner, softhyphen, combininggrapheme joiner, midfile byte-order mark.

Directional controls: embedded rtl and isolates ltr isolate rtl isolate first strong with marks here.

Unusual spaces: nbsp here, narrow nbsp, ideographic space, en space, em space, thin space, hair space, ogham mark, mongolianseparator, hangulfiller, halfwidthfiller.

Variation selectors on plain text: A B stay meaningless here, while ❤ keeps its selector and 1⃣ keeps the keycap.

Tag characters hide here: invisibletags.

Trailing spaces end this line:
	Tab-led line with trailing tab


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

> def visible():
>     return "this code block never closes"
>
> # looks like a heading but is inside the open fence
> - looks like a list but is inside the open fence
>
> The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():

return "this code block never closes"

# looks like a heading but is inside the open fence

- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

*Unclosed fence swallows the rest*

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

> def visible():
>     return "this code block never closes"
>
> # looks like a heading but is inside the open fence
> - looks like a list but is inside the open fence
>
> The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

looks like a heading but is inside the open fence

looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.
```

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

# Unclosed fence swallows the rest

A normal paragraph before the fence.

```python
def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.

Unclosed fence swallows the rest

A normal paragraph before the fence.

def visible():
    return "this code block never closes"

# looks like a heading but is inside the open fence
- looks like a list but is inside the open fence

The document ends while the fence is still open.


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with _literal asterisks_ and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with _literal asterisks_ and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with *literal asterisks* and *literal underscores* kept as typed.

~~tilde marks~~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with _literal asterisks_ and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with _literal asterisks_ and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with *literal asterisks* and *literal underscores* kept as typed.

~~tilde marks~~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

> a literal fence in plain text

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with *literal asterisks* and *literal underscores* kept as typed.

~~tilde marks~~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end


Status update with *literal asterisks* and _literal underscores_ kept as typed.

~tilde marks~ and `backtick spans` appear in plain text too.

> A line that starts with a quote marker

```
a literal fence in plain text
```

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

tilde marks and backtick spans appear in plain text too.

> A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end

Status update with literal asterisks and literal underscores kept as typed.

<s>tilde marks</s> and backtick spans appear in plain text too.

A line that starts with a quote marker

a literal fence in plain text

*unclosed marker at the end