Нээлттэй төрөл (Opentype) фонт сүүлийн үеийн фонтын нэгэн төрөл бөгөөд нэлээд өвөрмөц бүтэц загвартай. Опентайп технологийг Адоби, Майкрософт компаниуд хамтран боловсруулсан мөн үүнийг үйлдлийн бүх систем дээр хүлээн зөвшөөрөөд хэрэглээд нэлээд хэдэн жил болжээ. Опентайп фонт нь өөртөө бичгийн хэлний шинж чанарыг илэрхийлэхэд туслах мэдээллийг агуулах боломжтой болсон бөгөөд тэр бүгдийг фонтын GSUB ба GPOS хүснэгтүүдэд тодорхойлж өгөөд бичвэр боловсруулах клиент програмаар түүнийг ашиглах боломжтой юм. Монгол бичгийн Опентайп фонтыг үүсгэж ОпенОфист турших үүднээс Опентайпын талаар нэлээд зүйлийг уншиж судлахдаа ойлгосон зүйлээсээ фонтын талаар анхны ойлголттой залуусдаа тус болох бол уу гэж дараах бичлэгийг бичлээ.
Глип орлуулах/сэлгэх хүснэгт GSUB (The Glyph Substitution Table)
Глип орлуулах хүснэгт нь фонт дахь хэлний бичлэгийн зарчим(систем) -ыг хангах ба бичлэгт орлуулах глипүүдийн сэлгэх хувирлын тухай мэдээллийг агуулна. Олон хэлний бичигт орлуулагч глипийг шаарддаг. Жишээлбэл: монгол бичигт үсэг нь үгэнд орох байрлалаасаа хамаар ч өөр өөр зурлагаар бичигддэг. Глип гэдгийг та нэг үсэг эсвэл тэмдгийг зурж харуулах дүрс гэж ойлгож болно. Фонтын тухай дэлгэрэнгүй ойлгохын тул лигатур (ligature) гэсэн өөр нэг ухагдахууныг ойлгох хэрэгтэй. Зарим бичгийн хэлэнд глип орлуулгыг бичгийн гоо зүйн үүднээс лигатур хэрэглэнэ. Жишээ нь Англи хэлэнд “ffi” үсгүүдийг холбож бичихэд хэрэглэж болно. Мөн үүнийг монгол бичигт “БО, БҮ, ПӨ, ПҮ” гэх үе, “МЛ” үсгийг зэрэгцүүлж бичих үед хэрэглэж болно.
Олон фонт глип тэмдэгтэд буух буулгалт нэгээс нэг гэх нэг тэмдэгт нэг глиптэй байна гэсэн тэмдэгтийн кодлолын стандартаар хязгаарлаж хэрэглэдэг. Энэ нь фонтын глип бүр нэг тэмдэгтийн кодын утгад харгалздаг.
Хэд хэдэн тэмдэгтийн кодыг нэг глипэд буулгаж чадахгүй, үүнд лигатур глипүүд хэрэгтэй ба хэд хэдэн глип нэг тэмдэгтийн кодод буулгалт хийж чадахгүй мөн үүнд лигатурыг задалж хэд хэдэн глипээр илэрхийлэх хэрэгтэй.
Глип орлуулахын тулд фонт хөгжүүлэгчид тэмдэгтийн кодууд нь ялгаатай байхаар глипүүд болон орлуулагч глипийг нэг фонтонд эсвэл нэмэлт фонтыг үүсгэх эсвэл тэмдэгтүүдийн олонлог үүсгэдэг. Энэ глипүүдэд хандахын тулд хэрэглэгчид тэмдэгтүүдийн код буюу тэмдэгтүүдийн олонлог эсвэл фонтын хооронд ээлжлэн шилждэг.
OpenType-д глипүүдийн хооронд сэлгэх буюу орлуулах.
Опентайп(OpenType)-ын GSUB хүснэгт нь глип орлуулалтыг бүрэн дэмждэг. Глип орлуулахдаа, GSUB нь глип индекс эсвэл “cmap” хүснэгтэд тодорхойлсон индексүүдийг глип индекс эсвэл глип орлуулагчийн индексүүдэд харгалзуулж буулгана. Жишээ нь: Хэрэв фонтод монгол бичгийн А үсгийн бичлэг буюу глип дөрвөн өөр глип хэлбэрээр байвал “cmap” хүснэгтэд монгол бичгийн А үсгийн кодыг(юникод) орлогч нь энэ дөрвөн глипийн зөвхөн нэг нь байх болно. Үлдсэн гурван глипийг энэ ганц индексээр гаргаж ирэхийг GSUB хүснэгтэд зааж өгнө.
Бичвэр боловсруулагч клиент програм нь GSUB өгөгдлөөр глип сэлгэх үйлдлээ гүйцэтгэнэ. GSUB нь глипүүдийн орж ирэх болон глип бүрийг орлуулж гаргах ажиллагааг таньж, хаана хэзээ клиент програм глип орлуулгыг хэрэглэхийг тодорхойлж, мөн глип орлуулах үйл ажиллагаанд даалгавар өгч зохицуулдаг. Хэчнээн ч тооны орлуулгыг фонт дохь бичгийн эсвэл хэлний систем төлөөлөгчид тодорхойлж өгч болно.
GSUB хүснэгт олон улсын хэвлэлийн технологид өргөн хэрэглэдэг глип орлуулгын зургаан төрлийг дэмждэг. Үүнд:
Дан орлуулга (A single substitution), нэг глипийг өөр нэг глипээр солих. Глипийн хувилбарыг байрлалаас хамааруулж хувиргахад хэрэглэнэ. Өөрөөр хэлбэл үсгийн үгийн эхэнд, дунд, адагт бичигдэх хувилбарын өөр хэлбэрүүдийг бичихэд хэрэглэнэ.
Үржих орлуулга (A multiple substitution), нэг глипийг хоёр болон түүнээс дээш глипээр орлуулна. Үүнийг лигатур-ыг задлах мэт үйлдлийг тодорхойлоход хэрэглэдэг. Жишээлбэл монгол бичгийн БҮ гэсэн үеийг Б ба Ү гэсэн хоёр тусдаа бичихээр салгана л гэсэн утга.
Хувилбар(ондоо) орлуулга (An alternate substitution), үүрэг нь ижил глипийн харагдах хэлбэр нь ондоо байхыг тодорхойлох орлуулга. Энэ глипүүд нь ихэнхдээ үзэмж гоо зүйн үүднээс ондоо өөр байна. Жишээлбэл фонт монгол бичгийн төгсгөл Б -г эсвэл төгсгөл О-г хоёр ялгаатай глипээр бичиж хэрэглэж байвал, нэг глипийг өгөгдмөл индексээр “сmap” хүснэгтэд тодорхойлно. Тэгээд клиент програм нь өгөгдмөл глипийг хэрэглээд өөр хэлбэрийг нь орлуулгаар хэрэглэж болно.
Лигатур орлуулга (A ligature substitution), хэд хэдэн глип индексийг цугтан нэг глип индексээр солино, Араб бичгийн хэлэнд бие даасан хэд хэдэн глипийн стринг лигатураар орлуулж болно. Цувсан олон глип буюу стринг нь орлуулгаар ганц лигатур болж болно. Энэ тохиолдолд эхний глип лигатур болсон гэсэн үг. Стрингээс ийм аргаар устгагдаад үлдэх глипүүдэд “lookup” дарцгуудыг энэ глидүүдийг алгасаж байна гээд нэгтгэж өгдөг.
Үүнтэй адил монгол бичгийн нум зурлагатай гийгүүлэгч үсгүүдийг эгшгээр амилуулсан үеийг бичихдээ нум дотор арын эгшгийг оруулж ирээд бичгийн сайхан хэвээр дүрслэх лигатурыг хэрэглэнэ. (Уг нь үүнийг хэрэглэхгүйгээр ерээд оны эхэнд SUDAR-т ажиллаж байсан, мэргэжлийн олон хүн юникодыг боловсруулах явцдаа лигатургүй байхгүй бол төрөл бүрийн фонт үүсгэхэд төвөгтэй гэснээр лигатур бэлтгэсэн. Лигатур хэрэглэхгүй Монгол бичгийн фонтын GPOS-ийг ашиглаад байрлалаар тохируулах арга буюу нумтай үсгийн дараа орсон О,У,Ө,Ү гэх мэтийг нумын дунд хүртэл курсорыг шилжүүлж байрлуулаад бич гээд хүснэгтээр зааж өгч бичиж болно.:-) )
Хамааралтай орлуулга (Contextual substitution), хамгийн хүчтэй төрөл бөгөөд глипүүдийн зарим дүрмээр(pattern) нэг эсвэл нэлээд глипийг орлуулах хамаарлын нөхцөлтэйгөөр глип орлуулгуудыг тодорхойлно. Орлуулга бүрт орох нэг эсвэл хэдэн глип дараалал ба дараалал дээр гүйцэтгэх нэг эсвэл хэдэн орлуулга тодорхойлогдоно. Хамааралтай орлуулга нь тодорхой глип дараалал(sequences), глип ангиар(classes), глипүүдийн олонлогоор(sets) хэрэгжинэ.
Жишээ нь монгол бичгийн үе ба үгийн адагт доороо эгшиггүй дэвсгэрлэн ордог үсгийг олонлог болгож ялгаад дэвсгэрлээгүй үедээ нэг янзаар бичих дэвсгэрлэсэн үедээ өөрөөр бичихийг ялгаж хэрэглэж болно.
Гинжилсэн хамааралтай орлуулга (Chaining contextual substitution), хамааралтай орлуулгын хүчин чадлыг өргөтгөх зорилготой. Үүгээр орох дарааллын глипүүдийн дүрмээр нэг эсвэл хэдэн глипээр нэг эсвэл хэдэн орлуулгыг гүйцээж болно. Мөн оруулах дарааллыг “буцаж явах” ба/эсвэл “урьдчилан харах” дараалалтай холбож шинжилнэ. Ийм орлуулга бүрийн орох дарааллыг
Гинжилсэн хамааралтай орлуулга (Chaining contextual substitution), хамааралтай орлуулгын хүчин чадлыг өргөтгөх зорилготой. Үүгээр орох дарааллын глипүүдийн дүрмээр нэг эсвэл хэдэн глипээр нэг эсвэл хэдэн орлуулгыг гүйцээж болно. Мөн оруулах дарааллыг “буцаж явах” ба/эсвэл “урьдчилан харах” дараалалтай холбож шинжилнэ. Ийм орлуулга бүрийн орох дарааллыг
- глипүүдтэй ажиллах
- глип ангиудаар
- глип олонлогоор
гэсэн гурван форматыг ашиглаж хэрэгжүүлж чадна. Форматууд дор бүрдээ нэг эсвэл хэд хэдэн “буцаж явах”, оруулах ба “урьдчилан харах” дарааллуудыг тодорхойлж чадна.
Гинжилсэн хамааралтай дан орлуулгыг буцаах (Reverse Chaining contextual single substitution), энэ нь “буцаж явах” ба/эсвэл “урьдчилан харах” дарааллаар гинжлэн оруулсан глипээр орлуулж солигдсон ганц глипийг буцаахыг зөвшөөрнө. Энэ төрөл бусад “lookup” төрлөөс ялгагдах ялгаа нь оруулах глипийн дараалал төгсгөлөөсөө эхлэл рүү чиглэж боловсруулах ажиллагааг гүйцэтгэнэ.
Дараах баримт бичгүүдээс дэлгэрүүлэн судалж болно.http://partners.adobe.com/public/developer/opentype/index_table_formats1.html
http://www.microsoft.com/typography/otspec/gsub.htm
Хэвлэлийн технологийн мэргэжилтнүүд бичгийн ТЭГ / ТИГ гээд яриад байгаа л даа. Би үүнийг фонт, глип, лигатур, фонтын төрлийн алийг нь хэлээд байгааг оноож хэлж мэддэггүй. Мэдвэл туслаарай залуусаа.
Comments