Around 9 o'clock on May 31, Zenith Lau wrote:

> I have seem many times in this mailing list, on the term 'language tag'.
> But I don't know what is it. Would anyone mind explain a little bit for
> me??

This comes from the OS/2 tables which (I presume) come from the IBM OS/2
internationalization stuff.  There are 64 bits in this table which were
originally designed to indicate which "CodePages" the font supported, now
we use them strictly to identify the target language where Unicode ranges
aren't sufficient.  

They are independent from the Unicode ranges as Unicode overlaps codepoints
from different languages, while the old CodePages had separate entries for
each language.  The most prominent example of Unicode overlays is for the
Han glyphs used in chinese, japanese and korean writing.  It is important
to pick a font designed for the document language to ensure that the 
glyphs are readily understandable by the target user; when the document 
doesn't specify an available face, we use language tags to automatically 
select ones appropriate instead of just finding some face that can present 
the specified Unicode codepoints.

Here's what the fontconfig header has to say about them:

/* language groups from the OS/2 CodePageRange bits */
#define FC_LANG_LATIN_1                 "latin1"                /* 0 */
#define FC_LANG_LATIN_2_EASTERN_EUROPE  "latin2easterneurope"   /* 1 */
#define FC_LANG_CYRILLIC                "cyrillic"              /* 2 */
#define FC_LANG_GREEK                   "greek"                 /* 3 */
#define FC_LANG_TURKISH                 "turkish"               /* 4 */
#define FC_LANG_HEBREW                  "hebrew"                /* 5 */
#define FC_LANG_ARABIC                  "arabic"                /* 6 */
#define FC_LANG_WINDOWS_BALTIC          "windowsbaltic"         /* 7 */
#define FC_LANG_VIETNAMESE              "vietnamese"            /* 8 */
/* 9-15 reserved for Alternate ANSI */
#define FC_LANG_THAI                    "thai"                  /* 16 */
#define FC_LANG_JAPANESE                "japanese"              /* 17 */
#define FC_LANG_SIMPLIFIED_CHINESE      "simplifiedchinese"     /* 18 */
#define FC_LANG_KOREAN_WANSUNG          "koreanwansung"         /* 19 */
#define FC_LANG_TRADITIONAL_CHINESE     "traditionalchinese"    /* 20 */
#define FC_LANG_KOREAN_JOHAB            "koreanjohab"           /* 21 */
/* 22-28 reserved for Alternate ANSI & OEM */
#define FC_LANG_MACINTOSH               "macintosh"             /* 29 */
#define FC_LANG_OEM                     "oem"                   /* 30 */
#define FC_LANG_SYMBOL                  "symbol"                /* 31 */
/* 32-47 reserved for OEM */
#define FC_LANG_IBM_GREEK               "ibmgreek"              /* 48 */
#define FC_LANG_MSDOS_RUSSIAN           "msdosrussian"          /* 49 */
#define FC_LANG_MSDOS_NORDIC            "msdosnordic"           /* 50 */
#define FC_LANG_ARABIC_864              "arabic864"             /* 51 */
#define FC_LANG_MSDOS_CANADIAN_FRENCH   "msdoscanadianfrench"   /* 52 */
#define FC_LANG_HEBREW_862              "hebrew862"             /* 53 */
#define FC_LANG_MSDOS_ICELANDIC         "msdosicelandic"        /* 54 */
#define FC_LANG_MSDOS_PORTUGUESE        "msdosportuguese"       /* 55 */
#define FC_LANG_IBM_TURKISH             "ibmturkish"            /* 56 */
#define FC_LANG_IBM_CYRILLIC            "ibmcyrillic"           /* 57 */
#define FC_LANG_LATIN_2                 "latin2"                /* 58 */
#define FC_LANG_MSDOS_BALTIC            "msdosbaltic"           /* 59 */
#define FC_LANG_GREEK_437_G             "greek437g"             /* 60 */
#define FC_LANG_ARABIC_ASMO_708         "arabicasmo708"         /* 61 */
#define FC_LANG_WE_LATIN_1              "welatin1"              /* 62 */
#define FC_LANG_US                      "us"                    /* 63 */

Keith Packard        XFree86 Core Team        HP Cambridge Research Lab


_______________________________________________
Fonts mailing list
[EMAIL PROTECTED]
http://XFree86.Org/mailman/listinfo/fonts

Reply via email to