csgoh/roadmapper

Month are not capitalised (for me)

felix-seifert opened this issue · 2 comments

When I generate a roadmap with some example code and compare it to the example pictures, my roadmap looks different. It could either be because of the OS (I use Linux, especially Ubuntu with a Gnome desktop) or because of slightly different locale settings.

The most significant difference is the spelling of the abbreviations of the month. In the example, the months start with a capital letter (e.g. Jan and Feb). The months in my generated roadmap, however, do not start with a capital letter (e.g. jan and feb).

Besides the spelling differences, you can see different spaces between the letters which are probably due to a different standard font.

Is it possible to make the behaviours of the generation more similar on the different platforms, i.e. Mac, Linux and Windows? Which differences should we accept? Maybe this goes hand in hand with #20.

Edit:

$ uname -a 
Linux machine-name 5.19.0-38-generic #39~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 17 21:29:15 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC=sv_SE.UTF-8
LC_TIME=sv_SE.UTF-8
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY=sv_SE.UTF-8
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER=sv_SE.UTF-8
LC_NAME=sv_SE.UTF-8
LC_ADDRESS=sv_SE.UTF-8
LC_TELEPHONE=sv_SE.UTF-8
LC_MEASUREMENT=sv_SE.UTF-8
LC_IDENTIFICATION=sv_SE.UTF-8
LC_ALL=
$ python --version
Python 3.10.6
csgoh commented

I am using strftime("%b") to get the month. The behaviour of strftime("%b") can vary between platforms and locales because it depends on the underlying C library implementation and the system's locale settings. In some systems, the abbreviated month names might be capitalized (e.g., "Jan, Feb, Mar"), while in others, they might be in lowercase (e.g., "jan, feb, mar").

I can of course capitalise or lowercase it, but that is too many variations to handle if you factor in non-english characters. I will leave it as it is now.

This is fine. Then, we'll just have to take this into account when designing our E2E tests and running them in CI. Basically, we expect different generated roadmap images on different platforms.