马耳他语字母式中古汉语拼音:修订间差异

来自个人维基
跳转到导航 跳转到搜索
FebSnow2233留言 | 贡献
无编辑摘要
FebSnow2233留言 | 贡献
无编辑摘要
 
第1行: 第1行:
== 简介 ==
== 简介 ==
马耳他语字母式中古汉语拼音方案,简称'''马式中古拼音'''(英文:Maltese Alphabetic Medieval Chinese Phonetics,简称'''MAMCP'''),由@万里风霜101于2023年8月制定,目前已更新至2.0.1版本。
马耳他语字母式中古汉语拼音方案,简称'''马式中古拼音'''(英文:Maltese Alphabetic Medieval Chinese Phonetics,简称'''MAMCP'''),由@万里风霜101于2023年8月制定,目前已更新至2.0.2版本。


== 内容 ==
== 内容 ==

2023年8月23日 (三) 07:41的最新版本

简介

马耳他语字母式中古汉语拼音方案,简称马式中古拼音(英文:Maltese Alphabetic Medieval Chinese Phonetics,简称MAMCP),由@万里风霜101于2023年8月制定,目前已更新至2.0.2版本。

内容

该方案的内容详情可查阅https://zhuanlan.zhihu.com/p/650421860

代码实现

可复制以下代码到切韵音系自动推导器中,即可实现效果。

/* 马耳他语字母式中古汉语拼音v2.0.2
 *
 * @author 万里风霜101 改编自 @unt《切韵拼音》(https://zhuanlan.zhihu.com/p/478751152)
 */

if (!音韻地位) return [];

const is = (...x) => 音韻地位.屬於(...x);
const when = (...x) => 音韻地位.判斷(...x);

// 正則化之前需保留該信息
const is脣音咍韻 = is`脣音 咍韻`;

const 正則化 = {
  標準: 'v2',
  寬鬆: 'v2lenient',
}[選項.模式] || 'v2Strict';
音韻地位 = Qieyun.適配分析體系[正則化](音韻地位);

// 恢復脣音咍韻信息
if (is脣音咍韻 && !選項.脣音咍韻歸灰韻) {
  音韻地位 = 音韻地位.調整({ 韻: '咍' });
}

function get聲母() {
  return {
    幫: 'p',  滂: 'ph',  並: 'b',  明: 'm',
    端: 't',  透: 'th',  定: 'd',  泥: 'n',  來: 'l',
    知: 'tr', 徹: 'thr', 澄: 'dr', 孃: 'nr',
    見: 'k',  溪: 'kh',  羣: 'g',  疑: 'ng', 云: '',
    影: 'għ',  曉: 'h',   匣: 'ħ',
    精: 'c',  清: 'ch',  從: 'z',  心: 's',  邪: 'ż',
    莊: 'cr', 初: 'chr', 崇: 'zr', 生: 'sr', 俟: 'żr',
    章: 'ċ',  昌: 'ċh',  常: 'ġ',  書: 'x', 船: 'j', 日: 'ny', 以: 'y',
  }[音韻地位.母];
}

function get韻母() {
  // 爲了方便推導,對韻類稍作調整
  const 韻 = when([
    ['蒸韻 (重紐B類 或 幫組 或 合口)', '冰'],
    ['東韻 三等', '終'],
    ['清韻', '庚'],
    ['陽韻', '唐'],
    ['臻韻 或 莊組 欣韻 上聲', '眞'],
    ['凡韻', '嚴'],
    ['', 音韻地位.韻],
  ]);
  const 韻到韻尾 = [
    ['脂之尤侯  佳 模  支魚虞 麻歌', ''],
    ['冰蒸終東 青耕登冬江   鍾 庚唐', 'ng', 'k'],
    [' 微微  齊皆咍灰  祭廢廢 夬泰', 'y'],
    ['眞欣文  先山痕魂  仙元元 刪寒', 'n', 't'],
    ['幽    蕭     宵   肴豪', 'w'],
    ['侵    添咸 覃  鹽嚴嚴 銜談', 'm', 'p'],
  ];
  const 元音列表 = [
    'i',       'ï',  'ů', 'u',
    'e', 'ë', 'ø', 'o', 'ö',
    'e',       'ïo', 'uo',
         'ä', 'a',
  ];

  let 匹配行 = 韻到韻尾.find(行 => 行[0].includes(韻));
  let 元音 = 元音列表[匹配行[0].replace(/ /g, '')[is`開口` ? 'indexOf' : 'lastIndexOf'](韻)];
  let 韻尾 = 匹配行[1 + is`入聲`];

  // 添加三等 C 介音(僅歌陽韻需要處理)
  if (is`三等` && 元音 === 'a') {
    // 重紐A類用於𩦠小韻
    元音 = (is`脣音 重紐A類` ? 'i' : is`開口` ? 'ï' : 'u') + 元音;
  }
  // 添加三等 A、B 介音
  if (is`三等` && ['i', 'e', 'ä'].includes(元音)) {
    if (is`重紐B類 或 云母 或 莊組 或 庚蒸韻 或 幽韻 幫組`) {
      元音 = (is`合口` ? 'u' : 'ï') + 元音;
    } else if (is `日以母` && 元音 !== 'i') {
      // 日以母拼三等 A 类韵省去 i
      元音 = '' + 元音;
    } else if (元音 !== 'i') {
      // 拼莊組以外的銳音一律視爲 A 類(同《切韻》清韻、《廣韻》諄韻的獨立條件)
      元音 = 'i' + 元音;
    }
  }
  // 添加合口介音
  if (is`合口` && !['u', 'o'].includes(元音[0])) {
    元音 = 'w' + 元音;
  }
  return 元音 + 韻尾;
}

function get聲調() {
  return { 上: 'q', 去: 's' }[音韻地位.聲] || '';
}

return get聲母() + get韻母() + get聲調();


文件资料

文件:马耳他语字母式中古汉语拼音音节一览表.txt
文件:马式中古拼音、切韵拼音和unt拟音对照.txt