bug 213880: support ksc5601.1987-1 (GR) encoded font (r=smontague, sr=blizzard)

This commit is contained in:
jshin%mailaps.org 2003-07-31 18:55:15 +00:00
Родитель ce180c43c0
Коммит ecaf06e122
2 изменённых файлов: 10 добавлений и 0 удалений

Просмотреть файл

@ -543,6 +543,9 @@ static nsFontCharSetMap gCharSetMap[] =
{ "johabs-1", &FLG_KO, &X11Johab },
{ "johabsh-1", &FLG_KO, &X11Johab },
{ "ksc5601.1987-0", &FLG_KO, &KSC5601 },
// we can handle GR fonts with GL encoders (KSC5601 and GB2312)
// See |DoubleByteConvert|.
{ "ksc5601.1987-1", &FLG_KO, &KSC5601 },
{ "ksc5601.1992-3", &FLG_KO, &JohabNoAscii },
{ "koreanjamo-0", &FLG_KO, &JamoTTF },
{ "microsoft-cp1251", &FLG_RUSSIAN, &CP1251 },
@ -2133,6 +2136,8 @@ DoubleByteConvert(nsFontCharSetInfo* aSelf, XFontStruct* aFont,
aDestBuf[i] &= 0x7F;
}
}
// We're using a GL encoder (KSC5601 or GB2312) but the font is a GR font.
// (ksc5601.1987-1 or gb2312.1980-1)
else if ((!(aDestBuf[0] & 0x80)) && (aFont->min_byte1 & 0x80)) {
for (PRInt32 i = 0; i < aDestLen; i++) {
aDestBuf[i] |= 0x80;

Просмотреть файл

@ -608,6 +608,9 @@ static const nsFontCharSetMapXlib gConstCharSetMap[] =
{ "johabs-1", &FLG_KO, &X11Johab },
{ "johabsh-1", &FLG_KO, &X11Johab },
{ "ksc5601.1987-0", &FLG_KO, &KSC5601 },
// We can handle GR fonts with GL encoders (KSC5601 and GB2312)
// See |DoubleByteConvert|
{ "ksc5601.1987-1", &FLG_KO, &KSC5601 },
{ "ksc5601.1992-3", &FLG_KO, &JohabNoAscii },
{ "koreanjamo-0", &FLG_KO, &JamoTTF },
{ "microsoft-cp1251", &FLG_RUSSIAN, &CP1251 },
@ -2494,6 +2497,8 @@ DoubleByteConvert(nsFontCharSetInfoXlib* aSelf, XFontStruct* aFont,
for (PRInt32 i = 0; i < aDestLen; i++)
aDestBuf[i] &= 0x7F;
}
// We're using a GL encoder (KSC5601 or GB2312) for a GR font
// (ksc5601.1987-1 or gb2312.1980-1)
else if ((!(aDestBuf[0] & 0x80)) && (aFont->min_byte1 & 0x80)) {
for (PRInt32 i = 0; i < aDestLen; i++)
aDestBuf[i] |= 0x80;