Xorg has recently implemented an automatic configuration system, so it's no longer necessary to have an xorg.conf for it to operate. You can still create one to do any advanced configuration stuff if you need it.
( By the way, in case you aren't aware, "X11" properly refers to the older unix-based X-windows system. This has been mostly replaced by the Xorg fork of the project, but you may still find some older documentation and legacy stuff that refers to it. You may have to take this into account if you're reading older texts. )
To tell the truth, I really don't understand Linux keyboard system all that well, particularly when it comes to terminal input. The system is complex and multi-layered, and the documentation is hard to find, confusing, and often quite out-of-date. Default commands and file locations can also be different on various distributions.
Most modern terminals and fonts should support unicode, so I believe displaying the text shouldn't be much of a problem, as long as you have your locale settings right. The only trick is in the input of complex characters. I believe for you this is mostly just a case of defining a keyboard mapping that does what you want. I know that there's been work recently on synchronizing the X keyboard and the terminal keyboard, but I'm not up on how that works exactly.
I've been looking at various documentation about keyboard mapping, but I'm not able to get it to work quite right. I found these two pages, for example:
On my system I've found that, when I switch to one of the Fn terminals, I'm already able to use the compose key for some combinations. But the current keymap settings don't support all the ones you'd want to use. I've tried to use loadkeys
to change the default compose sequences, but I just can't seem to get it to work. It seems like it should be possible, but loadkeys only seems to accept config files in iso8859 encodings (and a few others, but not utf-8, at least on my system), and that's causing me lots of headaches in getting it to accept the configurations I want. And even if I do a simple copy-an-existing-line- with-a-minor-modification, it still doesn't seem to recognize the changes. When I enter "^" and "j", for example, I always get "¼" instead of the expected "ĵ", even though the file I give it has it defined correctly. There must be some overriding configuration somewhere I don't know about.
Everything works just fine in X, by the way, because the xterm-style gui consoles all use X's input system instead.
So I'm afraid I'm going to have to bow out at this point. Hopefully you'll be able to use what I've posted to figure it out.