Inside a CIQ app, date information like month and day-of-the-week names are automatically translated to the selected device language (set by the user when first setting up a device).
When using the built-in fonts available in CIQ, these names are correctly displayed.
Garmin already has all the required characters for languages built into these fonts.
When using a custom font, it is the developer's responsibility to ensure that the correct set of characters for a particular language is included in the font.
The problem is that it is difficult to know which characters are required for all the different languages supported by Garmin.
As far as my knowledge stretches, there is no specific documentation that supplies information about the minimum set of date related characters per language.
In the past I tried to import all characters from a computer font file, but always ran into out of memory issues. Obviously the majority of these characters are not needed for dates.
The workaround is to
- either force the display of date related names to a subset of languages that you choose to support for your app,
- or to resort back to using the built-in fonts in CIQ.
TINY and XTINY for example are just not tiny enough to my liking.
So I would like to build my own real tiny font for these devices, but still be able to display dates in any of the Garmin supported languages.
I'm sure most of us have run into this issue at some point, but either have too little information or time to sit and build a complete set of characters required to achieve the same result as built-in fonts.
Things to be considered:
- Displaying of both long and short names. Would be great if we could indicate which characters are sufficient for short names only, and which characters should be included to display full names (e.g. Mon vs Monday and Dec vs December). This way developers choosing to display short names can build a smaller font, but when deciding later to display full names, they know which characters to include.
- The same for casing, it would be great knowing the uppercase vs lowercase set of characters, for example if you choose to display short names starting with uppercase followed by lower case, as opposed to showing everything in all lower case or all upper case.
English short names:
a,d,e,F,h,i,M,n,o,r,S,t,T,u,W (the only characters required to display short English day-of-the-week names)
English full name as an extension to short names:
s,y (the only characters required to to display full English day-of-the-week names)
I cannot do this on my own, and would like to know if there would be interest to help contribute towards this as a community / open source project?
This way developers with knowledge about different languages can easily contribute and the workload be spread more evenly.
I am hoping to set up a public github project with some structures and guidelines about how to contribute.
For those not knowing github, I would be willing to receive emails or forum post with details of your particular language contributions and then work that into the open source project.
It all depends on the interest and willingness of others to contribute whether I will start a project of this magnitude.
Please respond with some ideas and suggestions and wether you are interested or you think it might not be worth it?