Carbon


Text Encoding Variants

Header: TextCommon.h

enum {
    kTextEncodingDefaultVariant = 0,
    kMacRomanDefaultVariant = 0,
    kMacRomanCurrencySignVariant = 1,
    kMacRomanEuroSignVariant = 2,
    kMacCyrillicDefaultVariant = ,
    kMacCyrillicCurrSignStdVariant = 1,
    kMacCyrillicCurrSignUkrVariant = 2,
    kMacCyrillicEuroSignVariant = 3,
    kMacIcelandicStdDefaultVariant = ,
    kMacIcelandicTTDefaultVariant = 1,
    kMacIcelandicStdCurrSignVariant = 2,
    kMacIcelandicTTCurrSignVariant = 3,
    kMacIcelandicStdEuroSignVariant = 4,
    kMacIcelandicTTEuroSignVariant = 5,
    kMacCroatianDefaultVariant = ,
    kMacCroatianCurrencySignVariant = 1,
    kMacCroatianEuroSignVariant = 2,
    kMacRomanianDefaultVariant = ,
    kMacRomanianCurrencySignVariant = 1,
    kMacRomanianEuroSignVariant = 2,
    kMacJapaneseStandardVariant = ,
    kMacJapaneseStdNoVerticalsVariant = 1,
    kMacJapaneseBasicVariant = 2,
    kMacJapanesePostScriptScrnVariant = 3,
    kMacJapanesePostScriptPrintVariant = 4,
    kMacJapaneseVertAtKuPlusTenVariant = 5,
    kMacArabicStandardVariant = ,
    kMacArabicTrueTypeVariant = 1,
    kMacArabicThuluthVariant = 2,
    kMacArabicAlBayanVariant = 3,
    kMacFarsiStandardVariant = ,
    kMacFarsiTrueTypeVariant = 1,
    kMacHebrewStandardVariant = ,
    kMacHebrewFigureSpaceVariant = 1,
    kMacVT100DefaultVariant = ,
    kMacVT100CurrencySignVariant = 1,
    kMacVT100EuroSignVariant = 2,
    kUnicodeNoSubset = ,
    kUnicodeCanonicalDecompVariant = 2,
    kBig5_BasicVariant = ,
    kBig5_StandardVariant = 1,
    kBig5_ETenVariant = 2,
    kUnicodeNoCompatibilityVariant = 1,
    kUnicodeNoComposedVariant = 3,
    kUnicodeNoCorporateVariant = 4,
    kMacRomanStandardVariant = ,
    kMacIcelandicStandardVariant = ,
    kMacIcelandicTrueTypeVariant = 1,
    kJapaneseStandardVariant = ,
    kJapaneseStdNoVerticalsVariant = 1,
    kJapaneseBasicVariant = 2,
    kJapanesePostScriptScrnVariant = 3,
    kJapanesePostScriptPrintVariant = 4,
    kJapaneseVertAtKuPlusTenVariant = 5,
    kHebrewStandardVariant = ,
    kHebrewFigureSpaceVariant = 1,
    kUnicodeMaxDecomposedVariant = 2,
    kJapaneseNoOneByteKanaOption = 32,
    kJapaneseUseAsciiBackslashOption = 64
};

Constant descriptions

kTextEncodingDefaultVariant

The standard default variant for any base encoding.

kMacRomanDefaultVariant
kMacRomanCurrencySignVariant

The variant of Mac OS Roman used before Mac OS 8.5 (still used for some older fonts even in Mac OS 8.5); 0xDB is CURRENCY SIGN.

kMacRomanEuroSignVariant
kMacCyrillicDefaultVariant
kMacCyrillicCurrSignStdVariant
kMacCyrillicCurrSignUkrVariant
kMacCyrillicEuroSignVariant
kMacIcelandicStdDefaultVariant
kMacIcelandicTTDefaultVariant
kMacIcelandicStdCurrSignVariant
kMacIcelandicTTCurrSignVariant
kMacIcelandicStdEuroSignVariant
kMacIcelandicTTEuroSignVariant
kMacCroatianDefaultVariant
kMacCroatianCurrencySignVariant
kMacCroatianEuroSignVariant
kMacRomanianDefaultVariant
kMacRomanianCurrencySignVariant
kMacRomanianEuroSignVariant
kMacJapaneseStandardVariant

The standard Mac OS Japanese variant. Shift-JIS with JIS Roman modifications, extra 1-byte characters, 2-byte Apple extensions, and some vertical presentation forms in the range 0xEB40—0xEDFE (“ku plus 84").

kMacJapaneseStdNoVerticalsVariant

An artificial Mac OS Japanese variant for callers who don’t want to use separately encoded vertical forms (for example, developers using QuickDraw GX).

kMacJapaneseBasicVariant

An artificial Mac OS Japanese variant without Apple 2-byte extensions.

kMacJapanesePostScriptScrnVariant

The Mac OS Japanese variant for the screen bitmap version of the Sai Mincho and Chu Gothic fonts.

kMacJapanesePostScriptPrintVariant

The Mac OS Japanese variant for PostScript printing versions of the Sai Mincho and Chu Gothic PostScript fonts. This version includes 2-byte half-width characters in addition to 1-byte half-width characters.

kMacJapaneseVertAtKuPlusTenVariant

The Mac OS Japanese variant for the Hon Mincho and Maru Gothic fonts used in the Japanese localized version of System 7.1. It does not include the standard Apple extensions, and encodes vertical forms at a different location.

kMacArabicStandardVariant

This Mac OS Arabic variant is supported by the Cairo font (the system font for Arabic) and is the encoding supported by the text processing utilities.

kMacArabicTrueTypeVariant

This Mac OS Arabic variant is used for most of the Arabic TrueType fonts: Baghdad, Geeza, Kufi, Nadeem.

kMacArabicThuluthVariant

This Mac OS Arabic variant is used for the Arabic PostScript-only fonts: Thuluth and Thuluth bold.

kMacArabicAlBayanVariant

This Mac OS Arabic variant is used for the Arabic TrueType font Al Bayan.

kMacFarsiStandardVariant

This Mac OS Farsi variant is supported by the Tehran font (the system font for Farsi) and is the encoding supported by the text processing utilities.

kMacFarsiTrueTypeVariant

This Mac OS Farsi variant is used for most of the Farsi TrueType fonts: Ashfahan, Amir, Kamran, Mashad, NadeemFarsi.

kMacHebrewStandardVariant

The standard Mac OS Hebrew variant.

kMacHebrewFigureSpaceVariant

The Mac OS Hebrew variant in which 0xD4 represents figure space, not left single quotation mark as in the standard variant.

kMacVT100DefaultVariant
kMacVT100CurrencySignVariant
kMacVT100EuroSignVariant
kUnicodeNoSubset

The standard Unicode encoded character set in which the full set of Unicode characters are supported.

kUnicodeCanonicalDecompVariant

A variant of Unicode using maximal decomposition with characters in canonical order. This variant does not include most characters which have a canonical decomposition, such as single characters for accented Latin letters or single characters for Korean Hangul syllables (however, this restriction is relaxed for symbol characters in the range U+2000 to U+2FFF). In TEC Manager 1.3, the Unicode Converter supports this variant for converting to and from Mac OS encodings.

kBig5_BasicVariant
kBig5_StandardVariant
kBig5_ETenVariant
kUnicodeNoCompatibilityVariant
kUnicodeNoComposedVariant
kUnicodeNoCorporateVariant
kMacRomanStandardVariant

The standard variant of Mac OS Roman for Mac OS 8.5 and later; 0xDB is EURO SIGN.

A text encoding variant specifies one among possibly several minor variants of a particular base encoding or group of base encodings. Text encoding variants are often used to support special cases such as the following:

For a given text encoding base or small set of related text encoding base values, there may be an enumeration of TextEncodingVariant values, which always begins with 0, the default variant. In addition, for a possibly larger set of related text encoding base values, there may be bit masks that can be used independently to designate additional artificial variants. For example, there is an enumeration of six variants for the Mac OS Japanese encoding. In addition, there are bit masks that can also be used as part of the variant for any Japanese encoding to exclude 1-byte kana or to control the mapping of the reverse solidus (backslash) character.

Languages that are dissimilar but use similar character sets are generally not designated as variants of the same base encoding (for example, MacIcelandic and MacTurkish both use a slight modification of the MacRoman character set, but they are considered separate base encodings).

A text encoding variant is defined by the TextEncodingVariant data type.

When you create a new text encoding, you can specify an explicit variant of a base encoding or you can specify the default variant of that base.

The function GetTextEncodingVariant returns the text encoding variant of a text encoding specification.

This enumeration defines constants for the default variant of any base text encoding and for variants of the Mac OS Japanese, Mac OS Arabic, Mac OS Farsi, Mac OS Hebrew, and Unicode base encodings.


© 2000 Apple Computer, Inc. (Last Updated 7/17/2000)