dim mode mode=1 sub LangFar() document.PostTopic.message.style.textAlign = "right" document.PostTopic.message.style.direction = "rtl" mode=1 end sub sub LangEng() document.PostTopic.message.style.textAlign = "left" document.PostTopic.message.style.direction = "ltr" mode=0 end sub 'Keyboard Switching sub FKeyDown() if (window.event.shiftKey and window.event.altKey) then if (mode=0) then mode=1 window.defaultStatus="Farsi Mode" else mode=0 window.defaultStatus="Normal Mode (English)" end if window.event.returnValue=FALSE exit sub end if window.event.returnValue=TRUE end sub 'Keyboard Mapping to Unicode sub FKeyPress() dim key key=window.event.keyCode 'Avoid processing in Arabic Windows if key>127 then window.event.returnValue=FALSE exit sub end if if (mode=1) then select case key case 32: if (window.event.shiftKey) then window.event.keyCode=8204 'ZWNJ = 0x200C ' else ' window.event.keyCode= 32 'SPACE = 0x20 end if ' case 33: window.event.keyCode= 33 '! = 0x21 case 34: window.event.keyCode=1563 'F SEMICOLON = 0x061B case 35: window.event.keyCode=1643 'MOMAYYEZ = 0x066B case 36: window.event.keyCode= 164 'RIAL = 0x00A4? case 37: window.event.keyCode=1642 'F PERCENT = 0x066A case 38: window.event.keyCode=1548 'F COMMA = 0x060C case 39: window.event.keyCode=1711 'GAF = 0x06AF case 40: window.event.keyCode= 41 'PAREN BASTE= 0x0029 case 41: window.event.keyCode= 40 'PAREN BAAZ = 0x0028 ' case 42: window.event.keyCode= 42 '* = 0x002A ' case 43: window.event.keyCode= 43 '+ = 0x002B case 44: window.event.keyCode=1608 'VAV = 0x0648 ' case 45: window.event.keyCode= 45 '- = 0x002D ' case 46: window.event.keyCode= 46 '. = 0x002E ' case 47: window.event.keyCode= 47 '/ = 0x002F case 48: window.event.keyCode=1776 'F 0 = 0x06F0 case 49: window.event.keyCode=1777 'F 1 = 0x06F1 case 50: window.event.keyCode=1778 'F 2 = 0x06F2 case 51: window.event.keyCode=1779 'F 3 = 0x06F3 case 52: window.event.keyCode=1780 'F 4 = 0x06F4 case 53: window.event.keyCode=1781 'F 5 = 0x06F5 case 54: window.event.keyCode=1782 'F 6 = 0x06F6 case 55: window.event.keyCode=1783 'F 7 = 0x06F7 case 56: window.event.keyCode=1784 'F 8 = 0x06F8 case 57: window.event.keyCode=1785 'F 9 = 0x06F9 ' case 58: window.event.keyCode= 58 ': = 0x00BA case 59: window.event.keyCode=1705 'KAF = 0x06A9 case 60: window.event.keyCode= 62 '> = 0x003E ' case 61: window.event.keyCode= 61 '= = 0x003D case 62: window.event.keyCode= 60 '< = 0x003C case 63: window.event.keyCode=1567 'F ? = 0x061F case 64: window.event.keyCode=1644 'F ' = 0x066C case 65: window.event.keyCode=1572 'VAV+HAMZE = 0x0624 case 66: window.event.keyCode=8204 'ZWNJ = 0x200C case 67: window.event.keyCode=1688 'ZHE = 0x0698 case 68: window.event.keyCode=1610 'ARABIC YE = 0x064A case 69: window.event.keyCode=1613 'TANWIN KASRE= 0x064D case 70: window.event.keyCode=1573 'ALEF+HAMZE ZIR= 0x0625 case 71: window.event.keyCode=1571 'ALEF+HAMZE = 0x0623 case 72: window.event.keyCode=1570 'AA = 0x0622 case 73: window.event.keyCode=1617 'TASHDID = 0x0651 case 74: window.event.keyCode=1577 'TE GERD = 0x0629 case 75: window.event.keyCode= 187 'GIUME BASTE = 0x00BB case 76: window.event.keyCode= 171 'GIUME BAAZ = 0x00AB case 77: window.event.keyCode=1569 'HAMZE = 0x0621 ' case 78: "N" is currently free case 79: window.event.keyCode= 93 'KROOSHE BASTE = 0x005D case 80: window.event.keyCode= 91 'KROOSHE BASTE = 0x005B case 81: window.event.keyCode=1618 'SAKEN = 0x0652 case 82: window.event.keyCode=1611 'KASRE FATHE = 0x064B case 83: window.event.keyCode=1574 'YE+HAMZE = 0x0626 case 84: window.event.keyCode=1615 'ZAMME = 0x064F case 85: window.event.keyCode=1614 'FATHE = 0x064E ' case 86: "V" is currently free case 87: window.event.keyCode=1612 'TANWIN ZAMME = 0x064C ' case 88: "X" is currently free case 89: window.event.keyCode=1616 'KASRE = 0x0650 case 90: window.event.keyCode=1603 'KAF ARABI = 0x0643 case 91: window.event.keyCode=1580 'JIM = 0x062C case 92: window.event.keyCode=1688 ' case 93: window.event.keyCode=1670 'CHE = 0x0686 case 94: window.event.keyCode= 215 'ZARB = 0x00D7 case 95: window.event.keyCode=1600 'KESHIDE = 0x0640 case 96: window.event.keyCode=1662 ' case 97: window.event.keyCode=1588 'SHIN = 0x0634 case 98: window.event.keyCode=1584 'ZAL = 0x0630 case 99: window.event.keyCode=1586 'ZE = 0x0632 case 100: window.event.keyCode=1610 'YE = 0x06CC ' case 100: window.event.keyCode=1740 'YE = 0x06CC case 101: window.event.keyCode=1579 'THE = 0x062B case 102: window.event.keyCode=1576 'BE = 0x0628 case 103: window.event.keyCode=1604 'LAM = 0x0644 case 104: window.event.keyCode=1575 'ALEF = 0x0627 case 105: window.event.keyCode=1607 'HE = 0x0647 case 106: window.event.keyCode=1578 'TE = 0x062A case 107: window.event.keyCode=1606 'NOON = 0x0646 case 108: window.event.keyCode=1605 'MIM = 0x0645 case 109: window.event.keyCode=1574 ' case 110: window.event.keyCode=1583 'DAL = 0x062F case 111: window.event.keyCode=1582 'KHE = 0x062E case 112: window.event.keyCode=1581 'HE JIMI = 0x062D case 113: window.event.keyCode=1590 'ZAD = 0x0636 case 114: window.event.keyCode=1602 'GHAF = 0x0642 case 115: window.event.keyCode=1587 'SIN = 0x0633 case 116: window.event.keyCode=1601 'FE = 0x0641 case 117: window.event.keyCode=1593 'EYN = 0x0639 case 118: window.event.keyCode=1585 'RE = 0x0631 case 119: window.event.keyCode=1589 'SAD = 0x0635 case 120: window.event.keyCode=1591 'TAA = 0x0637 case 121: window.event.keyCode=1594 'GHEYN = 0x063A case 122: window.event.keyCode=1592 'ZAA = 0x0638 case 123: window.event.keyCode= 125 'AKOLAAD BASTE = 0x007D ' case 124: window.event.keyCode= 124 '| = 0x007C case 125: window.event.keyCode= 123 'AKOLAAD BAAZ = 0x007B ' case 126: "~" is currently free end select end if window.event.returnValue=TRUE end sub