Ticket Created
over 4 years ago

VEGAS-6266

Transferred

️Missing on Fenix 5 Series

The glyph for Heart️ Unicode 'Red Heart' (U+2764) is missing on the Fenix 5 series of watches but present on the Forerunner 645m and Vivoactive 3m.

On the Fenix 5, you see the diamond-? character instead of the expected heart.

In this particular case, the unicode character is being embedded into `strings.xml` and loaded and displayed using `Ui.loadResource`.

  • Thanks for the pointer Jim, yeah a bitmap fallback might be the best way forward here.

  • Thanks for the response. Yeah, I'm seeing this on the physical devices.

    I was actually really pleasantly surprised to see this work at all on the Forerunner and Vivoactive devices, so I just assumed it would work on the Fenix 5. Sadly, not the case.

    In terms of the simulator, I'm not really sure either way: I've never gotten the simulator to work with Music apps in my dev setup (2013 MBP), so I've been doing all of my testing the *slow* way by side-loading each build. Total aside but I'm going to try using a Windows VM shortly, if nothing else, just to be able to take screenshots (currently I photoshop an actual photo over top of the device template).

  • I recently worked on a side project to generate the UX guide appendices from the data used by the simulator. If we can get this into place, the documentation will be much easier to update and will hopefully get updated more frequently than it has been (ideally every time we make an SDK it'd be re-generated).

    Unfortunately, this script generates data based on the simulator configuration and not the actual device configurations (every device team seems to do things differently), so cases where the simulator configuration doesn't match the device configuration would not get caught. As mentioned above, we've made some changes that should avoid some of these issues moving forward, but I don't think it will eliminate them.

  • Just to be clear, you're seeing this issue on physical devices, right? The device teams create fonts for their devices, and they are not always equal. As far as I understand it, there is no requirement for the set of included glyphs to be the same between devices. I'd think I'd expect them to be the same for devices in the same family (fenix5s/fenix5/fenix5x), but not across families (fr645/fenix5s).

    That said, It looks like the simulator configuration for the fr645 references the fenix5 font files and the fenix5 font doesn't appear to have that glyph. I'd expect the simulator to show � Unicode 'Replacement Character' (U+FFFD) for both devices.

    If the device fonts have different glyphs and the simulator doesn't accurately reflect this, then that is a ConnectIQ simulator bug. Previously we were a little lax about correctness of the fonts and just re-used the font if the name was the same and it looked similar when running a simple font viewer app. I ran into issues several times where the fonts were not exactly the same, so we've changed our guidelines to require new font files for each device which should eliminate this issue on our end. There will be some duplication of font data (and maybe some deduplication to avoid unnecessarily duplicating the .monkeyface files), but this type of issue should not be happening moving forward.

  • Check out Appendix B of the UX guide in the SDK, as that shows what's available by device and specific font.  It's a bit dated though....  I'm surprised this is available at all, and while you mentioned the 645m, i suspect it might not be on the 645 (the memory difference with music devices, and the f5 also doesn't have the memory of music devices).

    So...  You may not want to count on it being available, and handle it yourself with a bitmap or your own custom font for things like this. (an "icon font")