Closed Bug 1054627 Opened 10 years ago Closed 3 years ago

combining (semi-)voiced sound marks (U+3099, U+309A) are rendered incorrectly

Categories

(Firefox for Android Graveyard :: General, defect)

32 Branch
ARM
Android
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED INCOMPLETE

People

(Reporter: nujinuji, Unassigned)

Details

Attachments

(3 files)

User Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:34.0) Gecko/20100101 Firefox/34.0 (Beta/Release)
Build ID: 20140815030202

Steps to reproduce:

Open a page that contains U+3099 (Combining Katakana-Hiragana Voiced Sound Mark; looks like dots on top of a letter), such as 'じし' (U+3057 U+3099 U+3057).

The same problem reproduces on U+309A (Combining Katakana-Hiragana Semi-Voiced Sound Mark; looks like a circle on top of a letter).


Actual results:

Voiced sound mark is rendered on the letter after U+3099, like 'しじ' (U+3057 U+3058).


Expected results:

Voiced sound mark should be rendered on the letter before U+3099, like 'じし' (U+3058 U+3057).
OS: Windows 7 → Android
Hardware: x86 → ARM
This is most likely the same issue as bug 1024349 on FirefoxOS: the combining sound marks are not supported by the font being used, so they fall back to a different font (maybe Droid Sans Fallback?), but this results in a font-run boundary between the base character and the combining mark, and mark positioning doesn't work well across run boundaries as the separate font runs are shaped completely independently.

The "right" fix would be to ensure that the Japanese fonts being used actually support these characters, but we can't easily do that for Android devices as we don't control the fonts that are being shipped.
This is going to depend on the phone's fonts that are part of the OS. Can the stock browser or Chrome on Android render this glyph correctly? 

Quote from bug 992100 comment 6 on how to retrieve the fonts from your phone.

If you have a computer with the android sdk tools installed, you should be able to use adb for this. With your device connected, you can do something like

  mkdir fonts-from-android
  cd fonts-from-android
  adb pull /system/fonts/

to "pull" everything from the device's /system/fonts/ into a directory on your computer; then zip that into an archive and attach to this bug. If Bugzilla complains they are too big to attach we will work out a delivery method for the file

(If you first need to install the android sdk, details will depend on your computer platform, but there are plenty of instructions available online.)
Flags: needinfo?(nujinuji)
Attached file fonts.tar.xz
fonts on my phone
the Android browser result
Firefox result
Yes, the Android (4.0.3) browser renders them correctly.
I attached the fonts on my phone, and screenshots on both of browsers.

I noticed that Firefox renders the combining voiced mark, not only on an unexpected letter, positioned slightly upper and righter than the combined one (U+3058) and the Android browser does.

So I guess that the Android browser combines U+3057 U+3099 into U+3058 before rendering them as in UAX#15 (for the case where combining marks are not supported).
Flags: needinfo?(nujinuji)
Status: UNCONFIRMED → NEW
Ever confirmed: true
We have completed our launch of our new Firefox on Android. The development of the new versions use GitHub for issue tracking. If the bug report still reproduces in a current version of [Firefox on Android nightly](https://play.google.com/store/apps/details?id=org.mozilla.fenix) an issue can be reported at the [Fenix GitHub project](https://github.com/mozilla-mobile/fenix/). If you want to discuss your report please use [Mozilla's chat](https://wiki.mozilla.org/Matrix#Connect_to_Matrix) server https://chat.mozilla.org and join the [#fenix](https://chat.mozilla.org/#/room/#fenix:mozilla.org) channel.
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → INCOMPLETE
Product: Firefox for Android → Firefox for Android Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: