ホモグリフ
正書法やタイポグラフィにおいて、ホモグリフ（）とは、同一または非常によく似た形をした2つ以上の書記素、文字、字体（グリフ）のことである。この呼称は、このような特性を持つ複数の文字の列についても適用される。
シノグリフ（）とは、見た目は違うが同じ意味を持つ字体のことである。シノグリフは、非公式には「表示変化形」(display variants)ともいう。
「ホモグラフ」(homograph)という用語がホモグリフの同義語として使われることもある（ホモグラフ攻撃など）が、通常の言語学的な意味では、ホモグラフとは、綴りは同じだが意味が異なる単語のことであり、文字ではなく単語の性質である。日本語では同綴異義語という。
2008年、Unicodeコンソーシアムは、単一の用字内の文字の視覚的な類似性や、異なる用字内の文字間の類似性に由来する様々な問題について、技術報告書#36を発表した。
歴史的な観点から見たホモグリフの混乱の例としては、"þ"（ソーン）の文字を含まない書体で古い英文を表記する際に、"þ"を表すために"y"（ワイ）を使用したことが挙げられる。これは現代では、" shoppe"のような古い英文により、「"the"という単語が以前は"ye" と書かれていた」と誤って暗示してしまう現象につながっている。詳細については、Þを参照のこと。
ホモグリフ記号の例としては、(a) トレマとウムラウト（両方とも一対のドットで、意味は異なるが、同じコードポイントでコード化されている）、(b) ハイフンとマイナス記号 （両方とも短い横向きの線で、意味は異なるが、しばしば同じコードポイントでコード化されている）などが挙げられる。数字と文字の間では、数字の1（いち）と小文字のl（エル）、数字0（ゼロ）と大文字のO（オー）は、それぞれ常に別のコードポイントでコード化されているが、多くのフォントでは非常に類似した字体が与えられている。事実上、文字の全てのホモグリフ対は、明確に区別可能な字体と別々のコードポイントにより表示上で区別できる可能性があるが、必ずしもそうなっているとは限らない。1（いち）とl（エル）、0（ゼロ）とO（オー）のホモグリフを強調的に区別しない書体は、数式やURL、ソースコード、IDなど、文脈から判断しなければどちらの文字か判別できないようなテキストを書くのには適していないと考えられている。そのような用途には、例えば斜線付きゼロによって字体を区別するフォントが好ましい。
また、例えば6bを66だと誤認するなど、0とoや6とb、9とqなどはしばしば数学教育の場面において手書きが使用されるために間違えられることがあり、対策として学生らの間では文字を筆記体で書いたり、一段上げたり下げたり、時には大文字を使うなどが行われている。