as I know linux uses UTF-8 encoding.
This means I can use std::string for handling string right?
Just the encoding will be UTF-8.
Now on UTF-8 we know s
There are multiple concepts here:
Normally, you are only interested in 1. (for memory requirements) and 4. (for display), the others have no real application.
The amount of screen space can be queried from the rendering context. Note that this may change depending on context (for example, Arabic letters change shape at the beginning and end of words), so if you are doing text input, you may need to perform additional trickery to give users a consistent experience.