# Tests for opentype font feature control (bug 511339) # # These rely on the Linux Libertine font (loaded via @font-face) # to ensure that features are present. # check that Turkish language causes a change in rendering (no fi ligature) # (also works via Pango) != font-features-turkish.html font-features-ref.html # check that disabling ligatures causes a change != font-features-noliga.html font-features-ref.html # check that enabling optional ligatures causes a change != font-features-hlig.html font-features-ref.html # compare Turkish rendering with reference using ZWNJ to break the ligature == font-features-turkish.html font-features-turkish-ref.html # compare Turkish rendering with explicitly disabled ligatures == font-features-turkish.html font-features-noliga.html # The following should pass even if feature support isn't available, # because both testcase and reference will have the default rendering, # though they're not really meaningful unless the tests above passed already. # compare feature specified within @font-face to same feature in style rule == font-features-hlig-2.html font-features-hlig.html == font-features-hlig-4.html font-features-hlig.html != font-features-hlig-5.html font-features-hlig.html == font-features-ligatures-none.html font-features-noliga.html # check that feature in style rule overrides @font-face == font-features-hlig-3.html font-features-noliga.html # compare font-language-override rendering to lang-tagged rendering == font-features-turkish-override-1.html font-features-turkish.html == font-features-turkish-override-2.html font-features-turkish.html # check use of font-language-override to override explicit lang tag == font-features-turkish-override-3.html font-features-ref.html == font-features-turkish-override-4.html font-features-ref.html == font-features-turkish-override-5.html font-features-turkish.html # check that last value wins if a feature is repeated == font-features-order-1.html font-features-ref.html == font-features-order-2.html font-features-noliga.html # check priority of feature settings vs. font-variant subproperty == font-features-order-3.html font-features-noliga.html == font-features-order-4.html font-features-noliga.html == font-features-order-5.html font-features-hlig.html # check priority involving feature settings and font-variant-alternates == alternates-order.html alternates-order-ref.html # check that font-specific values line up with @font-face feature settings skip-if(winWidget) == annotations.html annotations-ref.html # bug 1447257 # font-variant subproperties # test for specific features being on and others off, based on prop values # (debug problems with font-variant-debug.html which displays all props) == font-variant-alternates.html font-variant-alternates-ref.html == font-variant-caps.html font-variant-caps-ref.html == font-variant-east-asian.html font-variant-east-asian-ref.html == font-variant-ligatures.html font-variant-ligatures-ref.html == font-variant-numeric.html font-variant-numeric-ref.html == font-variant-position.html font-variant-position-ref.html # font-kerning != font-kerning-normal.html font-kerning-none.html != font-kerning-auto.html font-kerning-none.html == font-kerning-auto.html font-kerning-normal.html == font-kerning-normal.html font-kerning-kern.html == font-kerning-none.html font-kerning-nokern.html == font-kerning-1.html font-kerning-none.html == font-kerning-2.html font-kerning-normal.html == font-kerning-3.html font-kerning-none.html != font-kerning-table-none.html font-kerning-table-normal.html # sanity check for kerning - with no spaces, kerning should occur == kerning-sanity-check-kern.html kerning-sanity-check-default.html != kerning-sanity-check-nokern.html kerning-sanity-check-default.html # OpenType features should work across inter-word spaces random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == font-features-across-space-1.html font-features-across-space-1-ref.html # bug 1392106 == spacelookups.html spacelookups-ref.html # tests whether word cache is in use by testing for ignored space kerns == spacelookups-wordcache.html spacelookups-wordcache-ref.html # requires Japanese font with feature support, WinXP lacks one random-if(!winWidget&&!cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == fwid-spaces.html fwid-spaces-ref.html # Bug 1392106 # Arial/Times New Roman on Win7+/OSX 10.6+ have kerning pairs that include spaces random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != kerning-spaces-arial-nokern.html kerning-spaces-arial-default.html # Bug 1392106 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == kerning-spaces-arial-kern.html kerning-spaces-arial-default.html # Bug 1392106 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) != kerning-spaces-tnr-nokern.html kerning-spaces-tnr-default.html # Bug 1392106 random-if(!winWidget&&!cocoaWidget) fails-if(winWidget||cocoaWidget) random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) == kerning-spaces-tnr-kern.html kerning-spaces-tnr-default.html # Bug 1392106 # font-variant-caps fallback # -- sanity check - none of these should look like the default rendering != caps-fallback-smallcaps1.html caps-fallback-default.html != caps-fallback-smallcaps2.html caps-fallback-default.html != caps-fallback-petitecaps.html caps-fallback-default.html != caps-fallback-allsmallcaps.html caps-fallback-default.html != caps-fallback-allpetitecaps.html caps-fallback-default.html # -- normal or fallback rendering == caps-fallback-smallcaps1.html caps-fallback-smcp.html == caps-fallback-smallcaps2.html caps-fallback-smcp.html == caps-fallback-petitecaps.html caps-fallback-smcp.html == caps-fallback-allsmallcaps.html caps-fallback-smcpc2sc.html == caps-fallback-allpetitecaps.html caps-fallback-smcpc2sc.html # font-variant-position fallback random-if(cocoaWidget||Android) == subsuper-fallback.html subsuper-fallback-ref.html # bug 1139269 != subsuper-fallback.html subsuper-fallback-notref1.html != subsuper-fallback.html subsuper-fallback-notref2.html != subsuper-fallback.html subsuper-fallback-notref3.html != subsuper-fallback-omega.html subsuper-fallback-omega-notref.html == subsuper-nofallback.html subsuper-nofallback-ref1.html random-if(cocoaWidget) == subsuper-nofallback.html subsuper-nofallback-ref2.html # bug 1139269 != subsuper-nofallback.html subsuper-nofallback-notref.html == subsuper-fallback-size.html subsuper-fallback-size-ref.html # GPOS spacing adjustments in vertical mode -- subsetted opentype/cff test font fails to load on Win7 random-if(/^Windows\x20NT\x206\.1/.test(http.oscpu)) fuzzy-if(winWidget&&webrender,0-1,0-70) == 1376231-vertical-gpos-adjustments.html 1376231-vertical-gpos-adjustments-ref.html