2012/10/19

Хазсан алим дээр Монгол толь бичиг

Би уг нь Болор толь бичиг ашигладаг юм. Миний бодлоор Монгол толь дундаасаа хамгийн чанартай нь байх. Харамсалтай нь зөвхөн онлайн хэлбэрээр ашиглаж болох бөгөөд сүүлийн үед сүлжээгүй тохиолдолд байн байн мэдэхгүй үг харах хэрэг гарсан учраас офлайн хэлбэрээр ашиглаж болох толины эрэлд гараад Очирхуягын github дээрээс хэдэн Монгол stardict толь бичиг олов. Энэ хэдэн толь дээр Я. Цэвэлийн толийг нэмээд DictUnifier хэмээх багаж ашиглан Хазсан Алимны үндсэн толь бичиг формат руу хувиргаж Dictionary.app дээр ашигладаг болголоо. Иймэрхүү харагдаж байна:


Та Хазсан алимд зориулсан Я.Цэвэлийн Монгол хэлний тайлбар толь болон Алтэнгэрэлийн Англи-Монгол толь бичгүүдийг эндээс татаж авч болно. Суулгахын тулд татаж авсан файлаа задлаад үүссэн *.dictionary файлуудыг ~/Library/Dictionaries/ руу хуулаарай. Дараа нь Хазсан Алимныхаа Dictionary.app-ын тохиргоо дотор Монгол толь бичгээ идэвхжүүлэхээ мартуузай.

Жич: энэ толь бичгүүдийг iPhone, iPad дээр суулгаад iBook дээр ашиглаж болно.

2012/10/13

Theos/Logos ашиглан Tweak буюу зальжин програм бичих арга

Өмнөх нийтлэлд MobileSubstrate болон Theos/Logos-ийн талаар товчхон дурдсан билээ. Тэгвэл энэ удаад Theos/Logos тогтолцоог ашиглан шоронгоос оргуулсан төхөөрөмжид зориулж iOS 5 SDK ашиглан Tweak буюу зальжин програм хэрхэн бичих талаар өгүүлье. Дашрамд хэлэхэд шоронгоос оргуулсан iPhone, iPad дээр ажилладаг MongolKeyboard энэ аргаар хийгдсэн байгаа.  Одоо жишээ болгоод нэг зальжин програм хийж үзүүлье. Энэ програм нь iPhone-ий дэлгэцийг түгжсэний дараа дахин дэлгэцээ нээхэд түгжээтэй дэлгэц дээр зүйр цэцэн үгс, алдартай хүмүүсийн хэлсэн онч мэргэн ухаант үгсийг санамсаргүйгүээр сонгон харуулдаг зальжин програм юм.


Юуны түрүүнд програм бичих орчноо бэлдэх нь чухал юм. Мэдээж энд Mac OS X орчинд хөгжүүлэх тухай ярьж байгаа. Зарим хүмүүс Линукс дээр хөгжүүлдэг гэж байгаа, тэр тохиолдолд нэлээн олон зүйлс суулгаж тохируулах шаардлагатай болох учраас энд зөвхөн OS X-ийн орчинд хөгжүүлэх талаар дурдъя.

Дараах шаардлагуудыг хангасан байх хэрэгтэй.
1. Unix/Linux дээр ажиллаж байсан бага туршлага байсан ч тустай.
2. Xcode суулгасан байх шаардлагатай.
3. macports суулгах хэрэгтэй.
4. Macports ашиглаад dpkg суулгасан байх шаардлагатай.
5. git суулгасан байх шаардлагатай. Энэ нь бидний жишээг туршихад хэрэг болно.
5. iPhone руугаа холбогдохын тулд iPhone дээрээ OpenSSH суулгасан байх хэрэгтэй. Cydia-аас суулгачихаад default нууц үгийг өөрчлөхөө мартав. Тэгэхгүй бол өт хорхойнууд сүлжээнээс ороод ирнэ шүү. Анхдагч нууц үг нь alpine гэж байгаа.
6. Mac дээрээ SFTP дэмждэг FTP client програм суулгаж болно, гэхдээ заавал шаардлагагүй. Тушаалын мөрөөс scp тушаалыг ашиглаад юмаа хуулаад байж болно.
7. Debug хийх шаардлага гарч болзошгүй учраас Cydia ашиглаад syslogd, adv-cmds, network-cmds, diskdev-cmds, file-cmds, File Utilities, less гэх мэт хэрэгслүүдийг суулгаж болно.

За тэгээд програмаа бичихдээ ямар засварлагч ашиглах эсэхээ өөрсдөө мэдээрэй.
Миний хувьд emacs эсвэл TextMate v2 ашигладаг. Эхлэн суралцагчдад TextMate нь амар байх болов уу.

Theos/Logos-ийн гол зарчим нь hook буюу дэгээдэх гэж байгаа обьект болон түүний метод, өмчүүдийг %hook ... %end гэсэн хүрээнд оруулан бичих явдал юм.
Жишээ нь:


Гэхдээ ингэж дэгээдэж зальжин програм бичихийн тулд ямар обьект, метод, өмчүүдийг дэгээдэхээ нэлээн судлах хэрэг гарна. Учир нь зарим нэг обьект, классуудын толгой файлын эх код байдаггүй. Гэхдээ хөгжүүлэгчид үүний учрыг олж KennyTM-ийн хийсэн class-dump-z хэрэгслийг ашиглан классуудын тодорхойлолтуудыг гаргаад авчихсан байдаг. Өөрөө ч уг хэрэгслийг ашиглаад тодорхойлолтыг гаргаад авч болно.
За тэгээд эдгээр тодорхойлолтуудыг харж байгаад дэгээдэж гогдох класс, методоо олно доо. Миний үзүүлэх жишээн дээр iPhone-ий Lock screen буюу түгжээтэй дэлгэц үзүүлдэг хэсгийг дэгээдсэн байгаа :)
Эх кодоо бичих явцдаа мэдээж байнгын туршилт хийгээд явах нь зөв болов уу. Жишээн дээр NSLog ашиглаад тайлбар болгосон хэсэг бий, ашигласан тохиолдолд syslog руу бичигдэнэ. Syslog файл /var/log/syslog дотор үүсч байгаа. ssh-ээр iPhone руугаа ороод тэрийг tail -f /var/log/syslog гэх маягаар шалгаад явж болно.
Эх кодоо зөв ажиллаж байгаа эсэхийг шалгахын тулд мэдээж бүтээж эмхэтгэх хэрэгтэй.
Үүний тулд Makefile-аа бас зөв тохируулж өгөх ёстой. Жишээ нь:


Энэ талаар Интернэт дээр зөндөө жишээ болон тайлбарууд бий учир дэлгэрүүлэлгүй орхихоор шийдлээ. Мөн миний үзүүлэх жишээн дээр бүгдийг тохируулаад хийчихсэн байгаа.

Хэрэв PreferenceLoader ашиглаад Settings дотор ажиллах програмынхаа тохиргоотой холбоотой зүйлсийг оруулах бол Theos-ийн nic.pl хэрэгслийг ашиглаж болно.

Жишээ програмын кодыг харвал тийм ч айхтар их юм харагдахгүй л болов уу.
Кодыг бичих явцдаа бараг мөр бүрийг тайлбарлаад оруулсан байгаа учир илүү ойлгомжтой болсон байх.
Мөн онч мэргэн үгсийг массивт жишээ болгоод дөрвийг хийсэн байгаа.
Сайжруулж хөгжүүлэх хүсэлтэй нэг нь онч мэргэн үгсээ файл эсвэл sqlite гэх мэт өгөгдлийн санд бас хадгалаад уншдагаар хийж бас болох юм шүү.
Бас өөр нэг санаа нь хэл сурахыг хүссэн нэг нь онч мэргэн үгсийн оронд гадаад хэлний шинэ үгсийг орчуулгатай нь харуулдагаар хийж болно.

Програмын эх кодыг https://github.com/fooatbar/LockQuote хаягаас татан авч туршина уу.
Хэрхэн татаж авч турших талаар README.md файлд бичсэн байгаа болно. Тушаалуудыг Терминал дээрээс ажиллуулахаа мартав.
Програмын эх код нь зөвхөн Tweak.xmi файлд бий. Бусад нь Theos-ийн гэх мэт туслах файлууд болон толгой файлууд юм. layout/DEBIAN сан дотор суулгахад хэрэглэгдэх control (ерөнхий тайлбар), postinst (суулгасны дараах хийх зүйлс), postrm (устгасны дараа хийх зүйлс) гэсэн файлууд бий. layout/Library/MobileSubstrate/DynamicLibraries сан дотор LockQuote.plist гээд шүүлтүүр файл бий. layout сан доторх файлууд нь pkg үүсгэхэд LockQuote.dylib файлтай цуг нэг багц болон ордог.

За тэгээд асуулт асуухаасаа өмнө энд бичсэн зүйлсийг сайн уншаарай.
Мөн өмнөх нийтлэлийг бас нэг харчихад зүгээр шүү.

Амжилт хүсье!

Зальжин програм хөгжүүлэгчид олшрох болтугай :)

Нэмэлт тайлбар:

Хэрэв Xcode 4.5 суулгасан бол хуучин iOS 5.x SDK байхгүй байгаа. Түүнийг нэмэлтээр хуучин Xcode-уудаас задалж SDK байгаа сан (/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/) руу хуулж өгөх ёстой.

2012/10/10

Ажиллах явцад нөхөөс хийх боломж буюу MobileSubstrate болон зальжин програм


MobileSubstrate нь iOS системийг (iPhone, iPad, iPod гэх мэт) ажиллах явцад нөхөөс хийх боломжийг хөгжүүлэгчдэд олгодог тогтолцоо юм. Энэ тогтолцооны тусламжтайгаар jailbreak буюу шоронгоос оргуулсан iOS төхөөрөмж дээр Apple-аас албан ёсоор зөвшөөрөгдөөгүй хөгжүүлэлтийн боломжуудыг ашиглан програм хөгжүүлэх, аль эсвэл ямар нэг програмыг ажиллах явцад нь өөрчлөх, эсвэл сайжруулж өөр олон санаануудыг нэмэх зэргийг хийх боломжтой болгодог. Ажиллах явцад програмын ажиллагааг өөрчилдөг програмыг tweak буюу зальжин програм гэж хэлж болно.
iOS төхөөрөмжийг шоронгоос оргуулахын нэг давуу тал нь энэ юм. Хөгжүүлэгчдэд ямар нэг хязгаарлалтгүйгээр төрөл бүрийн програм хөгжүүлэх асар өргөн боломжийг олгож, хэрэглэгчдэд AppStore-д баригдалгүйгээр олон төрлийн програм суулгах нөхцөлийг бүрдүүлдэг. Зарим магадгүй утсаа эвдчихнэ гэж боддог аймхай нэг нь iOS төхөөрөмжийг шоронгоос оргуулах нь хууль ёсны бус шүү дээ гэж хэлэх л байх. Магадгүй улс улсаасаа хамаарч болох юм, гэхдээ л DMCA-н хүрээнд АНУ-д хууль ёсны гэж зөвшөөрөгдсөн байгаа юм. Энэ талаар болон шоронгоос оргуулах талаар уншигчид өөрсдөө дэлгэрүүлээд уншина биз.

Эргээд MobileSubstrate-н ажиллах зарчмыг товчхон тайлбарлавал:

1. Cydia нь MobileSubstrate-г суулгах үед cynject-г /etc/launchd.conf дотор нэмж өгдөг. Ингэснээр програм эсвэл демон бүрт тарилга болон орох боломжтой болдог. Мөн MobileSubstrate суух үед /Library/MobileSubstrate гэсэн сан үүсдэг бөгөөд түүн дотор динамик сан нь хадгалагддаг.

2. cynject нь SubstrateLauncher.dylib-г процесс 1-д (launchd) тарьж оруулж өгдөг бөгөөд энэ сан нь орчны хувьсагч DYLD_INSERT_LIBRARIES-г /Library/MobileSubstrate/ болгож тохируулах ажлыг хийдэг. Ерөнхийдөө "DYLD_INSERT_LIBRARIES" орчны хувьсагчийг төхөөрөмж ачаалахад launchd тохируулж өгдөг.

3. Энэ орчны хувьсагчийг dyld буюу динамик linker орчуулбал холбогч уншиж /Library/MobileSubstrate/ санг хайн mobilesubstrate.dylib-г дууддаг. Ингэхдээ:
    а. mobileloader (MobileSubstrate-н бүрэлдэхүүн хэсэг) нь өөрийгөө ажиллаж байгаа програм руу дууддаг бөгөөд DYLD_INSERT_LIBRARIES-г ашигладаг.
    б. mobileloader дараа нь mobilesubstrate-г дууддаг.

4. MobileSubstrate нь "DYLD_INSERT_LIBRARIES" орчны хувьсагч ашиглан бүх програмуудад тарилга болон ордог. Энэ нь /Library/MobileSubstrate/DynamicLibraries санд байгаа dylib-үүдийг дууддаг.

5. Tweak буюу зальжин програмууд нь динамик сангууд бөгөөд эдгээр нь /Library/MobileSubstrate/DynamicLibraries санд хадгалагдаж динамик холбогч ашиглан ажилладаг програм бүрийн хувьд тодорхой шүүлтүүрийн нөхцөл хангагдсан тохиолдолд дуудагддаг байна.

6. dylib буюу динамик сангууд нь тодорхой шүүлтүүртэй байх ёстой.

Шоронгоос оргуулсан төхөөрөмжид зориулж програм зохиохдоо Xcode-н GUI ашиглаж болохоос гадна зальжин програм хөгжүүлэхийг хялбаршуулсан тогтолцоонууд байдаг. Тэдгээрийн хамгийн түгээмэл нь Theos/Logos юм.
Энэ нь эх файл буюу .xm файлыг эмхэтгэж хөрвүүлэхдээ эхлээд logos (.pl) ашиглаж боловсруулан obj-C/C++ код болгодог бөгөөд үүнийг дараа нь theos хөрвүүлдэг.
Завсрын файлыг logos.pl ашиглан харж болох бөгөөд .m гэх зэргийн файл үүсгэдэг.
Жишээ нь: # /path/to/logos.pl Tweak.xm > Tweak.m гэх мэт

Дараагийн удаа цаг зав болбол хялбар Tweak хэрхэн хөгжүүлэх талаар бичье.

MobileSubstrate болон Theos/Logos-той холбоотой бусад мэдээллүүдийг интернэтээс хайж олоод уншина бизээ.

Huawei, Univision ба Үндэсний Аюулгүй Байдал

Өчигдөр Америкийн нэгдсэн улсын конгрессийн тагнуулын албыг хариуцсан байнгын хороо Хятад ард улсын цахилгаан холбооны Huawei болон ZTE хэмээх компаниуд АНУ-ын аюулгүй байдалд аюул учруулж байна гэж зарлажээ. 11 сар судалсны эцэст гаргасан тайланг нь эндээс эх хувилбараар нь уншиж болно. Тайлан дээрээ энэ компаниудыг цаанаас нь Хятадын засгийн газар удирддаг, үүгээрээ дамжуулж өөр улсуудыг чагнаж тагнадаг гэж үзэж байгаа юм байна. Жишээ нь Huawei бол цахилгаан холбооны төхөөрөмж нийлүүлдэг хамгийн том компани, тиймээс дэлхийн хамгийн том 50 цахилгаан холбооны компаниудын 45 нь ямар нэгэн хэмжээгээр Huawei-гийн төхөөрөмжүүд ашигладаг аж. Энэ төхөөрөмжүүд дээр нууц программ суулгасан байхад л дэлхийн ихэнх хүмүүсийг чагнах боломжтой болчхож байгаа юм. Huawei-г үндэслэсэн нөхөр л гэхэд Хятадын ардын армийн инженер байсан нөхөр юм байна. Тэгэхээр тун сэжигтэй байгаа биз дээ? Тийм учир өнгөрсөн зун Герман улсын бүх их дээд сургууль болон шинжлэх ухааны байгууллагуудыг хооронд нь холбодог Deutsches Forschungsnetz хэмээх сүлжээнд Huawei-ийн төхөөрөмж ашиглаж болохгүй гээд  хорьчихсон, мөн Австрали улс ч гэсэн хорьчхож.

Хятадууд мэдээж тэнэг улсууд биш учир анх төхөөрөмж нийлүүлэхдээ ямар нэгэн чагнаж тагнадаг програмгүйгээр нийлүүлдэг гэнэ. Ийм программ бүх төхөөрөмж дээр нь ажиллаад байвал дор нь баригдчихна л даа. Тиймээс төхөөрөмжүүдийнхээ программ хангамжийг албаар алдаатай хийдэг гэж байх юм. Хүн чагная гэвэл албаар хийсэн алдаагаа ашиглаж ороод чагнадаг программаа суулгачихна, чагнаж дуусчхаад буцаагаад устгачихдаг гэнэ. Сая өнгөрсөн зун гэхэд л DEFCON мэдээллийн аюулгүй байдлын конференц дээр Huawei-гийн төхөөрөмжүүдийн тухай дүүрэн алдаатай байна гээд илтгэл тавигдаж байх жишээтэй. Ийм алдаануудыг ер нь албаар хийсэн гэж үзээд байгаа юм. Тэрнээс биш жилд 20 миллиард долларын гүйлгээ хийж хэдэн миллиард долларын ашигтай ажилладаг хятад компани миллиард хүмүүсээсээ хамгийн сорыг нь шилж аваад хийе гэвэл ямар ч алдаагүй юм хийх байх даа. Өөрсдөд нь ашигтай болоод л албаар алдаатай юм хийгээд байгаа болов уу. Дор хаяад л чагнаж тагнадаг программ суулгасан төхөөрөмж нь баригдчихвал өө бид нарт ямар ч хамаа байхгүй, манай төхөөрөмжийн алдааг ашиглаад хакерууд нэвтрээд юм суулгачхаж гээд л гүрийчихнэ шд. Тийм болохоор янз бүрийн улс оронгууд Huawei, ZTE хоёроос татгалзаад байгаа юм байна.

Өнөөдөр яагаад энэ компаниудын тухай бичвээ гэхээр, энэ маань Монгол улсын аюулгүй байдалтай нэлээд холбоотой юм л даа. Монголчууд мөнгөө хэмнэх гээд л мэдээж хамаг холбооныхоо төхөөрөмжүүдээ урдаас зөөдөг байх. Ихэнх л газар Huawei, ZTE хоёр харагддаг. Тэр  нь ер нь ямар аюултай вэ гэдгийг манайхан бараг гадарладаггүй. Тиймээс та бүхэнд өөртөө тохиолдсон нэг жишээ бичмээр санагдлаа. (Энэ жишээний алдаа яаг Huawei-ийн буруу биш л дээ, гэхдээ ийм алдаа хийх боломж олгож байгаа явдал нь Huawei-ийн дээр дурдсан алдаатай адилхан далд санаа агуулсан болов уу)

Зун амралтаараа Монгол явж аав ээж дээрээ очвоо. Урьд очиход аавынх Сансар кабелтай байдаг байсан бол энэ жил харин Univision тавиулчхаж. Урьд том хавтгай телевиз дээр аймаар барзаасан юм үздэг байсан бол энэ жил монгол сувгууд HD-аар гараад над шиг нүд муутай хүнд тэрэн шиг сайхан юм алга аа. Univision сайн үйлчилгээтэй юм байна, тийм ч болоод тэрүү хамаг таньдаг хүмүүс Univison-той болчхож. Ямар нэгэн орон сууцны байшин руу ороход л Univision гэсэн wifi access point-ууд ёстой арав хориороо гарч ирж байна лээ. Зуслан дээр хүртэл танай ийшээ шилэн кабел татсан, зуслангийн байшиндаа Univision тавиулах уу гэчихсэн явж байсан. Тэгэхээр Univision нэлээд их хэрэглэгчтэй болов уу. За тэгээд Univision  тавиулахаар Huawei төхөөрөмжүүд дагаж ирдэг юм байна. Манайд шилэн кабелын оролттой Huawei HG8245 гэсэн рүүтер тавигдаж. Иймэрхүү юм байна:


Гар утсаа wifi-ээр холбож интернетэд орох гэсэн чинь аав ээж хоёр ямар ийм юм ашиглаж мэдэх биш мэдэхгүй ээ Univision-оос асуу гэв. Тийшээ залгатал дандаа хүүхнүүд утас авж байна аа, нэг нь гэрийнхээ утасны дугаарыг нууц үг болгоод хийгээд үз гэв, тэрийг нь хийсэн чинь болдоггүй ээ, тэгэхээр нь нэг хүүхнээс нь рүүтерийн web interface-ийн нууц үгийг нь өгөөч би өөрөө wifi нууц үгээ reset хийчихье гэсэн чинь урдаас та нар шиг хүмүүст нууц үгийг нь өгдөггүй гэж байх юм. Тэгэхээр дургүй хүрээд ойр орчныхоо хүмүүсээс сураглатал рүүтерээсээ backdoor олоод web interface-рүү нь орчихсон Монгол хүн байна цаана чинь. Тэгэхээр нь аргийг нь гуйж аваад орох гэж үзэв. Тэгсэн болдоггүй шүү. Учир нь манайх шилэн кабел ордог болохоор нөгөө нөхрийн рүүтерээс шал өөр рүүтер аж.

За тэгэхээр нь өөрөө Huawei төхөөрөмжөөс алдаа олдог баатар болвоо. Рүүтерийхээ нэрээр интернетээс хайтал service manual нь гараад ирж байна. Тэрэн дээр нь default нууц үг нь telecomadmin:admintelecom эсвэл root:admin гээд цагаан дээр хараар бичээстэй байлаа. Юмыг яаж мэдэх вэ гээд web interface дээр турштал болохгүй байв. Харин telnet-ээр холбогдож байгаад дээрх нууц үгнүүдийг нь өгтөл шууд холбогдоод WAP гэсэн shell асаж байна, манайхан web interface дээр логин хийдэггүй болгочхоод telnet-ийг мартчихаж дээ хөөрхий:


help гээд тушаал бичсэн чинь янз бүрийн рүүтерийн тохиргоо өөрчилдөг тушаалууд гарч ирж байна:


Цааш нь нэлээд оролдож байгаад shell гэж бичтэл линукс shell асаж байна:


Линукс shell асчихаар тэгээд энэ рүүтер дээр дуртай юм аа хийж болж байгаа юм. Жишээ нь /mnt/jffs2/hw_ctree.xml гэсэн файл дотор нөгөө хайгаад байсан wifi нууц үг, Unitel voip нууц үг гэх мэт бүх чухал юм нь явж байгаа юм.

Зарим хүмүүс одоо хэлэх байх л даа. Энэ аргаар зөвхөн өөрийн сүлжээнээс л орж болно гэж. Гаднаас таны сүлжээ рүү тун амархан орж болно л доо. Univision жишээ нь танд web interface-ийн эрх өгөхгүй, тиймээс та wifi нууц үгээ байнга өөрчилж чадахгүй, анх Univision дээр сонгосон нууц үгээ ашиглана. Та мэдээж анх нууц үгээ сонгохдоо ихэвчлэн амархан утасны дугаар, төрсөн он сар гэх 8 тоотой л юм сонгоно. Тэгэхээр таны wifi нууц үгийг олох магадлал маш өндөр болчхож байгаа юм. За тэгээд таны wifi нууц үгийг чинь олчихвол дээр бичсэн аргаар рүүтер лүү чинь ороод янз бүрийн юм хийнэ л дээ.

Хамгийн энгийн жишээ бол DNS өөрчлөөд таны цахим шуудангийн нууц үгийг чинь олчихно, ямар цахим хуудас руу ордгийг чинь тагнаж болно. За тэгээд жоохон хөдөлмөр зарах юм бол pjsip ашиглаад жижигхэн voip proxy бичээд рүүтер дээр чинь ажиллуулаад утсаар юу ярьж байгааг чинь чагначихна. Huawei-ийн native voip программ дээр нь localhost гээд voip proxy ip-аа өгчихнө, proxy-дээрээ /mnt/jffs2/hw_ctree.xml дотор байгаа Unitel-ын voip account-ыг өгчихнө. Ингээд хөөрхөн man in the middle attack хийгээд ярьсан яриаг тань өөр сервер рүү дамжуулчихна. Voip proxy чинь рүүтер дээр ажиллах тул Unitel-ийн талаас үүнийг илрүүлэх ямар ч арга байхгүй. Таны хувьд рүүтер чинь black box тул та ч бас юу ч анзаарахгүй.

Тэгэхээр та Huawei төхөөрөмж ашигладаг бол таныг хятадууд тагнаж чадна, түүнээс гадна жоохон сүйхээтэй Монголчууд хүртэл таныг чагнаж чадах нь дээ хөөрхий. Энэ бол зөвхөн нэг рүүтерийн л жишээ (үүнд Univision-ы буруу их байгаа). Цаана чинь Монголын холбооны компаниуд дээр Huawei төхөөрөмжүүд дүүрэн...

Update: энэ алдаа зун 7 сарын сүүлээр байсан. Одоо энэ алдаа байгаа эсэхийг ийм рүүтертэй хүн шалгаад хариуг нь комментээр үлдээгээрэй. Univision төвөөсөө remote configuration хийгээд засчих боломжтэй тул тэгж зассан эсэхийг нь мэдмээр байна.

Update 2: Univision-ы цагаан рүүтерийн тухай эндээс хараарай: http://purevtsooj.blogspot.de/2012/10/huawei-hg256-univision.html

2012/10/06

Монгол бичиг ба Галт Үнэг

Яаг одооноос хоёр жилийн өмнө бидний хэдэн нөхөд Оцон Шувуу болон Хазсан Алим дээр Монгол бичиг дэмжүүлдэг баатар болцгоовоо. Зарим нь фонт хийнэ гээд харин би ОпенТайп энжайн дээр Монгол бичгийн дэмжлэг оруулахаар боллоо. Тухайн үед нээлттэй эхийн Панго болон ИЦУ гэсэн хоёр энжайн байв. Эхний ээлжинд Панго дээр Монгол бичгээ дэмжүүлээд албан ёсоор оруулах гэтэл Пангог хөгжүүлэгч Иран нөхөр Панго хуучирсан оронд нь Харфбуз гэж шинэ энжайн хийж байгаа тиймээс Панго дээр ямар нэгэн өөрчлөлт оруулахгүй гэв. За тэгэхээр нь тэр Харфбуз дээр нь Монгол бичгийн дэмжлэг орууллаа. Тэгсэн удалгүй нөгөө Иран нөхөр чинь Гүүглд ажил орчихвоо. Ажил нь ч ихэдсэн юм уу зав нь ч болдоггүй юм уу мань нөхөр Харфбуздаа гар бага хүрдэг болсон учир Харфбуз нь бэлэн болдоггүй ээ. Тэгэхээр нь хүлээж ядаад Убунту д зориулж хэдэн Панго нөхөөс бичвээ. За тэгээд хүлээгээд л байлаа хүлээгээд л байлаа хүлээсний эцэст харин Галт Үнэг Монгол бичгийн дэмжлэг орсон Харфбуз хувилбарыг ашиглаж эхэллээ.

Галт Үнэг дээр Монгол бичиг ашиглахын тулд та хамгийн сүүлийн хувилбарыг нь суулгасан байх ёстой. Хэрвээ та сүүлийн хувилбарыг нь суулгасан бол about:config дээрээ gfx.font_rendering.harfbuzz.scripts гэсэн тохиргоог Хазсан Алим дээр gfx.font_rendering.harfbuzz.scripts = 87 гэж харин Оцон шувуунд gfx.font_rendering.harfbuzz.scripts = 23 гэж тус тус өөрчлөөрэй. Үүнээс гадна та мэдээж Монгол бичгийн фонт суулгасан байх хэрэгтэй.

Оцон Шувуу дээр харагдах байдал:


Хазсан Алим дээр харагдах байдал: