Assigned
Status Update
Comments
ju...@google.com <ju...@google.com> #2
Thank you for reporting this issue. For us to further investigate this issue, please provide the following additional information:
Screen Record of the Issue
Please capture screen record or video of the issue using following steps:
adb shell screenrecord /sdcard/video.mp4
Subsequently use following command to pull the recorded file:
adb pull /sdcard/video.mp4
Attach the file to this issue.
Steps to capture bugreport:
===========================
Android Wear devices connected to Android devices
On you Android phone, following the instructions in this doc, under the section ‘Instructions on your companion phone or tablets (Android)’
Launch the ‘Android Wear’ app on your phone or tablet. Tap on the three vertical ellipsis on the top right hand corner of the screen and click on “Report Wearable Bug” to capture a bug report from the watch
On the watch, you will observe a notification card with the text “Bug report #X is being generated”. It can take up to 20 minutes for the bug report to be generated and transferred to your phone.
Once the bug report is done, the notification card on the watch changes to “Bug report #X captured” and you will receive a notification on the phone that reads “Wearable bug report finished. Tap to send." Tap on this notification and email the bug report to a pre populated email address
Instructions on your companion phone or tablets (Android)
On your Android device, go to Settings > About phone or About tablet.
At the bottom of the screen, touch 'Build number' seven times in quick succession. You’ll see a message saying you’re now in developer mode.
Press Back to go back to the main Settings screen.
Touch Developer options.
At the top of the screen, make sure 'Developer options' is set to ON.
Check the box next to USB debugging.
Check the box next to Bug report shortcut.
Reproduce the issue or error message on your phone or tablet. It’s important that your device logs at least one occurrence of the problem.
Immediately after seeing the issue, press and hold the power button until the power menu appears.
Select Take bug report, then select Report in the dialog that follows.
After a significant delay -- up to two minutes -- your phone or tablet will vibrate and display a notification saying ‘Bug report captured’. Touch the notification to open Gmail with the report attached.
After replying to this message, you can disable developer mode and bug reports by going to Settings > Developer Options and sliding the top toggle to OFF.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
Screen Record of the Issue
Please capture screen record or video of the issue using following steps:
adb shell screenrecord /sdcard/video.mp4
Subsequently use following command to pull the recorded file:
adb pull /sdcard/video.mp4
Attach the file to this issue.
Steps to capture bugreport:
===========================
Android Wear devices connected to Android devices
On you Android phone, following the instructions in this doc, under the section ‘Instructions on your companion phone or tablets (Android)’
Launch the ‘Android Wear’ app on your phone or tablet. Tap on the three vertical ellipsis on the top right hand corner of the screen and click on “Report Wearable Bug” to capture a bug report from the watch
On the watch, you will observe a notification card with the text “Bug report #X is being generated”. It can take up to 20 minutes for the bug report to be generated and transferred to your phone.
Once the bug report is done, the notification card on the watch changes to “Bug report #X captured” and you will receive a notification on the phone that reads “Wearable bug report finished. Tap to send." Tap on this notification and email the bug report to a pre populated email address
Instructions on your companion phone or tablets (Android)
On your Android device, go to Settings > About phone or About tablet.
At the bottom of the screen, touch 'Build number' seven times in quick succession. You’ll see a message saying you’re now in developer mode.
Press Back to go back to the main Settings screen.
Touch Developer options.
At the top of the screen, make sure 'Developer options' is set to ON.
Check the box next to USB debugging.
Check the box next to Bug report shortcut.
Reproduce the issue or error message on your phone or tablet. It’s important that your device logs at least one occurrence of the problem.
Immediately after seeing the issue, press and hold the power button until the power menu appears.
Select Take bug report, then select Report in the dialog that follows.
After a significant delay -- up to two minutes -- your phone or tablet will vibrate and display a notification saying ‘Bug report captured’. Touch the notification to open Gmail with the report attached.
After replying to this message, you can disable developer mode and bug reports by going to Settings > Developer Options and sliding the top toggle to OFF.
Note: Please upload the bug report and screenshot to google drive and share the folder to android-bugreport@google.com, then share the link here.
Description
I'm writing on behalf of Dalton Maag, a typeface design studio. We built a custom typeface for a client, for use in Android apps, and the client reported that the spacing between letters looked wrong when rendered by Android on low-dpi screens. We reproduced the issue with the default Sans and Serif fonts of Android 13, as per the attached screenshots, to prove that it's not a problem with the specific font in use, but with the rendering method. We used the emulator from Android Studio, and the client confirmed that it's also an issue on real devices.
The problems are as follows:
Screenshot 1: the text is a series of lowercase and uppercase letter o. The white space between two such o's should be constant. But we can see in the screenshot that it's not, and the o's looked "grouped" into small bundles, with tighter space inside the bundle, and bigger space between bundles. The randomness in the white space between the o's varies with the rendering size, and is most obvious to the naked eye in small sizes. This is a technical demonstration of the issue, more than a practical one, as such text is rare in user interfaces.
Screenshot 2: In practice, the issue affects real text, in that it distorts the spacing between letters inside words. Here, the text is "TestWord" written twice. We can see that the "st" letters are too close to each other in the first "TestWord", and that the letters "or" are too close in the second "TestWord". This doesn't reflect the intended rendering of the font, which has been carefully designed to look uniformly spaced and readable. As this affects even the default text fonts of Android, it's a rather serious issue, that probably causes jarring text rendering on all lower-end devices that don't have a high enough pixel density to make up for the random variations in the number of pixels between letters.
Speculation about possible technical causes is that probably Android isn't rounding advance widths that it gets from HarfBuzz as it should, or could be doing shaping with subpixel / fractional values but then not rendering with subpixel positioning.
I'm available if you have further questions. I would be delighted to be able to come back to our client with more information about this issue. Thanks in advance!
Android code for reproducing the waterfall example: