1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

楔形文字の変換gemとアプリを作りました。

Last updated at Posted at 2022-07-03

TL;DR

アルファベットないしはひらがな・カタカナを楔形文字に変換するrubygemとアルファベットのみを楔形文字に変換する
アンドロイドアプリを作ったので、使ってみてね!
rubygems: https://rubygems.org/gems/kusabi
android : https://play.google.com/store/apps/details?id=com.chatram.cuneiform

# これはrubygems版
"Unknown".to_cuneiform => 𒌋𒉡𒆠𒉡𒃰𒉾𒉡

"!Unk@no#wn".to_cuneiform => !𒌋𒉡𒆠@𒉡𒃰#𒉾𒉡

"アンノウン".to_cuneiform => 𒀀𒅘𒁖𒌋𒅘

"アンノウン?".to_cuneiform => 𒀀𒅘𒁖𒌋𒅘?

仕組み

タイトルからわかるようにかなり簡単な作りになっており、
https://github.com/ppmasa8/cuneiform/blob/master/lib/translate.dart#L35

List<String> result = [];
    List<String> strings = text.toLowerCase().split('');
    for (var str in strings) {
      String temp;
      if (hash[str] != null) {
        Runes input = Runes(hash[str]);
        temp = String.fromCharCodes(input);
      } else {
        temp = '';
      }
      // print(temp);
      // print(temp.isNotEmpty);
      temp.isNotEmpty ? result.add(temp) : result.add(str);
      print(result);
    }
// これはアンドロイドアプリ版の実装

予めマップにその文字に対応する楔形文字のユニコードを書いておいて、一文字ずつ置換していくだけの作りになっています。

また、変換できないよっていう文字が入ってきたらエスケープして、その文字は変換せずにそのまま出力します。

雑になってしまったところ

実は楔形文字は年代によっても使われている文字がバラバラだったり、そもそも母音の「お」が存在していないことなりがあったので、正確性には大分欠けます。

最後に

最後まで読んでくれてありがとうございます!
興味があったら使ってみてください!
rubygems: https://rubygems.org/gems/kusabi
android : https://play.google.com/store/apps/details?id=com.chatram.cuneiform

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?