/*
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac text to Hebrew writing system and a convenience interface to on-line translation services/search engines. Copyright (C) 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.(this option should not be used while the Author is alive)
Developed by Ze'ev (Zeev, Vladimir) Belkin ( http://zeevbelkin.com ).
Developed by Ze'ev (Zeev, Vladimir) Belkin ( http://zeevbelkin.com ).
Developed by Ze'ev (Zeev, Vladimir) Belkin ( http://zeevbelkin.com ).
Developed by Ze'ev (Zeev, Vladimir) Belkin ( http://zeevbelkin.com ).
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
This file is a part of ע\ع (Ayn\Ayn) Lookup and should be used
under terms of the ע\ع (Ayn\Ayn) Lookup license only.
**/
if (!String.fromCodePoint) {
(function() {
var defineProperty = (function() {
// IE 8 only supports `Object.defineProperty` on DOM elements
try {
var object = {};
var $defineProperty = Object.defineProperty;
var result = $defineProperty(object, object, object) && $defineProperty;
} catch(error) {}
return result;
}());
var stringFromCharCode = String.fromCharCode;
var floor = Math.floor;
var fromCodePoint = function() {
var MAX_SIZE = 0x4000;
var codeUnits = [];
var highSurrogate;
var lowSurrogate;
var index = -1;
var length = arguments.length;
if (!length) {
return '';
}
var result = '';
while (++index < length) {
var codePoint = Number(arguments[index]);
if (
!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`
codePoint < 0 || // not a valid Unicode code point
codePoint > 0x10FFFF || // not a valid Unicode code point
floor(codePoint) != codePoint // not an integer
) {
throw RangeError('Invalid code point: ' + codePoint);
}
if (codePoint <= 0xFFFF) { // BMP code point
codeUnits.push(codePoint);
} else { // Astral code point; split in surrogate halves
// http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae
codePoint -= 0x10000;
highSurrogate = (codePoint >> 10) + 0xD800;
lowSurrogate = (codePoint % 0x400) + 0xDC00;
codeUnits.push(highSurrogate, lowSurrogate);
}
if (index + 1 == length || codeUnits.length > MAX_SIZE) {
result += stringFromCharCode.apply(null, codeUnits);
codeUnits.length = 0;
}
}
return result;
};
if (defineProperty) {
defineProperty(String, 'fromCodePoint', {
'value': fromCodePoint,
'configurable': true,
'writable': true
});
} else {
String.fromCodePoint = fromCodePoint;
}
}());
}
if (!window.com) window.com={};
if (!window.com.zeevbelkin) window.com.zeevbelkin={};
/*if (!window.com.zeevbelkin.utils)*/ window.com.zeevbelkin.utils={
defobject:function(objname,ns,init) {
if (!ns) ns=window;
var obj=ns[objname];
if (!obj) {
var i=objname.indexOf('.');
if (i<0) {
if (!init) init={};
return ns[objname]=init;
}
var nsn=objname.substr(0,i),ns1=ns[nsn];
if (!ns1) ns1=ns[nsn]={};
return this.defobject(objname.substr(i+1),ns1);
}
return obj;
},
findobject:function(objname,ns) {
if (!ns) ns=window;
var obj=ns[objname];
if (!obj) {
var i=objname.indexOf('.');
if (i<0) return false;
var nsn=objname.substr(0,i),ns1=ns[nsn];
if (!ns1) return false;
return this.findobject(objname.substr(i+1),ns1);
}
return obj;
},
extend:function(obj,extension,ns) {
obj=((typeof obj)=='string')?this.defobject(obj,ns):obj;
if (extension) for (var i in extension) obj[i]=extension[i];
return obj;
},
inheritFromInstance:function(prototypeUpdate,baseClass) {
var c=function() {
if (baseClass) baseClass.apply(this,arguments);
if (prototypeUpdate.init) prototypeUpdate.init.apply(this,arguments);
}
if (baseClass) c.prototype=new baseClass();
for (var i in prototypeUpdate) c.prototype[i]=prototypeUpdate[i];
return c;
},
defclass:function(classname,baseClass,prototypeUpdate) {
var classobject=function() {
if (baseClass) baseClass.apply(this,arguments);
if (prototypeUpdate.init) prototypeUpdate.init.apply(this,arguments);
};
var v;
if (baseClass) {
for (var i in baseClass.prototype) classobject.prototype[i]=baseClass.prototype[i];
//classobject.prototype=baseClass.prototype;
}
if (prototypeUpdate) {
for (v in prototypeUpdate) {
classobject.prototype[v]=prototypeUpdate[v];
}
}
if (classname) {
classobject.prototype._className=classname;
var j=classname.lastIndexOf('.');
if (j<0) { window[classname]=classobject; } else {
var env=this.defobject(classname.substring(0,j));
env[classname.substr(j+1)]=classobject;
}
}
return classobject;
},
isDefined:function(x) {
return typeof x!='undefined';
},
isObject:function(x) {
return (typeof x)=='object';
},
isValidObject:function(objToTest) {
if (null == objToTest) return false;
if ("undefined" == typeof(objToTest)) return false;
return true;
},
isUrlSane:function(s) {
return s.match(/^http(s)?:\/\/[a-zA-Z]+/)&&!(s.match(/<|>|\"|\'/g)||s.match(/^http(s)?:\/\/localhost/));
},
_rx_trim:/(^\s+)|(\s+$)/g,
trim:function(s) {
return s.replace(this._rx_trim,"");
},
_rx_dec:/^\d+$/,
isDecimalString:function(s) {
return s.match(this._rx_dec);
}
};
with (com.zeevbelkin.utils) {
extend(
"com.zeevbelkin.utils", {
isArray:function(obj) {
if (Array.isArray) return Array.isArray(obj);
return isObject(obj)&&(obj.constructor == Array);
},
isFunction:function(obj) {
return obj&&(typeof(obj)=='function');
},
isHtmlElement:function(obj) {
return isObject(obj)&&(obj instanceof HTMLElement);
},
containsAnyString:function(s,ss) {
if (s) if (isArray(ss)) for (var i=0;i
/gi,"\n")
.replace(/<[^>]+>/g,"");
}
return s;
},
decodeUnicode:function(str) {
var r = [], i = 0;
while(i < str.length) {
var chr = str.charCodeAt(i++);
if(chr >= 0xD800 && chr <= 0xDBFF) {
// surrogate pair
var low = str.charCodeAt(i++);
r.push(0x10000 + ((chr - 0xD800) << 10) | (low - 0xDC00));
} else {
// ordinary character
r.push(chr);
}
}
return r;
},
encodeUnicode:function(chr) {
if(chr >= 0x10000) {
// surrogate pair
chr&=0xffff;
var TEN_BITS = 0x3ff;
function u(codeUnit) {
return ''+codeUnit.toString(16).toUpperCase()+';';
}
//chr -= 0x10000;
// Shift right to get to most significant 10 bits
var leadSurrogate = 0xD800 + (chr >> 10);
// Mask to get least significant 10 bits
var tailSurrogate = 0xDC00 + (chr & TEN_BITS);
return u(leadSurrogate) + u(tailSurrogate);
//var low=(chr&0x3ff)|0xDC00, high=((chr>>10)&0x5ff)|0xD800;
//return String.fromCharCode(high)+String.fromCharCode(low);
/*
var low = str.charCodeAt(i++);
r.push(0x10000 + ((chr - 0xD800) << 10) | (low - 0xDC00));
*/
} else {
// ordinary character
return String.fromCharCode(chr);
}
},
charcode:function(c) {
if (c) return ((typeof c)=='string')?decodeUnicode(c)[0]:c;
return false;
},
valuesOf:function(obj) {
var res=[];
for (var i in obj) res.push(obj[i]);
return res;
},
HashSet:function(a) { // set class constuctor
var x;
this.or=function() {
var r={},key;
for (key in this) r[key]=this[key];
if (arguments) for (var i=0;i
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
ע\ع (Ayn\Ayn) Lookup License Agreement v1.1
The End
*/
/*
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac text
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac
text to Hebrew writing system and a convenience interface to on-line translation
services/search engines.
Copyright (C) 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
(this option should not be used while the Author is alive)
to Hebrew writing system
and a convenience interface to on-line translation services/search engines.
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
This file is a part of ע\ع (Ayn\Ayn) Lookup and should be used
under terms of the ע\ع (Ayn\Ayn) Lookup license only.
**/
com.zeevbelkin.utils.extend(
"com.zeevbelkin.alifAlef", {
phoe: {
alef: String.fromCharCode(0x10900), // PHOENICIAN LETTER ALF
beth: String.fromCharCode(0x10901), // PHOENICIAN LETTER BET
gimel: String.fromCharCode(0x10902), // PHOENICIAN LETTER GAML
daleth: String.fromCharCode(0x10903), // PHOENICIAN LETTER DELT
hey: String.fromCharCode(0x10904), // PHOENICIAN LETTER HE
waw: String.fromCharCode(0x10905), // PHOENICIAN LETTER WAU
zayn: String.fromCharCode(0x10906), // PHOENICIAN LETTER ZAI
heth: String.fromCharCode(0x10907), // PHOENICIAN LETTER HET
teth: String.fromCharCode(0x10908), // PHOENICIAN LETTER TET
yud: String.fromCharCode(0x10909), // PHOENICIAN LETTER YOD
kaf: String.fromCharCode(0x1090A), // PHOENICIAN LETTER KAF
lamed: String.fromCharCode(0x1090B), // PHOENICIAN LETTER LAMD
mem: String.fromCharCode(0x1090C), // PHOENICIAN LETTER MEM
nun: String.fromCharCode(0x1090D), // PHOENICIAN LETTER NUN
samekh: String.fromCharCode(0x1090E), // PHOENICIAN LETTER SEMK
ayn: String.fromCharCode(0x1090F), // PHOENICIAN LETTER AIN
pey: String.fromCharCode(0x10910), // PHOENICIAN LETTER PE
tsadi: String.fromCharCode(0x10911), // PHOENICIAN LETTER SADE
quf: String.fromCharCode(0x10912), // PHOENICIAN LETTER QOF
reysh: String.fromCharCode(0x10913), // PHOENICIAN LETTER ROSH
shin: String.fromCharCode(0x10914), // PHOENICIAN LETTER SHIN
tab: String.fromCharCode(0x10915), // PHOENICIAN LETTER TAU
one: String.fromCharCode(0x10916), // PHOENICIAN NUMBER ONE
ten: String.fromCharCode(0x10917), // PHOENICIAN NUMBER TEN
twenty: String.fromCharCode(0x10918), // PHOENICIAN NUMBER TWENTY
one_handred: String.fromCharCode(0x10919), // PHOENICIAN NUMBER ONE HUNDRED
two: String.fromCharCode(0x1091A), // PHOENICIAN NUMBER TWO
three: String.fromCharCode(0x1091B), // PHOENICIAN NUMBER THREE
word_separator: String.fromCharCode(0x1091F) // PHOENICIAN WORD SEPARATOR
},
heb:{
alef:'\u05D0',
beth:'\u05D1',
gimel:'\u05D2',
daleth:'\u05D3',
hey:'\u05D4',
waw:'\u05D5',
zayn:'\u05D6',
heth: '\u05D7',
teth: '\u05D8',
yud:'\u05D9',
kaf:'\u05DB',
kaf_sofit:'\u05Da',
lamed:'\u05DC',
mem:'\u05De',
mem_sofit:'\u05Dd',
nun: '\u05e0',
nun_sofit: '\u05df',
samekh: '\u05E1',
ayn:'\u05E2',
pey: '\u05E4',
pey_sofit: '\u05E3',
tsadi:'\u05E6',
tsadi_sofit:'\u05E5',
quf:'\u05E7',
reysh:'\u05E8',
shin:'\u05E9',
tab:'\u05EA',
shva:'\u05B0',
patah:'\u05B7', // short a
qamats:'\u05B8', // long a
kubuts: '\u05BB', // short u
hiriq:'\u05B4',
dagesh: '\u05BC',
shuruk: '\u05BC',
shin_dot: '\u05C1',
sin_dot: '\u05C2',
hataf_qamats: '\u05B3',
hataf_patah: '\u05B2',
hataf_segol: '\u05B1',
tzeyre: '\u05B5', // long e
segol: '\u05B6', // short e
holam: '\u05B9', // short o
rafe: '\u05BF', // antidagesh
geresh: '\u05f3',
gershayim:'\u05F4'
},
ar:{
shadda: '\u0651',
ayn: '\u0639',
alif_madda:'\u0622',
alif_hamza_above:'\u0623',
alif_hamza_below:'\u0625',
alif:'\u0627',
sukoon: '\u0652',
hamza_above: '\u0654', // '\u0654' (none transparent)
hamza_below: '\u0655',
fatha:'\u064E',
hashra:'\u0650',
yeh: '\u064a',
lam: '\u0644'
},
syr: {
samekh: '\u0723',
samekh_sofit: '\u0724',
makeSofit:function(c) {
if (c==this.samekh) return this.samekh_sofit;
return c;
}
},
et: {
n10000:'\u137c',
n100:'\u137b'
}
}
);
with (com.zeevbelkin) with(utils) with(alifAlef) extend(
"com.zeevbelkin.alifAlef", {
patchHebTransTab:function(tab) {
tab[heb.nun_sofit]=tab[heb.nun];
tab[heb.tsadi_sofit]=tab[heb.tsadi];
tab[heb.mem_sofit]=tab[heb.mem];
tab[heb.nun_sofit]=tab[heb.nun];
tab[heb.pey_sofit]=tab[heb.pey];
tab[heb.kaf_sofit]=tab[heb.kaf];
return tab;
}
}
);
with (com.zeevbelkin) with(utils) with(alifAlef) extend(
"com.zeevbelkin.alifAlef", {
heb2lat_tab: patchHebTransTab(
{
"\u05D0" : "A",
"\u05D1" : "B" ,
"\u05D2" : "G" ,
"\u05D3" : "D" ,
"\u05D4" : "H" ,
"\u05D5" : "V" ,
"\u05D6" : "Z" ,
"\u05D7" : "X" ,
"\u05D8" : "F" ,
"\u05D9" : "J" ,
"\u05DB" : "K" ,
"\u05DC" : "L" ,
"\u05DE" : "M" ,
"\u05E0" : "N" ,
"\u05E1" : "S" ,
"\u05E2" : "Y" ,
"\u05E4" : "P" ,
"\u05E6" : "C" ,
"\u05E7" : "Q" ,
"\u05E8" : "R" ,
"\u05E9" : "W" ,
"\u05EA" : "T"
}
),
reUnicodeLetterRanges: new RegExp(
"[0041-005A0061-007A00AA00B500BA00C0-00D600D8-00F600F8-02C102C6-02D102E0-02E402EC02EE0370-037403760377037A-037D03860388-038A038C038E-03A103A3-03F503F7-0481048A-05230531-055605590561-058705D0-05EA05F0-05F20621-064A066E066F0671-06D306D506E506E606EE06EF06FA-06FC06FF07100712-072F074D-07A507B107CA-07EA07F407F507FA0904-0939093D09500958-096109710972097B-097F0985-098C098F09900993-09A809AA-09B009B209B6-09B909BD09CE09DC09DD09DF-09E109F009F10A05-0A0A0A0F0A100A13-0A280A2A-0A300A320A330A350A360A380A390A59-0A5C0A5E0A72-0A740A85-0A8D0A8F-0A910A93-0AA80AAA-0AB00AB20AB30AB5-0AB90ABD0AD00AE00AE10B05-0B0C0B0F0B100B13-0B280B2A-0B300B320B330B35-0B390B3D0B5C0B5D0B5F-0B610B710B830B85-0B8A0B8E-0B900B92-0B950B990B9A0B9C0B9E0B9F0BA30BA40BA8-0BAA0BAE-0BB90BD00C05-0C0C0C0E-0C100C12-0C280C2A-0C330C35-0C390C3D0C580C590C600C610C85-0C8C0C8E-0C900C92-0CA80CAA-0CB30CB5-0CB90CBD0CDE0CE00CE10D05-0D0C0D0E-0D100D12-0D280D2A-0D390D3D0D600D610D7A-0D7F0D85-0D960D9A-0DB10DB3-0DBB0DBD0DC0-0DC60E01-0E300E320E330E40-0E460E810E820E840E870E880E8A0E8D0E94-0E970E99-0E9F0EA1-0EA30EA50EA70EAA0EAB0EAD-0EB00EB20EB30EBD0EC0-0EC40EC60EDC0EDD0F000F40-0F470F49-0F6C0F88-0F8B1000-102A103F1050-1055105A-105D106110651066106E-10701075-1081108E10A0-10C510D0-10FA10FC1100-1159115F-11A211A8-11F91200-1248124A-124D1250-12561258125A-125D1260-1288128A-128D1290-12B012B2-12B512B8-12BE12C012C2-12C512C8-12D612D8-13101312-13151318-135A1380-138F13A0-13F41401-166C166F-16761681-169A16A0-16EA1700-170C170E-17111720-17311740-17511760-176C176E-17701780-17B317D717DC1820-18771880-18A818AA1900-191C1950-196D1970-19741980-19A919C1-19C71A00-1A161B05-1B331B45-1B4B1B83-1BA01BAE1BAF1C00-1C231C4D-1C4F1C5A-1C7D1D00-1DBF1E00-1F151F18-1F1D1F20-1F451F48-1F4D1F50-1F571F591F5B1F5D1F5F-1F7D1F80-1FB41FB6-1FBC1FBE1FC2-1FC41FC6-1FCC1FD0-1FD31FD6-1FDB1FE0-1FEC1FF2-1FF41FF6-1FFC2071207F2090-209421022107210A-211321152119-211D212421262128212A-212D212F-2139213C-213F2145-2149214E218321842C00-2C2E2C30-2C5E2C60-2C6F2C71-2C7D2C80-2CE42D00-2D252D30-2D652D6F2D80-2D962DA0-2DA62DA8-2DAE2DB0-2DB62DB8-2DBE2DC0-2DC62DC8-2DCE2DD0-2DD62DD8-2DDE2E2F300530063031-3035303B303C3041-3096309D-309F30A1-30FA30FC-30FF3105-312D3131-318E31A0-31B731F0-31FF34004DB54E009FC3A000-A48CA500-A60CA610-A61FA62AA62BA640-A65FA662-A66EA67F-A697A717-A71FA722-A788A78BA78CA7FB-A801A803-A805A807-A80AA80C-A822A840-A873A882-A8B3A90A-A925A930-A946AA00-AA28AA40-AA42AA44-AA4BAC00D7A3F900-FA2DFA30-FA6AFA70-FAD9FB00-FB06FB13-FB17FB1DFB1F-FB28FB2A-FB36FB38-FB3CFB3EFB40FB41FB43FB44FB46-FBB1FBD3-FD3DFD50-FD8FFD92-FDC7FDF0-FDFBFE70-FE74FE76-FEFCFF21-FF3AFF41-FF5AFF66-FFBEFFC2-FFC7FFCA-FFCFFFD2-FFD7FFDA-FFDC]"
.replace(/\w{4}/g, "\\u$&")
),
inWordSupplement: [
"\u00AD" // SOFT HYPHEN
],
isInWordSupplement: function(c) {
return inWordSupplement.indexOf(c)>=0;
},
isUnicodeLetters:function(str) {
return reUnicodeLetterRanges.test(str);
},
isRus:function(c) {
c=charcode(c);
return (
((c>=0x430)&&(c<=0x44f))||
((c>=0x410)&&(c<=0x42f))||
(c==0x451)||
(c==0x401)
);
},
isWestern:function(c) {
c=charcode(c);
return (
((c>=0x41)&&(c<=0x5a))||
((c>=0x61)&&(c<=0x7a))||
((c>=0xc0)&&(c<=0xd6))||
((c>=0xd8)&&(c<=0xf6))||
((c>=0xf8)&&(c<=0xff))
);
},
anyRus:function(s) {
for (var i=0;i
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
ע\ع (Ayn\Ayn) Lookup License Agreement v1.1
The End
*/
/*
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac text
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac
text to Hebrew writing system and a convenience interface to on-line translation
services/search engines.
Copyright (C) 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
(this option should not be used while the Author is alive)
to Hebrew writing system
and a convenience interface to on-line translation services/search engines.
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
This file is a part of ע\ع (Ayn\Ayn) Lookup and should be used
under terms of the ע\ع (Ayn\Ayn) Lookup license only.
**/
with (com.zeevbelkin.utils) {
uses_mod("tables.js");
}
with (com.zeevbelkin) with(utils) with(alifAlef) extend(
"com.zeevbelkin.alifAlef", {
/*
wordlength:function(text) {
var len=0;
if (text) for (var i=0;i
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
ע\ع (Ayn\Ayn) Lookup License Agreement v1.1
The End
ע\ع (Ayn\Ayn) Lookup -- a tools for transliteration of Arabic/Syriac
text to Hebrew writing system and a convenience interface to on-line translation
services/search engines.
Copyright (C) 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as
published by the Free Software Foundation, either version 3 of the
License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see http://www.gnu.org/licenses/.
(this option should not be used while the Author is alive)
to Hebrew writing system
and a convenience interface to on-line translation services/search engines.
© 2009, 2010, 2011 Ze'ev (Zeev, Vladimir) Belkin. All rights reserved.
This file is a part of ע\ع (Ayn\Ayn) Lookup and should be used
under terms of the ע\ع (Ayn\Ayn) Lookup license only.
**/
with (com.zeevbelkin.utils) {
uses_mod("tables.js");
uses_mod("translitWord.js");
}
with (com.zeevbelkin) with(utils) with(alifAlef) extend(
"com.zeevbelkin.alifAlef", {
heb2syr_tab: (
(function() {
var tab={};
for (var cc in transTable) if ((cc>=0x700)&&(cc<=0x74F)) {
var t=transTable[cc];
if (t&&!t.opt&&t.h) {
var h=t.h.charAt(0);
if (hebLetters[h]&&!tab[h]) {
tab[h]=String.fromCharCode(cc);
// alert(h+' '+tab[h]);
}
}
}
return patchHebTransTab(tab);
})()
),
heb2phoe_tab: (
(function() {
var tab={};
for (var cc in transTable) if ((cc>=0x10900)&&(cc<=0x1091F)) {
var t=transTable[cc];
if (t&&!t.opt&&t.h) {
var h=t.h.charAt(0);
if (hebLetters[h]&&!tab[h]) {
tab[h]=String.fromCodePoint(cc);
}
}
}
return patchHebTransTab(tab);
})()
),
heb2syr:function(text,nsof) {
var r='',tl=text.length-1;
if (text) for (var i=0;i<=tl;i++) {
var c=text.charAt(i),sr=heb2syr_tab[c];
var sof=!nsof;
if (sr) {
//alert(c+' '+sr)
c=(sof&&(i==tl))?syr.makeSofit(sr):sr;
}
r+=c;
}
return r;
},
heb2phoe:function(text) {
var r='',tl=text.length-1;
if (text) for (var i=0;i<=tl;i++) {
var c=text.charAt(i),sr=heb2phoe_tab[c];
if (sr) c=sr;
r+=c;
}
return r;
},
heb2phoe_dup:function(hws) {
var ws=[];
for (var i=0;i