Sorta modern.
There's been two big jumps in fundamental RAM usage during my time using Linux. The first was the move from libc to glibc. That tended to force at least 8MB as I recall. The second was adding Unicode support. That blew things up into the gigabyte hundreds of megabyte range.
Edit: basing a lot of this on memory. Gigabyte range would be difficult for an OG Raspberry Pi, but I think it was closer to 128MB. That seems more reasonable with the difficulty of implementing every written language.
We can't exactly throw out Unicode support, at least not outside of specific use cases. Hypothetically, you might be able to make architectural changes to Unicode that would take less RAM, but it would likely require renegotiating all the cross-cultural deals that went into Unicode the first time. Nobody wants to go through that again.
It's not so much character length from any specific encodings. It's all the details that go into supporting it. Can't assume text is read left to right. Can't assume case insensitivity works the same way as your language. Can't assume the shape of the glyph won't be affected by the glyph next to it. Can't assume the shape of a glyph won't be affected by a glyph five down.
Pile up millions of these little assumptions you can no longer make in order to support every written language ever. It gets complicated.