In case you haven't gotten all the way yet with enc2xs, the only "hard" part is to build the appropriate "Unicode Character Map" (ucm) file to describe the relationship between Unicode and your specialized character encoding.
in reply to Re: Creating (and using) a custom encoding. (SOLUTION)
in thread Creating (and using) a custom encoding.
In case it helps, you might want to look at Encode::Buckwalter, which includes a ucm file to define a specialized ASCII "alphabet" for transliterating Arabic characters. It's fairly simple, except that some character relations only work in one direction (e.g. when going from Unicode to "Buckwalter Transliteration", U+0030 and U+0660 will both map to ASCII "0", but when going from transliteration to Unicode, ASCII "0" will only map to U+0030, and likewise for other digits).