ゲルマン語の子音推移

Share
📝
本稿は筆者が大学の授業で学んだ内容をもとに、独自の考察を加えて再構成したものである。

インド・ヨーロッパ語族からゲルマン語派が分岐する過程で、子音体系に大規模な変化が生じた。この変化はグリムの法則として知られ、さらにヴェルネルの法則による補正、そしてゲルマン語内部で生じた第二次子音推移を経て、英語とドイツ語の音韻的な差異を生み出した。本稿では、これらの子音推移の内容とその関係を整理する。

グリムの法則

19世紀初頭、ドイツの言語学者ヤーコプ・グリム(Jacob Grimm)は、インド・ヨーロッパ祖語からゲルマン語派への体系的な子音変化を記述した。これがグリムの法則(Grimm's Law)であり、第一次子音推移(First Germanic Sound Shift)とも呼ばれる。変化の内容は以下の三系列からなる。

無声破裂音から無声摩擦音へ

インド・ヨーロッパ祖語の無声破裂音 *p, *t, *k は、ゲルマン語で無声摩擦音 *f, *θ, *x(のちに *h)へと変化した。

  • ラテン語 pater(父)→ 英語 father
  • ラテン語 tres(三)→ 英語 three
  • ラテン語 centum(百)→ 英語 hundred

有声破裂音から無声破裂音へ

インド・ヨーロッパ祖語の有声破裂音 *b, *d, *g は、ゲルマン語で無声破裂音 *p, *t, *k へと変化した。

  • ラテン語 decem(十)→ 英語 ten
  • ラテン語 genus(種族)→ 英語 kin

有声帯気破裂音から有声破裂音へ

インド・ヨーロッパ祖語の有声帯気破裂音 *bʰ, *dʰ, *gʰ は、ゲルマン語で有声破裂音(ないし有声摩擦音)*b, *d, *g へと変化した。

  • サンスクリット bhrātar(兄弟)→ 英語 brother

この三系列の変化は連鎖推移(chain shift)と呼ばれ、各系列が互いに玉突き式に位置をずらしていく構造を持つ。有声帯気音が有声音の位置に移り、有声音が無声音の位置に移り、無声音が摩擦音の位置に移るという循環的な変化である。

ヴェルネルの法則

グリムの法則には例外が存在した。インド・ヨーロッパ祖語の *p, *t, *k がグリムの法則に従って *f, *θ, *x になるはずの環境で、代わりに有声化して *β, *ð, *ɣ になる場合があったのである。

1875年、デンマークの言語学者カール・ヴェルネル(Karl Verner, 1846-1896)はこの例外に法則性を見出した。インド・ヨーロッパ祖語において、直前の音節にアクセント(強勢)がある場合にはグリムの法則どおり無声摩擦音 *f, *θ, *x が生じるが、直前の音節にアクセントがない場合には有声摩擦音 *β, *ð, *ɣ が生じるというものである。

たとえば、サンスクリット pitár(父)ではアクセントが第2音節にあり、直前の音節にアクセントがないため、*t は無声の *θ ではなく有声の *ð に変化し、英語の father の /ð/ に反映されている。一方、サンスクリット bhrā́tar(兄弟)ではアクセントが第1音節にあり、*t の直前の音節にアクセントがあるため、*t はグリムの法則どおり *θ に変化し、英語の brother の /ð/ には……と一見矛盾するが、これはその後の類推変化(analogy)など別の要因による。

ヴェルネルの法則は、グリムの法則の例外を体系的に説明し、インド・ヨーロッパ祖語のアクセント体系がゲルマン語の子音変化に関与していたことを明らかにした。これは比較言語学における重要な発見であり、「例外のない音法則」という青年文法学派(Junggrammatiker)の原則を裏づける成果でもあった。

第二次子音推移

グリムの法則による第一次子音推移はゲルマン語派全体に共通する変化であったが、その後、ゲルマン語内部でさらなる子音変化が生じた。これが第二次子音推移(Second Germanic Sound Shift / Zweite Lautverschiebung)であり、およそ紀元後3世紀から8世紀にかけて、高地ゲルマン語(のちのドイツ語の祖先)においてのみ起こった変化である。

英語の祖先である低地ゲルマン語にはこの変化が生じなかったため、第二次子音推移は英語とドイツ語の音韻的差異の主要な原因となっている。

具体的な変化

第一次子音推移で生じたゲルマン語の *p, *t, *k が、高地ゲルマン語ではさらに破擦音や摩擦音へと変化した。

  • *t → 語頭で /ts/、母音間で /s/
    • 英語 ten → ドイツ語 zehn
    • 英語 water → ドイツ語 Wasser
    • 英語 eat → ドイツ語 essen
  • *p → 語頭で /pf/、母音間で /f/
    • 英語 apple → ドイツ語 Apfel
    • 英語 open → ドイツ語 offen
  • *k → /x/(ch の音)
    • 英語 make → ドイツ語 machen
    • 英語 book → ドイツ語 Buch

二つの子音推移の関係

第一次子音推移がインド・ヨーロッパ語族の中でゲルマン語派を特徴づけた変化であったのに対し、第二次子音推移はゲルマン語派の中でドイツ語(高地ゲルマン語)を英語やオランダ語(低地ゲルマン語)から分かつ変化であった。

インド・ヨーロッパ祖語
↓ 第一次子音推移(グリムの法則)
ゲルマン祖語
├→ 低地ゲルマン語(英語・オランダ語など)
└→ 高地ゲルマン語(ドイツ語)← 第二次子音推移

たとえば、ラテン語 decem(十)の /d/ は、第一次子音推移で /t/ となり(英語 ten)、さらに第二次子音推移で /ts/ となった(ドイツ語 zehn)。英語ではこの二段目の変化が起きなかったため、ten のまま残っているのである。

Read more

Dependabotの対応が面倒なのでRenovateを導入する

Dependabotくんはある程度の依存関係の更新を通知してくれるが、山のようにprojectを抱えているとなんとも痒いところに手が届かない。 ということで、Renovateを使ってみる。 Build software better, togetherGitHub is where people build software. More than 150 million people use GitHub to discover, fork, and contribute to over 420 million projects.GitHub ここからGitHub Appを入れる。 あとは、指示に従ってポチポチするだけで、超かんたんだった。 感想 自動化最高。

By Sakashita Yasunobu

nodejsのバグを見つけたのでPRを投げてみた

概要 要するに、node --testで特定のバイナリを標準出力に書くと、テストランナーが固まったり、異常終了したりするバグです。 バグ自体は既知のものだったようで、修正がされていました。 test_runner: infinite loop in FileTest#drainRawBuffer when child stdout contains FF 0F followed by large size bytes · Issue #62693 · nodejs/nodeVersion v25.9.0 (also reproduced on v24.14.1 LTS, v22.21.0 LTS, v23.4.0) Platform Darwin 25.

By Sakashita Yasunobu
青空文庫のParser

青空文庫のParser

青空文庫のParserを作ってます。 GitHub - P4suta/aozora: Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks.Pure-functional Rust parser for 青空文庫記法 (Aozora Bunko notation): ルビ, 傍点, 縦中横, 外字, 返り点, indent containers, page breaks. - P4suta/aozoraGitHubP4suta Rustで作ってますが、配布物はcargoのほかにnpm/pypiでも入手できます Documentation * Playground — try it in

By Sakashita Yasunobu