web-dev-qa-db-ja.com

「グリフが見つかりません」という文字はありますか?

フォントに対応するグリフがないために表示できないUnicode文字を含むテキストがあると仮定します。通常、代わりにプレースホルダーが表示されます。長方形のブロックのもの(スクリーンショットを参照)。

このグリフを確実に生成する「グリフが見つかりません」という文字はありますか? UIに"If the following text contains <insert character here> then you need another font..."のようなものを書きたいのですが。

ちなみに、私は�( 置換文字 )について話していません。これは、Unicode文字をデータストリームから正しくデコードできなかった場合に表示されます。必ずしも同じグリフを生成するわけではありません。

enter image description here

24

いいえ、「グリフが見つかりません」という文字はありません。プログラムが異なれば、使用するグラフィック表示も異なります。空の狭い長方形は一般的なレンダリングですが、それだけではありません。また、疑問符が含まれている長方形や、16進数の文字のコード番号が含まれている長方形の場合もあります。

したがって、たとえば読者がそれらを比較できるように、キャラクター自体と一緒にキャラクターの小さな画像を表示します。

12

Unicode仕様から:

U+25A1□ホワイトスクエア

  • 欠落している表意文字を表すために使用できます

  • U+20DE $⃞囲んでいる正方形を組み合わせる

15
Michaelangel007

グリフが見つからない文字は、フォントエンジンとフォントによって指定されます。決まった文字はありません。

Unicodeは次の用語を使用します。

  • 交換用グリフ
  • 欠落しているグリフ
  • 解釈可能だがレンダリング不可能な文字

Unicode標準(10.0)は、それらがどのように見えるかを定義していませんが、5.3章で提案しています[ [〜#〜] pdf [〜#〜] ]実装が表示する

[…]そのタイプの一般的な指標を与える独特のグリフ[…]

それらを「割り当てられていないコードポイント」と区別するため。彼らはいくつかの例を挙げています:

Unicode 用語集のエントリによると

多くの場合、開いた長方形または黒い長方形として表示されます。


tl; dr:標準化された外観/グリフはありません。実装次第です。ユーザーを支援するために、実装では、表示できない文字の種類を示すグリフを表示できます。

2
unor

U + 10FFFF(Unicodeスペースの最後)のような文字以外を使用します。これは、正常なフォントのcmapテーブルにないことが99.99%確実です。少なくとも、その文字以外のフォントをグリフにマップする既知のWindowsシステムフォントはなく、Linux/Macシステムフォントもほとんどありません。すべてを網羅するLastResortフォント( http://www.unicode.org/policies/lastresortfont_eula.html )でさえ、それをマップしているようには見えません。したがって、.notdefグリフにマップされるUnicodeで定義された公式の「グリフが見つかりません」文字はありませんが、上記の非文字は、その特定のフォントのグリフデザインに関係なく、実際にはそのグリフを表示することが保証されています。 .notdefグリフ(OpenTypeのグリフID 0)は、単純な中空の長方形(標準)、xの付いたボックス、疑問符の付いたボックス、ときどき空白(これは悪い習慣です)、スパイラルのような奇妙なもの(Palatino Linotype)の場合があります。 。

2
Dwayne Robinson

グリフが見つからないことを意味するnotdef文字があります。ただし、文字コードはありません。制御文字の文字コードを使用して、notdef文字( ""、U + 0002など)を挿入できます。

0
Migats21

グリフが見つからない可能性のある文字は3つあります。

Microsoft仕様、トピック。notdefグリフの形状https://docs.Microsoft.com/en-us/typography/ opentype/otspec170/recom#shape-of-notdef-glyph

0
Lahiru