马耳他语字母式中古汉语拼音:修订间差异
跳转到导航
跳转到搜索
FebSnow2233(留言 | 贡献) 无编辑摘要 |
FebSnow2233(留言 | 贡献) 无编辑摘要 |
||
| (未显示同一用户的9个中间版本) | |||
| 第1行: | 第1行: | ||
== 简介 == | |||
马耳他语字母式中古汉语拼音方案,简称'''马式中古拼音'''(英文:Maltese Alphabetic Medieval Chinese Phonetics,简称'''MAMCP'''),由@万里风霜101于2023年8月制定,目前已更新至2.0.2版本。 | |||
== 内容 == | |||
该方案的内容详情可查阅[https://zhuanlan.zhihu.com/p/650421860?utm_id=0 https://zhuanlan.zhihu.com/p/650421860]。 | |||
== 代码实现 == | |||
可复制以下代码到切韵音系自动推导器中,即可实现效果。 | |||
<source lang="javascript"> | <source lang="javascript"> | ||
/* 马耳他语字母式中古汉语拼音v2.0 | /* 马耳他语字母式中古汉语拼音v2.0.2 | ||
* | * | ||
* @author 万里风霜101 改编自 @unt《切韵拼音》(https://zhuanlan.zhihu.com/p/478751152) | * @author 万里风霜101 改编自 @unt《切韵拼音》(https://zhuanlan.zhihu.com/p/478751152) | ||
| 第77行: | 第85行: | ||
if (is`重紐B類 或 云母 或 莊組 或 庚蒸韻 或 幽韻 幫組`) { | if (is`重紐B類 或 云母 或 莊組 或 庚蒸韻 或 幽韻 幫組`) { | ||
元音 = (is`合口` ? 'u' : 'ï') + 元音; | 元音 = (is`合口` ? 'u' : 'ï') + 元音; | ||
} else if (is `日以母` && 元音 !== 'i') { | |||
// 日以母拼三等 A 类韵省去 i | |||
元音 = '' + 元音; | |||
} else if (元音 !== 'i') { | } else if (元音 !== 'i') { | ||
// 拼莊組以外的銳音一律視爲 A 類(同《切韻》清韻、《廣韻》諄韻的獨立條件) | // 拼莊組以外的銳音一律視爲 A 類(同《切韻》清韻、《廣韻》諄韻的獨立條件) | ||
| 第90行: | 第101行: | ||
function get聲調() { | function get聲調() { | ||
return { 上: ' | return { 上: 'q', 去: 's' }[音韻地位.聲] || ''; | ||
} | } | ||
| 第96行: | 第107行: | ||
</source> | </source> | ||
== 文件资料 == | |||
[[文件:马耳他语字母式中古汉语拼音音节一览表.txt]] | |||
[[文件:马式中古拼音、切韵拼音和unt拟音对照.txt]] | |||
[[category:语言]][[category:汉语]] | |||
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聲調();