Wednesday, November 3, 2010

Шинэ фонт ROMANSMON.SHX

Та бүхэнд Кад –н стандарт фонтуудын нэг ROMANS.SHX фонтыг монгол болгож хөрвүүлсэн ROMANSMON.SHX фонтыг хүргэж байна. Ө, Ү , ₮ үсгүүдийг нэмж тохиргоо хийгдсэн болно.
Давуу талууд:
                - Шинэ монгол үсгийн хэв
                - Юникод фонт тул Windows -н стандарт гарт тохирно 

                - Monkey гарт тохирно. Энэ гараар бичсэн текстүүдийг харуулна
                - Босоо текст бичих боломжтой

Хэдийгээр өргөн хэрэглэгддэггүй ч гэсэн зарим зургийн тайлбар бичигт босоогоор бичих шаардлага гарч болно. Гэтэл энэ тохиолдолд яах вэ гэсэн асуудал гарч ирэх ба ихэнх тохиолдолд доорх зурагт харуулснаар бичиж байгаа байх гэж бодож байна.







1-р тохиолдол: Уншихад эвтэйхэн боловч үсэг болгон салангид тул засварлах, зөөх зэрэгт хүндрэл учрах нь илт байна.
2 ба 3-р тохиолдол: Эдгээр аргууд нь засварлах зөөхөд амар боловч уншихад төвөгтэй байна. Хуудсаа эргүүлж байж унших жишээтэй.

Тэгвэл ROMANSMON.SHX фонт босоогоор текст бичихийг дэмжих тул хэрэгтэй сонголтуудыг хийснээр текст босоогоор бичигдэнэ.










ARIMON.SHX, @MONGOLFONT.SHX фонтууд нь босоо текстийг дэмжихгүй тул босоогоор бичих сонголт нь идэвхжихгүй.

ROMANSMON.SHX фонтыг татаж авахын тулд товчийг дарна уу.
Ашиглах зааврыг эндээс үзнэ үү.

Monday, November 1, 2010

Shape font, дүрсэн фонт

Нэг ажилтан маань кад –ын arimon.shx фонт хэрэглэдэг гэтэл Windows – н стандарт гар хэрэглэхэд ө, ү үсэг зөрөөд байна, үүнийг тааруулдаг болгоод өгөөч гэлээ.  Ямар үсэг шинээр хийх биш зөвхөн өөрчлөлт хийх юм чин гайгүй гэж бодоод оролдоод үзье гэлээ. Гол  санаа бол ө, ү үсгийн дугаарыг Unicode дугаар болох u+04e9, u+04af дугаараар соличихвол болно гэдэг бодол байв. Эхний өдрүүдэд огт амжилтгүй байв.  shx өргөтгөлтэй файл нь кад –н фонт файл юм байна гэдгээс хэтэрсэнгүй. TTF фонтыг SHX фонт болгон хувиргадаг программ олдсон ч заавал худалдаж авахыг шаардах ба демо хувилбар нь ч байхгүй байв. Makefont, fontgenerator гэх мэт программууд олсон боловч эдгээр нь шинээр фонт хийхэд зориулагдсан, autolisp хэлээр бичигдсэн ба ашиглаж мэдэхгүй,  дээр нь маш хуучны программууд байв.  
Нэг өдөр SHX VIEWER 1.1 нэртэй программ оллоо. Энэ программаар arimon.shx фонтоо нээтэл үсгүүд маань дугаартайгаа харагдаж байна. Бага ч гэсэн амжилттай. Энэ программаа сонирхож эхэллээ. Мэддэгээр нь хэдэн товч болгоныг дарж үзлээ дээ. Гэтэл дискний зураг дээр (icon) дартал Save as SHP file гэсэн сонголт байх юм. Тэгээд  SHP өргөтгөлтэй файл үүсгэлээ. Үүсгэсэн файлаа нээтэл ашгүй Notepad дээр нээгдэж байна. Дотор нь үсгиийн дугаар ард нь бөөн тоонууд, юу ч гэсэн үсгийн дугаарыг олж чадсандаа бөөн баяр. Интернэт үнэхээр агуу юм. Үнэхээр биширмой.

SHP файлын хэсгээс:
*0,4,PDAR2
100,50,2,0

*10,5
2,8,(0,-120),0

*32,5
2,8,(75,0),0

*33,47
2,8,(25,24),1,12,(4,75,0),2,1,12,(-9,0,0),2,1,12,(5,-75,0),2,8,(-5,-24),1,12,(0,14,0),
2,1,12,(9,0,0),2,1,12,(0,-14,0),2,8,(16,0),0

*34,71
2,8,(40,87),1,12,(-4,0,0),2,1,12,(0,12,0),2,1,12,(7,0,0),2,1,12,(0,-12,0),2,1,12,(-5,-16,0),
2,8,(-20,16),1,12,(-4,0,0),2,1,12,(0,12,0),2,1,12,(7,0,0),2,1,12,(0,-12,0),2,1,12,(-5,-16,0),
2,8,(38,-71),0

*35,41
2,8,(7,33),1,12,(73,0,0),2,8,(-73,34),1,12,(73,0,0),2,8,(-10,33),1,12,(-21,-103,0),
2,8,(-11,103),1,12,(-21,-103,0),2,8,(68,3),0

*36,143
2,8,(35,109),1,12,(0,-124,0),2,8,(26,91),1,12,(-4,12,0),2,1,12,(-10,9,0),2,1,12,(-12,3,0),
2,1,12,(-14,-4,0),2,1,12,(-10,-9,0),2,1,12,(-2,-9,0),2,1,12,(0,-10,0),2,1,12,(5,-7,0),
2,1,12,(9,-6,0),2,1,12,(29,-9,0),2,1,12,(8,-7,0),2,1,12,(2,-7,0),2,1,12,(1,-9,0),
2,1,12,(-2,-9,0),2,1,12,(-8,-8,0),2,1,12,(-12,-6,0),2,1,12,(-7,-1,0),2,1,12,(-10,2,0),
2,1,12,(-10,6,0),2,1,12,(-6,9,0),2,1,12,(-2,10,0),2,8,(69,-26),0

За тэгээд SHP файлын учрыг олох хэрэг боллоо доо. SHP өргөтгөлтэй файл нь AutoCAD Shape Source File файл болохыг Кад-н HELP –с олж мэдлээ. Кад –н COMPILE  коммандаар уг файлыг SHX  өргөтгөлтэй файл болгон хөрвүүлдэг байна. За ингээд үсгийн дугаараа Unicode дугаар болгон өөрчлөөд COMPILE хийж Unicode монгол дүрсэн фонт үүсгэж зорьсондоо хүрлээ. COMPILE хийх нь тийм ч амархан байсангүй. Нэг л тоо зөрвөл алдаа заагаад COMPILE хийхгүй байв. Яг хаана алдсныг олох маш ярвигтай байв. Маш няхуур үзэхгүй бол болохгүй.
Хэдийгээр үүсгэсэн фонт маань arimon.shx фонт боловч хүмүүсийг төөрөлдүүлэхгүйн тулд огт өөр нэр өгч @mongolfont.shx болгосон болно.

Нөгөө учиргүй олон тоонууд маань шулуун зураасын вектор урт, чиглэл байсан байна. Кад фонт нь үсэг болгоныг тогтсон кодтой дүрс мэтээр дүрсэлдэг байна. Кадын үзэг өгсөн коммандын дагуу уг дүрсээ зурдаг байна.

Доорх 15 тусгай кодыг ашиглана.
0              - Дүрс дууссаныг тодорхойлно
1              - Үзэг зураас зурна
2              - Үзэг зураас зурахгүй
3              - Векторын уртыг дараагийн өгөгдсөн тоогоор хуваана
4              - Векторын уртыг дараагийн өгөгдсөн тоогоор үржүүлнэ
5              - Үзэгний тухайн координатыг (байрлалыг) санах ойд хадгална
6              - Санах ойд хадгалагдсан координатыг (байрлалыг) дуудаж үзгийг байрлуулна
7              - Дараагийн байтаар (кодоор) өгөгдсөн дүрсийг зурна
8              - Үзгийг дараагийн хоёр байтаар өгөгдсөн координат уруу шилжүүлнэ
9              - Үргэлжилсэн зураасуудыг зурна. (0,0) төгссөн байна
10           - Дараагийн өгөгдсөн хоёр байтаар тодорхойлогдсон (octant arc) нум зурна
11           - Дараагийн өгөгдсөн таван байтаар тодорхойлогдсон бутархай (дурын, fractional arc) нум зурна
12           - Өгөгдсөн координат болон гүдгэрийн хэмжээ (bulge) –гээр нум зурна
13           - Үргэлжилсэн нумуудыг зурна
14           - Текст босоогоор бичигдэхээр сонгогдсон бол дараачийн коммандыг гүйцэтгэнэ

Жишээ болгож “А” үсэг хэрхэн зурахыг үзье. Доорх бичиглэл нь А үсгийг дүрсэлнэ.
*65,26
2,8,(6,0),1,8,(39,100),2,1,8,(42,-100),2,8,(-15,36),1,8,(-52,0),2,8,(75,-36),0

Тасархай улаан шугам нь үзэг зуралгүйгээр шилжихийг, хар зураас нь үзэг зурж байгааг үзүүлж байгаа болно. Үзэг дүрсээ зурж дуусаад тогтсон байрлалд шилжиж байгааг харж байгаа биз. Дараагийн дүрс тэгээд үргэлжлээд дүрслэгдээд явах нь байна.
Энд *65 нь А үсгийн дугаар болно.  Урт тоонууд нь таслал бүрээр нэг байт гэж тоологдоно. Тэгвэл *65 –ын  дараагийн 26 гэдэг тоо нь А үсэг 26 байтаар тоологдсоныг харуулж байна. Хэрэв энэ тоог зөв тодорхойлохгүй бол COMPILE  хийгдэхгүй. 7 коммандаар дараагийн байт нь дүрсийн дугаарыг өгдөг ба үүнийг харин 2 байт гэж тооцдог байна.
*178,18
2,5,8,(0,80),3,2,7,032,4,2,6,2,8,(70,0),0

Ер нь SHP file-г зөвхөн фонт үүсгэхэд хэрэглэдэг гэж үзэж болохгүй. Олон давтагддаг дүрсээ SHP file –р илэрхийлээд хэрэглэж болно. Өөрөөр хэлбэл уг дүрс хаана байна гэж хайгаад хуулж суухын оронд SHP файлаа дуудахад дүрс дороо зурагдах нь байна. Та нарын зарим нь үүнийг хэрэглэж л байгаа байх.
Одоогоор би үсэг хийхдээ координат өгч гар аргаар зурж байгаа. Кад дээр дүрсээ зураад түүнийгээ SHP file болгодог коммандууд байна лээ. Үүнийг ашиглан шинэ үсгийн шрифт зохиож болох юм. Энэ бүхнийг нарийн судалж амжаагүй л байна.