Closed Bug 1870973 Opened 6 months ago Closed 6 months ago

New update (121.0) sometimes renders ideographic space (U+3000) oddly

Categories

(Core :: Layout: Text and Fonts, defect)

Firefox 121
defect

Tracking

()

VERIFIED FIXED
123 Branch
Tracking Status
relnote-firefox --- 121+
firefox-esr115 --- unaffected
firefox121 --- verified
firefox122 --- verified
firefox123 --- verified

People

(Reporter: lutallium, Assigned: jfkthame)

References

(Regression)

Details

(Keywords: regression)

Attachments

(4 files)

Attached file ideographic_space.html

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0

Steps to reproduce:

I was visiting the website Tenhou to play Mahjong as usual and I noticed some texts are rendered incorrectly. They're relevant to the special character ideographic space (U+3000), which is no longer handled correctly since the new update 121.0. Sometimes, if a string begins or ends with U+3000, it will get wrapped unexpectedly, which never happened before the update, and never happens in other browsers. Also in the DevTool inspector it behaves in this way.

The bug never occured before the update, as I tested on the old version 120.0.1. Therefore I assume the bug must be relevant to the newest update 121.0.

TO REPRODUCE: Open the attached minimal example ideographic_space.html with Fire Fox, which includes a button with text " test xxx yyy zzz". The character at the beginning is an ideographic space (U+3000).

Actual results:

The button is rendered as

[ test xxx yyy
zzz ]

  • with a strange line break.

https://ibb.co/1JS28Kj

Expected results:

The button is expected to be rendered as

[ test xxx yyy zzz]

  • without any line break.

The Bugbug bot thinks this bug should belong to the 'Toolkit::Application Update' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Application Update
Product: Firefox → Toolkit
Component: Application Update → Untriaged
Product: Toolkit → Firefox

Hello reporter, if possible, can you please try to narrow down a regression range with the mozregression tool? It won't have any impact on your regular Firefox profile. Thanks!
https://mozilla.github.io/mozregression/

Component: Untriaged → Graphics: Text
Flags: needinfo?(lutallium)
Product: Firefox → Core

Nevermind, the attached testcase reproduces for me too.
INFO: Last good revision: 0d91ef074019779822e1fa8c7887ba528cafe6af
INFO: First bad revision: 3ff9d913d60ad145b0ba96f2bb2a686902421f99
INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=0d91ef074019779822e1fa8c7887ba528cafe6af&tochange=3ff9d913d60ad145b0ba96f2bb2a686902421f99

Setting this as a regression from bug 1862249, but it looks like it might have been an intentional behavior change?

Flags: needinfo?(lutallium) → needinfo?(jfkthame)
Keywords: regression
Regressed by: 1862249
Component: Graphics: Text → Layout: Text and Fonts

(In reply to Ryan VanderMeulen [:RyanVM] from comment #3)

Nevermind, the attached testcase reproduces for me too.
INFO: Last good revision: 0d91ef074019779822e1fa8c7887ba528cafe6af
INFO: First bad revision: 3ff9d913d60ad145b0ba96f2bb2a686902421f99
INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=0d91ef074019779822e1fa8c7887ba528cafe6af&tochange=3ff9d913d60ad145b0ba96f2bb2a686902421f99

Setting this as a regression from bug 1862249, but it looks like it might have been an intentional behavior change?

No, it's true that bug 1862249 was related to ideographic space, but I don't think this was an expected result. I'll try to look into it, though if we don't find a quick fix we might want to consider backing out that patch.

Leaving ni? flag until I have a chance to look more closely...

This reverts the change to make ideographic space trimmable, because of unintended impact on line
breaking and measurement in other cases. We'll need a more carefully targeted fix for the original
issue in bug 1862249, as well as better test coverage when landing a new patch there.

(Given that we've had multiple regression reports about this, I think we should uplift the backout
to 122. We could even consider it for a 121.x dot-release if one happens, as it's just reverting
to longstanding behavior here.)

Assignee: nobody → jfkthame
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Flags: needinfo?(jfkthame)

Set release status flags based on info from the regressing bug 1862249

Pushed by jkew@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/877aa1219c43
Back out changeset 3ff9d913d60a (bug 1862249) due to line-wrapping regressions. r=layout-reviewers,emilio
Status: ASSIGNED → RESOLVED
Closed: 6 months ago
Resolution: --- → FIXED
Target Milestone: --- → 123 Branch

This reverts the change to make ideographic space trimmable, because of unintended impact on line
breaking and measurement in other cases. We'll need a more carefully targeted fix for the original
issue in bug 1862249, as well as better test coverage when landing a new patch there.

(Given that we've had multiple regression reports about this, I think we should uplift the backout
to 122. We could even consider it for a 121.x dot-release if one happens, as it's just reverting
to longstanding behavior here.)

Original Revision: https://phabricator.services.mozilla.com/D197150

Attachment #9370048 - Flags: approval-mozilla-beta?

Uplift Approval Request

  • Explanation of risk level: clean backout of the regressing patch
  • Needs manual QE test: no
  • Fix verified in Nightly: no
  • User impact if declined: unexpected line-wrap in some CJK contexts
  • Is Android affected?: yes
  • String changes made/needed: none
  • Steps to reproduce for manual QE testing: n/a
  • Code covered by automated testing: yes
  • Risk associated with taking this patch: minimal
Attachment #9370048 - Flags: approval-mozilla-beta? → approval-mozilla-beta+

Hi Jonathan, please nominate this for Release approval as well for next week's planned dot release.

Flags: needinfo?(jfkthame)

This reverts the change to make ideographic space trimmable, because of unintended impact on line
breaking and measurement in other cases. We'll need a more carefully targeted fix for the original
issue in bug 1862249, as well as better test coverage when landing a new patch there.

(Given that we've had multiple regression reports about this, I think we should uplift the backout
to 122. We could even consider it for a 121.x dot-release if one happens, as it's just reverting
to longstanding behavior here.)

Original Revision: https://phabricator.services.mozilla.com/D197150

Attachment #9370794 - Flags: approval-mozilla-release?

Uplift Approval Request

  • Is Android affected?: yes
  • Needs manual QE test: no
  • String changes made/needed: none
  • User impact if declined: unexpected line-wrap in some CJK contexts
  • Steps to reproduce for manual QE testing: n/a
  • Code covered by automated testing: yes
  • Fix verified in Nightly: no
  • Risk associated with taking this patch: minimal
  • Explanation of risk level: clean backout of the regressing patch
Attachment #9370794 - Flags: approval-mozilla-release? → approval-mozilla-release+
Duplicate of this bug: 1871777

Added to the 121.0.1 relnotes:

Fixed unexpected line wrapping in some CJK contexts caused by changes in ideographic space handling

Flags: needinfo?(jfkthame)

Reproduced the issue with Firefox 121.0 by using the attached test case from comment 0 on Windows 10x64. A line break is displayed on the button from the test case.
The issue is verified fixed with Firefox 123.0a1 (2024-01-08), 122.0b7 and Firefox 121.0.1 on Windows 10x64, macOS 12 and Ubuntu 22. No line break is displayed on the button from the test case.

Status: RESOLVED → VERIFIED
Has STR: --- → yes
Duplicate of this bug: 1871364
Duplicate of this bug: 1871526
Duplicate of this bug: 1873625
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: