パスワードを忘れた? アカウント作成
13492547 journal
Perl

route127の日記: 【嶽】部首の付加で音読みの母音が変化する二音節を持つ漢字の組【獄】

日記 by route127

獄に山冠つけて嶽にするとgokuからgakuと母音交代起こすけれども同じような漢字の組が他にないか調べていた。
豪モナシュ大のkanjidicとCHISEの漢字構造情報DBを組み合わせて抽出した。
一音節だと加(ka)と袈(ke)みたいなのが沢山ありそうな気がしたので二音節の漢字に限定した積りだったが、処理が甘くて厳密に二音節にはなっていない気がする。
あと音節単位で処理する為にローマ字化をしていてそれにLingua::JA::Kanaを使っているが、拗音にxを前置する仕様なのも使っていて知った。
そんなわけで嶽獄以外にも骨滑、力肋、樂礫、足蹙、昔錯等の組合せに気付けたが、普段使わない読みが結構入ってるせいか予想より喜びは少ない。

最後にソースもつけた。

結果一覧:

叟(shixyuu) 溲(shixyu)
叟(shixyuu) 艘(shixyou)
酋(shixyuu) 鰌(shixyu)
聿(ichi) 晝(chuu)
聿(ichi) 肇(chou)
聚(shixyu) 驟(shixyuu)
辟(heki) 擘(haku)
辟(heki) 檗(haku)
石(koku) 硅(kaku)
石(koku) 碓(kaku)
石(koku) 確(kaku)
如(jixyo) 洳(jixyu)
主(shixyuu) 麈(shixyu)
曷(katsu) 歇(ketsu)
曷(katsu) 碣(ketsu)
曷(katsu) 竭(ketsu)
戚(soku) 槭(seki)
戚(soku) 蹙(seki)
彳(teki) 得(toku)
彳(teki) 徳(toku)
角(kaku) 斛(koku)
骨(kotsu) 滑(katsu)
骨(kotsu) 猾(katsu)
骨(kotsu) 磆(katsu)
國(koku) 幗(kaku)
國(koku) 膕(kaku)
力(riki) 勒(roku)
力(riki) 勠(riku)
力(riki) 肋(roku)
且(shixyou) 雎(shixyo)
頡(kitsu) 纈(ketsu)
頡(kitsu) 襭(ketsu)
頡(katsu) 纈(ketsu)
頡(katsu) 襭(ketsu)
従(jixyu) 縦(jixyuu)
発(hotsu) 溌(hatsu)
発(hotsu) 醗(hatsu)
幕(baku) 冪(beki)
幕(baku) 羃(beki)
壽(shixyuu) 鑄(shixyu)
谷(koku) 郤(keki)
国(koku) 掴(kaku)
或(koku) 馘(kaku)
獄(goku) 嶽(gaku)
發(hotsu) 撥(hatsu)
革(kaku) 鞠(kiku)
革(kaku) 鞫(kiku)
律(retsu) 葎(ritsu)
手(shixyu) 掌(shixyou)
取(shixyu) 聚(shixyuu)
女(jixyo) 娘(jixyou)
女(jixyo) 嫋(jixyou)
女(jixyo) 嬢(jixyou)
女(jixyo) 嬬(jixyu)
女(jixyo) 孃(jixyou)
楽(raku) 檪(reki)
樂(raku) 櫟(reki)
樂(raku) 礫(reki)
樂(raku) 轢(reki)
足(soku) 蹙(seki)
足(soku) 齪(saku)
立(ritsu) 拉(ratsu)
穴(ketsu) 窟(kutsu)
穴(ketsu) 窟(kotsu)
責(seki) 嘖(saku)
責(seki) 簀(saku)
昔(seki) 醋(saku)
昔(seki) 錯(saku)
舟(shixyuu) 艘(shixyou)
乞(kotsu) 吃(kitsu)
乞(kotsu) 屹(kitsu)
乞(kotsu) 訖(kitsu)
乞(kotsu) 迄(kitsu)
從(jixyu) 縱(jixyuu)
歇(ketsu) 蠍(katsu)
厥(kutsu) 獗(ketsu)
厥(kutsu) 蕨(ketsu)
厥(kutsu) 蹶(ketsu)
孛(butsu) 勃(botsu)
珀(haku) 碧(heki)
勿(botsu) 物(butsu)
秀(shixyuu) 銹(shixyu)
去(kixyo) 怯(kixyou)
秋(shixyuu) 鍬(shixyou)
吉(kichi) 劼(kechi)
吉(kichi) 結(kechi)
吉(kichi) 頡(kechi)
吉(kitsu) 劼(katsu)
吉(kitsu) 拮(katsu)
吉(kitsu) 拮(ketsu)
吉(kitsu) 結(ketsu)
吉(kitsu) 頡(ketsu)
吉(kitsu) 黠(katsu)
宗(shixyuu) 棕(shixyu)
虫(chuu) 蜩(chou)
虫(chuu) 蝶(chou)
修(shixyu) 蓚(shixyuu)
習(shixyuu) 摺(shixyou)
習(shixyuu) 褶(shixyou)

ソース:

use strict;
use warnings;
use utf8;
use Encode;
use Data::Kanji::Kanjidic qw(parse_kanjidic);
use Lingua::JA::Kana;

my $kanji = parse_kanjidic('.\kanjidic\kanjidic');
my @kanji = keys %$kanji;
my @chise;
if(open(IN, 'IDS-UCS-Basic.txt')){
    binmode IN, "encoding(:utf-8)";
    foreach(<IN>){
        chomp;
        my ($unicode, $kanji, $element) = split("\t", $_);
        push(@chise, {
            'unicode' => $unicode,
            'kanji' => $kanji,
            'element' => $element,
        });
    }
    close(IN);
}

foreach my $k (@kanji){
    foreach my $k_on (@{$kanji->{$k}{onyomi}}){
        foreach my $c (map{$_->{'kanji'}}grep{$_->{'element'} =~ m/$k/}@chise){
            foreach my $c_on (@{$kanji->{$c}{onyomi}}){
                last if $k eq $c;
                my $k_on_roma = kana2romaji($k_on);
                my $c_on_roma = kana2romaji($c_on);
                last if $k_on_roma eq $c_on_roma;
                last if length($k_on_roma) < 4;
                last if length($c_on_roma) < 4;
                my ($k_on_roma_cons, $c_on_roma_cons) = ($k_on_roma, $c_on_roma);
                $k_on_roma_cons =~ tr/aiueo//d;
                $c_on_roma_cons =~ tr/aiueo//d;
                print "$k($k_on_roma)\t$c($c_on_roma)\n" if $k_on_roma_cons eq $c_on_roma_cons;
            }
        }
    }
}

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

日々是ハック也 -- あるハードコアバイナリアン

読み込み中...