emk / ibus-ancient

ibus keyboards and input methods for ancient languages (prerelease).
The Unlicense
2 stars 6 forks source link

Runic support #1

Open jimcrayne opened 10 years ago

jimcrayne commented 10 years ago

Hello Eric,

I stumbled across your project while looking for an IBUS input method for runes. I see you are almost there, having charts etc, and I would be willing to help contribute, if that is welcome. I am an experienced software engineer, mostly I specialize in C++ and Haskell, but I do have at least some experience with lisp like languages, such as scheme.

The main thing is I do not know IBUS. In fact, If you do not mind, I have a question about m17n, that you might know the answer to. I see that the m17n package has a lot of mappings, sometimes marked inscript and sometimes marked itrans, and I have been wondering what do those tags signify?

PS: I am just beginning to learn Old Norse, and it would be nice to have keyboards to facilitate writing it using both the latin and runic scripts. I have noticed that not all the phonemes expressed in the latin script are expressed in the runic script.. So I can invision potentially multiple keyboards for runes... one which actually translates the latin script to Younger Futhark (in a lossy manner), and one which simply assigns a rune to each key. And of course, it would also be nice to be able to write midieval runes.

emk commented 10 years ago

Hello! I do welcome contributions.

I have no idea what's going on with inscript and itrans. I prefer to use ibus-m17n for dead languages, which involves creating very simple *.mim files and copying them into the correct directory.

If you're interested in runic scripts, you may want to take a look at the file more-for-later.xml, which contains all the information needed to construct 7 different runic keyboards for various time periods and countries. I did a bunch of research into this a few years ago and spent a lot of time figuring out how to map things as correctly as I could. The keys assigned to each rune as based on the conventions that are typically used to transliterate runic inscriptions using the Latin alphabet. At the very least, this data should be a good starting point. Unfortunately, these keyboards can't be used with Linux without being converted to *.mim format, which I haven't gotten around to yet.

To make these keyboards work on Linux, you would need to write a script which reads each of the mappings from the file more-for-latter.xml and generates individual *.mim files for them. (For a good example of what the output should look like, see coptic.mim.) Note that most of keyboards in more-for-latter.xml are actually based on other keyboards in that file, so it will be necessary to combine information from multiple sections of the file. Ideally the conversion script would be written in Ruby, but Haskell would also be perfectly acceptable.

Also, if you discover any errors in the runic keyboards, please feel free to suggest corrections.

Thank you very much for your interest in this project, and I hope the runic keyboard data will be of some help to you!

jimcrayne commented 9 years ago

Ok, I made some runic keyboards based on your more-for-later.xml. I like to be able to see what input method i have selected, so i also made some icons to go with them, not sure how logical my choice of symbol/image in that regard.

emk commented 9 years ago

This is really cool! Did you make these with a script, or did you do it all by hand?

Le sam. 7 mars 2015 à 03:39, James Crayne notifications@github.com a écrit :

Ok, I made some runic keyboards based on your more-for-later.xml.

I like to be able to see what input method i have selected, so i also made some icons to go with them, not sure how logical my choice of symbol/image in that regard.

— Reply to this email directly or view it on GitHub https://github.com/emk/ibus-ancient/issues/1#issuecomment-77679718.

jimcrayne commented 9 years ago

I am a vim editor power user, so it's kind of like a little of both.

By the way, for non ascii symbols like æ, œ, ǫ, i am following the convention of RFC 1345. But using & as a trigger/leader key. This is exactly the same pattern used in rfc1345.mim which is distributed in the m17n-db package on debian. I figure anyone interested in scripts enough to want to write this stuff probably would enjoy a sort of semi-standard neutral keyboard for writing various characters.

One cavaet though is RFC1345 apparently does not have ȝ, but &gy was unused so I used &gy for gyfu in the anglosaxon-futhark. &yg is also available, so I could have went with that to match Yogh. Not sure if that was the right call or not.

Personally I keep a modified version of rfc1345.mim, which I named rfc1345plus.mim where I add a few omitted symbols, with states for entering math stuff and unicode by hex.

Also note, that there is still more information in more-for-later.xml including unimplemented keyboards so don't discard it yet.