Өмнөх бичлэгт GSUB хүснэгтийн талаар бага зэрэг ойлголтыг өгсөн бөгөөд энэ удаа үргэлжлээд монгол бичгийн MongolianScript фонтод хэрэглэсэн глип орлуулгаар жишээ хийгээд дахин тайлбарлая. Хүснэгт зохион байгуулахын тулд Бичгийн жагсаалт (Script list), Онцлох жагсаалт (Feature list), Бүтээмжийн жагсаалт (Lookup list) энэ гурвын тухай тодорхой мэдлэгтэй байхыг шаардана. Өмнө өгсөн холбоосоор энэ бичлэгээс дэлгэрүүлэн уншиж болно. Жишээ нь дээр тулгуурлаад орлуулгын төрлүүдийг яаж ашиглаж болохыг харуулбал:
Дан орлуулга (A single substitution), нэг глипийг өөр нэг глипээр солих.
ML.A -: uF305
ML.A -: uF308
--} | ||
--} |
Үржих орлуулга (A multiple substitution), нэг глипийг хоёр болон түүнээс дээш глипээр орлуулна.
uF406 -: ML.BA, ML.OU
--} |
Хувилбар(ондоо) орлуулга (An alternate substitution), үүрэг нь ижил глипийн харагдах хэлбэр нь ондоо байхыг тодорхойлох орлуулга.
uF30E -: uF30F
--} |
Лигатур орлуулга (A ligature substitution), хэд хэдэн глип индексийг цугтан нэг глип индексээр солино,
ML.PA + ML.O -: uF40E
--} |
Хамааралтай орлуулга (Contextual substitution), хамгийн хүчтэй төрөл бөгөөд глипүүдийн зарим дүрмээр(pattern) нэг эсвэл нэлээд глипийг орлуулах хамаарлын нөхцөлтэйгөөр глип орлуулгуудыг тодорхойлно. Энэ төрлийг дараах төрөлтэй хавсруулан хэрэглэсэн жишээгээр харууллаа.
Гинжилсэн хамааралтай орлуулга (Chaining contextual substitution), хамааралтай орлуулгын хүчин чадлыг өргөтгөх зорилготой. Үүгээр орох дарааллын глипүүдийн дүрмээр нэг эсвэл хэдэн глипээр нэг эсвэл хэдэн орлуулгыг гүйцээж болно. Жишээ нь:
feature calt { # Contextual Alternates script mong; # Mongolian
lookup calt4 {
sub uF32C' @calt1 by ML.DA; / Дунд орсон дэвсгэр Д үсгийн ард
/ эгшиг орсон бол дэвсгэр биш
/ дунд орсон Д үсгээр орлуулна.
sub [uF3AC uF3AF]' M.vowel_separator by [uF315 uF31B];
sub uF314' @calt3 by uF3AB;
sub uF31A' @calt2 by uF3B0;
} calt4;
lookup calt7 {
sub narrow_no_break_space [ML.O ML.U ML.OE ML.UE]' [uF32D
uF3AC] by [ML.O uF30C ML.OE uF3A5];
sub narrow_no_break_space [ML.I ML.YA uF30A]' [ML.I ML.JA ML.YA
uF30A uF30B] by [ML.JA ML.JA ML.JA];
} calt7;
} calt;
Гинжилсэн хамааралтай дан орлуулгыг буцаах (Reverse Chaining contextual single substitution), энэ нь “буцаж явах” ба/эсвэл “урьдчилан харах” дарааллаар гинжлэн оруулсан глипээр орлуулж солигдсон ганц глипийг буцаахыг зөвшөөрнө.
Энэ орлуулгыг хэрэглэсэн үгүйг санахгүй байна л даа. Энэ бүгд маань анхны туршилт байсан тул алдаа мадаг байж болно. Гэхдээ цэгцтэй сайхан алгоритмын бүрэн бэлтгээд гаргавал монгол бичгээрээ үйлдлийн системийн талбараас хамаарахгүй ажиллаж болох нөхцөлийг бүрдүүлээд өгнө гэсэн ойлголт. Залуус аа цааш уншиж судлаач, мэдэх зүйлээ хуваалцаач, төвөгшөөлгүй хийгээд ирвэл хүн бүр чадах мэдэхээрээ хамтарч юм бүтээж чадна. :-)
Энэ орлуулгыг хэрэглэсэн үгүйг санахгүй байна л даа. Энэ бүгд маань анхны туршилт байсан тул алдаа мадаг байж болно. Гэхдээ цэгцтэй сайхан алгоритмын бүрэн бэлтгээд гаргавал монгол бичгээрээ үйлдлийн системийн талбараас хамаарахгүй ажиллаж болох нөхцөлийг бүрдүүлээд өгнө гэсэн ойлголт. Залуус аа цааш уншиж судлаач, мэдэх зүйлээ хуваалцаач, төвөгшөөлгүй хийгээд ирвэл хүн бүр чадах мэдэхээрээ хамтарч юм бүтээж чадна. :-)
Comments
Òà òýð ôîíòóóäàà íèéòýëñýí ýñâýë, òàòàæ àâàõ õîëáîîñ õèéñýí áîëîâ óó? Áè TTF ôîíò áîëãîõ òàëààð îðîëäîæ ¿çüå ãýæ áîäëîî. Ýõíèé àëõàìä íýã á¿ð÷èëýí çóðæ vector graphic áîëãîõ õýðýãòýé áàéõ. Òýãýýä òàíä ¿ð ä¿íãèé íü ¿ç¿¿ëüå.
Ta ter fontuuda niitelsen, esvel tataj avah holboos hiisen bolov u? Bi TTF font bolgoh talaar oroldoj uzey gej bodlo. Ehnii alhamd neg burchilen zurj vector graphic bolgoh heregtei baih. Tegeed tand ur dungii ni uzuuley.
Дараах бичлэг дээр холбоосууд нь байгаа.
http://erdeelym.blogspot.com/2010/04/blog-post_08.html
Хөдөлмөр гарган энэ бүгдийг нэг бүрчлэн тайлбарлаж байгаад тань баярлалаа. Нэг юм асууя...
Үржих орлуулгыг хаана хэрэглэх вэ? Тийм практик хэрэглэгээний жишээ хэлж өгөөч...
Хэвлэлийн янз бүрийн монгол фонтууд сайхан хийх бол монгол бичигт лигатур зайлшгүй хэрэгтэй юм билээ.
Түүнээс лигатур байхгүйгээр фонт шийдэд рендренг хийхийг өөрөөр тодорхойлчих боломжтой байгаа юм л даа.
Опентайп фонтоор биш өмнөх фонтуудыг ашиглаад хэд хэдэн прототайп лигатиргүй туршиж үзэхэд боломжтой байсан.
(Жич: Баянаа чи нэг монгол бичгийн хичээл бичээд байсан бил үү, Түүнийхээ холбоосыг http://mongolian-script.blogspot.com/
http://mongolian-script.blogspot.com/ Суралцах хэсэгт коммент- оруулчихна уу? Өөр эх сурвалжууд мэдэж байвал бас оруулчихвал их сайн байна. Бүгдийн цуглуулаад монгол бичиг сурах хүнд хэрэгтэй жагсаалт гаргах санаатай байгаа юм.)
Би хичээл бичиж өнгөрүүлсэнгүй. (Өвөр монголчууд ингэж ярьдаг юм, сонсоод дасчихаар ингэж ярьмаар санагдлаа :)) Харин тэр буланд Unicode дээр бичигдсэн "Монгол бичгийн текстүүд" гээд булан нээчихвэл бас зүгээр санагдлаа... Фонт, программаа шалгахад ч юмуу бэлэн текст их хэрэг болох юм.