VectorFonts -- what's available?

I'm trying to use Graphics.getVectorFont to fetch a VectorFont, but I couldn't figure out what font faces are available. Does anyone know how to find them? 

I was referencing https://developer.garmin.com/connect-iq/reference-guides/devices-reference/, but "Noto Sans" doesn't seem like a valid font face. 

  • There's two ways:

    1) From the device reference page you linked, click a device (such as Fenix 7), scroll down to the Fonts section (for the part number * of interest - usually the first one), and look for the fonts with Font Size listed as "Scalable". The left-most column (Font Symbol) contains the string to pass into getVectorFont().

    e.g. Fenix 7, Part Number 006-B3906–00

    In this case, if you want "Noto Sans SC", pass in "NotoSansSCMedium" to getVectorFont()

    (You'd think this would be the easiest way, but given that it's just one huge page, it's pretty annoying to wait for it to load, and it's slow to scroll.)


    2) Look in the CIQ devices info that's installed along with the SDK

    2a) Open the CIQ devices folder on your computer. On Windows, this is located at %appdata%\Garmin\ConnectIQ\Devices

    2b) Open the folder for the device you're interested in - e.g. Devices\fenix7x

    2c) Open compiler.json and look for the part number (*) you're interested in (usually the first one - i.e. partNumbers[0])

    2d) Look at the languages[] array and note the font sets for the various languages you're interested in. e.g.

    ...
    {
      "code": "eng",
      "fontSet": "ww"
    },
    ...
    {
      "code": "jpn",
      "fontSet": "apac_jpn"
    },

    ...

    2e) Open simulator.json and look at the fonts available for each font set. Vector fonts will have type equal to system_ttf. The name field contains the value to pass into getVectorFont().

    e.g. from fenix7x

        "fonts": [
            {
                "fontSet": "ww",
                "fonts": [
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_13B",
                        "name": "xtiny"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_19B",
                        "name": "tiny"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_22B",
                        "name": "small"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_25B",
                        "name": "medium"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_27B",
                        "name": "large"
                    },
                    {
                        "filename": "FNT_006B390700_BIONIC_COND_BOLD_NUMBER_33",
                        "name": "numberMild"
                    },
                    {
                        "filename": "FNT_006B390700_BIONIC_COND_BOLD_NUMBER_40",
                        "name": "numberMedium"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_54",
                        "name": "numberHot"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_62",
                        "name": "numberThaiHot"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_13B",
                        "name": "systemXtiny"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_19B",
                        "name": "systemTiny"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_22B",
                        "name": "systemSmall"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_25B",
                        "name": "systemMedium"
                    },
                    {
                        "filename": "FNT_FENIX6X_CDPG_ROBOTO_27B",
                        "name": "systemLarge"
                    },
                    {
                        "filename": "FNT_006B390700_BIONIC_COND_BOLD_NUMBER_33",
                        "name": "systemNumberMild"
                    },
                    {
                        "filename": "FNT_006B390700_BIONIC_COND_BOLD_NUMBER_40",
                        "name": "systemNumberMedium"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_54",
                        "name": "systemNumberHot"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_62",
                        "name": "systemNumberThaiHot"
                    },
                    {
                        "filename": "FNT_FENIX6_CDPG_ROBOTO_15B",
                        "name": "glanceFont"
                    },
                    {
                        "filename": "FNT_FENIX6_BIONIC_BOLD_NUMBER_18",
                        "name": "glanceNumberFont"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_27",
                        "name": "simExtNumber1"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_49",
                        "name": "simExtNumber2"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_69",
                        "name": "simExtNumber3"
                    },
                    {
                        "filename": "Bionic_Bold_Number_Only",
                        "name": "BionicBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "RobotoCondensed-Bold",
                        "name": "RobotoCondensedBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "RobotoCondensed-Regular",
                        "name": "RobotoCondensedRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "NotoSansSC-Medium-3",
                        "name": "NotoSansSCMedium",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "Kosugi-Regular-3",
                        "name": "KosugiRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "NanumGothic-Regular",
                        "name": "NanumGothicRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "Pridi-Regular_Garmin",
                        "name": "PridiRegularGarmin",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "sakkal_majalla_bold",
                        "name": "SakkalMajallaBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "sakkal_majalla_roman",
                        "name": "SakkalMajallaRoman",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "swiss_721_bd",
                        "name": "Swiss721Bold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "swiss_721_reg",
                        "name": "Swiss721Regular",
                        "type": "system_ttf"
                    }
                ]
            },
            {
                "fontSet": "apac_chn",
                "fonts": [
                    {
                        "filename": "FNT_006B437400_NOTO_SANS_SC_BOLD_94_16",
                        "name": "xtiny"
                    },
                    {
                        "filename": "FNT_006B437500_NOTO_SANS_SC_BOLD_94_23",
                        "name": "tiny"
                    },
                    {
                        "filename": "FNT_006B437400_NOTO_SANS_SC_BOLD_94_28",
                        "name": "small"
                    },
                    {
                        "filename": "FNT_006B437500_NOTO_SANS_SC_BOLD_94_34",
                        "name": "medium"
                    },
                    {
                        "filename": "FNT_006B437600_NOTO_SANS_SC_BOLD_94_36",
                        "name": "large"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_32",
                        "name": "numberMild"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_39",
                        "name": "numberMedium"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_54",
                        "name": "numberHot"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_62",
                        "name": "numberThaiHot"
                    },
                    {
                        "filename": "FNT_006B437400_NOTO_SANS_SC_BOLD_94_16",
                        "name": "systemXtiny"
                    },
                    {
                        "filename": "FNT_006B437500_NOTO_SANS_SC_BOLD_94_23",
                        "name": "systemTiny"
                    },
                    {
                        "filename": "FNT_006B437400_NOTO_SANS_SC_BOLD_94_28",
                        "name": "systemSmall"
                    },
                    {
                        "filename": "FNT_006B437500_NOTO_SANS_SC_BOLD_94_34",
                        "name": "systemMedium"
                    },
                    {
                        "filename": "FNT_006B437600_NOTO_SANS_SC_BOLD_94_36",
                        "name": "systemLarge"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_32",
                        "name": "systemNumberMild"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_39",
                        "name": "systemNumberMedium"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_54",
                        "name": "systemNumberHot"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_62",
                        "name": "systemNumberThaiHot"
                    },
                    {
                        "filename": "FNT_006B437400_NOTO_SANS_SC_BOLD_94_18",
                        "name": "glanceFont"
                    },
                    {
                        "filename": "FNT_FENIX6_BIONIC_BOLD_NUMBER_18",
                        "name": "glanceNumberFont"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_27",
                        "name": "simExtNumber1"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_COND_BOLD_NUMBER_49",
                        "name": "simExtNumber2"
                    },
                    {
                        "filename": "FNT_FENIX6X_BIONIC_BOLD_NUMBER_69",
                        "name": "simExtNumber3"
                    },
                    {
                        "filename": "Bionic_Bold_Number_Only",
                        "name": "BionicBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "RobotoCondensed-Bold",
                        "name": "RobotoCondensedBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "RobotoCondensed-Regular",
                        "name": "RobotoCondensedRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "NotoSansSC-Medium-3",
                        "name": "NotoSansSCMedium",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "Kosugi-Regular-3",
                        "name": "KosugiRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "NanumGothic-Regular",
                        "name": "NanumGothicRegular",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "Pridi-Regular_Garmin",
                        "name": "PridiRegularGarmin",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "sakkal_majalla_bold",
                        "name": "SakkalMajallaBold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "sakkal_majalla_roman",
                        "name": "SakkalMajallaRoman",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "swiss_721_bd",
                        "name": "Swiss721Bold",
                        "type": "system_ttf"
                    },
                    {
                        "filename": "swiss_721_reg",
                        "name": "Swiss721Regular",
                        "type": "system_ttf"
                    }
                ]
            },


    (*) Q: What's a part number in CIQ?

    A: A part number in CIQ maps a CIQ device type (such as fenix7x) to an actual product variant, such as Fenix 7X, quatix 7, or Enduro 2. It is *not* the same as the part number on the box.

    For older devices, it also distinguishes between the default / Worldwide (WW) and Asia-Pacific (APAC) variants of a device. Newer devices typically have a single variant for WW and APAC. Note that the APAC variant of a device typically has an older firmware / CIQ version, and it may never receive the latest version.

    Usually the first part number in compiler.json (or a given device section of the device reference page) is the "main variant" (whether that means WW as opposed to APAC, or Fenix 7X as opposed to quatix or enduro 2.) This is also usually the part number contained in the top-level worldWidePartNumber field in compiler.json.

    Q: How do I know what real device corresponds to a given part number?

    A: Check the JSON response of [https://apps.garmin.com/api/appsLibraryExternalServices/api/asw/deviceTypes]

    (This query is made when you open the Compatible Devices tab of an app in the CIQ store website.)

    For example:

    fenix7x > 006-B3907-00 is "fēnix® 7X - Solar Edition", "fēnix® 7X– Sapphire Solar Edition", "quatix® 7X – Solar Edition"

    fenix7x > 006-B3910-00 is quatix® 7X

    fenix7x > 006-B4135-00 is "tactix® 7 – Pro Ballistics Edition", "tactix® 7 – Pro Edition"

    fenix7x > 006-B4341-00 is Enduro 2

    fr935 > 006-B2691-00 is Forerunner 935 (WW)

    fr935 > 006-B2833-00 is Forerunner 935 (APAC)