Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Gecko Bug 1940947] Exclude Korean currency symbol (WON SIGN) from being treated like Chinese/Japanese characters during CSS segment break transformation. #50315

Merged
merged 1 commit into from
Feb 1, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Segment break transformation reference</title>

<p>Each currency amount should have space before and after; there should be no other spaces.</p>
<p lang="ja" style="font-family: sans-serif; word-spacing: 1em;">
価格は $1.00 です。価格は ¥150 です。価格は €1.00 です。価格は ₩1500 です。
</p>
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<!DOCTYPE html>
<meta charset="utf-8">
<title>Segment break transformation: currency symbols</title>
<link rel="author" href="mailto:[email protected]">
<link rel="match" href="segment-break-transformation-currency-001-ref.html">
<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1940947">
<meta name="flags" content="should" />

<p>Each currency amount should have space before and after; there should be no other spaces.</p>
<p lang="ja" style="font-family: sans-serif; word-spacing: 1em;">
価格は
$1.00
です。
価格は
¥150
です。
価格は
€1.00
です。
価格は
₩1500
です。
</p>
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<html lang="en" >
<head>
<meta charset="utf-8">
<title>Won and halfwidth characters around line break</title>
<title>Halfwidth characters around line break</title>
<link rel='author' title='Richard Ishida' href='mailto:[email protected]'>
<link rel='help' href='https://drafts.csswg.org/css-text-3/#line-break-transform'>
<meta name="assert" content="If the East Asian Width property of both the character before and after the line feed is F or H and neither side is Hangul, then the segment break is removed.">
Expand All @@ -16,77 +16,77 @@
</head>
<body>
<div id='log'></div>
<div id='test1' class="test"><span>
<div id='test1' class="test"><span>ノコリ
24</span></div>
<div id='test2' class="test"><span>&#x20;&#x20;&#x20;
<div id='test2' class="test"><span>ノコリ&#x20;&#x20;&#x20;
24</span></div>
<div id='test3' class="test"><span>
<div id='test3' class="test"><span>ノコリ
&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;24</span></div>
<div id='test4' class="test"><span>&#x20;&#x20;&#x20;
<div id='test4' class="test"><span>ノコリ&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;&#x20;&#x20;24</span></div>
<div id='test5' class="test"><span>
<div id='test5' class="test"><span>ノコリ


24</span></div>
<div id='test6' class="test"><span>&#x20;&#x20;
<div id='test6' class="test"><span>ノコリ&#x20;&#x20;
&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;24</span></div>
<div id="ref1" class="ref"><span>₩24</span></div>
<div id="ref1" class="ref"><span>ノコリ24</span></div>
<div id='test7' class="test"><span>24
</span></div>
</span></div>
<div id='test8' class="test"><span>24&#x20;&#x20;&#x20;
</span></div>
</span></div>
<div id='test9' class="test"><span>24
&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;</span></div>
&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;&#x20;</span></div>
<div id='test10' class="test"><span>24&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;&#x20;&#x20;</span></div>
&#x20;&#x20;&#x20;&#x20;&#x20;</span></div>
<div id='test11' class="test"><span>24


</span></div>
</span></div>
<div id='test12' class="test"><span>24&#x20;&#x20;
&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;
&#x20;&#x20;&#x20;</span></div>
<div id="ref2" class="ref"><span>24₩</span></div>
&#x20;&#x20;&#x20;</span></div>
<div id="ref2" class="ref"><span>24コ</span></div>
<script>
test(function() {
assert_equals(document.getElementById('test1').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "linebreak only ₩24");
}, "linebreak only ノコリ24");
test(function() {
assert_equals(document.getElementById('test2').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "spaces linebreak ₩24");
}, "spaces linebreak ノコリ24");
test(function() {
assert_equals(document.getElementById('test3').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "linebreak spaces ₩24");
}, "linebreak spaces ノコリ24");
test(function() {
assert_equals(document.getElementById('test4').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "spaces linebreak spaces ₩24");
}, "spaces linebreak spaces ノコリ24");
test(function() {
assert_equals(document.getElementById('test5').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "multiple linebreaks ₩24");
}, "multiple linebreaks ノコリ24");
test(function() {
assert_equals(document.getElementById('test6').firstChild.offsetWidth, document.getElementById('ref1').firstChild.offsetWidth);
}, "multiple linebreaks + spaces ₩24");
}, "multiple linebreaks + spaces ノコリ24");
test(function() {
assert_equals(document.getElementById('test7').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "linebreak only 24₩");
}, "linebreak only 24コ");
test(function() {
assert_equals(document.getElementById('test8').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "spaces linebreak 24₩");
}, "spaces linebreak 24コ");
test(function() {
assert_equals(document.getElementById('test9').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "linebreak spaces 24₩");
}, "linebreak spaces 24コ");
test(function() {
assert_equals(document.getElementById('test10').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "spaces linebreak spaces 24₩");
}, "spaces linebreak spaces 24コ");
test(function() {
assert_equals(document.getElementById('test11').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "multiple linebreaks 24₩");
}, "multiple linebreaks 24コ");
test(function() {
assert_equals(document.getElementById('test12').firstChild.offsetWidth, document.getElementById('ref2').firstChild.offsetWidth);
}, "multiple linebreaks + spaces 24₩");
}, "multiple linebreaks + spaces 24コ");
</script>
<!-- Notes:
The assertion will fail if space is produced for any line in the test paragraph.
Expand Down