宮古諸語の簡易音素表記を考えてみる

『[南琉球宮古方言調査報告書](https://doi.org/10.15084/00002456)』(国立国語研究所, 2012年8月)の基礎語彙aデータを、[1行ずつのテキスト形式にしてみた](https://qiita.com/KoichiYasuoka/items/6c0ce5f3e4353f839068)のはいいのだが、音声記号に「担当者の音韻論的解釈の違い」があって、何とも使いにくい。やはり音素にカテゴライズしたいところだし、音素表記に使う文字は、できればASCIIの小文字だけにしておきたい。少し調べてみたのだが、以下の論文は、それぞれに異なる音素目録を用いている。

* `/p t k m n ɾ f s ʋ/i ɯ u ɛ ɑ/`
Thomas Pellard『[Ōgami (Miyako Ryukyuan)](https://tufs.repo.nii.ac.jp/records/11499)』(地域・文化研究 B072: An Introduction to Ryukyuan Languages (2010年), pp.113-166)  906-0001 (ウカㇺ語)
* `/i ɿ u o a/p b t d k g c dz f s h m n w v y/`
衣畑智秀, 林由華『[琉球語宮古狩俣方言の音韻と文法](https://doi.org/10.15002/00012495)』(琉球の方言, 第38号(2014年3月), pp.17-49)  906-0002 (北ミャーク語)
* `/i ï a o u/j w/' ɡ k z c s d t n r v f b p m/N Q R/`
久野眞『[宮古島旧平良市方言の音韻―補遺―](https://doi.org/10.57529/00000428)』(國學院雜誌, 第119巻, 第11号(2018年11月), pp.130-147) 906-0006 906-0007 (中ミャーク語)
* `/i e ɿ u o a/p t k b d g f s c z h m v ž n r/j w/`
王丹凝『[南琉球宮古語城辺町新城方言の文法](https://hdl.handle.net/2324/5068151)』(九州大学博士(文学)論文, 甲第16198号, 2022年9月) 906-0102 (東ミャーク語)
* `/' k g t d s ʦ ʥ r n p b m f v/w z j/u ɨ i a o/N M Q V F/`
西岡敏『[宮古方言による民話テキスト「豊美氏親の大鯖魚退治」](http://hdl.handle.net/2308/658)』(沖縄国際大学日本語日本文学研究, 第16巻, 第2号(2012年3月), pp.1-16) 906-0201 (南ミャーク語)
* `/p b m f v t d n ts dz s z ɾ j k g h/i ɿ u a o/`
セリック・ケナン『[南琉球宮古語下地皆愛方言](https://chikyu.repo.nii.ac.jp/records/2074)』(言語記述論集, 第10号(2018年4月), pp.97-249) 906-0305 (西ミャーク語)
* `/i e ï a u o/j w/' k g t d c s z r n f v p b m/Q N/`
中本謙『[宮古来間方言の音韻](https://opac.ll.chiba-u.jp/da/curator/900052038/)』(千葉大学日本文化論叢, 創刊号(2000年2月), pp.94-81) 906-0306 (西ミャーク語)
* `/i e a o u ɨ/p b t d k g c z f v s h m n n̥ r w j/`
林由華『[南琉球宮古語池間方言の文法](http://hdl.handle.net/2433/174728)』(京都大学博士(文学)論文, 文博第621号, 2013年3月) 906-0005 (イキマ語)
* `/p t k b d g f s c h z m n v ž r/w j/i ï u e o a/`
下地理則『[南琉球宮古語伊良部島方言](https://www.9640.jp/book_view/?760)』(くろしお出版, 2018年3月) 906-0506 (イラヴ語)
* `/i e a o u ɨ/p b t d k ɡ f v s z h m n r/j w ɹ/`
青井隼人『[南琉球宮古語多良間方言の音声学的・音韻論的構造の諸相](https://doi.org/10.15026/88022)』(東京外国語大学博士(学術)論文, 博甲第219号, 2016年9月) 906-0601 906-0602 (タラマ語)

かなり混沌としていて、スッキリまとめることは無理そうだ。仕方ないので、これらのどれとも違う形で、私(安岡孝一)なりの簡易音素表記を考えてみることにした。まずは半母音。

* `/y/` [j]
* `/w/` [w]

これで母音まわりが少し楽になる。

* `/i/` [i] [ɪ]
* `/j/` [ɿ] [ɨ] [ï] [ɯ] [ǝ]
* `/u/` [u] [ʊ]
* `/o/` [o]
* `/a/` [a] [ɑ]
* `/e/` [e] [ɛ]

子音は声門・軟口蓋のあたりから。

* `/x/` [h] [x] [χ] [ç] [ʕ]
* `/./` [ʔ] [ˁ]
* `/k/` [k]
* `/g/` [ɡ] [ʁ] [ɣ]

口唇まわりの子音もみておこう。 

* `/p/` [p]
* `/b/` [b]
* `/f/` [f] [ɸ]
* `/v/` [v] [ʋ]

鼻音・ふるえ音は、子音としても母音としてもふるまうらしい。

* `/xm/` [m̥̟]
* `/xn/` [n̥̟]
* `/x/` [m̥] [n̥]
* `/m/` [m]
* `/n/` [n] [ɲ] [ŋ] [ɴ]
* `/l/` [l] [ɭ] [ʎ] [ɬ] [ɮ]
* `/r/` [r] [ɾ] [ɹ]

残りの子音はエイヤッとやってしまおう。

* `/t/` [t]
* `/d/` [d]
* `/s/` [s] [ɕ]
* `/z/` [z] [ʑ]
* `/c/` [ʦ] [ʨ] [θ]
* `/dz/` [ʣ] [ʥ] [ʤ] [ð]

[ʲ] [ᶻ]などの小書き音声記号やアクセント記号・ハイフンは削った上で、長音記号[ː]は直前の文字で置き換える。また、`/yi/`は`/ii/`に、`/wu/`は`/uu/`に、`/ts/`は`/c/`に直す。全体をプログラムで書くと、こんな感じ。

```
#! /usr/bin/python3
import unicodedata
while True:
  try:
    s=input()
  except:
    quit()
  i=s.find("[")
  j=s.find("]",i)
  w=["",s,""] if i<0 or j<0 else [s[0:i]+"/",s[i+1:j],"/"+s[j+1:]]
  t=(unicodedata.normalize("NFD",w[1])
    .replace("j","y")
    .replace("ɪ","i")
    .replace("ɿ","j").replace("ɨ","j").replace("i\u0308","j").replace("ɯ","j").replace("ǝ","j")
    .replace("ʊ","u")
    .replace("ɑ","a")
    .replace("ɛ","e")
    .replace("h","x").replace("χ","x").replace("ç","x").replace("ʕ","x")
    .replace("ʔ",".").replace("ˁ",".")
    .replace("ɡ","g").replace("ʁ","g").replace("ɣ","g")
    .replace("ɸ","f")
    .replace("ʋ","v")
    .replace("m\u0325\u031f","xm")
    .replace("n\u0325\u031f","xn")
    .replace("m\u0325","x").replace("n\u0325","x")
    .replace("ɲ","n").replace("ŋ","n").replace("ɴ","n")
    .replace("ɭ","l").replace("ʎ","l").replace("ɬ","l").replace("ɮ","l")
    .replace("ɾ","r").replace("ɹ","r")
    .replace("ɕ","s")
    .replace("ʑ","z")
    .replace("ʦ","c").replace("ʨ","c").replace("θ","c")
    .replace("ʣ","dz").replace("ʥ","dz").replace("ʤ","dz").replace("ð","dz")
    ).split("ː")
  for i,j in enumerate(t):
    k=""
    for c in j:
      if unicodedata.category(c)=="Ll" or c==".":
        k+=c if ord(c)<123 else "@"
      elif c=="\u0308" and k[-1]=="i":
        k=k[0:-1]+"j"
      elif unicodedata.category(c) not in {"Lm","Mn","Pd"}:
        k=k+"@"
    t[i]=k if i==len(t)-1 or not k[-1].isalpha() else k+k[-1]
  w[1]="".join(t).replace("yi","ii").replace("wu","uu").replace("ts","c")
  s="".join(w)
  print(s)
```

音素の対立をチェックしたわけではないので、あくまで簡易音素表記に過ぎないのだが、これで何とかカテゴライズできそうかな。