drawRadialText on Fenix 7X crashes in sim

I thought its in the right API range but only works on fenix 8, I wanted to add some in the list(now the simulator bugs just around with other devices added)

Connect IQ Store | Watch Faces and Apps | Garmin

  • What is the crash you see and the code involved?

    When you do the getVectorFont, do you check that the return isn't null?  You pass the font name(s) in that call, and not all fonts are available on all devices.

    From one of my test apps, here's the fonts I use:

    "RobotoCondensedRegular" then "RobotoRegular"
    I added the f7x as a target and it runs fine.  Notice how that date at the top is curved.
  •   why does it work with fenix 8 ? Its the first line drawRadialText and I use of course systemfonts. seems that in fenix 7 state getVectorFont gives null, how have you instanced it?

  • The fonts you can use with getVectorFont vary by device.  Sounds to me you are specifying a font that's available on the f8 that's not available on the f7.

    What are you using with getVectorFont?

  • I used 


        var timeFont = Graphics.getVectorFont( {:scale=> 2.0, :font=> Graphics.FONT_SYSTEM_LARGE , :size=> 2});
        var dataFont = Graphics.getVectorFont( {:scale=> 0.8, :font=> Graphics.FONT_SYSTEM_XTINY , :size=> 2});
  • Those are not verctor fonts on all devices

    Try using an array with the two strings I posted earlier as the font names.

  • Found it, I wonder why the buildin Fonts not work, that was the first I thought compatiblity is made, I rework my RingInfo watchface, guess I had made the ringnumbers with lines and turned them and made png sets for the varfields, hehehehe(in 2023), I have some weird mistakes from  stressHistory, I ordered a new watch now to find out if its the device. 

  • I wonder why the buildin Fonts not work

    As jim_m_58 said, it's because the system fonts are not vector fonts on all devices.

    e.g.

    On Fenix 8, FONT_* / FONT_SYSTEM_* are vector fonts.

    On Fenix 7, FONT_* / FONT_SYSTEM_* are not vector fonts.

    You can see this by opening the CIQ devices folder on your development machine and looking at simulator.json for various devices.


    e.g. ConnectIQ\Devices\fenix847mm\simulator.json

        "fonts": [
            {
                "fontSet": "ww",
                "fonts": [
                    {
                        "filename": "Roboto-Regular",
                        "name": "xtiny",
                        "size": 6.9542,
                        "type": "ttf"
                    },
                    {
                        "filename": "Roboto-Regular",
                        "name": "tiny",
                        "size": 8.7683,
                        "type": "ttf"
                    },
                    {
                        "filename": "Roboto-Regular",
                        "name": "small",
                        "size": 9.9777,
                        "type": "ttf"
                    },
    

    Note how the various system fonts (xtiny, tiny, etc.) have a type of "ttf" (which means they are scalable vector fonts).


    e.g. ConnectIQ\Devices\fenix7s\simulator.json

    Note how the various system fonts (xtiny, tiny, etc.) do not have a type of "ttf" (which means they are bitmap fonts).

       "fonts": [
            {
                "fontSet": "ww",
                "fonts": [
                    {
                        "filename": "FNT_FENIX6S_CDPG_ROBOTO_13B",
                        "name": "xtiny"
                    },
                    {
                        "filename": "FNT_FENIX6S_CDPG_ROBOTO_17B",
                        "name": "tiny"
                    },
                    {
                        "filename": "FNT_FENIX6S_CDPG_ROBOTO_19B",
                        "name": "small"
                    },


    You can also indirectly see this in the device reference guide:

    https://developer.garmin.com/connect-iq/reference-guides/

    For example:

    - For Fenix 8, the FONT_* font filenames (in the "Font" column) are the same as some of the scalable font filenames in the same font list

    - For Fenix 7, the FONT_* font filenames are *not* the same as some of scalable font filenames in the same font list

  • As I said, it s a bit wild where which font, I reworked all and it works in the watchfaces.