Commit 7b9e1e6b authored by eae@chromium.org's avatar eae@chromium.org

Add fallback fonts for math and symbol blocks on Windows

Add fallback fonts for more math and symbol unicode blocks on Windows to
allow better font fallback and handling of symbols that generally aren't
available in the commonly used fonts.

R=szager@chromium.org
BUG=237023, 237050, 526354
TEST=fast/text/unicode-fallback-font.html

Review URL: https://codereview.chromium.org/1314543011

git-svn-id: svn://svn.chromium.org/blink/trunk@201930 bbb929c8-8fbe-4397-9dbb-9b2b20218538
parent 317d231b
......@@ -1135,6 +1135,45 @@ crbug.com/524134 [ Win10 ] paint/invalidation/spv2/selection-gap-transformed-abs
crbug.com/524134 [ Win10 ] paint/invalidation/spv2/selection-gap-transformed-fixed-child.html [ NeedsRebaseline ]
crbug.com/524134 [ Win10 ] paint/invalidation/spv2/selection-gap-absolute-child.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5518-brdr-t-01-e.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5519-brdr-r-00-a.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5520-brdr-b-01-e.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5521-brdr-l-00-a.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5521-brdr-l-01-e.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0805-c5521-ibrdr-l-00-a.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t090501-c414-flt-01-b.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t090501-c414-flt-03-b-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t090501-c414-flt-ln-01-d-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t090501-c5525-flt-l-00-b-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t090501-c5525-flt-r-00-b-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c414-flt-03-c.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c414-flt-04-c.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c414-flt-fit-01-d-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c414-flt-02-c.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltblck-01-d.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltcont-00-d-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltwidth-00-c-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltwidth-02-c-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltwidth-03-c-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t0905-c5525-fltwrap-00-b.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t100304-c43-rpl-bbx-01-d-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] css2.1/t1205-c566-list-stl-01-c-g.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] editing/deleting/5144139-2.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/block/positioning/047.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/emphasis.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/emphasis-vertical.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/fallback-for-custom-font.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/international/text-combine-image-test.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/international/vertical-text-glyph-test.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/justify-ideograph-vertical.html [ NeedsRebaseline ]
crbug.com/237050 [ XP Win7 ] fast/text/midword-break-before-surrogate-pair.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/orientation-sideways.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/unicode-fallback-font.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/writing-mode/english-lr-text.html [ NeedsRebaseline ]
crbug.com/237050 [ Win ] svg/text/non-bmp-positioning-lists.svg [ NeedsRebaseline ]
crbug.com/237050 [ Win ] fast/text/regional-indicator-symobls.html [ NeedsRebaseline ]
crbug.com/237050 [ XP Win7 ] fast/text/midword-break-before-surrogate-pair-2.html [ NeedsRebaseline ]
# Win10 specific failures that still need triaging.
crbug.com/521730 [ Win10 ] fast/dom/Window/property-access-on-cached-properties-after-frame-navigated.html [ Failure ]
crbug.com/521730 [ Win10 ] fast/dom/Window/property-access-on-cached-properties-after-frame-removed-and-gced.html [ Failure ]
......@@ -1276,18 +1315,13 @@ crbug.com/521730 [ Win10 ] fast/dynamic/text-combine.html [ Failure Failure Fail
crbug.com/521730 [ Win10 ] fast/ruby/base-shorter-than-text.html [ Failure Failure Timeout Failure ]
crbug.com/521730 [ Win10 ] fast/text/emphasis-combined-text.html [ Failure Timeout Failure Failure ]
crbug.com/521730 [ Win10 ] fast/text/emphasis-complex.html [ Failure Timeout Failure Failure ]
crbug.com/521730 [ Win10 ] fast/text/emphasis-vertical.html [ Failure Failure Timeout Failure ]
crbug.com/521730 [ Win10 ] fast/text/emphasis.html [ Failure Failure Timeout Failure ]
crbug.com/521730 [ Win10 ] fast/text/font-weight-variant.html [ Failure Timeout Failure Failure ]
crbug.com/521730 [ Win10 ] fast/text/international/003.html [ Failure Timeout Failure Failure ]
crbug.com/521730 [ Win10 ] fast/text/international/bold-bengali.html [ Failure Failure Timeout Failure ]
crbug.com/521730 [ Win10 ] fast/text/international/complex-character-based-fallback.html [ Failure Timeout Timeout Timeout ]
crbug.com/521730 [ Win10 ] fast/text/international/hindi-spacing.html [ Failure Failure Failure Timeout ]
crbug.com/521730 [ Win10 ] fast/text/international/hindi-whitespace.html [ Failure Failure Failure Timeout ]
#crbug.com/521730 [ Win10 ] fast/text/international/text-combine-image-test.html [ Failure ]
#crbug.com/521730 [ Win10 ] fast/text/international/vertical-text-glyph-test.html [ Failure ]
crbug.com/521730 [ Win10 ] fast/text/justify-ideograph-leading-expansion.html [ Failure Timeout Failure Timeout ]
crbug.com/521730 [ Win10 ] fast/text/unicode-fallback-font.html [ Failure Timeout Failure Timeout ]
crbug.com/521730 [ Win10 ] fast/writing-mode/Kusa-Makura-background-canvas.html [ Failure Failure Timeout Failure ]
crbug.com/521730 [ Win10 ] fast/writing-mode/border-vertical-lr.html [ Failure Timeout Failure Failure ]
crbug.com/521730 [ Win10 ] fast/writing-mode/japanese-ruby-vertical-lr.html [ Failure Failure Timeout Failure ]
......@@ -1356,7 +1390,6 @@ crbug.com/521764 [ Win10 ] editing/selection/vertical-rl-ltr-extend-line-backwar
crbug.com/521764 [ Win10 ] editing/selection/vertical-rl-ltr-extend-line-backward-wrap.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] editing/selection/vertical-rl-ltr-extend-line-forward-br.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] editing/selection/vertical-rl-ltr-extend-line-forward-wrap.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/block/positioning/047.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/canvas/canvas-lose-restore-googol-size.html [ Failure Pass ]
crbug.com/521764 [ Win10 ] fast/canvas/canvas-lose-restore-max-int-size.html [ Failure Pass ]
crbug.com/521764 [ Win10 ] fast/canvas/webgl/texture-color-profile.html [ Failure Pass ]
......@@ -1413,11 +1446,8 @@ crbug.com/521764 [ Win10 ] fast/text/international/khmer-selection.html [ Failur
crbug.com/521764 [ Win10 ] fast/text/international/lang-glyph-cache-separation.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/pop-up-button-text-alignment-and-direction.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/rtl-white-space-pre-wrap.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/text-combine-image-test.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/text-spliced-font.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/vertical-text-glyph-test.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/international/wrap-CJK-001.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/justify-ideograph-vertical.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/midword-break-hang.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/selection-multiple-runs.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/stroking.html [ ImageOnlyFailure Timeout ]
......@@ -1425,7 +1455,6 @@ crbug.com/521764 [ Win10 ] fast/text/sub-pixel/text-scaling-pixel.html [ ImageOn
crbug.com/521764 [ Win10 ] fast/text/trailing-white-space.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/text/wide-zero-width-space.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/tokenizer/001.html [ Pass Timeout ]
crbug.com/521764 [ Win10 ] fast/writing-mode/english-lr-text.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/writing-mode/fallback-orientation.html [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] fast/writing-mode/japanese-lr-selection.html [ Failure Timeout ]
crbug.com/521764 [ Win10 ] fast/writing-mode/japanese-lr-text.html [ Failure Timeout ]
......@@ -1511,7 +1540,6 @@ crbug.com/521764 [ Win10 ] svg/custom/focus-ring-text.svg [ ImageOnlyFailure Tim
crbug.com/521764 [ Win10 ] svg/custom/textPath-change-id2-pattern.svg [ ImageOnlyFailure Pass Timeout ]
crbug.com/521764 [ Win10 ] svg/text/bidi-text-query.svg [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] svg/text/bidi-tspans.svg [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] svg/text/non-bmp-positioning-lists.svg [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] svg/text/obb-paintserver.html [ ImageOnlyFailure Pass Timeout ]
crbug.com/521764 [ Win10 ] svg/text/text-selection-fonts-01-t.svg [ ImageOnlyFailure Timeout ]
crbug.com/521764 [ Win10 ] svg/text/text-selection-intro-05-t.svg [ Failure Timeout ]
......
......@@ -297,8 +297,10 @@ UScriptCode getScript(int ucs4)
const UChar* getFontBasedOnUnicodeBlock(int ucs4, SkFontMgr* fontManager)
{
static const UChar* emojiFonts[] = {L"Segoe UI Emoji", L"Segoe UI Symbol"};
static const UChar* mathFonts[] = {L"Cambria Math", L"Segoe UI Symbol", L"Code2000"};
static const UChar* symbolFont = L"Segoe UI Symbol";
static const UChar* emojiFont = 0;
static const UChar* mathFont = 0;
static bool initialized = false;
if (!initialized) {
for (size_t i = 0; i < WTF_ARRAY_LENGTH(emojiFonts); i++) {
......@@ -307,23 +309,43 @@ const UChar* getFontBasedOnUnicodeBlock(int ucs4, SkFontMgr* fontManager)
break;
}
}
for (size_t i = 0; i < WTF_ARRAY_LENGTH(mathFonts); i++) {
if (isFontPresent(mathFonts[i], fontManager)) {
mathFont = mathFonts[i];
break;
}
}
initialized = true;
}
UBlockCode block = ublock_getCode(ucs4);
switch (block) {
case UBLOCK_EMOTICONS:
case UBLOCK_ENCLOSED_ALPHANUMERIC_SUPPLEMENT:
return emojiFont;
case UBLOCK_PLAYING_CARDS:
case UBLOCK_MISCELLANEOUS_SYMBOLS:
case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_ARROWS:
case UBLOCK_MISCELLANEOUS_SYMBOLS_AND_PICTOGRAPHS:
case UBLOCK_MISCELLANEOUS_TECHNICAL:
case UBLOCK_TRANSPORT_AND_MAP_SYMBOLS:
case UBLOCK_ALCHEMICAL_SYMBOLS:
case UBLOCK_RUNIC:
case UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS:
case UBLOCK_DINGBATS:
case UBLOCK_GOTHIC:
return symbolFont;
case UBLOCK_ARROWS:
case UBLOCK_MATHEMATICAL_OPERATORS:
case UBLOCK_MISCELLANEOUS_TECHNICAL:
case UBLOCK_GEOMETRIC_SHAPES:
case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_A:
case UBLOCK_SUPPLEMENTAL_ARROWS_A:
case UBLOCK_SUPPLEMENTAL_ARROWS_B:
case UBLOCK_MISCELLANEOUS_MATHEMATICAL_SYMBOLS_B:
case UBLOCK_SUPPLEMENTAL_MATHEMATICAL_OPERATORS:
case UBLOCK_MATHEMATICAL_ALPHANUMERIC_SYMBOLS:
case UBLOCK_ARABIC_MATHEMATICAL_ALPHABETIC_SYMBOLS:
case UBLOCK_GEOMETRIC_SHAPES_EXTENDED:
return mathFont;
default:
return 0;
};
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment