Custom fonts not rendering on 920XT watch (simulator OK)

This issue has been reported by several 920XT users of my Crystal watch face:
https://apps.garmin.com/en-US/apps/9fd04d09-8c80-4c81-9257-17cfa0f0081b#0

Support for 920XT was removed in the latest (1.7.0) version of the watch face, to avoid user frustration. The last report of this issue was on version 1.6.1 of the watch face, that was compiled using Eclipse 4.7.3a for Mac, with SDK 2.4.4. Unfortunately, I do not own a real 920XT watch, so I am relying on user reports. I am not aware of any case where my watch face works correctly on a real 920XT watch.

My watch face uses custom fonts, not only for the text, but also for the various icons, so that the icons can easily be re-coloured according to the selected theme. On the simulator, everything renders as expected. However, on real watches, none of the text, and none of the icons render, so that only the two side meters, and the move bar render (they use non-font drawing primitives). The watch face does not crash on 920XT: it continues to run, and no CIQ_LOG.TXT is generated. Please see attached images for a comparison of how this looks on a real watch (photo provided by user) vs. how it looks in the simulator.

The simulator reports the memory usage as less than 50kB of the available 64kB, so this does not appear to be a memory exhaustion issue.

As the current release version disables 920XT support, I have attached a debug build for the 920XT.

The full codebase is available on GitHub:
https://github.com/warmsound/crystal-face

Please let me know if there is any other info I can provide. Sorry that there is limited info above, as I don't have the hardware, and there is no crash log.

Thanks,

Vince.
  • Former Member
    Former Member
    Hey warmsound,

    I took a look at the code on GitHub and it looks like you've been exposed to a bug that we have seen here before. This is a device specific bug on the 920XT. I could not find the forum posts where we talked about it, but the 920Xt cannot properly render custom font resources using antialiasing. A popular workaround for this issue is to create a custom fonts.xml that only the 920XT uses. This can be defined in Junges, as a totally other font resource or, but creating a resources-920xt folder to house the resources specific to that device. Make sure to turn off antialiasing for that device and the fonts should display without issue. I apologize that this is not as well documented/it is as difficult as it is to track down bugs in the forums.

    Thanks,
    - Coleman
  • Hi Coleman,

    Thanks very much for this information, as I don't think I would have discovered the issue any other way! Thanks also for the suitable workaround - this should be a relatively easy change, and will allow me to re-enable 920XT support for the watch face shortly.

    Cheers,

    Vince.