diff options
Diffstat (limited to 'testing/web-platform/tests/css/css-text/boundary-shaping')
21 files changed, 522 insertions, 0 deletions
diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-001.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-001.html new file mode 100644 index 0000000000..d6c8fa2b23 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-001.html @@ -0,0 +1,28 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must not be broken across inline box boundaries when there is no change in formatting</title> +<link rel=match href="reference/boundary-shaping-001.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + /* initial values for these properties should not interrupt shaping */ + vertical-align: initial; + padding: initial; + margin: initial; + border: initial; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-002.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-002.html new file mode 100644 index 0000000000..c41f6497ce --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-002.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when 'vertical-align' is not 'baseline'</title> +<link rel=match href="reference/boundary-shaping-002.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + vertical-align: 0; /* distinct from 'baseline', should break shaping */ +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-003.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-003.html new file mode 100644 index 0000000000..e5f870e5b3 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-003.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when padding is non-zero</title> +<link rel=match href="reference/boundary-shaping-003.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + padding-left: 10px; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-004.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-004.html new file mode 100644 index 0000000000..8f3dd06714 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-004.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when margin is non-zero</title> +<link rel=match href="reference/boundary-shaping-004.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + margin-right: 10px; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-005.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-005.html new file mode 100644 index 0000000000..e5f3aa0de4 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-005.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when border is non-zero</title> +<link rel=match href="reference/boundary-shaping-005.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + border-right: 10px solid transparent; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-006.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-006.html new file mode 100644 index 0000000000..d3045fa94d --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-006.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when 'vertical-align' is not 'baseline'</title> +<link rel=match href="reference/boundary-shaping-006.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + vertical-align: super; +} +</style> +</head> +<body> +of<span><span><span class=a><span><span>f</span></span></span></span></span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-007.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-007.html new file mode 100644 index 0000000000..d1360c2fe2 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-007.html @@ -0,0 +1,27 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when padding or margin is non-zero</title> +<link rel=match href="reference/boundary-shaping-007.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + padding-left: 10px; +} +.b { + margin-right: 10px; +} +</style> +</head> +<body> +of<span><span class=a><span><span class=b><span>f</span></span></span></span></span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-008.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-008.html new file mode 100644 index 0000000000..cbb78328bf --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-008.html @@ -0,0 +1,24 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries at a bidi isolation boundary</title> +<link rel=match href="reference/boundary-shaping-008.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +@font-face { + font-family: test; + src: url(resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + unicode-bidi: isolate; /* bidi isolation boundaries should break shaping */ +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-009.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-009.html new file mode 100644 index 0000000000..f004273dd3 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-009.html @@ -0,0 +1,57 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must be broken across inline box boundaries when padding or margin is non-zero</title> +<link rel=match href="reference/boundary-shaping-009.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +body { + font: 36px sans-serif; +} +div { + text-align: center; +} +.a { + padding-right: 10px; +} +.b { + margin-left: 10px; +} +.c { + color: red; + padding-left: 10px; +} +.d { + color: red; + margin-right: 10px; +} +</style> +</head> +<body> +<div dir=ltr> +السلام<span class=a>عليكم</span> +</div> +<div dir=ltr> +<span class=b>السلام</span>عليكم +</div> +<div dir=rtl> +السلام<span class=a>عليكم</span> +</div> +<div dir=rtl> +<span class=b>السلام</span>عليكم +</div> +<div dir=ltr> +السلام<span class=c>عليكم</span> +</div> +<div dir=ltr> +<span class=d>السلام</span>عليكم +</div> +<div dir=rtl> +السلام<span class=c>عليكم</span> +</div> +<div dir=rtl> +<span class=d>السلام</span>عليكم +</div> +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-010.html b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-010.html new file mode 100644 index 0000000000..514a9aa944 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/boundary-shaping-010.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<title>Text shaping must not be broken across inline box boundaries when there is no change in formatting</title> +<link rel=match href="reference/boundary-shaping-010.ref.html"> +<link rel=help href="https://drafts.csswg.org/css-text/#boundary-shaping"> +<style> +body { + font: 36px sans-serif; +} +div { + text-align: center; +} +</style> +</head> +<body> +<div dir=rtl> +ال<span>سل</span>ام +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-001.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-001.ref.html new file mode 100644 index 0000000000..23ae8824a8 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-001.ref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +</style> +</head> +<body> +office +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-002.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-002.ref.html new file mode 100644 index 0000000000..0541daef6c --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-002.ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + display: inline-block; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-003.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-003.ref.html new file mode 100644 index 0000000000..b122551cb7 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-003.ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + display: inline-block; + width: 10px; +} +</style> +</head> +<body> +of<span class=a> </span>fice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-004.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-004.ref.html new file mode 100644 index 0000000000..b0da33d954 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-004.ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + display: inline-block; + width: 10px; +} +</style> +</head> +<body> +off<span class=a> </span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-005.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-005.ref.html new file mode 100644 index 0000000000..b0da33d954 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-005.ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + display: inline-block; + width: 10px; +} +</style> +</head> +<body> +off<span class=a> </span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-006.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-006.ref.html new file mode 100644 index 0000000000..6b647bab31 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-006.ref.html @@ -0,0 +1,22 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + vertical-align: super; + display: inline-block; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-007.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-007.ref.html new file mode 100644 index 0000000000..6473384994 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-007.ref.html @@ -0,0 +1,23 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + padding-left: 10px; + margin-right: 10px; + display: inline-block; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-008.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-008.ref.html new file mode 100644 index 0000000000..0541daef6c --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-008.ref.html @@ -0,0 +1,21 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +@font-face { + font-family: test; + src: url(../resources/LinLibertine_Re-4.7.5.woff); +} +body { + font: 36px test; /* use a font that includes ligatures for "fi" etc */ +} +.a { + display: inline-block; +} +</style> +</head> +<body> +of<span class=a>f</span>ice +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-009.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-009.ref.html new file mode 100644 index 0000000000..7a0fe835c1 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-009.ref.html @@ -0,0 +1,56 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +body { + font: 36px sans-serif; +} +div { + text-align: center; +} +.a { + display: inline-block; + width: 10px; +} +.c1 { + padding-left: 10px; +} +.c { + color: red; +} +.d1 { + margin-right: 10px; +} +.d { + color: red; +} +</style> +</head> +<body> +<div dir=ltr> +السلام<span class=a> </span>عليكم +</div> +<div dir=ltr> +السلام<span class=a> </span>عليكم +</div> +<div dir=rtl> +السلام<span class=a> </span>عليكم +</div> +<div dir=rtl> +السلام<span class=a> </span>عليكم +</div> +<div dir=ltr> +<span class=c1>السلام<span class=c>عليكم</span></span> +</div> +<div dir=ltr> +<span class=d1><span class=d>السلام</span>عليكم</span> +</div> +<div dir=rtl> +<span class=c1>السلام<span class=c>عليكم</span></span> +</div> +<div dir=rtl> +<span class=d1><span class=d>السلام</span>عليكم</span> +</div> +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-010.ref.html b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-010.ref.html new file mode 100644 index 0000000000..8a043267a0 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/reference/boundary-shaping-010.ref.html @@ -0,0 +1,18 @@ +<!DOCTYPE html> +<html> +<head> +<meta charset=utf-8> +<style> +body { + font: 36px sans-serif; +} +div { + text-align: center; +} +</style> +</head> +<body> +<div dir=rtl> +السلام +</body> +</html> diff --git a/testing/web-platform/tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff b/testing/web-platform/tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff Binary files differnew file mode 100644 index 0000000000..c953a546f0 --- /dev/null +++ b/testing/web-platform/tests/css/css-text/boundary-shaping/resources/LinLibertine_Re-4.7.5.woff |