From 13d6e8211c71dce2efcb1aae4d93167dc6842138 Mon Sep 17 00:00:00 2001 From: John Daggett Date: Tue, 15 Apr 2014 08:45:18 +0900 Subject: [PATCH] Bug 995056 - update common font fallback list for Windows. r=mkato --- gfx/thebes/gfxWindowsPlatform.cpp | 48 +++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) diff --git a/gfx/thebes/gfxWindowsPlatform.cpp b/gfx/thebes/gfxWindowsPlatform.cpp index 3c30b0ecd0d..b2fd310ac09 100644 --- a/gfx/thebes/gfxWindowsPlatform.cpp +++ b/gfx/thebes/gfxWindowsPlatform.cpp @@ -734,6 +734,7 @@ gfxWindowsPlatform::UpdateFontList() return NS_OK; } +static const char kFontAparajita[] = "Aparajita"; static const char kFontArabicTypesetting[] = "Arabic Typesetting"; static const char kFontArial[] = "Arial"; static const char kFontArialUnicodeMS[] = "Arial Unicode MS"; @@ -743,8 +744,10 @@ static const char kFontEbrima[] = "Ebrima"; static const char kFontEstrangeloEdessa[] = "Estrangelo Edessa"; static const char kFontEuphemia[] = "Euphemia"; static const char kFontGabriola[] = "Gabriola"; +static const char kFontJavaneseText[] = "Javanese Text"; static const char kFontKhmerUI[] = "Khmer UI"; static const char kFontLaoUI[] = "Lao UI"; +static const char kFontLeelawadeeUI[] = "Leelawadee UI"; static const char kFontLucidaSansUnicode[] = "Lucida Sans Unicode"; static const char kFontMVBoli[] = "MV Boli"; static const char kFontMalgunGothic[] = "Malgun Gothic"; @@ -757,12 +760,16 @@ static const char kFontMicrosoftYaHei[] = "Microsoft YaHei"; static const char kFontMicrosoftYiBaiti[] = "Microsoft Yi Baiti"; static const char kFontMeiryo[] = "Meiryo"; static const char kFontMongolianBaiti[] = "Mongolian Baiti"; +static const char kFontMyanmarText[] = "Myanmar Text"; +static const char kFontNirmalaUI[] = "Nirmala UI"; static const char kFontNyala[] = "Nyala"; static const char kFontPlantagenetCherokee[] = "Plantagenet Cherokee"; static const char kFontSegoeUI[] = "Segoe UI"; static const char kFontSegoeUISymbol[] = "Segoe UI Symbol"; static const char kFontSylfaen[] = "Sylfaen"; static const char kFontTraditionalArabic[] = "Traditional Arabic"; +static const char kFontUtsaah[] = "Utsaah"; +static const char kFontYuGothic[] = "Yu Gothic"; void gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, @@ -777,6 +784,7 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, if (p == 1) { // SMP plane aFontList.AppendElement(kFontSegoeUISymbol); aFontList.AppendElement(kFontEbrima); + aFontList.AppendElement(kFontNirmalaUI); aFontList.AppendElement(kFontCambriaMath); } } else { @@ -795,9 +803,19 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, aFontList.AppendElement(kFontMVBoli); aFontList.AppendElement(kFontEbrima); break; + case 0x09: + aFontList.AppendElement(kFontUtsaah); + aFontList.AppendElement(kFontAparajita); + break; case 0x0e: aFontList.AppendElement(kFontLaoUI); break; + case 0x10: + aFontList.AppendElement(kFontMyanmarText); + break; + case 0x11: + aFontList.AppendElement(kFontMalgunGothic); + break; case 0x12: case 0x13: aFontList.AppendElement(kFontNyala); @@ -814,6 +832,7 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, break; case 0x18: // Mongolian aFontList.AppendElement(kFontMongolianBaiti); + aFontList.AppendElement(kFontEuphemia); break; case 0x19: aFontList.AppendElement(kFontMicrosoftTaiLe); @@ -821,6 +840,12 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, aFontList.AppendElement(kFontKhmerUI); break; break; + case 0x1a: + aFontList.AppendElement(kFontLeelawadeeUI); + break; + case 0x1c: + aFontList.AppendElement(kFontNirmalaUI); + break; case 0x20: // Symbol ranges case 0x21: case 0x22: @@ -846,6 +871,8 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, case 0x2f: aFontList.AppendElement(kFontEbrima); aFontList.AppendElement(kFontNyala); + aFontList.AppendElement(kFontSegoeUI); + aFontList.AppendElement(kFontSegoeUISymbol); aFontList.AppendElement(kFontMeiryo); break; case 0x28: // Braille @@ -861,21 +888,42 @@ gfxWindowsPlatform::GetCommonFallbackFonts(const uint32_t aCh, case 0x4d: aFontList.AppendElement(kFontSegoeUISymbol); break; + case 0x9f: + aFontList.AppendElement(kFontMicrosoftYaHei); + aFontList.AppendElement(kFontYuGothic); + break; case 0xa0: // Yi case 0xa1: case 0xa2: case 0xa3: case 0xa4: aFontList.AppendElement(kFontMicrosoftYiBaiti); + aFontList.AppendElement(kFontSegoeUI); break; case 0xa5: case 0xa6: case 0xa7: aFontList.AppendElement(kFontEbrima); + aFontList.AppendElement(kFontSegoeUI); aFontList.AppendElement(kFontCambriaMath); break; case 0xa8: aFontList.AppendElement(kFontMicrosoftPhagsPa); + aFontList.AppendElement(kFontNirmalaUI); + break; + case 0xa9: + aFontList.AppendElement(kFontMalgunGothic); + aFontList.AppendElement(kFontJavaneseText); + break; + case 0xaa: + aFontList.AppendElement(kFontMyanmarText); + break; + case 0xab: + aFontList.AppendElement(kFontEbrima); + aFontList.AppendElement(kFontNyala); + break; + case 0xd7: + aFontList.AppendElement(kFontMalgunGothic); break; case 0xfb: aFontList.AppendElement(kFontMicrosoftUighur);