Skip to content

tanhaow/notomanchu

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Noto Manchu 的技术细节

前言

Noto Sans Mongolian是Android、iOS、OSX等系统默认的蒙古文-满文字体,并且提供了阿礼噶礼字母,而且几乎完全符合Unicode对满文字形的标准化。然而,一方面Unicode对满文字形的规定存在问题,另一方面Noto Sans Mongolian字体和大多数中国使用的满文字体(比如太清、Sunggar和索贝特锡满字体)不符。因此,我们开发了这个在线工具,可以把满文拉丁转写尽量正确地转化为在Noto Sans Mongolian下正确变形的满文-锡伯文。

Unicode标准的归纳总结

我们现在对每个Unicode满文字母的适用情况进行总结。本段可能包含满文文本,但是根据浏览器设置,可能不会按照Noto Sans Mongolian字体显示,因而请以对字母形状的文字描述为准。

元音字母

如果要打出单独的元音字母首、中、尾形而非独立形,请在前后位置插入zero-width jointer (ZWJ) U+200D。

字母a

  • 字母a U+1820默认的首、中、尾形分别是一个冠+一个字牙、一个字牙‍和一个右摆尾‍。
  • 在b, p, 不分阴阳性的k', g', h'后(所谓“圆头字母”),是左摆尾‍。在圆头字母后,通常情况下尾形会自动变为左摆尾。如果要自动控制左摆尾,用控制字符U+180B。

字母e

  • Unicode将其命名为MONGOLIAN LETTER SIBE E。
  • 字母e U+185D默认的首、中、尾形分别是一个冠、一个右侧有点的字牙和一个右侧有点的右摆尾。
  • 在t/d后,e的中形是不加点的字牙,尾形是不加点的右摆尾,使用U+185D U+180B实现。
  • 在b, p, 不分阴阳性的k', g', h'后,e是右侧有点的左摆尾。这些情况下,会自动变形而无法直接控制。
  • 而在阴性的k, g, h后,应该是没有点的左摆尾。较新版本的Noto Sans字体中,阴性k后的变形是错误的——显示成了圆头的k和加点的右摆尾。因此,在这个情况下,应该选用可控制左右摆尾的蒙古文字母e:U+1821 U+180B可以提供不加点的左摆尾。因而,音节ke, ge, he中建议使用U+1821 U+180B而非U+185D。

字母i

  • 满文的字母i是MONGOLIAN LETTER MANCHU I,编码为U+1873。锡伯文被Unicode标准单列出来,编码为U+185E。
  • 字母i可以作为音节的主元音,也可以作为音节尾(如所谓的“双元音”音节[C]ai, [C]ei, [C]ui, [C]oi),需要分别讨论。属格格助词-i也是需要单独列出的。
  • 作为音节主元音的i,默认的首、中、尾形分别是一个冠+长牙、一个长牙、一个长牙+圆尾。编码是U+1873。
  • 作为音节尾的i(在切分音节时,最好将这种类型的i转写成y。比如音节[C]ai, [C]ei, [C]ui, [C]oi分别是[C]ay, [C]ey, [C]uy, [C]oy。),默认的中、尾形分别是两个长牙、一个长牙+圆尾。因此,在这一情况下,需要区分中形和尾形。中形用U+1873 U+180C,而尾形则是正常的U+1873。锡伯文的这一情况,音节尾的i中形是短牙+长牙,中形使用U+185E U+180B或者U+1873 U+180B,形状上并没有任何区别。
  • 圆头字母b, p, 阴性k/g/h, k'/g'/h'下的i,尾形应当使用U+1873 U+180B,但是在b, p, 阴性k/g/h后,Noto Sans字体可以自动变形。不分阴阳性的k'/g'/h'后,变形是错误的,因此应该主动使用U+1873 U+180B
  • 转写汉语“资”的字母dz后,尾形应当使用U+1873 U+180C。
  • 属格格助词-i,应当在U+1873使用ZWJ U+200D,直接以U+1873的尾形实现。
  • 需要注意的是,U+185E U+180B和U+1873 U+180B的形状是一样的,而U+185E U+180C和U+1873 U+180C的尾形是一样的。

字母o

  • 满文和蒙古文共用的字母o,编码是U+1823。通常作为音节主元音的首、中、尾形分别是冠+圈、圈、圈+圆尾。
  • 在单音节词(比如ko, go, ho)和独立形中,尾形不带圆尾,编码应当使用U+1823 U+180B。
  • 在较新版本的Noto Sans字体中,比如单词colgoroko的-ko被错误显示成了不带圆尾。因而,应当使用蒙古文的阴性OE U+1825或者阳性的蒙古文U U+1824。
  • 圆头字母b, p,不分阴阳性的k'/g'/h'后的o,和辅音字母本身形成合字。如果需要强行不合字,则需使用U+1823 U+180B。正常的满文写法中,不合字是错误的。
  • 音节尾的-o(比如音节[C]ao, [C]eo, [C]io, [C]oo, [C]uo),编码也是U+1823。

字母u

  • 满文的字母u,在Unicode中被称为MONGOLIAN LETTER SIBE UE U+1860。通常作为音节主元音的首、中、尾形分别是冠+右侧有点的圈、右侧有点的圈、右侧有点的圈+圆尾。
  • 字母t/d后的u,应当是没有点的,因而应该使用没有点的版本U+1860 U+180B。
  • Unicode和Noto Sans均未规定/实现诸如单词šu中无圆尾的写法,这是Unicode标准和Noto Sans字体中的错误,无法改正。

字母ū

  • 满文的字母ū,在Unicode中被称为MONGOLIAN LETTER SIBE U,编码为U+1861。本质上,这个字母是o和i的结合体。一般来说这个字母的显示没有问题。

辅音字母

字母n

  • 满文的字母n,编码为U+1828,需要分为音节首和音节尾两种情况讨论。
  • 音节首的n,无论首、中形,左侧皆有点。首、中形分别为左侧有点的冠、左侧有点的字牙。Noto Sans字体中,音节首的n一般应当使用U+1828。
  • 音节尾的n,一般情况下,无论中、尾形皆无点,因此应当使用U+1828 U+180B——除非例如转写汉语“恩”、“汉”时,需要强行加点,因此应当使用U+1828 U+180C。

字母-ng

  • 满文的字母-ng,中形是一个nun+kaph,而尾形是短牙+长牙+左摆尾。编码为U+1829。
  • 锡伯文的字母-ng,中形是一个nun+kaph,而尾形是短牙+短牙+左摆尾。编码为U+1862。

字母k/g/h

  • 在音节首,区分阴阳性的字母k/g/h的编码分别为U+1874,U+1864,U+1865,这些字母的形状会根据其后元音的阴阳性而自动变化。
  • 在音节尾,字母k的形状变化比较复杂,应该区分阴阳性讨论:
    1. 在音节尾,阳性的-k是左侧有两点的两个字牙,中形的编码是U+1874 U+180B,尾形是U+1874。而锡伯文的中形和尾形都只有一个字牙,中形的编码是U+1863 U+180B,尾形的编码是U+1863。
    2. 在音节尾,阴性的-k是一个kaph,中形的编码是U+1874 U+180C,尾形的编码是U+1874 U+180B。
  • 满文以-k为音节尾的音节,阴阳性判断比较复杂:
    1. tek的音节尾是阳性。
    2. kuk, guk, huk, k'ak, g'ak, h'ak, dūk的音节尾是阴性。
    3. 其余情况,主元音为a, o, i, u的音节尾是阳性,而主元音为e, ū的音节尾是阴性。
    4. 锡伯文音节尾一律用阳性形式。

字母t

  • 满文字母t在Unicode中被称为锡伯文的t:U+1868。
  • 在音节首,满文字母t的阳性(aio)形式是不出头的,阴性(euv)形式是圈外出头的。(要注意,这个出头的形状仅仅是为了区分ta/e和to/u,和性别的关系并不大。这里采取“阳性、阴性”是为了方便)。字符U+1868可以通过跟随元音的性别来改变形状。需要注意的是,在t后面的e U+185D和u U+1860,都需要通过控制字符U+180B来去掉点。
  • 在音节尾,t的形状是一个圈和一个牙,这个形状按照阿拉米字母的来源,称为taw。一般来说,字符U+1868在音节尾会自动变成圈+牙的形状。若要强行实现该形状,使用编码U+1868 U+180C。
  • 在词首,强行的阳性形式可以使用U+1868 U+180B。老满文中不区分阳性或阴性的t,而其词中形式有时候是一个圈在右的taw,也可以使用U+1868 U+180B来实现。

字母d

  • 满文字母d在Unicode中被称为锡伯文的d:U+1869。
  • 在音节首,满文字母d的阳性(aio)形式是不出头的,阴性(euv)形式是圈外出头的。字符U+1869也可以通过跟随元音的性别来改变形状,但是结果是错误的。需要按照词首、词中形式分类:
    1. 词首形式,d的阳性形式是U+1869,d的阴性形式是U+1869 U+180B。
    2. 词中形式,d的阳性形式是U+1869 U+180B,d的阴性形式是U+1869。
  • 在d后面的e U+185D和u U+1860,也需要通过控制字符U+180B来去掉点。
  • 个别较新版本的Noto Sans字体中,d的阴阳性是极度混乱的。可在词中形式的阴性d后加入ZWJ U+200D来人工调整这一混乱。

字母f/w

  • 锡伯文中,字母f永远是U+1876,字母w永远是U+1838。
  • 满文中,iouv前的f,没有右上角的撇。因此,应当使用U+1876 U+180B。

字母b, p

  • 满文的字母b,编码为U+182A,这个字母的显示没有问题。
  • 满文的字母p,编码为U+1866,这个字母的显示没有问题。

字母m,l

  • 满文的字母m,编码为U+182E,这个字母的显示没有问题。
  • 满文的字母l,编码为U+182F,这个字母的显示没有问题。

字母s, š

  • 满文的字母s,编码为U+1830,这个字母的显示没有问题。
  • 满文的字母š,编码为U+1867,这个字母的显示没有问题。

字母c, j, y

  • 满文的字母c,编码为U+1834,这个字母的显示没有问题。
  • 满文的字母j,编码为U+1835。
  • 锡伯文的j,词中形式并不是tsadi的形状,而是带钩的yod的形状,应当使用U+186A。虽然并不是所有字体都能展现出它们的区别,但是Noto Sans字体可以。
  • 满文的字母y,编码为U+1836。鉴于前古典时代的蒙古文和老满文中,并不区分j和y,而且y也不带钩。此情形下,可以使用U+1836 U+180B。

字母r

  • 满文的字母r,尾形是稍微带撇的直尾,编码为U+1875。但如果希望使用蒙古文风格、带圆尾的尾形r,可以使用编码U+1837。

借词字母

  • 不分阴阳性的k/g/h,编码分别为U+183A,U+186C,U+186D。需要注意的是,这里的k是阿拉米文原本的kaph。
  • 代表汉语声母“雌”的字母ts,编码为U+186E。
  • 代表汉语声母“资”的字母dz,编码为U+186F。
  • 代表卷舌音“日”的字母ž,编码为U+1870。
  • 代表卷舌音“蚩”的字母c',编码为U+1871。
  • 代表卷舌音“知”的字母j',编码为U+1877。锡伯文的形式,编码为U+1872。
  • 代表“思、诗”的韵母的空韵y',编码为U+185F。
  • 梵语字母:
    • 长音ā,编码为U+1887。
    • 鼻音化anusvāra ṃ,编码为U+1880 U+180B。
    • 仰月点candrabindu,编码为U+1880。
    • 去声visarga ḥ,编码为U+1881。
    • 送气浊喉音gh,编码为U+189A。
    • 喉鼻音ṅ,编码为U+189B。
    • 不送气清腭音c,编码为U+189C。
    • 送气浊颚音jh,编码为U+189D。
    • 卷舌音ṭ, ḍh, ṇ, ṣ分别为U+189E, U+189F, U+188F, U+18A2。
    • 不送气音t,编码为U+18A0。
    • 送气浊齿音dh,编码为U+18A1。
    • 不送气唇音p,编码为U+1892。
    • 送气唇音bh,编码为U+18A8。
    • 藏文cy,编码为U+18A3。
    • 藏文lh,编码为U+18AA。

About

Converting Möllendorff to Noto Sans

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 38.5%
  • SCSS 32.8%
  • JavaScript 19.0%
  • HTML 9.7%