Thank you very much for your answer.
It's almost working for my particular usage. If it can help below is a link to the files I edited, I've done nothing more than creating a "ui_scaling" variable in LogInterface.c with my own value (2.0 as a base for working). Then I just edited interface files with some copy / paste of your own code or just by adding ui_scaling multiples to scales and sizes. The result is really good but I only tested it on my own monitor with my resolution, it certainly must be adjusted to support any resolution.
Files here : Link to the files
I did it this way because I don't precisely know what is the value returned by this line :
float fHtRatio = stf(Render.screen_y) / 1080.0; (I assumed it was 1.33 with my resolution (1440 / 1080) wich was still too small)
After working a bit on that I think it should be possible to detect a proper ui_scaling factor depending the user resolution as a base like you already started with fHtRatio variable. It should even be possible to add a simple menu for the user to let him choose what UI scale he wants to use if the base scaling isn't satisfying (x0.50, x0.75, x1.0, x1.25, x1.5, x1.75, x2.0), and this for any mods supported by the Maelstrom Engine.
Below are some pics with the UI almost done for Land and Sea, tomorrow I'll edit WmInterface.c.
Land :
Sea :