add katakana, hiragana, katakana-iroha, hiragana-iroha, lower-greek

This commit is contained in:
ftang%netscape.com 1999-03-09 01:56:02 +00:00
parent c71c49a1cf
commit e7304df551
2 changed files with 352 additions and 4 deletions

View File

@ -127,6 +127,15 @@ nsBulletFrame::Paint(nsIPresContext& aCX,
case NS_STYLE_LIST_STYLE_UPPER_ROMAN:
case NS_STYLE_LIST_STYLE_LOWER_ALPHA:
case NS_STYLE_LIST_STYLE_UPPER_ALPHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
case NS_STYLE_LIST_STYLE_HEBREW:
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
aCX.GetMetricsFor(myFont->mFont, getter_AddRefs(fm));
GetListItemText(aCX, *myList, text);
aRenderingContext.SetFont(fm);
@ -175,6 +184,93 @@ static const char* gUpperRomanCharsB = "VLD?";
static const char* gLowerAlphaChars = "abcdefghijklmnopqrstuvwxyz";
static const char* gUpperAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
#define KATAKANA_CHARS_SIZE 77
// Page 94 Writing Systems of The World
static PRUnichar gKatakanaChars[KATAKANA_CHARS_SIZE] =
{
0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, // a i u e o
0x30AB, 0x30AD, 0x30AF, 0x30B1, 0x30B3, // ka ki ku ke ko
0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD, // sa shi su se so
0x30BF, 0x30C1, 0x30C4, 0x30C6, 0x30C8, // ta chi tsu te to
0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, // na ni nu ne no
0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, // ha hi hu he ho
0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, // ma mi mu me mo
0x30E4, 0x30A4, 0x30E6, 0x30A8, 0x30E8, // ya i yu e yo
0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, // ra ri ru re ro
0x30EF, 0x30F0, 0x30A6, 0x30F1, 0x30F2, // wa i u e o
0x30AC, 0x30AE, 0x30B0, 0x30B2, 0x30B4, // ga gi gu ge go
0x30B6, 0x30B8, 0x30BA, 0x30BC, 0x30BE, // za ji zu ze zo
0x30C0, 0x30C2, 0x30C5, 0x30C7, 0x30C9, // da ji zu de do
0x30D0, 0x30D3, 0x30D6, 0x30D9, 0x30DC, // ba bi bu be bo
0x30D1, 0x30D4, 0x30D7, 0x30DA, 0x30DD, // pa pi pu pe po
0x30F4, 0x30F3 // vu n
};
#define HIRAGANA_CHARS_SIZE 77
static PRUnichar gHiraganaChars[HIRAGANA_CHARS_SIZE] =
{
0x3042, 0x3044, 0x3046, 0x3048, 0x304A, // a i u e o
0x304B, 0x304D, 0x304F, 0x3051, 0x3053, // ka ki ku ke ko
0x3055, 0x3057, 0x3059, 0x305B, 0x305D, // sa shi su se so
0x305F, 0x3061, 0x3064, 0x3066, 0x3068, // ta chi tsu te to
0x306A, 0x306B, 0x306C, 0x306D, 0x306E, // na ni nu ne no
0x306F, 0x3072, 0x3075, 0x3078, 0x307B, // ha hi hu he ho
0x307E, 0x307F, 0x3080, 0x3081, 0x3082, // ma mi mu me mo
0x3084, 0x3044, 0x3086, 0x3048, 0x3088, // ya i yu e yo
0x3089, 0x308A, 0x308B, 0x308C, 0x308D, // ra ri ru re ro
0x308F, 0x3090, 0x3046, 0x3091, 0x3092, // wa i u e o
0x304C, 0x304E, 0x3050, 0x3052, 0x3054, // ga gi gu ge go
0x3056, 0x3058, 0x305A, 0x305C, 0x305E, // za ji zu ze zo
0x3060, 0x3062, 0x3065, 0x3067, 0x3069, // da ji zu de do
0x3070, 0x3073, 0x3076, 0x3079, 0x306C, // ba bi bu be bo
0x3071, 0x3074, 0x3077, 0x307A, 0x307D, // pa pi pu pe po
0x3094, 0x3093 // vu n
};
#define HIRAGANA_IROHA_CHARS_SIZE 47
// Page 94 Writing Systems of The World
static PRUnichar gHiraganaIrohaChars[HIRAGANA_IROHA_CHARS_SIZE] =
{
0x3044, 0x308D, 0x306F, 0x306B, 0x307B, // i ro ha ni ho
0x3078, 0x3068, 0x3061, 0x308A, 0x306C, // he to chi ri nu
0x308B, 0x3092, 0x308F, 0x304B, 0x3088, // ru o wa ka yo
0x305F, 0x308C, 0x305D, 0x3064, 0x306D, // ta re so tsu ne
0x306A, 0x3089, 0x3080, 0x3046, 0x3090, // na ra mu u i
0x306E, 0x304A, 0x304F, 0x3084, 0x307E, // no o ku ya ma
0x3051, 0x3075, 0x3053, 0x3048, 0x3066, // ke hu ko e te
0x3042, 0x3055, 0x304D, 0x3086, 0x3081, // a sa ki yu me
0x307F, 0x3057, 0x3091, 0x3072, 0x3082, // mi shi e hi mo
0x305B, 0x3059 // se su
};
#define KATAKANA_IROHA_CHARS_SIZE 47
static PRUnichar gKatakanaIrohaChars[KATAKANA_IROHA_CHARS_SIZE] =
{
0x30A4, 0x30ED, 0x30CF, 0x30CB, 0x30DB, // i ro ha ni ho
0x30D8, 0x30C8, 0x30C1, 0x30EA, 0x30CC, // he to chi ri nu
0x30EB, 0x30F2, 0x30EF, 0x30AB, 0x3088, // ru o wa ka yo
0x30BF, 0x30EC, 0x30BD, 0x30C4, 0x30CD, // ta re so tsu ne
0x30CA, 0x30E9, 0x30E0, 0x30A6, 0x30F0, // na ra mu u i
0x30CE, 0x30AA, 0x30AF, 0x30E4, 0x30DE, // no o ku ya ma
0x30B1, 0x30D5, 0x30B3, 0x30A8, 0x30C6, // ke hu ko e te
0x30A2, 0x30B5, 0x30AD, 0x30E6, 0x30E1, // a sa ki yu me
0x30DF, 0x30B7, 0x30F1, 0x30D2, 0x30E2, // mi shi e hi mo
0x30BB, 0x30B9 // se su
};
#define LOWER_GREEK_CHARS_SIZE 24
// Note: 0x03C2 GREEK FINAL SIGMA is not used in here....
static PRUnichar gLowerGreekChars[LOWER_GREEK_CHARS_SIZE] =
{
0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, // alpha beta gamma delta epsilon
0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, // zeta eta theta iota kappa
0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, // lamda mu nu xi omicron
0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, // pi rho sigma tau upsilon
0x03C6, 0x03C7, 0x03C8, 0x03C9 // phi chi psi omega
};
// XXX change roman/alpha to use unsigned math so that maxint and
// maxnegint will work
void
@ -185,8 +281,15 @@ nsBulletFrame::GetListItemText(nsIPresContext& aCX,
PRInt32 ordinal = mOrdinal;
char cbuf[40];
switch (aListStyle.mListStyleType) {
case NS_STYLE_LIST_STYLE_HEBREW: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_ARMENIAN: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_GEORGIAN: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_DECIMAL:
PR_snprintf(cbuf, sizeof(cbuf), "%ld", ordinal);
default: // CSS2 say "A users agent that does not recognize a numbering system
// should use 'decimal'
PR_snprintf(cbuf, sizeof(cbuf), "%ld", ordinal);
result.Append(cbuf);
break;
@ -280,6 +383,68 @@ nsBulletFrame::GetListItemText(nsIPresContext& aCX,
}
}
break;
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
{
PRInt32 anOffset = -1;
PRInt32 aBase;
PRInt32 ndex=0;
PRInt32 root=1;
PRInt32 expn=1;
const PRUnichar* chars;
switch(aListStyle.mListStyleType)
{
case NS_STYLE_LIST_STYLE_KATAKANA:
chars = gKatakanaChars;
aBase = KATAKANA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_HIRAGANA:
chars = gHiraganaChars;
aBase = HIRAGANA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
chars = gKatakanaIrohaChars;
aBase = KATAKANA_IROHA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
chars = gHiraganaIrohaChars;
aBase = HIRAGANA_IROHA_CHARS_SIZE;
break;
default:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
chars = gLowerGreekChars;
aBase = LOWER_GREEK_CHARS_SIZE;
break;
}
PRInt32 next=aBase;
// must be positive here...
if (ordinal <= 0) {
ordinal = 1;
}
ordinal--; // a == 0
// scale up in baseN; exceed current value.
while (next<=ordinal) {
root=next;
next*=aBase;
expn++;
}
while (0!=(expn--)) {
ndex = ((root<=ordinal) && (0!=root)) ? (ordinal/root): 0;
ordinal %= root;
if (root>1)
result.Append(chars[ndex+anOffset]);
else
result.Append(chars[ndex]);
root /= aBase;
}
}
break;
}
result.Append(".");
}
@ -364,7 +529,6 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
aMetrics.descent = 0;
break;
default:
case NS_STYLE_LIST_STYLE_DISC:
case NS_STYLE_LIST_STYLE_CIRCLE:
case NS_STYLE_LIST_STYLE_BASIC:
@ -385,11 +549,21 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
aMetrics.descent = 0;
break;
default:
case NS_STYLE_LIST_STYLE_DECIMAL:
case NS_STYLE_LIST_STYLE_LOWER_ROMAN:
case NS_STYLE_LIST_STYLE_UPPER_ROMAN:
case NS_STYLE_LIST_STYLE_LOWER_ALPHA:
case NS_STYLE_LIST_STYLE_UPPER_ALPHA:
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
case NS_STYLE_LIST_STYLE_HEBREW:
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
GetListItemText(*aCX, *myList, text);
fm->GetHeight(aMetrics.height);
aReflowState.rendContext->SetFont(fm);

View File

@ -127,6 +127,15 @@ nsBulletFrame::Paint(nsIPresContext& aCX,
case NS_STYLE_LIST_STYLE_UPPER_ROMAN:
case NS_STYLE_LIST_STYLE_LOWER_ALPHA:
case NS_STYLE_LIST_STYLE_UPPER_ALPHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
case NS_STYLE_LIST_STYLE_HEBREW:
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
aCX.GetMetricsFor(myFont->mFont, getter_AddRefs(fm));
GetListItemText(aCX, *myList, text);
aRenderingContext.SetFont(fm);
@ -175,6 +184,93 @@ static const char* gUpperRomanCharsB = "VLD?";
static const char* gLowerAlphaChars = "abcdefghijklmnopqrstuvwxyz";
static const char* gUpperAlphaChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
#define KATAKANA_CHARS_SIZE 77
// Page 94 Writing Systems of The World
static PRUnichar gKatakanaChars[KATAKANA_CHARS_SIZE] =
{
0x30A2, 0x30A4, 0x30A6, 0x30A8, 0x30AA, // a i u e o
0x30AB, 0x30AD, 0x30AF, 0x30B1, 0x30B3, // ka ki ku ke ko
0x30B5, 0x30B7, 0x30B9, 0x30BB, 0x30BD, // sa shi su se so
0x30BF, 0x30C1, 0x30C4, 0x30C6, 0x30C8, // ta chi tsu te to
0x30CA, 0x30CB, 0x30CC, 0x30CD, 0x30CE, // na ni nu ne no
0x30CF, 0x30D2, 0x30D5, 0x30D8, 0x30DB, // ha hi hu he ho
0x30DE, 0x30DF, 0x30E0, 0x30E1, 0x30E2, // ma mi mu me mo
0x30E4, 0x30A4, 0x30E6, 0x30A8, 0x30E8, // ya i yu e yo
0x30E9, 0x30EA, 0x30EB, 0x30EC, 0x30ED, // ra ri ru re ro
0x30EF, 0x30F0, 0x30A6, 0x30F1, 0x30F2, // wa i u e o
0x30AC, 0x30AE, 0x30B0, 0x30B2, 0x30B4, // ga gi gu ge go
0x30B6, 0x30B8, 0x30BA, 0x30BC, 0x30BE, // za ji zu ze zo
0x30C0, 0x30C2, 0x30C5, 0x30C7, 0x30C9, // da ji zu de do
0x30D0, 0x30D3, 0x30D6, 0x30D9, 0x30DC, // ba bi bu be bo
0x30D1, 0x30D4, 0x30D7, 0x30DA, 0x30DD, // pa pi pu pe po
0x30F4, 0x30F3 // vu n
};
#define HIRAGANA_CHARS_SIZE 77
static PRUnichar gHiraganaChars[HIRAGANA_CHARS_SIZE] =
{
0x3042, 0x3044, 0x3046, 0x3048, 0x304A, // a i u e o
0x304B, 0x304D, 0x304F, 0x3051, 0x3053, // ka ki ku ke ko
0x3055, 0x3057, 0x3059, 0x305B, 0x305D, // sa shi su se so
0x305F, 0x3061, 0x3064, 0x3066, 0x3068, // ta chi tsu te to
0x306A, 0x306B, 0x306C, 0x306D, 0x306E, // na ni nu ne no
0x306F, 0x3072, 0x3075, 0x3078, 0x307B, // ha hi hu he ho
0x307E, 0x307F, 0x3080, 0x3081, 0x3082, // ma mi mu me mo
0x3084, 0x3044, 0x3086, 0x3048, 0x3088, // ya i yu e yo
0x3089, 0x308A, 0x308B, 0x308C, 0x308D, // ra ri ru re ro
0x308F, 0x3090, 0x3046, 0x3091, 0x3092, // wa i u e o
0x304C, 0x304E, 0x3050, 0x3052, 0x3054, // ga gi gu ge go
0x3056, 0x3058, 0x305A, 0x305C, 0x305E, // za ji zu ze zo
0x3060, 0x3062, 0x3065, 0x3067, 0x3069, // da ji zu de do
0x3070, 0x3073, 0x3076, 0x3079, 0x306C, // ba bi bu be bo
0x3071, 0x3074, 0x3077, 0x307A, 0x307D, // pa pi pu pe po
0x3094, 0x3093 // vu n
};
#define HIRAGANA_IROHA_CHARS_SIZE 47
// Page 94 Writing Systems of The World
static PRUnichar gHiraganaIrohaChars[HIRAGANA_IROHA_CHARS_SIZE] =
{
0x3044, 0x308D, 0x306F, 0x306B, 0x307B, // i ro ha ni ho
0x3078, 0x3068, 0x3061, 0x308A, 0x306C, // he to chi ri nu
0x308B, 0x3092, 0x308F, 0x304B, 0x3088, // ru o wa ka yo
0x305F, 0x308C, 0x305D, 0x3064, 0x306D, // ta re so tsu ne
0x306A, 0x3089, 0x3080, 0x3046, 0x3090, // na ra mu u i
0x306E, 0x304A, 0x304F, 0x3084, 0x307E, // no o ku ya ma
0x3051, 0x3075, 0x3053, 0x3048, 0x3066, // ke hu ko e te
0x3042, 0x3055, 0x304D, 0x3086, 0x3081, // a sa ki yu me
0x307F, 0x3057, 0x3091, 0x3072, 0x3082, // mi shi e hi mo
0x305B, 0x3059 // se su
};
#define KATAKANA_IROHA_CHARS_SIZE 47
static PRUnichar gKatakanaIrohaChars[KATAKANA_IROHA_CHARS_SIZE] =
{
0x30A4, 0x30ED, 0x30CF, 0x30CB, 0x30DB, // i ro ha ni ho
0x30D8, 0x30C8, 0x30C1, 0x30EA, 0x30CC, // he to chi ri nu
0x30EB, 0x30F2, 0x30EF, 0x30AB, 0x3088, // ru o wa ka yo
0x30BF, 0x30EC, 0x30BD, 0x30C4, 0x30CD, // ta re so tsu ne
0x30CA, 0x30E9, 0x30E0, 0x30A6, 0x30F0, // na ra mu u i
0x30CE, 0x30AA, 0x30AF, 0x30E4, 0x30DE, // no o ku ya ma
0x30B1, 0x30D5, 0x30B3, 0x30A8, 0x30C6, // ke hu ko e te
0x30A2, 0x30B5, 0x30AD, 0x30E6, 0x30E1, // a sa ki yu me
0x30DF, 0x30B7, 0x30F1, 0x30D2, 0x30E2, // mi shi e hi mo
0x30BB, 0x30B9 // se su
};
#define LOWER_GREEK_CHARS_SIZE 24
// Note: 0x03C2 GREEK FINAL SIGMA is not used in here....
static PRUnichar gLowerGreekChars[LOWER_GREEK_CHARS_SIZE] =
{
0x03B1, 0x03B2, 0x03B3, 0x03B4, 0x03B5, // alpha beta gamma delta epsilon
0x03B6, 0x03B7, 0x03B8, 0x03B9, 0x03BA, // zeta eta theta iota kappa
0x03BB, 0x03BC, 0x03BD, 0x03BE, 0x03BF, // lamda mu nu xi omicron
0x03C0, 0x03C1, 0x03C3, 0x03C4, 0x03C5, // pi rho sigma tau upsilon
0x03C6, 0x03C7, 0x03C8, 0x03C9 // phi chi psi omega
};
// XXX change roman/alpha to use unsigned math so that maxint and
// maxnegint will work
void
@ -185,8 +281,15 @@ nsBulletFrame::GetListItemText(nsIPresContext& aCX,
PRInt32 ordinal = mOrdinal;
char cbuf[40];
switch (aListStyle.mListStyleType) {
case NS_STYLE_LIST_STYLE_HEBREW: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_ARMENIAN: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_GEORGIAN: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC: // XXX Change me i18n
case NS_STYLE_LIST_STYLE_DECIMAL:
PR_snprintf(cbuf, sizeof(cbuf), "%ld", ordinal);
default: // CSS2 say "A users agent that does not recognize a numbering system
// should use 'decimal'
PR_snprintf(cbuf, sizeof(cbuf), "%ld", ordinal);
result.Append(cbuf);
break;
@ -280,6 +383,68 @@ nsBulletFrame::GetListItemText(nsIPresContext& aCX,
}
}
break;
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
{
PRInt32 anOffset = -1;
PRInt32 aBase;
PRInt32 ndex=0;
PRInt32 root=1;
PRInt32 expn=1;
const PRUnichar* chars;
switch(aListStyle.mListStyleType)
{
case NS_STYLE_LIST_STYLE_KATAKANA:
chars = gKatakanaChars;
aBase = KATAKANA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_HIRAGANA:
chars = gHiraganaChars;
aBase = HIRAGANA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
chars = gKatakanaIrohaChars;
aBase = KATAKANA_IROHA_CHARS_SIZE;
break;
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
chars = gHiraganaIrohaChars;
aBase = HIRAGANA_IROHA_CHARS_SIZE;
break;
default:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
chars = gLowerGreekChars;
aBase = LOWER_GREEK_CHARS_SIZE;
break;
}
PRInt32 next=aBase;
// must be positive here...
if (ordinal <= 0) {
ordinal = 1;
}
ordinal--; // a == 0
// scale up in baseN; exceed current value.
while (next<=ordinal) {
root=next;
next*=aBase;
expn++;
}
while (0!=(expn--)) {
ndex = ((root<=ordinal) && (0!=root)) ? (ordinal/root): 0;
ordinal %= root;
if (root>1)
result.Append(chars[ndex+anOffset]);
else
result.Append(chars[ndex]);
root /= aBase;
}
}
break;
}
result.Append(".");
}
@ -364,7 +529,6 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
aMetrics.descent = 0;
break;
default:
case NS_STYLE_LIST_STYLE_DISC:
case NS_STYLE_LIST_STYLE_CIRCLE:
case NS_STYLE_LIST_STYLE_BASIC:
@ -385,11 +549,21 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
aMetrics.descent = 0;
break;
default:
case NS_STYLE_LIST_STYLE_DECIMAL:
case NS_STYLE_LIST_STYLE_LOWER_ROMAN:
case NS_STYLE_LIST_STYLE_UPPER_ROMAN:
case NS_STYLE_LIST_STYLE_LOWER_ALPHA:
case NS_STYLE_LIST_STYLE_UPPER_ALPHA:
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_LOWER_GREEK:
case NS_STYLE_LIST_STYLE_HEBREW:
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
GetListItemText(*aCX, *myList, text);
fm->GetHeight(aMetrics.height);
aReflowState.rendContext->SetFont(fm);