ئالپ ئۇيغۇر ئۇچۇر تېخنىكا تورى

 پارول قايتۇرىۋېلىش
 ئەزا بولۇش

QQ بىلەن كىرىش

بەك قولاي، باشلاڭ

كۆرۈش: 1120|ئىنكاس: 22
ئوڭ تەرىپنى يىغىش

كۆچمە ئۈسكىنىلەردە ئۇيغۇرچە تور بېكەتلەرنى نورمال كۆرسېتىش

  [ئۇلانما كۆچۈرۈش]

21

تېما

175

يازما

495

تەجرىبە

ئالىي ئەزا

Rank: 4

نادىر
0
جۇغلانما
1514
ئاقچا
0
QQ
بۇ يازمىنى ئاخىرىدا   ئالىپبەگ تەھرىرلىگەن. ۋاقتى  2014-6-1 18:56  

ئەسسالامۇ ئەلەيكۇم!
ھازىر كۆچمە ئۈسكىنىلەردا ئۇيغۇرچە توربەتلەردىكى خەتلەرنى نورمال كۆرسېتىش بىر باش قاتتۇرىدىغان مەسىلە بولوپ قالدى. يەنى بەزى تېلفۇنلاردا خەتلەر ئۇلانماستەك بىر مەسىلە كۆرۈلۋاتىدۇ.
گەرچە ئالما تېلفۇندا ئۇيغۇرچە خەتلەر نورمال ئۇلىنىپ كۆرۈنگەن بىلەن ، يەنىلا چىرايلىق چىقمايدۇ. ئاندىرويد تېلفۇنلاردا بولسا ،4.0 نەشىرىدىن يۇقىرى تېلفۇنلاردا خەت نۇسخىسىنى قاچىلاش ئارقىلىق ھەل قىلغىلى بولىدۇ ،ئەمما خەت نۇسخىسى قاچلانمىغان ياكى 4.0 نەشىرىدىن تۆۋەن تېلفۇنلاردا خەتلەر ئۇلانماي ياكى تەتۈر چىقۋالىدۇ .
بۇ مەسىلىنى ھەل قىلىش ئۇچۈن تۆۋەندىكى JS كودىدىن پايدىلىنىمىز !
(كودنىڭ ئەسلى ئاپتورى مۇھەممەد ئابدۇللا ئاكىمىزغا رەھمەت ئېيتىمىز )
  1. /*muhammat abdulla ga kop rahmat*/
  2. var BASELEN = 256;
  3. var WDBEG = 0;
  4. var INBEG = 1;
  5. var NOBEG = 2;

  6. var BPAD = 0x0600;
  7. var BMAX = 0x06FF;
  8. var EPAD = 0xFB00;
  9. var EMAX = 0xFEFF;
  10. var CPAD = 0x0400;
  11. var CMAX = 0x04FF;

  12. var cm = new Array(BASELEN);
  13. var pfinited = 0 ;

  14. var CHEE= 0x0686;
  15. var GHEE= 0x063A;
  16. var NGEE= 0x06AD;
  17. var SHEE= 0x0634;
  18. var SZEE= 0x0698;
  19. var LA = 0xFEFB;
  20. var _LA= 0xFEFC;
  21. var HAMZA = 0x0626;
  22. var RCQUOTE = 0x2019;
  23. var RCODQUOTE = 0x201C;
  24. var RCCDQUOTE = 0x201D;
  25. var PRIMe = 233;
  26. var PRIME = 201;
  27. var COLo= 246;
  28. var COLO= 214;
  29. var COLu= 252;
  30. var COLU= 220;

  31. var cm = new Array(BASELEN);
  32. var cmapinv = new Array(BASELEN);
  33. var pform = new Array(BASELEN);
  34. var pf2basic = new Array(EMAX-EPAD);

  35. function CM(x) {
  36. return cm[gac(x)]-BPAD;
  37. }

  38. function Syn ( i, b, m, e, bt )
  39. {
  40. this.iform = i ;
  41. this.bform = b ;
  42. this.mform = m ;
  43. this.eform = e ;
  44. this.btype = bt ;
  45. }
  46. function pfinit()
  47. {
  48. pfinited = true ;
  49. var wc;
  50. var i;

  51. for ( i = 0; i < cm.length; i++ ) {
  52. cm[i] = 0;
  53. }

  54. cm[gac('a')] = 0x0627;
  55. cm[gac('b')] = 0x0628;
  56. cm[gac('c')] = 0x0643;
  57. cm[gac('d')] = 0x062F;
  58. cm[gac('e')] = 0x06D5;
  59. cm[gac('f')] = 0x0641;
  60. cm[gac('g')] = 0x06AF;
  61. cm[gac('h')] = 0x06BE;
  62. cm[gac('i')] = 0x0649;
  63. cm[gac('j')] = 0x062C;
  64. cm[gac('k')] = 0x0643;
  65. cm[gac('l')] = 0x0644;
  66. cm[gac('m')] = 0x0645;
  67. cm[gac('n')] = 0x0646;
  68. cm[gac('o')] = 0x0648;
  69. cm[gac('p')] = 0x067E;
  70. cm[gac('q')] = 0x0642;
  71. cm[gac('r')] = 0x0631;
  72. cm[gac('s')] = 0x0633;
  73. cm[gac('t')] = 0x062A;
  74. cm[gac('u')] = 0x06C7;
  75. cm[gac('v')] = 0x06CB;
  76. cm[gac('w')] = 0x06CB;
  77. cm[gac('x')] = 0x062E;
  78. cm[gac('y')] = 0x064A;
  79. cm[gac('z')] = 0x0632;

  80. cm[PRIMe] = 0x06D0;
  81. cm[PRIME] = 0x06D0;
  82. cm[COLo]= 0x06C6;
  83. cm[COLO]= 0x06C6;
  84. cm[COLu]= 0x06C8;
  85. cm[COLU]= 0x06C8;

  86. for ( i = 0; i < cm.length; i++ ) {
  87. if ( cm[i] != 0 ) {
  88. var u = gac(gas(i).toUpperCase());
  89. if ( cm[u] == 0 ) {
  90. cm[u] = cm[i];
  91. }
  92. }
  93. }

  94. cm[gac(';')] = 0x061B;
  95. cm[gac('?')] = 0x061F;
  96. cm[gac(',')] = 0x060C;

  97. for ( i = 0 ; i < cmapinv.length ; i++ ) {
  98. wc = cm[i] ;
  99. if ( wc != 0 ) {
  100. cmapinv [ wc - BPAD ] = i ;
  101. }
  102. }

  103. for ( i = 0 ; i < pform.length ; i++ ) {
  104. pform[i] = null ;
  105. }

  106. pform[ CM('a') ] = new Syn ( 0xFE8D, 0xFE8D, 0xFE8D, 0xFE8E, WDBEG ) ;
  107. pform[ CM('e') ] = new Syn ( 0xFEE9, 0xFEE9, 0xFEE9, 0xFEEA, WDBEG ) ;
  108. pform[ CM('b') ] = new Syn ( 0xFE8F, 0xFE91, 0xFE92, 0xFE90, NOBEG ) ;
  109. pform[ CM('p') ] = new Syn ( 0xFB56, 0xFB58, 0xFB59, 0xFB57, NOBEG ) ;
  110. pform[ CM('t') ] = new Syn ( 0xFE95, 0xFE97, 0xFE98, 0xFE96, NOBEG ) ;
  111. pform[ CM('j') ] = new Syn ( 0xFE9D, 0xFE9F, 0xFEA0, 0xFE9E, NOBEG ) ;
  112. pform[ CHEE-BPAD ]= new Syn ( 0xFB7A, 0xFB7C, 0xFB7D, 0xFB7B, NOBEG ) ;
  113. pform[ CM('x') ] = new Syn ( 0xFEA5, 0xFEA7, 0xFEA8, 0xFEA6, NOBEG ) ;
  114. pform[ CM('d') ] = new Syn ( 0xFEA9, 0xFEA9, 0xFEAA, 0xFEAA, INBEG ) ;
  115. pform[ CM('r') ] = new Syn ( 0xFEAD, 0xFEAD, 0xFEAE, 0xFEAE, INBEG ) ;
  116. pform[ CM('z') ] = new Syn ( 0xFEAF, 0xFEAF, 0xFEB0, 0xFEB0, INBEG ) ;
  117. pform[ SZEE-BPAD ]= new Syn ( 0xFB8A, 0xFB8A, 0xFB8B, 0xFB8B, INBEG ) ;
  118. pform[ CM('s') ] = new Syn ( 0xFEB1, 0xFEB3, 0xFEB4, 0xFEB2, NOBEG ) ;
  119. pform[ SHEE-BPAD ]= new Syn ( 0xFEB5, 0xFEB7, 0xFEB8, 0xFEB6, NOBEG ) ;
  120. pform[ GHEE-BPAD ]= new Syn ( 0xFECD, 0xFECF, 0xFED0, 0xFECE, NOBEG ) ;
  121. pform[ CM('f') ] = new Syn ( 0xFED1, 0xFED3, 0xFED4, 0xFED2, NOBEG ) ;
  122. pform[ CM('q') ] = new Syn ( 0xFED5, 0xFED7, 0xFED8, 0xFED6, NOBEG ) ;
  123. pform[ CM('k') ] = new Syn ( 0xFED9, 0xFEDB, 0xFEDC, 0xFEDA, NOBEG ) ;
  124. pform[ CM('g') ] = new Syn ( 0xFB92, 0xFB94, 0xFB95, 0xFB93, NOBEG ) ;
  125. pform[ NGEE-BPAD ]= new Syn ( 0xFBD3, 0xFBD5, 0xFBD6, 0xFBD4, NOBEG ) ;
  126. pform[ CM('l') ] = new Syn ( 0xFEDD, 0xFEDF, 0xFEE0, 0xFEDE, NOBEG ) ;
  127. pform[ CM('m') ] = new Syn ( 0xFEE1, 0xFEE3, 0xFEE4, 0xFEE2, NOBEG ) ;
  128. pform[ CM('n') ] = new Syn ( 0xFEE5, 0xFEE7, 0xFEE8, 0xFEE6, NOBEG ) ;
  129. pform[ CM('h') ] = new Syn ( 0xFBAA, 0xFBAA, 0xFBAD, 0xFBAD, NOBEG ) ;
  130. pform[ CM('o') ] = new Syn ( 0xFEED, 0xFEED, 0xFEEE, 0xFEEE, INBEG ) ;
  131. pform[ CM('u') ] = new Syn ( 0xFBD7, 0xFBD7, 0xFBD8, 0xFBD8, INBEG ) ;
  132. pform[ CM('w') ] = new Syn ( 0xFBDE, 0xFBDE, 0xFBDF, 0xFBDF, INBEG ) ;
  133. pform[ CM('i') ] = new Syn ( 0xFEEF, 0xFBE8, 0xFBE9, 0xFEF0, NOBEG ) ;
  134. pform[ CM('y') ] = new Syn ( 0xFEF1, 0xFEF3, 0xFEF4, 0xFEF2, NOBEG ) ;
  135. pform[ HAMZA-BPAD ] = new Syn ( 0xFE8B, 0xFE8B, 0xFE8C, 0xFB8C, NOBEG ) ;
  136. pform[ cm[COLo]-BPAD]= new Syn ( 0xFBD9, 0xFBD9, 0xFBDA, 0xFBDA, INBEG ) ;
  137. pform[ cm[COLu]-BPAD ]= new Syn ( 0xFBDB, 0xFBDB, 0xFBDC, 0xFBDC, INBEG ) ;
  138. pform[ cm[PRIMe]-BPAD ]= new Syn ( 0xFBE4, 0xFBE6, 0xFBE7, 0xFBE5, NOBEG ) ;

  139. for ( i = 0; i < pf2basic.length; i++ ) {
  140. pf2basic[i] = new Array(2);
  141. }

  142. var lig;
  143. for (i = 0; i < pform.length; i++) {
  144. lig = pform[i];
  145. if (lig != null) {
  146. pf2basic[lig.iform - EPAD][0] = i + BPAD;
  147. pf2basic[lig.bform - EPAD][0] = i + BPAD;
  148. pf2basic[lig.mform - EPAD][0] = i + BPAD;
  149. pf2basic[lig.eform - EPAD][0] = i + BPAD;
  150. }
  151. }

  152. pf2basic[0xFEEB - EPAD][0] = cm[gac('h')];
  153. pf2basic[0xFEEC - EPAD][0] = cm[gac('h')];
  154. pf2basic[0xFEFB - EPAD][0] = cm[gac('l')];
  155. pf2basic[0xFEFB - EPAD][1] = cm[gac('a')];
  156. pf2basic[0xFEFC - EPAD][0] = cm[gac('l')];
  157. pf2basic[0xFEFC - EPAD][1] = cm[gac('a')];
  158. pf2basic[0xFBEA - EPAD][0] = HAMZA;
  159. pf2basic[0xFBEA - EPAD][1] = cm[gac('a')];
  160. pf2basic[0xFBEB - EPAD][0] = HAMZA;
  161. pf2basic[0xFBEB - EPAD][1] = cm[gac('a')];
  162. pf2basic[0xFBEC - EPAD][0] = HAMZA;
  163. pf2basic[0xFBEC - EPAD][1] = cm[gac('e')];
  164. pf2basic[0xFBED - EPAD][0] = HAMZA;
  165. pf2basic[0xFBED - EPAD][1] = cm[gac('e')];
  166. pf2basic[0xFBF6 - EPAD][0] = HAMZA;
  167. pf2basic[0xFBF6 - EPAD][1] = cm[PRIMe];
  168. pf2basic[0xFBF7 - EPAD][0] = HAMZA;
  169. pf2basic[0xFBF7 - EPAD][1] = cm[PRIMe];
  170. pf2basic[0xFBF8 - EPAD][0] = HAMZA;
  171. pf2basic[0xFBF8 - EPAD][1] = cm[PRIMe];
  172. pf2basic[0xFBD1 - EPAD][0] = HAMZA;
  173. pf2basic[0xFBD1 - EPAD][1] = cm[PRIMe];
  174. pf2basic[0xFBF9 - EPAD][0] = HAMZA;
  175. pf2basic[0xFBF9 - EPAD][1] = cm[gac('i')];
  176. pf2basic[0xFBFA - EPAD][0] = HAMZA;
  177. pf2basic[0xFBFA - EPAD][1] = cm[gac('i')];
  178. pf2basic[0xFBFB - EPAD][0] = HAMZA;
  179. pf2basic[0xFBFB - EPAD][1] = cm[gac('i')];
  180. pf2basic[0xFBEE - EPAD][0] = HAMZA;
  181. pf2basic[0xFBEE - EPAD][1] = cm[gac('o')];
  182. pf2basic[0xFBEF - EPAD][0] = HAMZA;
  183. pf2basic[0xFBEF - EPAD][1] = cm[gac('o')];
  184. pf2basic[0xFBF2 - EPAD][0] = HAMZA;
  185. pf2basic[0xFBF2 - EPAD][1] = cm[COLo];
  186. pf2basic[0xFBF3 - EPAD][0] = HAMZA;
  187. pf2basic[0xFBF3 - EPAD][1] = cm[COLo];
  188. pf2basic[0xFBF0 - EPAD][0] = HAMZA;
  189. pf2basic[0xFBF0 - EPAD][1] = cm[gac('u')];
  190. pf2basic[0xFBF1 - EPAD][0] = HAMZA;
  191. pf2basic[0xFBF1 - EPAD][1] = cm[gac('u')];
  192. pf2basic[0xFBF4 - EPAD][0] = HAMZA;
  193. pf2basic[0xFBF4 - EPAD][1] = cm[COLu];
  194. pf2basic[0xFBF5 - EPAD][0] = HAMZA;
  195. pf2basic[0xFBF5 - EPAD][1] = cm[COLu];

  196. }
  197. function convertThisText ( br )
  198. {
  199. var wc, pfwc, prevwc, ppfwc ;
  200. var i, j, n ;
  201. var syn, tsyn, lsyn ;

  202. br=br.replace(/؛/g,";");br=br.replace(/،/g,",");br=br.replace(/؟/g,"?");

  203. if ( !pfinited ) {
  204. pfinit() ;
  205. }

  206. if ( typeof(br) != 'string' ) {
  207. return "";
  208. }

  209. pfwp = new Array ( br.length );

  210. lsyn = pform[ CM('l') ] ;

  211. bt = WDBEG ;
  212. j = 0 ;
  213. for ( i = 0 ; i < br.length ; i++ ) {
  214. wc= br.charCodeAt(i) ;
  215. if ( BPAD <= wc && wc < BMAX ) {
  216. syn = pform [ wc - BPAD ] ;

  217. if ( syn != null ) {
  218. switch ( bt ) {
  219. case WDBEG:
  220. pfwc = syn.iform ;
  221. break ;
  222. case INBEG:
  223. pfwc = syn.iform ;
  224. break ;
  225. case NOBEG:
  226. pfwc = syn.eform ;
  227. break ;
  228. default:
  229. break ;
  230. }

  231. if ( bt != WDBEG ) {
  232. tsyn = pform [ prevwc - BPAD ] ;

  233. if ( ppfwc == lsyn.iform && wc == cm[gac('a')] ) {
  234. pfwp[j-1] = LA ;
  235. bt = WDBEG ;
  236. continue ;
  237. } else if ( ppfwc == lsyn.eform && wc == cm[gac('a')] ) {
  238. pfwp[j-1] = _LA ;
  239. bt = WDBEG ;
  240. continue ;
  241. }

  242. if ( ppfwc == tsyn.iform ) {
  243. pfwp[j-1] = tsyn.bform ;
  244. } else if ( ppfwc == tsyn.eform ) {
  245. pfwp[j-1] = tsyn.mform ;
  246. }
  247. }
  248. bt = syn.btype ;
  249. } else {
  250. pfwc = wc ;
  251. bt = WDBEG ;
  252. }
  253. } else {
  254. pfwc = wc ;
  255. bt = WDBEG ;
  256. }

  257. pfwp[j] = pfwc ;
  258. ppfwc= pfwc ;
  259. prevwc= wc ;
  260. j++ ;
  261. }

  262. var str = "";
  263. for ( i = 0; i < j; i++ ) {
  264. pfwp[i] = gas(pfwp[i]);
  265. }

  266. return pfwp.join('') ;
  267. }

  268. function gac ( ascii )
  269. {
  270. var str = "" + ascii;
  271. return str.charCodeAt(0);
  272. }

  273. function gas ( code )
  274. {
  275. return String.fromCharCode(code);
  276. }
  277. function aryan(){
  278. document.body.innerHTML=(convertThisText(document.body.innerHTML));
  279. }
  280. window.onload=aryan;
مەزمۇننى كۆچۈرۈۋېلىش
ئەمدى بۇ مەسىلىنى ھەل قىلىشنىڭ پرىنسىپىغا كەلسەك ، ئۇيغۇرچە خەتلەر ئاساسىي رايۇن ۋە كېڭەيتىلگەن رايون دەپ ئايرىلىدۇ . ئادەتتە بىۋاستە كىرگۈزسەك ئاساسىي رايون بۇيىچە يېزىلىدۇ . بۇ ئىككىسىنىڭ پەرىقى مۇندا بولىدۇ :
ئاساسى رايوندىكى خەت :
س ا ي ى ۋ ە ن
كېڭەيتىلگەن رايوندىكى خەت :
س ا ي ى ۋ ە ن
يەنى ھەرىپلەرنى ئايرىپ يازسىڭىز ئۈستىدىكىدك پەرىق چىقىدۇ . دىمەك بۇ كودنىڭ مەقسىتى بولسا ئاساسىي رايوندىكى خەتنى كېڭەيتىلگەن رايوندىكى خەتكە ئايلاندۇرىدۇ . شۇنىڭ بىلەن كۆچمە ئۈسكىنىلەردە خەتلەر ئۇلانماستەك ئەھۋالنى ھەل قىلغىلى بولىدۇ .
ئەمسە قانداق ئىشلىتىمىز ؟
بۇ JS كودىنى كۆچۈرۈپ ئايرىم بىر ھۈججەت قىلىپ فورماتىنى JS ھالىتىدە ساقلايسىز. مەسىلەن Uyghur.js
ئاندىن تور بىتىڭىزنىڭ head رايونىغا تارتىپ ئىشلەتسىڭىز بولىدۇ .
تۆۋەندە ئۇيغۇرچىغا تەڭشەلگەن سىناق كودى بېرىلدى
چۈشۈرۈش:بۇ يەرنى بېسىڭە
قېنى سىناپ بېقىڭ !
ئالدىنقى شەرتى تور بىتىڭىزگە(يەنى يانفۇندا ئېچىلىدىغان بەتكە) eot نى تۇنۇتقان بۇلۇشىڭىز كېرەك . بولمىسا خەت يەنە نورمال چىقمايدۇ .
كۆرگەزمە:
IMG_3113.PNG IMG_3116.PNG

يازما مەنبەسى:سايىۋەن بلوگى

باھالاش

قاتناشقانلار سانى 1تەجرىبە +10 يىغىش سەۋەبى
alxat110 + 10 ئىجادىي ئەسەر

باھا خاتىرىسى

جۇلا ئەپ بازىرى

5

تېما

304

يازما

529

تەجرىبە

ئالىي ئەزا

Rank: 4

نادىر
0
جۇغلانما
2708
ئاقچا
1
ۋاقتى: 2014-6-1 21:36:28 يانفوندا يوللانغان | ھەممە قەۋەتنى كۆرۈش
ئىنىق چۈشەندۈرۈپ قويامسىز؟!

48

تېما

1503

يازما

116

تەجرىبە

ئالى باشقۇرغۇچى

ئەلتەر مۇنبىرى

Rank: 7Rank: 7Rank: 7

نادىر
6
جۇغلانما
7150
ئاقچا
101

تۆھپە ئوردېنىئىشەنچ ئوردېنى

ۋاقتى: 2014-6-1 21:47:02 | ھەممە قەۋەتنى كۆرۈش
ئېسىل تېما! ھەممە يانفۇن بەتلىرىگە موشۇنى قىستۇرۋەتسەك ئۇبدان بولغۇدەك.

باھا سۆز

شۇنداق، ئۈستىدىكى تېما بىلەن مۇناسىۋەتسىز ئىنكاسلارنى ئۆچۈرۋەتسىڭىز بوپتىكەن  ۋاقتى: 2014-6-2 14:16
ئەلتەر مۇنبىرى

http://www.bbs.elter.cc