1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
|
# Font-matching reftests may fail intermittently/transiently due to asynch fallback,
# so we disable the async mechanism for this directory.
defaults pref(gfx.font_rendering.fallback.async,false)
== CSS21-t1502-no-inherited-font-family.xhtml CSS21-t1502-no-inherited-font-family-ref.xhtml
# tests for bug 1394311 (case-insensitive lang tag processing)
# (First attempt is random-if(windows 7), due to intermittent failure with a
# single missing character - see bug 1451723 & more generally bug 1392106.)
pref(font.default.zh-CN,"serif") pref(font.default.zh-TW,"serif") pref(font.default.ja,"serif") pref(font.default.ko,"serif") == 1394311.htm 1394311-ref.htm
pref(font.default.zh-CN,"sans-serif") pref(font.default.zh-TW,"sans-serif") pref(font.default.ja,"sans-serif") pref(font.default.ko,"sans-serif") == 1394311.htm 1394311-ref.htm
# tests for bug 1367860 (correct default generic font based on language)
== 1367860-1.htm 1367860-ref.htm
== 1367860-2.htm 1367860-ref.htm
== 1367860-3.htm 1367860-ref.htm
# Test for bug 1458158: Arabic text in Arial weight 900 should fall back to Bold rather than Regular.
# Limited to Windows because this is specific to the fonts shipped on Windows by default.
skip-if(!winWidget) == 1458158-1.html 1458158-1-ref.html
# basic tests for bug 538730
!= synthetic-bold-1.html synthetic-bold-1-ref.html
!= synthetic-bold-2.html synthetic-bold-2-ref.html
# synthetic bold/italic tests
!= defaultfont-bold.html defaultfont.html
!= defaultfont-italic.html defaultfont.html
!= defaultfont-oblique.html defaultfont.html
!= defaultfont-bolditalic.html defaultfont.html
!= defaultfont-bolditalic.html defaultfont-bold.html
!= defaultjapanese-bold.html defaultjapanese.html
!= defaultjapanese-italic.html defaultjapanese.html
!= defaultjapanese-oblique.html defaultjapanese.html
!= defaultjapanese-bolditalic.html defaultjapanese.html
!= defaultjapanese-bolditalic.html defaultjapanese-bold.html
random-if(cocoaWidget) != impact-bold.html impact.html # bug 539418
!= impact-italic.html impact.html
!= impact-oblique.html impact.html
!= impact-bolditalic.html impact.html
!= impact-bolditalic.html impact-bold.html
!= arialunicode-bold.html arialunicode.html
!= arialunicode-italic.html arialunicode.html
!= arialunicode-oblique.html arialunicode.html
!= arialunicode-bolditalic.html arialunicode.html
!= arialunicode-bolditalic.html arialunicode-bold.html
!= lucidaconsole-bold.html lucidaconsole.html
!= lucidaconsole-italic.html lucidaconsole.html
!= lucidaconsole-oblique.html lucidaconsole.html
!= lucidaconsole-bolditalic.html lucidaconsole.html
!= lucidaconsole-bolditalic.html lucidaconsole-bold.html
# checking that we don't match fullnames, psnames (see bug 538103)
== arial-variations-1.html arial-variations-1-ref.html
== arial-variations-2.html arial-variations-2-ref.html
== arial-variations-3.html arial-variations-3-ref.html
== arial-variations-4.html arial-variations-4-ref.html
== arial-variations-5.html arial-variations-5-ref.html
== arial-variations-6.html arial-variations-6-ref.html
# localized font family names should always match just as English names do
== localized-family-names-001.html localized-family-names-001-ref.html # Bug 1392106
== localized-family-names-002.html localized-family-names-002-ref.html
== localized-family-names-003.html localized-family-names-003-ref.html # Bug 1392106
== localized-family-names-004.html localized-family-names-004-ref.html
# family names with escaped spaces shouldn't match the names without the spaces
fails-if(gtkWidget) == familyname-escapedidents.html familyname-escapedidents-ref.html # bug 1309425, bug 1328771
# weight mapping tests
== normalmedium.html normalmedium-ref.html
!= normalmedium.html normalmedium-notref.html
# Linux fails due to bug 604815
== weightmapping-12.html weightmapping-12-ref.html
== weightmapping-25.html weightmapping-25-ref.html
== weightmapping-45.html weightmapping-45-ref.html
== weightmapping-458.html weightmapping-458-ref.html
== weightmapping-478.html weightmapping-478-ref.html
== weightmapping-7.html weightmapping-7-ref.html
== weightmapping-12579.html weightmapping-12579-ref.html
== stretchmapping-all.html stretchmapping-all-ref.html
== stretchmapping-reverse.html stretchmapping-reverse-ref.html
fuzzy-if(Android,0-4,0-8) == stretchmapping-35.html stretchmapping-35-ref.html
== stretchmapping-137.html stretchmapping-137-ref.html
# test for font-stretch using @font-face
== font-stretch-1.html font-stretch-1-ref.html
== font-shorthand-stretch-1.html font-stretch-1-ref.html
# bug 724231 - applying synthetic styles to a single @font-face font
# should apply artificial obliquing, not switch to a true styled face
fails-if(geckoview) != synthetic-style-1.html synthetic-style-1-notref.html # Bug 1558513 for GV
fails-if(geckoview) != synthetic-style-2.html synthetic-style-2-notref.html # Bug 1558513 for GV
# Bug 765906 - synthetic bold should be used if necessary together with system fallback.
# **NOTE** we skip these on Linux because of bug 769659.
# test 1 uses Cherokee; expected to pass on OS X and Win7
random-if(!cocoaWidget) skip-if(gtkWidget) != bold-system-fallback-1.html bold-system-fallback-1-notref.html
# test 2 uses Chess symbols; expected to pass on Android
random-if(!Android) skip-if(gtkWidget) != bold-system-fallback-2.html bold-system-fallback-2-notref.html
# Bug 769475 - applying 'italic' to Arabic text in Arial should NOT change family or metrics.
# Expected to pass on MacOSX and Windows; other platforms unknown, depending on font availability.
random-if(!(cocoaWidget||winWidget)) == arial-arabic.html arial-arabic-ref.html
!= syntheticbold-rotated.html syntheticbold-rotated-ref.html
== font-synthesis-1.html font-synthesis-1-ref.html
== font-synthesis-2.html font-synthesis-2-ref.html
# Bug 1060791 - support for format 10 cmap in Apple Symbols;
# relevant fonts not present on other platforms.
skip-if(!cocoaWidget) != apple-symbols-1.html apple-symbols-1-notref.html
# distinguish between italic and oblique
== simple-oblique.html simple-oblique-ref.html
== italic-oblique-1.html italic-oblique-ref.html
== italic-oblique-2.html italic-oblique-ref.html
== italic-oblique-3.html italic-oblique-ref.html
== italic-oblique-4.html italic-oblique-ref.html
== italic-oblique-5.html italic-oblique-ref.html
== italic-oblique-6.html italic-oblique-ref.html
== italic-oblique-7.html italic-oblique-ref.html
== italic-oblique-8.html italic-oblique-ref.html
== italic-oblique-9.html italic-oblique-ref.html
!= italic-oblique-kinnari.html italic-oblique-kinnari-ref.html
# GTK and Windows 7 don't have full emoji and symbol font, so emoji-fallback-2
# don't work well.
== emoji-fallback-1.html emoji-fallback-1-ref.html
skip-if(gtkWidget) == emoji-fallback-2.html emoji-fallback-2-ref.html
== emoji-fallback-3.html emoji-fallback-3-ref.html
!= emoji-keycap.html emoji-keycap-notref.html
# Dependent on Windows emoji font names, so not expected to be meaningful on other platforms:
skip-if(!winWidget) != emoji-keycap-2.html emoji-keycap-2-notref.html
== emoji-skintone.html emoji-skintone-ref.html
# Random on Android because font availability varies depending on the version/device.
random-if(Android) != emoji-subregion-flag.html emoji-subregion-flag-notref.html
# system font generic per-language tests, only works under OSX currently
# Bug 1212731 - initial implementation caused startup regression and
# regression with full-width digits display in UI elements. Disable
# tests until these problems are corrected.
# random-if(!OSX) == system-generic-fallback-1.html system-generic-fallback-1-ref.html
# random-if(!OSX) == system-generic-fallback-2.html system-generic-fallback-2-ref.html
# random-if(!OSX) == system-generic-fallback-3.html system-generic-fallback-3-ref.html
# random-if(!OSX) == system-generic-fallback-4.html system-generic-fallback-4-ref.html
# random-if(!OSX) != system-generic-fallback-ko.html system-generic-fallback-ja.html
# random-if(!OSX) != system-generic-fallback-zh-tw.html system-generic-fallback-ja.html
# random-if(!OSX) != system-generic-fallback-zh-cn.html system-generic-fallback-ja.html
# random-if(!OSX) != system-generic-fallback-zh-tw.html system-generic-fallback-zh-cn.html
# Tests for legacy font family name (GDI-model families) matching;
# these depend on specific fonts that are available as standard on macOS and Windows,
# and are not expected to pass on platforms that don't have those same fonts.
skip-if(!cocoaWidget) == legacy-family-names-1.html legacy-family-names-1-ref.html
skip-if(!winWidget) == legacy-family-names-2.html legacy-family-names-2-ref.html
== descriptor-ranges.html descriptor-ranges-ref.html
# Test that prefs font fallback respects the CSS generic from content (bug 1687426)
skip-if(Android) == fallback-respects-generic-1.html fallback-respects-generic-1-ref.html # fonts present on Android are too unpredictable for easy testing
skip-if(Android) != system-ui-fallback.html system-ui-fallback-notref.html # Roboto supports the characters in the reftest, and that's better behavior.
== system-ui-fallback-2.html system-ui-fallback-2-ref.html
# Japanese monospace font on macOS is Osaka-mono
# If Osaka is present then Osaka-mono should also be available.
skip-if(!cocoaWidget) == osaka-mono-exists.html osaka-mono-exists-ref.html
# Disabled because Osaka-Mono isn't available on automation.
# skip-if(!cocoaWidget) == osaka-mono.html osaka-mono-ref.html
# Try to use Wingdings font (assumed present on Windows and macOS)
random-if(!winWidget&&!cocoaWidget) == wingdings-1.html wingdings-1-ref.html
random-if(!winWidget&&!cocoaWidget) != wingdings-1.html wingdings-1-notref.html
== illformed-lang-tags-1.html illformed-lang-tags-1.html?ref
# Test for legacy name of Hiragino Sans, expected to work on macOS only
skip-if(!cocoaWidget) != hiragino-kaku-1.html hiragino-kaku-1-notref.html
pref(ui.font.menu,"serif") == system-font-pref.html system-font-pref.html
# These make some assumptions about the menu font that seem to hold across
# platforms, like menu being a sans font by default.
test-pref(ui.font.menu,"serif") != system-font-pref.html system-font-pref.html
pref(ui.font.menu,"serif") test-pref(ui.font.menu.italic,true) != system-font-pref.html system-font-pref.html
pref(ui.font.menu,"serif") test-pref(ui.font.menu.size,"2.0") != system-font-pref.html system-font-pref.html
pref(ui.font.menu,"serif") test-pref(ui.font.menu.weight,"800") != system-font-pref.html system-font-pref.html
# Check that localized font name works, even when visibility level is restricted.
# (Assumes Windows has Yu Gothic present.)
skip-if(!winWidget) pref(layout.css.font-visibility,1) == 1850672-1.html 1850672-1-ref.html
# Reset default prefs.
defaults
|