Implemented i18n list-style-types. Thanks to bakibon@yahoo.com.

This commit is contained in:
pierre%netscape.com 2000-04-21 08:05:29 +00:00
Родитель b138f71e20
Коммит ba9958df6e
11 изменённых файлов: 600 добавлений и 12 удалений

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

@ -54,6 +54,7 @@ CSS_KEY(activecaption)
CSS_KEY(all)
CSS_KEY(always)
CSS_KEY(appworkspace)
CSS_KEY(arabic_indic)
CSS_KEY(armenian)
CSS_KEY(auto)
CSS_KEY(avoid)
@ -61,6 +62,7 @@ CSS_KEY(background)
CSS_KEY(baseline)
CSS_KEY(behind)
CSS_KEY(below)
CSS_KEY(bengali)
CSS_KEY(bidi_override)
CSS_KEY(blink)
CSS_KEY(block)
@ -82,6 +84,8 @@ CSS_KEY(center_left)
CSS_KEY(center_right)
CSS_KEY(ch)
CSS_KEY(circle)
CSS_KEY(cjk_earthly_branch)
CSS_KEY(cjk_heavenly_stem)
CSS_KEY(cjk_ideographic)
CSS_KEY(close_quote)
CSS_KEY(cm)
@ -100,6 +104,7 @@ CSS_KEY(decimal_leading_zero)
CSS_KEY(default)
CSS_KEY(deg)
CSS_KEY(desktop)
CSS_KEY(devanagari)
CSS_KEY(dialog)
CSS_KEY(digits)
CSS_KEY(disabled)
@ -127,6 +132,8 @@ CSS_KEY(georgian)
CSS_KEY(grad)
CSS_KEY(graytext)
CSS_KEY(groove)
CSS_KEY(gujarati)
CSS_KEY(gurmukhi)
CSS_KEY(hebrew)
CSS_KEY(help)
CSS_KEY(hidden)
@ -156,11 +163,16 @@ CSS_KEY(inset)
CSS_KEY(inside)
CSS_KEY(invert)
CSS_KEY(italic)
CSS_KEY(japanese_formal)
CSS_KEY(japanese_informal)
CSS_KEY(justify)
CSS_KEY(kannada)
CSS_KEY(katakana)
CSS_KEY(katakana_iroha)
CSS_KEY(khmer)
CSS_KEY(khz)
CSS_KEY(landscape)
CSS_KEY(lao)
CSS_KEY(large)
CSS_KEY(larger)
CSS_KEY(left)
@ -180,6 +192,7 @@ CSS_KEY(lower_latin)
CSS_KEY(lower_roman)
CSS_KEY(lowercase)
CSS_KEY(ltr)
CSS_KEY(malayalam)
CSS_KEY(margin_box)
CSS_KEY(marker)
CSS_KEY(medium)
@ -191,6 +204,7 @@ CSS_KEY(mix)
CSS_KEY(mm)
CSS_KEY(move)
CSS_KEY(ms)
CSS_KEY(myanmar)
CSS_KEY(n_resize)
CSS_KEY(narrower)
CSS_KEY(ne_resize)
@ -205,12 +219,14 @@ CSS_KEY(nw_resize)
CSS_KEY(oblique)
CSS_KEY(once)
CSS_KEY(open_quote)
CSS_KEY(oriya)
CSS_KEY(outset)
CSS_KEY(outside)
CSS_KEY(overline)
CSS_KEY(padding_box)
CSS_KEY(paragraph)
CSS_KEY(pc)
CSS_KEY(persian)
CSS_KEY(pointer)
CSS_KEY(portrait)
CSS_KEY(pre)
@ -245,6 +261,8 @@ CSS_KEY(semi_expanded)
CSS_KEY(separate)
CSS_KEY(show)
CSS_KEY(silent)
CSS_KEY(simp_chinese_formal)
CSS_KEY(simp_chinese_informal)
CSS_KEY(slow)
CSS_KEY(slower)
CSS_KEY(small)
@ -269,9 +287,12 @@ CSS_KEY(table_footer_group)
CSS_KEY(table_header_group)
CSS_KEY(table_row)
CSS_KEY(table_row_group)
CSS_KEY(tamil)
CSS_KEY(telugu)
CSS_KEY(text)
CSS_KEY(text_bottom)
CSS_KEY(text_top)
CSS_KEY(thai)
CSS_KEY(thick)
CSS_KEY(thin)
CSS_KEY(threeddarkshadow)
@ -281,6 +302,8 @@ CSS_KEY(threedlightshadow)
CSS_KEY(threedshadow)
CSS_KEY(toggle)
CSS_KEY(top)
CSS_KEY(trad_chinese_formal)
CSS_KEY(trad_chinese_informal)
CSS_KEY(transparent)
CSS_KEY(tri_state)
CSS_KEY(ultra_condensed)
@ -290,6 +313,7 @@ CSS_KEY(upper_alpha)
CSS_KEY(upper_latin)
CSS_KEY(upper_roman)
CSS_KEY(uppercase)
CSS_KEY(urdu)
CSS_KEY(vertical)
CSS_KEY(visible)
CSS_KEY(w_resize)

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

@ -54,6 +54,7 @@ CSS_KEY(activecaption)
CSS_KEY(all)
CSS_KEY(always)
CSS_KEY(appworkspace)
CSS_KEY(arabic_indic)
CSS_KEY(armenian)
CSS_KEY(auto)
CSS_KEY(avoid)
@ -61,6 +62,7 @@ CSS_KEY(background)
CSS_KEY(baseline)
CSS_KEY(behind)
CSS_KEY(below)
CSS_KEY(bengali)
CSS_KEY(bidi_override)
CSS_KEY(blink)
CSS_KEY(block)
@ -82,6 +84,8 @@ CSS_KEY(center_left)
CSS_KEY(center_right)
CSS_KEY(ch)
CSS_KEY(circle)
CSS_KEY(cjk_earthly_branch)
CSS_KEY(cjk_heavenly_stem)
CSS_KEY(cjk_ideographic)
CSS_KEY(close_quote)
CSS_KEY(cm)
@ -100,6 +104,7 @@ CSS_KEY(decimal_leading_zero)
CSS_KEY(default)
CSS_KEY(deg)
CSS_KEY(desktop)
CSS_KEY(devanagari)
CSS_KEY(dialog)
CSS_KEY(digits)
CSS_KEY(disabled)
@ -127,6 +132,8 @@ CSS_KEY(georgian)
CSS_KEY(grad)
CSS_KEY(graytext)
CSS_KEY(groove)
CSS_KEY(gujarati)
CSS_KEY(gurmukhi)
CSS_KEY(hebrew)
CSS_KEY(help)
CSS_KEY(hidden)
@ -156,11 +163,16 @@ CSS_KEY(inset)
CSS_KEY(inside)
CSS_KEY(invert)
CSS_KEY(italic)
CSS_KEY(japanese_formal)
CSS_KEY(japanese_informal)
CSS_KEY(justify)
CSS_KEY(kannada)
CSS_KEY(katakana)
CSS_KEY(katakana_iroha)
CSS_KEY(khmer)
CSS_KEY(khz)
CSS_KEY(landscape)
CSS_KEY(lao)
CSS_KEY(large)
CSS_KEY(larger)
CSS_KEY(left)
@ -180,6 +192,7 @@ CSS_KEY(lower_latin)
CSS_KEY(lower_roman)
CSS_KEY(lowercase)
CSS_KEY(ltr)
CSS_KEY(malayalam)
CSS_KEY(margin_box)
CSS_KEY(marker)
CSS_KEY(medium)
@ -191,6 +204,7 @@ CSS_KEY(mix)
CSS_KEY(mm)
CSS_KEY(move)
CSS_KEY(ms)
CSS_KEY(myanmar)
CSS_KEY(n_resize)
CSS_KEY(narrower)
CSS_KEY(ne_resize)
@ -205,12 +219,14 @@ CSS_KEY(nw_resize)
CSS_KEY(oblique)
CSS_KEY(once)
CSS_KEY(open_quote)
CSS_KEY(oriya)
CSS_KEY(outset)
CSS_KEY(outside)
CSS_KEY(overline)
CSS_KEY(padding_box)
CSS_KEY(paragraph)
CSS_KEY(pc)
CSS_KEY(persian)
CSS_KEY(pointer)
CSS_KEY(portrait)
CSS_KEY(pre)
@ -245,6 +261,8 @@ CSS_KEY(semi_expanded)
CSS_KEY(separate)
CSS_KEY(show)
CSS_KEY(silent)
CSS_KEY(simp_chinese_formal)
CSS_KEY(simp_chinese_informal)
CSS_KEY(slow)
CSS_KEY(slower)
CSS_KEY(small)
@ -269,9 +287,12 @@ CSS_KEY(table_footer_group)
CSS_KEY(table_header_group)
CSS_KEY(table_row)
CSS_KEY(table_row_group)
CSS_KEY(tamil)
CSS_KEY(telugu)
CSS_KEY(text)
CSS_KEY(text_bottom)
CSS_KEY(text_top)
CSS_KEY(thai)
CSS_KEY(thick)
CSS_KEY(thin)
CSS_KEY(threeddarkshadow)
@ -281,6 +302,8 @@ CSS_KEY(threedlightshadow)
CSS_KEY(threedshadow)
CSS_KEY(toggle)
CSS_KEY(top)
CSS_KEY(trad_chinese_formal)
CSS_KEY(trad_chinese_informal)
CSS_KEY(transparent)
CSS_KEY(tri_state)
CSS_KEY(ultra_condensed)
@ -290,6 +313,7 @@ CSS_KEY(upper_alpha)
CSS_KEY(upper_latin)
CSS_KEY(upper_roman)
CSS_KEY(uppercase)
CSS_KEY(urdu)
CSS_KEY(vertical)
CSS_KEY(visible)
CSS_KEY(w_resize)

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

@ -459,6 +459,30 @@ const PRInt32 nsCSSProps::kListStyleKTable[] = {
eCSSKeyword_katakana, NS_STYLE_LIST_STYLE_KATAKANA,
eCSSKeyword_hiragana_iroha, NS_STYLE_LIST_STYLE_HIRAGANA_IROHA,
eCSSKeyword_katakana_iroha, NS_STYLE_LIST_STYLE_KATAKANA_IROHA,
eCSSKeyword_cjk_heavenly_stem, NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM,
eCSSKeyword_cjk_earthly_branch, NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH,
eCSSKeyword_trad_chinese_informal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL,
eCSSKeyword_trad_chinese_formal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL,
eCSSKeyword_simp_chinese_informal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL,
eCSSKeyword_simp_chinese_formal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL,
eCSSKeyword_japanese_informal, NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL,
eCSSKeyword_japanese_formal, NS_STYLE_LIST_STYLE_JAPANESE_FORMAL,
eCSSKeyword_arabic_indic, NS_STYLE_LIST_STYLE_ARABIC_INDIC,
eCSSKeyword_persian, NS_STYLE_LIST_STYLE_PERSIAN,
eCSSKeyword_urdu, NS_STYLE_LIST_STYLE_URDU,
eCSSKeyword_devanagari, NS_STYLE_LIST_STYLE_DEVANAGARI,
eCSSKeyword_gurmukhi, NS_STYLE_LIST_STYLE_GURMUKHI,
eCSSKeyword_gujarati, NS_STYLE_LIST_STYLE_GUJARATI,
eCSSKeyword_oriya, NS_STYLE_LIST_STYLE_ORIYA,
eCSSKeyword_kannada, NS_STYLE_LIST_STYLE_KANNADA,
eCSSKeyword_malayalam, NS_STYLE_LIST_STYLE_MALAYALAM,
eCSSKeyword_bengali, NS_STYLE_LIST_STYLE_BENGALI,
eCSSKeyword_tamil, NS_STYLE_LIST_STYLE_TAMIL,
eCSSKeyword_telugu, NS_STYLE_LIST_STYLE_TELUGU,
eCSSKeyword_thai, NS_STYLE_LIST_STYLE_THAI,
eCSSKeyword_lao, NS_STYLE_LIST_STYLE_LAO,
eCSSKeyword_myanmar, NS_STYLE_LIST_STYLE_MYANMAR,
eCSSKeyword_khmer, NS_STYLE_LIST_STYLE_KHMER,
-1,-1
};

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

@ -408,6 +408,30 @@
#define NS_STYLE_LIST_STYLE_OLD_LOWER_ALPHA 21
#define NS_STYLE_LIST_STYLE_OLD_UPPER_ALPHA 22
#define NS_STYLE_LIST_STYLE_OLD_DECIMAL 23
#define NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM 24
#define NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH 25
#define NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL 26
#define NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL 27
#define NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL 28
#define NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL 29
#define NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL 30
#define NS_STYLE_LIST_STYLE_JAPANESE_FORMAL 31
#define NS_STYLE_LIST_STYLE_ARABIC_INDIC 32
#define NS_STYLE_LIST_STYLE_PERSIAN 33
#define NS_STYLE_LIST_STYLE_URDU 34
#define NS_STYLE_LIST_STYLE_DEVANAGARI 35
#define NS_STYLE_LIST_STYLE_GURMUKHI 36
#define NS_STYLE_LIST_STYLE_GUJARATI 37
#define NS_STYLE_LIST_STYLE_ORIYA 38
#define NS_STYLE_LIST_STYLE_KANNADA 39
#define NS_STYLE_LIST_STYLE_MALAYALAM 40
#define NS_STYLE_LIST_STYLE_BENGALI 41
#define NS_STYLE_LIST_STYLE_TAMIL 42
#define NS_STYLE_LIST_STYLE_TELUGU 43
#define NS_STYLE_LIST_STYLE_THAI 44
#define NS_STYLE_LIST_STYLE_LAO 45
#define NS_STYLE_LIST_STYLE_MYANMAR 46
#define NS_STYLE_LIST_STYLE_KHMER 47
#define NS_STYLE_LIST_STYLE_BASIC 100 // not in css
// See nsStyleList

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

@ -408,6 +408,30 @@
#define NS_STYLE_LIST_STYLE_OLD_LOWER_ALPHA 21
#define NS_STYLE_LIST_STYLE_OLD_UPPER_ALPHA 22
#define NS_STYLE_LIST_STYLE_OLD_DECIMAL 23
#define NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM 24
#define NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH 25
#define NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL 26
#define NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL 27
#define NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL 28
#define NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL 29
#define NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL 30
#define NS_STYLE_LIST_STYLE_JAPANESE_FORMAL 31
#define NS_STYLE_LIST_STYLE_ARABIC_INDIC 32
#define NS_STYLE_LIST_STYLE_PERSIAN 33
#define NS_STYLE_LIST_STYLE_URDU 34
#define NS_STYLE_LIST_STYLE_DEVANAGARI 35
#define NS_STYLE_LIST_STYLE_GURMUKHI 36
#define NS_STYLE_LIST_STYLE_GUJARATI 37
#define NS_STYLE_LIST_STYLE_ORIYA 38
#define NS_STYLE_LIST_STYLE_KANNADA 39
#define NS_STYLE_LIST_STYLE_MALAYALAM 40
#define NS_STYLE_LIST_STYLE_BENGALI 41
#define NS_STYLE_LIST_STYLE_TAMIL 42
#define NS_STYLE_LIST_STYLE_TELUGU 43
#define NS_STYLE_LIST_STYLE_THAI 44
#define NS_STYLE_LIST_STYLE_LAO 45
#define NS_STYLE_LIST_STYLE_MYANMAR 46
#define NS_STYLE_LIST_STYLE_KHMER 47
#define NS_STYLE_LIST_STYLE_BASIC 100 // not in css
// See nsStyleList

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

@ -192,6 +192,30 @@ nsBulletFrame::Paint(nsIPresContext* aCX,
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
case NS_STYLE_LIST_STYLE_DEVANAGARI:
case NS_STYLE_LIST_STYLE_GURMUKHI:
case NS_STYLE_LIST_STYLE_GUJARATI:
case NS_STYLE_LIST_STYLE_ORIYA:
case NS_STYLE_LIST_STYLE_KANNADA:
case NS_STYLE_LIST_STYLE_MALAYALAM:
case NS_STYLE_LIST_STYLE_BENGALI:
case NS_STYLE_LIST_STYLE_TAMIL:
case NS_STYLE_LIST_STYLE_TELUGU:
case NS_STYLE_LIST_STYLE_THAI:
case NS_STYLE_LIST_STYLE_LAO:
case NS_STYLE_LIST_STYLE_MYANMAR:
case NS_STYLE_LIST_STYLE_KHMER:
aCX->GetMetricsFor(myFont->mFont, getter_AddRefs(fm));
GetListItemText(aCX, *myList, text);
aRenderingContext.SetFont(fm);
@ -254,6 +278,23 @@ static void DecimalLeadingZeroToText(PRInt32 ordinal, nsString& result)
PR_snprintf(cbuf, sizeof(cbuf), "%02ld", ordinal);
result.AppendWithConversion(cbuf);
}
static void OtherDecimalToText(PRInt32 ordinal, PRUnichar zeroChar, nsString& result)
{
PRUnichar diff = zeroChar - PRUnichar('0');
DecimalToText(ordinal, result);
PRUnichar* p = (PRUnichar*)result.GetUnicode();
for(; nsnull != *p ; p++)
*p += diff;
}
static void TamilToText(PRInt32 ordinal, nsString& result)
{
PRUnichar diff = 0x0BE6 - PRUnichar('0');
DecimalToText(ordinal, result);
PRUnichar* p = (PRUnichar*)result.GetUnicode();
for(; nsnull != *p ; p++)
if(*p != PRUnichar('0'))
*p += diff;
}
static const char* gLowerRomanCharsA = "ixcm";
@ -402,6 +443,18 @@ static PRUnichar gLowerGreekChars[LOWER_GREEK_CHARS_SIZE] =
0x03C6, 0x03C7, 0x03C8, 0x03C9 // phi chi psi omega
};
#define CJK_HEAVENLY_STEM_CHARS_SIZE 10
static PRUnichar gCJKHeavenlyStemChars[CJK_HEAVENLY_STEM_CHARS_SIZE] =
{
0x7532, 0x4e59, 0x4e19, 0x4e01, 0x620a,
0x5df1, 0x5e9a, 0x8f9b, 0x58ec, 0x7678
};
#define CJK_EARTHLY_BRANCH_CHARS_SIZE 12
static PRUnichar gCJKEarthlyBranchChars[CJK_EARTHLY_BRANCH_CHARS_SIZE] =
{
0x5b50, 0x4e11, 0x5bc5, 0x536f, 0x8fb0, 0x5df3,
0x5348, 0x672a, 0x7533, 0x9149, 0x620c, 0x4ea5
};
// We know cjk-ideographic need 31 characters to display 99,999,999,999,999,999
// georgian and armenian need 6 at most
// hebrew may need more...
@ -425,19 +478,41 @@ static void CharListToText(PRInt32 ordinal, nsString& result, const PRUnichar* c
}
static PRUnichar gCJKIdeographicDigit[10] =
static PRUnichar gCJKIdeographicDigit1[10] =
{
0x96f6, 0x4e00, 0x4e8c, 0x4e09, 0x56db, // 0 - 4
0x4e94, 0x516d, 0x4e03, 0x516b, 0x4e5d // 5 - 9
};
static PRUnichar gCJKIdeographicUnit[4] =
static PRUnichar gCJKIdeographicDigit2[10] =
{
0x96f6, 0x58f9, 0x8cb3, 0x53c3, 0x8086, // 0 - 4
0x4f0d, 0x9678, 0x67d2, 0x634c, 0x7396 // 5 - 9
};
static PRUnichar gCJKIdeographicDigit3[10] =
{
0x96f6, 0x58f9, 0x8d30, 0x53c1, 0x8086, // 0 - 4
0x4f0d, 0x9646, 0x67d2, 0x634c, 0x7396 // 5 - 9
};
static PRUnichar gCJKIdeographicUnit1[4] =
{
0x000, 0x5341, 0x767e, 0x5343
};
static PRUnichar gCJKIdeographic10KUnit[4] =
static PRUnichar gCJKIdeographicUnit2[4] =
{
0x000, 0x62FE, 0x4F70, 0x4EDF
};
static PRUnichar gCJKIdeographic10KUnit1[4] =
{
0x000, 0x842c, 0x5104, 0x5146
};
static PRUnichar gCJKIdeographic10KUnit2[4] =
{
0x000, 0x4E07, 0x4ebf, 0x5146
};
static PRUnichar gCJKIdeographic10KUnit3[4] =
{
0x000, 0x4E07, 0x5104, 0x5146
};
static void CJKIdeographicToText(PRInt32 ordinal, nsString& result,
const PRUnichar* digits,
@ -726,9 +801,28 @@ nsBulletFrame::GetListItemText(nsIPresContext* aCX,
break;
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
// We may need to pass in different table for CJK-Ideographic-complex if it is
// supported in CSS3 or we may pass in different table for simplified Chinese
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit, gCJKIdeographicUnit, gCJKIdeographic10KUnit);
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit1);
break;
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit2, gCJKIdeographicUnit2, gCJKIdeographic10KUnit1);
break;
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit2);
break;
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit3, gCJKIdeographicUnit2, gCJKIdeographic10KUnit2);
break;
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit3);
break;
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit2, gCJKIdeographicUnit2, gCJKIdeographic10KUnit3);
break;
case NS_STYLE_LIST_STYLE_HEBREW:
@ -743,6 +837,74 @@ nsBulletFrame::GetListItemText(nsIPresContext* aCX,
GeorgianToText(mOrdinal, result);
break;
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
OtherDecimalToText(mOrdinal, 0x0660, result);
break;
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
OtherDecimalToText(mOrdinal, 0x06f0, result);
break;
case NS_STYLE_LIST_STYLE_DEVANAGARI:
OtherDecimalToText(mOrdinal, 0x0966, result);
break;
case NS_STYLE_LIST_STYLE_GURMUKHI:
OtherDecimalToText(mOrdinal, 0x0a66, result);
break;
case NS_STYLE_LIST_STYLE_GUJARATI:
OtherDecimalToText(mOrdinal, 0x0AE6, result);
break;
case NS_STYLE_LIST_STYLE_ORIYA:
OtherDecimalToText(mOrdinal, 0x0B66, result);
break;
case NS_STYLE_LIST_STYLE_KANNADA:
OtherDecimalToText(mOrdinal, 0x0CE6, result);
break;
case NS_STYLE_LIST_STYLE_MALAYALAM:
OtherDecimalToText(mOrdinal, 0x0D66, result);
break;
case NS_STYLE_LIST_STYLE_THAI:
OtherDecimalToText(mOrdinal, 0x0E50, result);
break;
case NS_STYLE_LIST_STYLE_LAO:
OtherDecimalToText(mOrdinal, 0x0ED0, result);
break;
case NS_STYLE_LIST_STYLE_MYANMAR:
OtherDecimalToText(mOrdinal, 0x1040, result);
break;
case NS_STYLE_LIST_STYLE_KHMER:
OtherDecimalToText(mOrdinal, 0x17E0, result);
break;
case NS_STYLE_LIST_STYLE_BENGALI:
OtherDecimalToText(mOrdinal, 0x09E6, result);
break;
case NS_STYLE_LIST_STYLE_TELUGU:
OtherDecimalToText(mOrdinal, 0x0C66, result);
break;
case NS_STYLE_LIST_STYLE_TAMIL:
TamilToText(mOrdinal, result);
break;
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
CharListToText(mOrdinal, result, gCJKHeavenlyStemChars, CJK_HEAVENLY_STEM_CHARS_SIZE);
break;
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
CharListToText(mOrdinal, result, gCJKEarthlyBranchChars, CJK_EARTHLY_BRANCH_CHARS_SIZE);
break;
}
result.AppendWithConversion(".");
}
@ -860,6 +1022,30 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
case NS_STYLE_LIST_STYLE_DEVANAGARI:
case NS_STYLE_LIST_STYLE_GURMUKHI:
case NS_STYLE_LIST_STYLE_GUJARATI:
case NS_STYLE_LIST_STYLE_ORIYA:
case NS_STYLE_LIST_STYLE_KANNADA:
case NS_STYLE_LIST_STYLE_MALAYALAM:
case NS_STYLE_LIST_STYLE_BENGALI:
case NS_STYLE_LIST_STYLE_TAMIL:
case NS_STYLE_LIST_STYLE_TELUGU:
case NS_STYLE_LIST_STYLE_THAI:
case NS_STYLE_LIST_STYLE_LAO:
case NS_STYLE_LIST_STYLE_MYANMAR:
case NS_STYLE_LIST_STYLE_KHMER:
GetListItemText(aCX, *myList, text);
fm->GetHeight(aMetrics.height);
aReflowState.rendContext->SetFont(fm);

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

@ -192,6 +192,30 @@ nsBulletFrame::Paint(nsIPresContext* aCX,
case NS_STYLE_LIST_STYLE_KATAKANA:
case NS_STYLE_LIST_STYLE_HIRAGANA_IROHA:
case NS_STYLE_LIST_STYLE_KATAKANA_IROHA:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
case NS_STYLE_LIST_STYLE_DEVANAGARI:
case NS_STYLE_LIST_STYLE_GURMUKHI:
case NS_STYLE_LIST_STYLE_GUJARATI:
case NS_STYLE_LIST_STYLE_ORIYA:
case NS_STYLE_LIST_STYLE_KANNADA:
case NS_STYLE_LIST_STYLE_MALAYALAM:
case NS_STYLE_LIST_STYLE_BENGALI:
case NS_STYLE_LIST_STYLE_TAMIL:
case NS_STYLE_LIST_STYLE_TELUGU:
case NS_STYLE_LIST_STYLE_THAI:
case NS_STYLE_LIST_STYLE_LAO:
case NS_STYLE_LIST_STYLE_MYANMAR:
case NS_STYLE_LIST_STYLE_KHMER:
aCX->GetMetricsFor(myFont->mFont, getter_AddRefs(fm));
GetListItemText(aCX, *myList, text);
aRenderingContext.SetFont(fm);
@ -254,6 +278,23 @@ static void DecimalLeadingZeroToText(PRInt32 ordinal, nsString& result)
PR_snprintf(cbuf, sizeof(cbuf), "%02ld", ordinal);
result.AppendWithConversion(cbuf);
}
static void OtherDecimalToText(PRInt32 ordinal, PRUnichar zeroChar, nsString& result)
{
PRUnichar diff = zeroChar - PRUnichar('0');
DecimalToText(ordinal, result);
PRUnichar* p = (PRUnichar*)result.GetUnicode();
for(; nsnull != *p ; p++)
*p += diff;
}
static void TamilToText(PRInt32 ordinal, nsString& result)
{
PRUnichar diff = 0x0BE6 - PRUnichar('0');
DecimalToText(ordinal, result);
PRUnichar* p = (PRUnichar*)result.GetUnicode();
for(; nsnull != *p ; p++)
if(*p != PRUnichar('0'))
*p += diff;
}
static const char* gLowerRomanCharsA = "ixcm";
@ -402,6 +443,18 @@ static PRUnichar gLowerGreekChars[LOWER_GREEK_CHARS_SIZE] =
0x03C6, 0x03C7, 0x03C8, 0x03C9 // phi chi psi omega
};
#define CJK_HEAVENLY_STEM_CHARS_SIZE 10
static PRUnichar gCJKHeavenlyStemChars[CJK_HEAVENLY_STEM_CHARS_SIZE] =
{
0x7532, 0x4e59, 0x4e19, 0x4e01, 0x620a,
0x5df1, 0x5e9a, 0x8f9b, 0x58ec, 0x7678
};
#define CJK_EARTHLY_BRANCH_CHARS_SIZE 12
static PRUnichar gCJKEarthlyBranchChars[CJK_EARTHLY_BRANCH_CHARS_SIZE] =
{
0x5b50, 0x4e11, 0x5bc5, 0x536f, 0x8fb0, 0x5df3,
0x5348, 0x672a, 0x7533, 0x9149, 0x620c, 0x4ea5
};
// We know cjk-ideographic need 31 characters to display 99,999,999,999,999,999
// georgian and armenian need 6 at most
// hebrew may need more...
@ -425,19 +478,41 @@ static void CharListToText(PRInt32 ordinal, nsString& result, const PRUnichar* c
}
static PRUnichar gCJKIdeographicDigit[10] =
static PRUnichar gCJKIdeographicDigit1[10] =
{
0x96f6, 0x4e00, 0x4e8c, 0x4e09, 0x56db, // 0 - 4
0x4e94, 0x516d, 0x4e03, 0x516b, 0x4e5d // 5 - 9
};
static PRUnichar gCJKIdeographicUnit[4] =
static PRUnichar gCJKIdeographicDigit2[10] =
{
0x96f6, 0x58f9, 0x8cb3, 0x53c3, 0x8086, // 0 - 4
0x4f0d, 0x9678, 0x67d2, 0x634c, 0x7396 // 5 - 9
};
static PRUnichar gCJKIdeographicDigit3[10] =
{
0x96f6, 0x58f9, 0x8d30, 0x53c1, 0x8086, // 0 - 4
0x4f0d, 0x9646, 0x67d2, 0x634c, 0x7396 // 5 - 9
};
static PRUnichar gCJKIdeographicUnit1[4] =
{
0x000, 0x5341, 0x767e, 0x5343
};
static PRUnichar gCJKIdeographic10KUnit[4] =
static PRUnichar gCJKIdeographicUnit2[4] =
{
0x000, 0x62FE, 0x4F70, 0x4EDF
};
static PRUnichar gCJKIdeographic10KUnit1[4] =
{
0x000, 0x842c, 0x5104, 0x5146
};
static PRUnichar gCJKIdeographic10KUnit2[4] =
{
0x000, 0x4E07, 0x4ebf, 0x5146
};
static PRUnichar gCJKIdeographic10KUnit3[4] =
{
0x000, 0x4E07, 0x5104, 0x5146
};
static void CJKIdeographicToText(PRInt32 ordinal, nsString& result,
const PRUnichar* digits,
@ -726,9 +801,28 @@ nsBulletFrame::GetListItemText(nsIPresContext* aCX,
break;
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
// We may need to pass in different table for CJK-Ideographic-complex if it is
// supported in CSS3 or we may pass in different table for simplified Chinese
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit, gCJKIdeographicUnit, gCJKIdeographic10KUnit);
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit1);
break;
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit2, gCJKIdeographicUnit2, gCJKIdeographic10KUnit1);
break;
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit2);
break;
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit3, gCJKIdeographicUnit2, gCJKIdeographic10KUnit2);
break;
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit1, gCJKIdeographicUnit1, gCJKIdeographic10KUnit3);
break;
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
CJKIdeographicToText(mOrdinal, result, gCJKIdeographicDigit2, gCJKIdeographicUnit2, gCJKIdeographic10KUnit3);
break;
case NS_STYLE_LIST_STYLE_HEBREW:
@ -743,6 +837,74 @@ nsBulletFrame::GetListItemText(nsIPresContext* aCX,
GeorgianToText(mOrdinal, result);
break;
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
OtherDecimalToText(mOrdinal, 0x0660, result);
break;
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
OtherDecimalToText(mOrdinal, 0x06f0, result);
break;
case NS_STYLE_LIST_STYLE_DEVANAGARI:
OtherDecimalToText(mOrdinal, 0x0966, result);
break;
case NS_STYLE_LIST_STYLE_GURMUKHI:
OtherDecimalToText(mOrdinal, 0x0a66, result);
break;
case NS_STYLE_LIST_STYLE_GUJARATI:
OtherDecimalToText(mOrdinal, 0x0AE6, result);
break;
case NS_STYLE_LIST_STYLE_ORIYA:
OtherDecimalToText(mOrdinal, 0x0B66, result);
break;
case NS_STYLE_LIST_STYLE_KANNADA:
OtherDecimalToText(mOrdinal, 0x0CE6, result);
break;
case NS_STYLE_LIST_STYLE_MALAYALAM:
OtherDecimalToText(mOrdinal, 0x0D66, result);
break;
case NS_STYLE_LIST_STYLE_THAI:
OtherDecimalToText(mOrdinal, 0x0E50, result);
break;
case NS_STYLE_LIST_STYLE_LAO:
OtherDecimalToText(mOrdinal, 0x0ED0, result);
break;
case NS_STYLE_LIST_STYLE_MYANMAR:
OtherDecimalToText(mOrdinal, 0x1040, result);
break;
case NS_STYLE_LIST_STYLE_KHMER:
OtherDecimalToText(mOrdinal, 0x17E0, result);
break;
case NS_STYLE_LIST_STYLE_BENGALI:
OtherDecimalToText(mOrdinal, 0x09E6, result);
break;
case NS_STYLE_LIST_STYLE_TELUGU:
OtherDecimalToText(mOrdinal, 0x0C66, result);
break;
case NS_STYLE_LIST_STYLE_TAMIL:
TamilToText(mOrdinal, result);
break;
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
CharListToText(mOrdinal, result, gCJKHeavenlyStemChars, CJK_HEAVENLY_STEM_CHARS_SIZE);
break;
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
CharListToText(mOrdinal, result, gCJKEarthlyBranchChars, CJK_EARTHLY_BRANCH_CHARS_SIZE);
break;
}
result.AppendWithConversion(".");
}
@ -860,6 +1022,30 @@ nsBulletFrame::GetDesiredSize(nsIPresContext* aCX,
case NS_STYLE_LIST_STYLE_ARMENIAN:
case NS_STYLE_LIST_STYLE_GEORGIAN:
case NS_STYLE_LIST_STYLE_CJK_IDEOGRAPHIC:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL:
case NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL:
case NS_STYLE_LIST_STYLE_JAPANESE_FORMAL:
case NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM:
case NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH:
case NS_STYLE_LIST_STYLE_ARABIC_INDIC:
case NS_STYLE_LIST_STYLE_PERSIAN:
case NS_STYLE_LIST_STYLE_URDU:
case NS_STYLE_LIST_STYLE_DEVANAGARI:
case NS_STYLE_LIST_STYLE_GURMUKHI:
case NS_STYLE_LIST_STYLE_GUJARATI:
case NS_STYLE_LIST_STYLE_ORIYA:
case NS_STYLE_LIST_STYLE_KANNADA:
case NS_STYLE_LIST_STYLE_MALAYALAM:
case NS_STYLE_LIST_STYLE_BENGALI:
case NS_STYLE_LIST_STYLE_TAMIL:
case NS_STYLE_LIST_STYLE_TELUGU:
case NS_STYLE_LIST_STYLE_THAI:
case NS_STYLE_LIST_STYLE_LAO:
case NS_STYLE_LIST_STYLE_MYANMAR:
case NS_STYLE_LIST_STYLE_KHMER:
GetListItemText(aCX, *myList, text);
fm->GetHeight(aMetrics.height);
aReflowState.rendContext->SetFont(fm);

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

@ -54,6 +54,7 @@ CSS_KEY(activecaption)
CSS_KEY(all)
CSS_KEY(always)
CSS_KEY(appworkspace)
CSS_KEY(arabic_indic)
CSS_KEY(armenian)
CSS_KEY(auto)
CSS_KEY(avoid)
@ -61,6 +62,7 @@ CSS_KEY(background)
CSS_KEY(baseline)
CSS_KEY(behind)
CSS_KEY(below)
CSS_KEY(bengali)
CSS_KEY(bidi_override)
CSS_KEY(blink)
CSS_KEY(block)
@ -82,6 +84,8 @@ CSS_KEY(center_left)
CSS_KEY(center_right)
CSS_KEY(ch)
CSS_KEY(circle)
CSS_KEY(cjk_earthly_branch)
CSS_KEY(cjk_heavenly_stem)
CSS_KEY(cjk_ideographic)
CSS_KEY(close_quote)
CSS_KEY(cm)
@ -100,6 +104,7 @@ CSS_KEY(decimal_leading_zero)
CSS_KEY(default)
CSS_KEY(deg)
CSS_KEY(desktop)
CSS_KEY(devanagari)
CSS_KEY(dialog)
CSS_KEY(digits)
CSS_KEY(disabled)
@ -127,6 +132,8 @@ CSS_KEY(georgian)
CSS_KEY(grad)
CSS_KEY(graytext)
CSS_KEY(groove)
CSS_KEY(gujarati)
CSS_KEY(gurmukhi)
CSS_KEY(hebrew)
CSS_KEY(help)
CSS_KEY(hidden)
@ -156,11 +163,16 @@ CSS_KEY(inset)
CSS_KEY(inside)
CSS_KEY(invert)
CSS_KEY(italic)
CSS_KEY(japanese_formal)
CSS_KEY(japanese_informal)
CSS_KEY(justify)
CSS_KEY(kannada)
CSS_KEY(katakana)
CSS_KEY(katakana_iroha)
CSS_KEY(khmer)
CSS_KEY(khz)
CSS_KEY(landscape)
CSS_KEY(lao)
CSS_KEY(large)
CSS_KEY(larger)
CSS_KEY(left)
@ -180,6 +192,7 @@ CSS_KEY(lower_latin)
CSS_KEY(lower_roman)
CSS_KEY(lowercase)
CSS_KEY(ltr)
CSS_KEY(malayalam)
CSS_KEY(margin_box)
CSS_KEY(marker)
CSS_KEY(medium)
@ -191,6 +204,7 @@ CSS_KEY(mix)
CSS_KEY(mm)
CSS_KEY(move)
CSS_KEY(ms)
CSS_KEY(myanmar)
CSS_KEY(n_resize)
CSS_KEY(narrower)
CSS_KEY(ne_resize)
@ -205,12 +219,14 @@ CSS_KEY(nw_resize)
CSS_KEY(oblique)
CSS_KEY(once)
CSS_KEY(open_quote)
CSS_KEY(oriya)
CSS_KEY(outset)
CSS_KEY(outside)
CSS_KEY(overline)
CSS_KEY(padding_box)
CSS_KEY(paragraph)
CSS_KEY(pc)
CSS_KEY(persian)
CSS_KEY(pointer)
CSS_KEY(portrait)
CSS_KEY(pre)
@ -245,6 +261,8 @@ CSS_KEY(semi_expanded)
CSS_KEY(separate)
CSS_KEY(show)
CSS_KEY(silent)
CSS_KEY(simp_chinese_formal)
CSS_KEY(simp_chinese_informal)
CSS_KEY(slow)
CSS_KEY(slower)
CSS_KEY(small)
@ -269,9 +287,12 @@ CSS_KEY(table_footer_group)
CSS_KEY(table_header_group)
CSS_KEY(table_row)
CSS_KEY(table_row_group)
CSS_KEY(tamil)
CSS_KEY(telugu)
CSS_KEY(text)
CSS_KEY(text_bottom)
CSS_KEY(text_top)
CSS_KEY(thai)
CSS_KEY(thick)
CSS_KEY(thin)
CSS_KEY(threeddarkshadow)
@ -281,6 +302,8 @@ CSS_KEY(threedlightshadow)
CSS_KEY(threedshadow)
CSS_KEY(toggle)
CSS_KEY(top)
CSS_KEY(trad_chinese_formal)
CSS_KEY(trad_chinese_informal)
CSS_KEY(transparent)
CSS_KEY(tri_state)
CSS_KEY(ultra_condensed)
@ -290,6 +313,7 @@ CSS_KEY(upper_alpha)
CSS_KEY(upper_latin)
CSS_KEY(upper_roman)
CSS_KEY(uppercase)
CSS_KEY(urdu)
CSS_KEY(vertical)
CSS_KEY(visible)
CSS_KEY(w_resize)

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

@ -459,6 +459,30 @@ const PRInt32 nsCSSProps::kListStyleKTable[] = {
eCSSKeyword_katakana, NS_STYLE_LIST_STYLE_KATAKANA,
eCSSKeyword_hiragana_iroha, NS_STYLE_LIST_STYLE_HIRAGANA_IROHA,
eCSSKeyword_katakana_iroha, NS_STYLE_LIST_STYLE_KATAKANA_IROHA,
eCSSKeyword_cjk_heavenly_stem, NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM,
eCSSKeyword_cjk_earthly_branch, NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH,
eCSSKeyword_trad_chinese_informal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL,
eCSSKeyword_trad_chinese_formal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL,
eCSSKeyword_simp_chinese_informal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL,
eCSSKeyword_simp_chinese_formal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL,
eCSSKeyword_japanese_informal, NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL,
eCSSKeyword_japanese_formal, NS_STYLE_LIST_STYLE_JAPANESE_FORMAL,
eCSSKeyword_arabic_indic, NS_STYLE_LIST_STYLE_ARABIC_INDIC,
eCSSKeyword_persian, NS_STYLE_LIST_STYLE_PERSIAN,
eCSSKeyword_urdu, NS_STYLE_LIST_STYLE_URDU,
eCSSKeyword_devanagari, NS_STYLE_LIST_STYLE_DEVANAGARI,
eCSSKeyword_gurmukhi, NS_STYLE_LIST_STYLE_GURMUKHI,
eCSSKeyword_gujarati, NS_STYLE_LIST_STYLE_GUJARATI,
eCSSKeyword_oriya, NS_STYLE_LIST_STYLE_ORIYA,
eCSSKeyword_kannada, NS_STYLE_LIST_STYLE_KANNADA,
eCSSKeyword_malayalam, NS_STYLE_LIST_STYLE_MALAYALAM,
eCSSKeyword_bengali, NS_STYLE_LIST_STYLE_BENGALI,
eCSSKeyword_tamil, NS_STYLE_LIST_STYLE_TAMIL,
eCSSKeyword_telugu, NS_STYLE_LIST_STYLE_TELUGU,
eCSSKeyword_thai, NS_STYLE_LIST_STYLE_THAI,
eCSSKeyword_lao, NS_STYLE_LIST_STYLE_LAO,
eCSSKeyword_myanmar, NS_STYLE_LIST_STYLE_MYANMAR,
eCSSKeyword_khmer, NS_STYLE_LIST_STYLE_KHMER,
-1,-1
};

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

@ -54,6 +54,7 @@ CSS_KEY(activecaption)
CSS_KEY(all)
CSS_KEY(always)
CSS_KEY(appworkspace)
CSS_KEY(arabic_indic)
CSS_KEY(armenian)
CSS_KEY(auto)
CSS_KEY(avoid)
@ -61,6 +62,7 @@ CSS_KEY(background)
CSS_KEY(baseline)
CSS_KEY(behind)
CSS_KEY(below)
CSS_KEY(bengali)
CSS_KEY(bidi_override)
CSS_KEY(blink)
CSS_KEY(block)
@ -82,6 +84,8 @@ CSS_KEY(center_left)
CSS_KEY(center_right)
CSS_KEY(ch)
CSS_KEY(circle)
CSS_KEY(cjk_earthly_branch)
CSS_KEY(cjk_heavenly_stem)
CSS_KEY(cjk_ideographic)
CSS_KEY(close_quote)
CSS_KEY(cm)
@ -100,6 +104,7 @@ CSS_KEY(decimal_leading_zero)
CSS_KEY(default)
CSS_KEY(deg)
CSS_KEY(desktop)
CSS_KEY(devanagari)
CSS_KEY(dialog)
CSS_KEY(digits)
CSS_KEY(disabled)
@ -127,6 +132,8 @@ CSS_KEY(georgian)
CSS_KEY(grad)
CSS_KEY(graytext)
CSS_KEY(groove)
CSS_KEY(gujarati)
CSS_KEY(gurmukhi)
CSS_KEY(hebrew)
CSS_KEY(help)
CSS_KEY(hidden)
@ -156,11 +163,16 @@ CSS_KEY(inset)
CSS_KEY(inside)
CSS_KEY(invert)
CSS_KEY(italic)
CSS_KEY(japanese_formal)
CSS_KEY(japanese_informal)
CSS_KEY(justify)
CSS_KEY(kannada)
CSS_KEY(katakana)
CSS_KEY(katakana_iroha)
CSS_KEY(khmer)
CSS_KEY(khz)
CSS_KEY(landscape)
CSS_KEY(lao)
CSS_KEY(large)
CSS_KEY(larger)
CSS_KEY(left)
@ -180,6 +192,7 @@ CSS_KEY(lower_latin)
CSS_KEY(lower_roman)
CSS_KEY(lowercase)
CSS_KEY(ltr)
CSS_KEY(malayalam)
CSS_KEY(margin_box)
CSS_KEY(marker)
CSS_KEY(medium)
@ -191,6 +204,7 @@ CSS_KEY(mix)
CSS_KEY(mm)
CSS_KEY(move)
CSS_KEY(ms)
CSS_KEY(myanmar)
CSS_KEY(n_resize)
CSS_KEY(narrower)
CSS_KEY(ne_resize)
@ -205,12 +219,14 @@ CSS_KEY(nw_resize)
CSS_KEY(oblique)
CSS_KEY(once)
CSS_KEY(open_quote)
CSS_KEY(oriya)
CSS_KEY(outset)
CSS_KEY(outside)
CSS_KEY(overline)
CSS_KEY(padding_box)
CSS_KEY(paragraph)
CSS_KEY(pc)
CSS_KEY(persian)
CSS_KEY(pointer)
CSS_KEY(portrait)
CSS_KEY(pre)
@ -245,6 +261,8 @@ CSS_KEY(semi_expanded)
CSS_KEY(separate)
CSS_KEY(show)
CSS_KEY(silent)
CSS_KEY(simp_chinese_formal)
CSS_KEY(simp_chinese_informal)
CSS_KEY(slow)
CSS_KEY(slower)
CSS_KEY(small)
@ -269,9 +287,12 @@ CSS_KEY(table_footer_group)
CSS_KEY(table_header_group)
CSS_KEY(table_row)
CSS_KEY(table_row_group)
CSS_KEY(tamil)
CSS_KEY(telugu)
CSS_KEY(text)
CSS_KEY(text_bottom)
CSS_KEY(text_top)
CSS_KEY(thai)
CSS_KEY(thick)
CSS_KEY(thin)
CSS_KEY(threeddarkshadow)
@ -281,6 +302,8 @@ CSS_KEY(threedlightshadow)
CSS_KEY(threedshadow)
CSS_KEY(toggle)
CSS_KEY(top)
CSS_KEY(trad_chinese_formal)
CSS_KEY(trad_chinese_informal)
CSS_KEY(transparent)
CSS_KEY(tri_state)
CSS_KEY(ultra_condensed)
@ -290,6 +313,7 @@ CSS_KEY(upper_alpha)
CSS_KEY(upper_latin)
CSS_KEY(upper_roman)
CSS_KEY(uppercase)
CSS_KEY(urdu)
CSS_KEY(vertical)
CSS_KEY(visible)
CSS_KEY(w_resize)

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

@ -459,6 +459,30 @@ const PRInt32 nsCSSProps::kListStyleKTable[] = {
eCSSKeyword_katakana, NS_STYLE_LIST_STYLE_KATAKANA,
eCSSKeyword_hiragana_iroha, NS_STYLE_LIST_STYLE_HIRAGANA_IROHA,
eCSSKeyword_katakana_iroha, NS_STYLE_LIST_STYLE_KATAKANA_IROHA,
eCSSKeyword_cjk_heavenly_stem, NS_STYLE_LIST_STYLE_CJK_HEAVENLY_STEM,
eCSSKeyword_cjk_earthly_branch, NS_STYLE_LIST_STYLE_CJK_EARTHLY_BRANCH,
eCSSKeyword_trad_chinese_informal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_INFORMAL,
eCSSKeyword_trad_chinese_formal, NS_STYLE_LIST_STYLE_TRAD_CHINESE_FORMAL,
eCSSKeyword_simp_chinese_informal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_INFORMAL,
eCSSKeyword_simp_chinese_formal, NS_STYLE_LIST_STYLE_SIMP_CHINESE_FORMAL,
eCSSKeyword_japanese_informal, NS_STYLE_LIST_STYLE_JAPANESE_INFORMAL,
eCSSKeyword_japanese_formal, NS_STYLE_LIST_STYLE_JAPANESE_FORMAL,
eCSSKeyword_arabic_indic, NS_STYLE_LIST_STYLE_ARABIC_INDIC,
eCSSKeyword_persian, NS_STYLE_LIST_STYLE_PERSIAN,
eCSSKeyword_urdu, NS_STYLE_LIST_STYLE_URDU,
eCSSKeyword_devanagari, NS_STYLE_LIST_STYLE_DEVANAGARI,
eCSSKeyword_gurmukhi, NS_STYLE_LIST_STYLE_GURMUKHI,
eCSSKeyword_gujarati, NS_STYLE_LIST_STYLE_GUJARATI,
eCSSKeyword_oriya, NS_STYLE_LIST_STYLE_ORIYA,
eCSSKeyword_kannada, NS_STYLE_LIST_STYLE_KANNADA,
eCSSKeyword_malayalam, NS_STYLE_LIST_STYLE_MALAYALAM,
eCSSKeyword_bengali, NS_STYLE_LIST_STYLE_BENGALI,
eCSSKeyword_tamil, NS_STYLE_LIST_STYLE_TAMIL,
eCSSKeyword_telugu, NS_STYLE_LIST_STYLE_TELUGU,
eCSSKeyword_thai, NS_STYLE_LIST_STYLE_THAI,
eCSSKeyword_lao, NS_STYLE_LIST_STYLE_LAO,
eCSSKeyword_myanmar, NS_STYLE_LIST_STYLE_MYANMAR,
eCSSKeyword_khmer, NS_STYLE_LIST_STYLE_KHMER,
-1,-1
};