Improved romanisation of Katakana


I'm in the planning stages of programming my own Katakana => Romaji converter.
However, I've noticed that every other converter already out there just
converts literally. I want to try and employ a more "intelligent" converter
(note that the end result will be a default, the user will be able to tweak
the transliteration if they so choose)

As an example, have this name of a character from one of my stories: ネックスス

Converters will give the result: Nekkususu... but nobody who isn't familiar
with Romaji would read that as Nexus...

So I'm trying to figure out some rules for better transliteration. So far, I
have the following:

  * The substring `kkus` can be replaced with `x`
  * A `u` at the end is most likely silent and can be dropped (these two rules already "fix" Nexus)
  * `Tu` is better as `Tsu`, and `Ti` as `Chi`.

However, that's where my knowledge ends. What I'd like to know is, for
starters, are the above three rules correct? Are there exceptions I should be
aware of? Are there other rules that could make my converter more accurate?

As mentioned before, perfection isn't required because the user may adjust the
result, but I would feel better about the feature if it at least made an
effort.




I think there are no consistent rules for transcribing foreign words to
katakana and thus the task of reverting the process is even harder.

The most obvious hurdle will be deciding whether ラリルレロ should be La Li Lu Le
Lo or Ra Ri Ru Re Ro (or something completely different), e.g. レディー is either
lady, or ready.

Moreover, there are many source languages, like English, Portuguese, French,
German. For example, another — not so serious, but obvious — question is
whether カクコ should be Ka Ku Ko, or Ca Cu Co, cf. カルテ _Ger._ Karte and かるた
_Pt._ carta (although かるた is now written Karuta in English).

So, I think that a better name for your project is not to make a converter,
but to build a database, which you might do by building a simple converter and
having users "teach" the best guess. (Google Translate has users teach it
translations, so does [Detexify](http://detexify.kirelabs.org/classify.html).)

A 外来語 dictionary file would be a good place to start.




I think there are no consistent rules for transcribing foreign words to
katakana and thus the task of reverting the process is even harder.

The most obvious hurdle will be deciding whether ラリルレロ should be La Li Lu Le
Lo or Ra Ri Ru Re Ro (or something completely different), e.g. レディー is either
lady, or ready.

Moreover, there are many source languages, like English, Portuguese, French,
German. For example, another — not so serious, but obvious — question is
whether カクコ should be Ka Ku Ko, or Ca Cu Co, cf. カルテ _Ger._ Karte and かるた
_Pt._ carta (although かるた is now written Karuta in English).

So, I think that a better name for your project is not to make a converter,
but to build a database, which you might do by building a simple converter and
having users "teach" the best guess. (Google Translate has users teach it
translations, so does [Detexify](http://detexify.kirelabs.org/classify.html).)

A 外来語 dictionary file would be a good place to start.

