[4] [DFN[[RUBY[零幅][ぜろはば][zero width]]]]は、
[[幅]]が [N[0]] であることです。
[DFN[[RUBYB[零幅文字]@en[zero-width character]]]]は、
[[零幅]]の[[文字]]です。

[5] 特別な機能を持つことがありますが、[[制御文字]]ではありません。

[FIG(short list)[ [3] [[零幅]]の[[文字]]
- [CODE(charname)@en[ZWSP]]
- [CODE(charname)@en[ZWJ]]
- [CODE(charname)@en[ZWNJ]]
- [CODE(charname)@en[ZWNBSP]]
- [CODE(charname)@en[WORD JOINER]]
- [[非spacing文字]]
- [[タグ文字]]
- [[異体選択子]]
]FIG]


[8] [[結合文字]]は普通に言う[[零幅文字]]とは異なりますが、
[[非spacing文字]]は[[零幅]]と説明されています。

[7] [[空白文字]]も参照。


[FIG(quote)[
[FIGCAPTION[
[1] [CITE[Unicodeステガノグラフィ with JavaScript - 330k.info]]
( ([TIME[2016-06-01 20:28:09 +09:00]]))
<http://www.330k.info/software/plain-text-steganography-with-unicode>
]FIGCAPTION]

> デフォルトで使用する4種の文字(U+200C, U+200D, U+202C, U+FEFF)は、
> GmailやOutlook 2010、iPhoneの標準メールアプリにおいて
> ゼロ幅として表示
> 文字化けしない(豆腐にならない)
> コピー&ペースト時に保存されるもの
> として選定した。

> U+200B (ZERO WIDTH SPACE) : ブラウザGmailで送信時に取り除かれる
> U+200D (ZERO WIDTH JOINER) : iOSメッセージアプリにて豆腐化
> U+2062 (INVISIBLE TIMES) : Outlookで空白扱い
> U+2063 (INVISIBLE SEPARATOR) : Outlookで空白扱い
> U+200E (LEFT-TO-RIGHT MARK), U+202A (LEFT-TO-RIGHT EMBEDDING), U+202C (POP DIRECTIONAL FORMATTING) : カーソルが行末に行かなくなる

]FIG]


[FIG(quote)[
[FIGCAPTION[
[2] [CITE[Unicode Text Steganography Encoders/Decoders]]
( ([[Irongeek.com]]著, [TIME[2016-06-14 01:58:07 +09:00]]))
<http://www.irongeek.com/i.php?page=security/unicode-steganography-homoglyph-encoder>
]FIGCAPTION]

> Zero Width:
> aU+180E U+200B U+200c U+200d U+FEFF U+2060 U+2061 U+2062 U+2063 U+2064
> Test string: a᠎b​c‌d‍e﻿f⁠g⁡h⁢i⁣j⁤k
> Chrome: U+180E shows as box. All else look good
> On Android Twitter: U+200B U+200c U+200d U+FEFF are only ones that show with no space.
> On IE: Only U+200B U+200c U+200d U+FEFF U+2060 U+2062 showed no space, U+200c shows as a vertical line, U+200d as a the same line with an x at the tope
> Twitter on iOS: U+180E and U+2064 show as boxes, except in zoom where U+180E shows as a box.
> Facebook strips: U+200B U+FEFF
> Winners? U+200B U+200c U+200d U+FEFF
> Spaces:
> U+00A0 U+180E U+2000 U+2001 U+2002 U+2003 U+2004 U+2005 U+2006 U+2007 U+2008 U+2009 U+200A U+202F U+205F U+3000
> Test string: a b c᠎d e f g h i j k l m n o p q r
> Outlook: U+2005 becomes a real space 
> Twitter: Turns U+00A0 into real space
> Facebook strips: Only allows U+180E U+205F U+3000, U+00A0 becomes a space
> Safari and Chrome: U+200A looks a little short
> On Android Twitter: Most look ok, except maybe U+200A
> Most compatible spaces assuming not on Facebook: U+0020 U+2004 U+2005 U+2006 U+2008 U+2009 U+202F U+205F
> Line and Paragraph Separators: 
> U+2028 U+2029
> Test string: a b c
> Facebook strips all.
> Twitter replaces with: U+2070
> Unicode Tags:
> U+E0000 To U+E007F Unicode tags
> Firefox: Looks good
> iOS client: Shows boxes
> Chrome OS X and Windows: Shows boxes
> Android Twitter: Extra spaces

]FIG]


[6] [CITE@ja[ゼロ幅文字にエンコードした隠し情報で、文書をリークしたメンバーを特定 | 秋元@サイボウズラボ・プログラマー・ブログ]]
([TIME[2018-04-12 20:32:51 +09:00]])
<http://developer.cybozu.co.jp/akky/2018/04/leaker-detection-by-zero-width-characters/>