つまり、フォントはすべての文字エンコーディングをサポートする必要がありますか?または、文字エンコーディングはすべてのフォントをサポートする必要がありますか?
Unicodeフォントとはどういう意味ですか?それらは Unicode のみをサポートするフォントであり、たとえばWindows-1252をサポートしていませんか?
つまり、フォントはすべての文字エンコーディングをサポートする必要がありますか?または、文字エンコーディングはすべてのフォントをサポートする必要がありますか?
Unicodeフォントとはどういう意味ですか?それらは Unicode のみをサポートするフォントであり、たとえばWindows-1252をサポートしていませんか?
回答:
基本的に、すべてがUS-ASCIIに基づいています。これは、セット内に128個のコードポイントがある7ビットコードで、16進数の00から7Fまたは10進数の0-127の番号が付けられています。これは、制御コード、英語の英数字、および基本的な句読文字にマッピングされます
これに8ビットコード(バイト)の1ビットを追加すると、128コードポイントまたは拡張ASCIIが得られます。
文字セット/コードページは、表現したい特定の言語のアルファベットをカバーするために、上位128ビットのコードポイントが文字にどのようにマッピングされるかを変更するために早い段階で必要でした。これは、ほとんどの西ヨーロッパの言語で適切に機能します。ISO 8859-1 / Latin-1は、このような文字セットの例です。もう1つはWindows-1252で、ISO 8859-1からの変更により、より多くのまたは異なる文字をカバーできるようになっています。
中国語、日本語、韓国語などのより複雑な文字セットを持つ言語は、256コードポイントセットの機能を超え、2バイトコードを使用してそれらの表現を有効にします。
Unicode UTF-8はマルチバイト文字エンコードスキーム(1〜4バイト)であり、最初の128文字はISO 8859-1 / Latin-1との下位互換性があります。それは100万以上のコードポイントのためのスペースを持っています。つまり、拡張ASCIIで行われたいじり回しとは異なり、各コードポイントは実際に文字を表すことができます。つまり、文字セット/コードページ/エンコーディング。
フォントは、コードポイントにマップされ、文字を視覚的に表すグリフです。フォントの内容は、元々カバーする言語に依存しています。文字マップを使用して、フォント内に含まれているグリフを確認できます。
Unicodeフォントは必ずしもすべてのコードポイントをカバーしているわけではありません。それらが使用されることを意図していた場所を確認する必要があります。たとえば、Windows 7では、文字マップを起動して、Calibriで文字を表示し、Ebrima、Meiryo、Raaviと比較します。それぞれが異なる地理的地域に合わせて調整されているため、それらは大きく異なります。
UnicodeフォントとWindows-1252文字セットに関して、Windowsはマッピングテーブルを使用してWindows-1252をUnicodeに変換します。この場合、Windows-1252文字の一部の文字が「ベストフィット」のシナリオでISO 8859-1と一致しません。セットが表示されない場合があります。
文字セットは文字のコレクションであり、それぞれに番号が割り当てられています。
よく知られている文字セットはASCIIです。これは、0から127までの番号が付けられた128文字のセットです。これらの数字はすべて7ビットで表現できます(したがって、7ビットの文字セットです)。
他のほとんどすべての文字セットには、同じ番号のASCIIセットが含まれています。ASCIIとは異なる文字セットの例には、EBCDICがあります。また、ASCIIにはヨーロッパの亜種があり、特定の位置に異なる文字が含まれていました(例:£を含む)。
100万文字を超えるUnicodeなどの大きな文字セットでは、文字に割り当てられている広範囲の数値に対応するために、文字ごとに3バイトまたは4バイトが必要になります。代わりに、その数を1、2、3、またはそれ以上のバイトとして「エンコード」できるシステムを使用します。UTF-8エンコードスキームでは、ASCII文字と同じ文字が、ASCIIと同じバイト値のシングルバイトでエンコードされます。
上記のエンコーディングは、テキストをファイルに保存するときに使用されます。
書体は、一連の文字の視覚的表現(つまり、形状)の特定のデザインです。形状はグリフと呼ばれます。書体には、1つの文字に複数の字形が含まれる場合があります(「a」を考慮してください)。合字と呼ばれる文字のペアのグリフがある場合があります(「ff」や「fi」など)。書体では、グリフが設計されている文字のセットは、よく知られている文字セットの文字のセットと異なることがよくあります(通常、書体にはASCII制御文字のグリフは含まれていません)。
コンピューターのコンテキストでは、フォントとは、いくつかの番号付けスキーム(よく知られている文字セットの番号付けと同じではないことが多い)に従って順序付けされたグリフを含むファイルを意味します。歴史的には、書体の特定のサイズ(ピクセルまたはポイント)を表すビットマップフォントがありました。現在、ほとんどのフォントはグリフを記述するために数学的な曲線を使用しているため、任意のサイズの書体を表すように拡大縮小できます。
テキストファイルを表示するときは、ファイルで使用されているエンコードをコンピューターに通知(または推測)する必要があります。次に、異なる番号付け(Unicodeの16ビット版など)を使用してメモリ内のテキストを表し、フォントファイルの情報を使用して、内部表現をフォントファイルで使用される番号付け(エンコード)にマップします。
フォントはすべての文字エンコーディングをサポートする必要がありますか?
いいえ。実際にそうであるかどうかはわかりません。
それは彼らが「彼らの中に」すべての想像できる性格を持っていることを意味します。西洋文化のエンコーディング(ラテン)をサポートするために使用される最も一般的なフォント。
または、文字エンコーディングはすべてのフォントをサポートする必要がありますか?
文字エンコーディングはある意味で「サポート」しないので、これは実際には間違った見方です。
Unicodeフォントとはどういう意味ですか?それらはUnicodeのみをサポートするフォントであり、たとえばWindows-1252をサポートしていませんか?
Unicodeは標準(または少なくとも1つにしようとしている)であり、多数の文字をサポートしているため、多くのエンコーディングがそれ自体のサブセットになります。Windows 1252またはCP1252は、ラテン文字といくつかの中央ヨーロッパ文字を含むエンコーディングです。それらのほとんどは、Unicodeでも「カバー」されています。ほとんどすべてのUnicodeフォントがCP1252にも対応しています。