more singlebyte encodings, more tests

This commit is contained in:
Dmitry Shirokov 2013-05-04 19:27:28 +10:00
parent 3410a495d4
commit 486929120a
17 changed files with 476 additions and 47 deletions

View File

@ -38,5 +38,15 @@ occurency analysis to determine the most probable encoding.
* ISO-8859-5 * ISO-8859-5
* ISO-8859-6 * ISO-8859-6
* ISO-8859-7 * ISO-8859-7
* ISO-8859-8
* ISO-8859-9
* windows-1250
* windows-1251
* windows-1252
* windows-1253
* windows-1254
* windows-1255
* windows-1256
* KOI8-R
Currently only these encodings are supported, more will be added soon. Currently only these encodings are supported, more will be added soon.

View File

@ -595,34 +595,6 @@ module.exports.ISO_8859_7 = function() {
}; };
util.inherits(module.exports.ISO_8859_7, sbcs); util.inherits(module.exports.ISO_8859_7, sbcs);
/*
module.exports.ISO_8859_7 = function() {
this.byteMap = function() {
return [
];
};
this.ngrams = function() {
return [
];
};
this.name = function(det) {
if (typeof det == 'undefined')
return "ISO-8859-7";
return det.fC1Bytes ? "windows-1253" : "ISO-8859-7";
};
this.language = function() {
return "el";
};
};
util.inherits(module.exports.ISO_8859_7, sbcs);
*/
module.exports.ISO_8859_8 = function() { module.exports.ISO_8859_8 = function() {
this.byteMap = function() { this.byteMap = function() {
@ -748,7 +720,7 @@ module.exports.ISO_8859_9 = function() {
0x65206B, 0x656469, 0x656E20, 0x657220, 0x657269, 0x657369, 0x696C65, 0x696E20, 0x65206B, 0x656469, 0x656E20, 0x657220, 0x657269, 0x657369, 0x696C65, 0x696E20,
0x696E69, 0x697220, 0x6C616E, 0x6C6172, 0x6C6520, 0x6C6572, 0x6E2061, 0x6E2062, 0x696E69, 0x697220, 0x6C616E, 0x6C6172, 0x6C6520, 0x6C6572, 0x6E2061, 0x6E2062,
0x6E206B, 0x6E6461, 0x6E6465, 0x6E6520, 0x6E6920, 0x6E696E, 0x6EFD20, 0x72696E, 0x6E206B, 0x6E6461, 0x6E6465, 0x6E6520, 0x6E6920, 0x6E696E, 0x6EFD20, 0x72696E,
0x72FD6E, 0x766520, 0x796120, 0x796F72, 0xFD6E20, 0xFD6E64, 0xFD6EFD, 0xFDF0FD, 0x72FD6E, 0x766520, 0x796120, 0x796F72, 0xFD6E20, 0xFD6E64, 0xFD6EFD, 0xFDF0FD
]; ];
}; };
@ -763,3 +735,220 @@ module.exports.ISO_8859_9 = function() {
}; };
}; };
util.inherits(module.exports.ISO_8859_9, sbcs); util.inherits(module.exports.ISO_8859_9, sbcs);
module.exports.windows_1251 = function() {
this.byteMap = function() {
return [
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x90, 0x83, 0x20, 0x83, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x9A, 0x20, 0x9C, 0x9D, 0x9E, 0x9F,
0x90, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x9A, 0x20, 0x9C, 0x9D, 0x9E, 0x9F,
0x20, 0xA2, 0xA2, 0xBC, 0x20, 0xB4, 0x20, 0x20,
0xB8, 0x20, 0xBA, 0x20, 0x20, 0x20, 0x20, 0xBF,
0x20, 0x20, 0xB3, 0xB3, 0xB4, 0xB5, 0x20, 0x20,
0xB8, 0x20, 0xBA, 0x20, 0xBC, 0xBE, 0xBE, 0xBF,
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF,
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF7,
0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0xFF
];
};
this.ngrams = function() {
return [
0x20E220, 0x20E2EE, 0x20E4EE, 0x20E7E0, 0x20E820, 0x20EAE0, 0x20EAEE, 0x20EDE0,
0x20EDE5, 0x20EEE1, 0x20EFEE, 0x20EFF0, 0x20F0E0, 0x20F1EE, 0x20F1F2, 0x20F2EE,
0x20F7F2, 0x20FDF2, 0xE0EDE8, 0xE0F2FC, 0xE3EE20, 0xE5EBFC, 0xE5EDE8, 0xE5F1F2,
0xE5F220, 0xE820EF, 0xE8E520, 0xE8E820, 0xE8FF20, 0xEBE5ED, 0xEBE820, 0xEBFCED,
0xEDE020, 0xEDE520, 0xEDE8E5, 0xEDE8FF, 0xEDEE20, 0xEDEEE2, 0xEE20E2, 0xEE20EF,
0xEE20F1, 0xEEE220, 0xEEE2E0, 0xEEE3EE, 0xEEE920, 0xEEEBFC, 0xEEEC20, 0xEEF1F2,
0xEFEEEB, 0xEFF0E5, 0xEFF0E8, 0xEFF0EE, 0xF0E0E2, 0xF0E5E4, 0xF1F2E0, 0xF1F2E2,
0xF1F2E8, 0xF1FF20, 0xF2E5EB, 0xF2EE20, 0xF2EEF0, 0xF2FC20, 0xF7F2EE, 0xFBF520
];
};
this.name = function(det) {
return "windows-1251";
};
this.language = function() {
return "ru";
};
};
util.inherits(module.exports.windows_1251, sbcs);
module.exports.windows_1256 = function() {
this.byteMap = function() {
return [
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x81, 0x20, 0x83, 0x20, 0x20, 0x20, 0x20,
0x88, 0x20, 0x8A, 0x20, 0x9C, 0x8D, 0x8E, 0x8F,
0x90, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x98, 0x20, 0x9A, 0x20, 0x9C, 0x20, 0x20, 0x9F,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0xAA, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0xB5, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0x20,
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7,
0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF,
0x20, 0x20, 0x20, 0x20, 0xF4, 0x20, 0x20, 0x20,
0x20, 0xF9, 0x20, 0xFB, 0xFC, 0x20, 0x20, 0xFF
];
};
this.ngrams = function() {
return [
0x20C7E1, 0x20C7E4, 0x20C8C7, 0x20DAE1, 0x20DDED, 0x20E1E1, 0x20E3E4, 0x20E6C7,
0xC720C7, 0xC7C120, 0xC7CA20, 0xC7D120, 0xC7E120, 0xC7E1C3, 0xC7E1C7, 0xC7E1C8,
0xC7E1CA, 0xC7E1CC, 0xC7E1CD, 0xC7E1CF, 0xC7E1D3, 0xC7E1DA, 0xC7E1DE, 0xC7E1E3,
0xC7E1E6, 0xC7E1ED, 0xC7E320, 0xC7E420, 0xC7E4CA, 0xC820C7, 0xC920C7, 0xC920DD,
0xC920E1, 0xC920E3, 0xC920E6, 0xCA20C7, 0xCF20C7, 0xCFC920, 0xD120C7, 0xD1C920,
0xD320C7, 0xDA20C7, 0xDAE1EC, 0xDDED20, 0xE120C7, 0xE1C920, 0xE1EC20, 0xE1ED20,
0xE320C7, 0xE3C720, 0xE3C920, 0xE3E420, 0xE420C7, 0xE520C7, 0xE5C720, 0xE6C7E1,
0xE6E420, 0xEC20C7, 0xED20C7, 0xED20E3, 0xED20E6, 0xEDC920, 0xEDD120, 0xEDE420
];
};
this.name = function(det) {
return "windows-1256";
};
this.language = function() {
return "ar";
};
};
util.inherits(module.exports.windows_1256, sbcs);
module.exports.KOI8_R = function() {
this.byteMap = function() {
return [
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67,
0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F,
0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,
0x78, 0x79, 0x7A, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0xA3, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0xA3, 0x20, 0x20, 0x20, 0x20,
0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF,
0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7,
0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF,
0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7,
0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF
];
};
this.ngrams = function() {
return [
0x20C4CF, 0x20C920, 0x20CBC1, 0x20CBCF, 0x20CEC1, 0x20CEC5, 0x20CFC2, 0x20D0CF,
0x20D0D2, 0x20D2C1, 0x20D3CF, 0x20D3D4, 0x20D4CF, 0x20D720, 0x20D7CF, 0x20DAC1,
0x20DCD4, 0x20DED4, 0xC1CEC9, 0xC1D4D8, 0xC5CCD8, 0xC5CEC9, 0xC5D3D4, 0xC5D420,
0xC7CF20, 0xC920D0, 0xC9C520, 0xC9C920, 0xC9D120, 0xCCC5CE, 0xCCC920, 0xCCD8CE,
0xCEC120, 0xCEC520, 0xCEC9C5, 0xCEC9D1, 0xCECF20, 0xCECFD7, 0xCF20D0, 0xCF20D3,
0xCF20D7, 0xCFC7CF, 0xCFCA20, 0xCFCCD8, 0xCFCD20, 0xCFD3D4, 0xCFD720, 0xCFD7C1,
0xD0CFCC, 0xD0D2C5, 0xD0D2C9, 0xD0D2CF, 0xD2C1D7, 0xD2C5C4, 0xD3D120, 0xD3D4C1,
0xD3D4C9, 0xD3D4D7, 0xD4C5CC, 0xD4CF20, 0xD4CFD2, 0xD4D820, 0xD9C820, 0xDED4CF
];
};
this.name = function(det) {
return "KOI8-R";
};
this.language = function() {
return "ru";
};
};
util.inherits(module.exports.KOI8_R, sbcs);
/*
module.exports.ISO_8859_7 = function() {
this.byteMap = function() {
return [
];
};
this.ngrams = function() {
return [
];
};
this.name = function(det) {
if (typeof det == 'undefined')
return "ISO-8859-7";
return det.fC1Bytes ? "windows-1253" : "ISO-8859-7";
};
this.language = function() {
return "el";
};
};
util.inherits(module.exports.ISO_8859_7, sbcs);
*/

View File

@ -29,13 +29,33 @@ var recognisers = [
new sbcs.ISO_8859_6, new sbcs.ISO_8859_6,
new sbcs.ISO_8859_7, new sbcs.ISO_8859_7,
new sbcs.ISO_8859_8, new sbcs.ISO_8859_8,
new sbcs.ISO_8859_9 new sbcs.ISO_8859_9,
new sbcs.windows_1251,
new sbcs.windows_1256,
new sbcs.KOI8_R
]; ];
module.exports.detect = function(buffer) { module.exports.detect = function(buffer) {
// Tally up the byte occurence statistics.
var fByteStats = [];
for (var i = 0; i < 256; i++)
fByteStats[i] = 0;
for (var i = buffer.length - 1; i >= 0; i--)
fByteStats[buffer[i] & 0x00ff]++;
var fC1Bytes = false;
for (var i = 0x80; i <= 0x9F; i += 1) {
if (fByteStats[i] != 0) {
fC1Bytes = true;
break;
}
}
var context = { var context = {
fByteStats: fByteStats,
fC1Bytes: fC1Bytes,
fRawInput: buffer, fRawInput: buffer,
fRawLength: buffer.length, fRawLength: buffer.length,
fInputBytes: buffer, fInputBytes: buffer,
@ -52,7 +72,6 @@ module.exports.detect = function(buffer) {
return a.confidence - b.confidence; return a.confidence - b.confidence;
}); });
// console.log(matches);
return matches.length ? matches.pop().name : null; return matches.length ? matches.pop().name : null;
}; };

View File

@ -0,0 +1,20 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -0,0 +1,20 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -0,0 +1,3 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.

View File

@ -0,0 +1 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -0,0 +1,20 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].

View File

@ -0,0 +1,4 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.
ƒ „ … † ‡ Š

View File

@ -0,0 +1,5 @@
Velký a Malý Tisý je národní přírodní rezervace ev. č. 498 poblíž města Lomnice nad Lužnicí v okrese Jindřichův Hradec ležící na území CHKO Třeboňsko. Řadí se mezi nejvýznamnější rybniční rezervace v Česku a je významná rozsáhlým litorálním porostem na březích rybníků. Oblast spravuje AOPK ČR Správa CHKO Třeboňsko a je evidována i v rámci světové organizace UNESCO jako biosférická rezervace, Natura 2000 a další. Důvodem ochrany je jedna z nejvýznamnějších ornitologických rezervací v Česku. Význam má i z pohledu entomologického.
Součástí rezervace je 11 větších rybníků, mimo jiné i dvojice rybníků Velký a Malý Tisý, které daly lokalitě název. Pro rybníky v rezervaci je charakteristické, že mají velmi členité pobřeží tvořené zarostlými břehy, zátokami, poloostrovy a ostrůvky. Na břehy volně navazují podmáčené louky, lesy, vřesoviště a pole. Vlivem rozmanitosti různých stanovišť se zde nachází bohatá řada druhů z flory i fauny, které zde sídlí. Hlavně ptactvo využívá lokalitu jako důležitou migrační zastávku či shromaždiště před pravidelnými tahy.
I přes to, že je lokalita po desetiletí chráněna, došlo nevhodnými hospodářskými zásahy v podobě nadměrného chovu ryb od 50. let 20. století k postupné degradaci a ústupu litorálních porostů. Od 90. let 20. století se ochranáři snaží snižováním počtu nasazovaných ryb a změnou jejich druhové skladby společně s vodohospodářskými zásahy do výšky vodní hladiny rybníku Velký Tisý podpořit rozvoj rákosových porostů. Výsledky těchto opatření ukázaly, že na obnovu porostů by i za vhodných podmínek byla potřeba doba dosahující až desítek let.
„ … † ‡

View File

@ -0,0 +1 @@
Первомай в современном виде возник в конце XIX века в рабочем движении, выдвинувшем в качестве одного из основных требований введение восьмичасового рабочего дня. 1 мая 1886 года социалистические, коммунистические и анархические организации США и Канады устроили ряд митингов и демонстраций. При разгоне такой демонстрации в Чикаго 4 мая погибло шесть демонстрантов. В ходе последовавших за этим массовых выступлений протеста против жестоких действий полиции в результате взрыва бомбы последовавшей перестрелке было убито восемь полицейских и минимум четверо рабочих (по некоторым данным, до пятидесяти убитых и раненых[2]), несколько десятков человек получили ранения. По обвинению в организации взрыва четверо рабочих-анархистов были приговорены к повешению (впоследствии было доказано, что обвинение было ложным)[3]. Именно в память о казнённых Парижский конгресс II Интернационала (июль 1889) объявил 1 мая Днём солидарности рабочих всего мира и предложил ежегодно отмечать его демонстрациями с социальными требованиями.

View File

@ -0,0 +1,22 @@
What is Unicode?
Unicode provides a unique number for every character,
no matter what the platform,
no matter what the program,
no matter what the language.
Fundamentally, computers just deal with numbers. They store letters and other characters by assigning a number for each one. Before Unicode was invented, there were hundreds of different encoding systems for assigning these numbers. No single encoding could contain enough characters: for example, the European Union alone requires several different encodings to cover all its languages. Even for a single language like English no single encoding was adequate for all the letters, punctuation, and technical symbols in common use.
These encoding systems also conflict with one another. That is, two encodings can use the same number for two different characters, or use different numbers for the same character. Any given computer (especially servers) needs to support many different encodings; yet whenever data is passed between different encodings or platforms, that data always runs the risk of corruption.
Unicode is changing all that!
Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. The Unicode Standard has been adopted by such industry leaders as Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys and many others. Unicode is required by modern standards such as XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML, etc., and is the official way to implement ISO/IEC 10646. It is supported in many operating systems, all modern browsers, and many other products. The emergence of the Unicode Standard, and the availability of tools supporting it, are among the most significant recent global software technology trends.
Incorporating Unicode into client-server or multi-tiered applications and websites offers significant cost savings over the use of legacy character sets. Unicode enables a single software product or a single website to be targeted across multiple platforms, languages and countries without re-engineering. It allows data to be transported through many different systems without corruption.
About the Unicode Consortium
The Unicode Consortium is a non-profit organization founded to develop, extend and promote use of the Unicode Standard, which specifies the representation of text in modern software products and standards. The membership of the consortium represents a broad spectrum of corporations and organizations in the computer and information processing industry. The consortium is supported financially solely through membership dues. Membership in the Unicode Consortium is open to organizations and individuals anywhere in the world who support the Unicode Standard and wish to assist in its extension and implementation.
For more information, see the Glossary, Unicode Enabled Products, Technical Introduction and Useful Resources.
ƒ „ … † ‡ Š

View File

@ -0,0 +1,3 @@
Η Λαϊκή ή Δημώδης Λατινική (λατ. sermo vulgaris) είναι ένας όρος-ομπρέλα, ο οποίος καλύπτει τις διαλέκτους τής λατινικής γλώσσας που ομιλούνταν κυρίως στις δυτικές επαρχίες τής Ρωμαϊκής Αυτοκρατορίας, μέχρις ότου αυτές οι διάλεκτοι, αποκλίνοντας ακόμη περισσότερο, εξελίχθηκαν στις πρώιμες ρομανικές γλώσσες κατά τον 9ο αιώνα.
Η ομιλουμένη Λατινική διέφερε από τη λογοτεχνική κλασική Λατινική στην προφορά, το λεξιλόγιο και τη γραμματική. Κάποια χαρακτηριστικά της δημώδους Λατινικής δεν εμφανίστηκαν παρά στην ύστερη Αυτοκρατορία. Άλλα χαρακτηριστικά της υπήρχαν πιθανόν στην ομιλουμένη Λατινική, τουλάχιστον στις πρωτογενείς μορφές τους, πολύ νωρίτερα. Οι περισσότεροι ορισμοί τής δημώδους Λατινικής την παρουσιάζουν ως προφορική παρά ως γραπτή γλώσσα, επειδή οι μαρτυρίες οδηγούν στο συμπέρασμα ότι η ομιλουμένη Λατινική διασπάστηκε σε αποκλίνουσες διαλέκτους αυτή την περίοδο. Επειδή κανείς τότε δεν μετέγραψε φωνητικά την καθημερινή ομιλία των Λατίνων, οι μελετητές τής λαϊκής Λατινικής πρέπει να χρησιμοποιούν έμμεσες μεθόδους.
ƒ „ … † ‡

View File

@ -0,0 +1,4 @@
Leylek (Ciconia ciconia), leylekgiller (Ciconiidae) familyasından büyük ve uzun bacaklı bir kuş türü. Siyah kanat uçuş tüylerinin dışında tamamen beyazdır, gagası ve bacakları erişkinlerde kırmızı, yavrularda ise siyahtır. Cüssesi biraz farklı olan iki alttürü ise Avrupa'da (kuzeyde Finlandiya'ya kadar), kuzeybatı Afrika'da ve güneybatı Asya'da (doğuda Kazakistan'ın güneyine kadar) bulunur. Leylekler uzun mesafelere göç ederler. Çoğunlukla tropikal Sahraaltı Afrika'dan Güney Afrika'nın güneyine ve hatta Hindistan altkıtasının güneyine kadar olan bölgede kışı geçirirler. Avrupa'dan Afrika'ya göç ederken Akdeniz üzerinden değil, doğuda Levant üzerinden, batıda da Cebelitarık Boğazı'ndan geçerler. Bunun nedeni uçmak için gereksinim duydukları hava termallerinin deniz üzerinde oluşmamasıdır. Yerde yürürken durmadan, yavaşça hareket ederler. Leylekgiller ailesinin diğer üyeleri gibi boynu tamamen gerilmiş şekilde uçarlar.
Etçil olan leylek, böcekler, balık, amfibiler, sürüngenler, küçük memeliler ve küçük kuşlar gibi çok geniş bir yelpazede beslenir. Besinlerinin çoğunu yerden, kısa bitki örtüsü içinden ve sığ sulardan toplar. Tekeşli olarak ürerler ancak yaşam boyunca sürecek bir çift bağı kurmazlar. Hem erkeği hem de dişisi, çubuklardan oluşan ve birkaç yıl kullanılabilen büyük bir yuva yapar. Dişi leylek her yıl bir kereliğine olmak üzere dört yumurta yumurtlar ve yavrular 33-34 gün sonra aynı anda olmamak üzere yumurtadan çıkar. Çifti oluşturan kuşların ikisi de kuluçkaya yatar ve birlikte yavruları beslerler. Yavrular yumurtadan çıktıktan 58-64 gün sonra yuvadan ayrılır ve 7 ila 20 gün daha ebeveynler tarafından beslenir.
Leylek, Dünya Doğa ve Doğal Kaynakları Koruma Birliği (IUCN) tarafından asgari endişe altındaki türler arasında sınıflandırılmıştır. Orta Çağ boyunca ormanların azalması leyleklerin yararına olmuştur ancak tarım pratiklerinin değişmesi ve sanayileşme 19. yüzyılda ve 20. yüzyılın başlarında Avrupa'nın bazı bölgelerinde popülasyonlarının azalmasına ve hatta yok olmasına neden olmuştur. Avrupa çapındaki koruma programlarının sonucunda leyleklerin tekrar Hollanda, Belçika, İsviçre ve İsveç'te üremeleri sağlanmıştır. Doğal düşmanlarının sayısı azdır ancak çeşitli parazitler taşıyabilir. Dikkat çekici bir tür olan leylek tarih boyunca bulunduğu bölgelerde çeşitli söylencelere konu olmuştur. Bunların en bilineni, bebeklerin leylekler tarafından getirildiği söylencesidir.
ƒ „ … † ‡ Š

View File

@ -0,0 +1,32 @@
מה זה יוניקוד (Unicode)?
יוניקוד מקצה מספר ייחודי לכל תו,
לא משנה על איזו פלטפורמה,
לא משנה באיזו תוכנית,
ולא משנה באיזו שפה.
באופן בסיסי, מחשבים עוסקים רק במספרים. הם מאחסנים אותיות ותווים אחרים על-ידי הקצאת מספר לכל אחד מהם. בטרם הומצא היוניקוד, היו מאות מערכות קידוד שונות להקצאת המספרים הללו. אף לא אחת מהן יכלה להכיל כמות תווים מספקת. לדוגמא: רק לאיחוד האירופאי נדרשים כמה סוגי קידודים שונים על מנת לכסות את כל השפות המדוברות בו. יתירה מזאת אף לשפה בודדת, כמו אנגלית למשל, לא היה די במערכת קידוד אחת בעבור כל האותיות, סימני הפיסוק והסמלים הטכניים שבשימוש שוטף.
מערכות קידוד אלו אף סותרות זו את זו. כלומר, שני קידודים יכולים להשתמש באותו מספר לשני תוים נבדלים, או להשתמש במספרים שונים לאותו תו. על כל מחשב (ובמיוחד שרתים) לתמוך במספר רב של מערכות קידוד שונות; אולם כל אימת שנתונים עוברים בין מערכות קידוד או פלטפורמות שונות קיים הסיכון שייפגמו.
יוניקוד משנה את כל זה!
יוניקוד מקצה מספר ייחודי לכל תו, ללא תלות בפלטפורמה, בתוכנית, או בשפה. תקן היוניקוד אומץ על-ידי המובילים בתעשייה כמו Apple, HP, IBM, JustSystem, Microsoft, Oracle, SAP, Sun, Sybase, Unisys ורבים אחרים. יוניקוד נדרש על-ידי תקנים מודרניים כמו XML, Java, ECMAScript (JavaScript), LDAP, CORBA 3.0, WML וכדומה, ומהווה למעשה את היישום הרשמי של תקן ISO/IEC 10646. הוא נתמך על ידי מערכות הפעלה רבות, כל הדפדפנים החדישים, ומוצרים רבים אחרים. הופעת תקן היוניקוד וזמינות הכלים התומכים בו נמנות עם המגמות הכלל-עולמיות החשובות ביותר, אשר מסתמנות לאחרונה בטכנולוגיית התוכנה.
שילוב יוניקוד ביישומי שרת-לקוח או ביישומים רבי-שכבות ובאתרי אינטרנט מאפשר חיסכון ניכר בעלויות לעומת השימוש בסדרות התווים המסורתיות. הודות ליוניקוד, מוצר תוכנה אחד או אתר יחיד ברשת יכול להרחיב את יעדיו למגוון פלטפורמות, ארצות ושפות ללא צורך בשינויים מרחיקים. יוניקוד מאפשר מעבר נתונים דרך מערכות רבות ושונות מבלי שייפגמו.
פרטים אודות הקונסורציום של יוניקוד (Unicode Consortium)
הקונסורציום של יוניקוד הוא ארגון ללא מטרת רווח שנוסד כדי לפתח, להרחיב ולקדם את השימוש בתקן יוניקוד, אשר מגדיר את ייצוג הטקסט במוצרי תוכנה ותקנים מודרניים. חברים בקונסורציום מגוון רחב של תאגידים וארגונים בתעשיית המחשבים ועיבוד המידע. הקונסורציום ממומן על-ידי דמי-חבר בלבד. החברות בקונסורציום יוניקוד פתוחה לארגונים ולאנשים פרטיים, בכל רחבי העולם, אשר תומכים בתקן יוניקוד ומעוניינים לסייע בהתפתחותו והטמעתו.
למידע נוסף, ראה מילון מונחים, רשימה חלקית של מוצרים מותאמים ליוניקוד, מבוא טכני ו- חומרי עזר [קישורים באנגלית].
ֻ
€ 130 ƒ
132 … † ‡
135
136 ‰
2030
137
138
2039

View File

@ -0,0 +1,8 @@
قبل حرب 1948 كانت المنطقة جزءاً من الانتداب البريطاني على فلسطين. بقيت أراضي الضفة الغربية في أيادي الجيش الأردني بعد التوقيع على اتفاقيات الهدنة (اتفاقيات رودس) التي أنهت الحرب عام 1949 ورسمت الحدود الفاصلة بين الضفة الغربية والأراضي التي أقيمت عليها دولة إسرائيل. هذه الحدود (التي هي جزء من الخط الأخضر) ضمت إلى الضفة الغربية الجزء الشرقي لمدينة القدس، بما في ذلك البلدة القديمة، ما عدا جبل المشارف.
تمت الوحدة بين الضفتين الشرقية (الأردنية) والغربية (الفلسطينية) بعد مؤتمر أريحا عام 1951م الذي طالب بالوحدة. ظلت هذه الوحدة قائمة مع الضفة الشرقية واعتبار أهالي الضفة الغربية مواطنيين أردنيين حتى عام 1988 عندما قرر الملك حسين الراحل فك الارتباط القانوني والإداري والمالي (قرار فك الارتباط) بناءا على طلب منظمة التحرير الفلسطينية ماعدا الأوقاف التي بقيت مرتبطة مع الحكومة الأردنية حتى اليوم من إشراف وتعيينات وصيانة للأوقاف المسيحية والإسلامية والتزامات مالية.
في 5 حزيران 1967 احتلت إسرائيل أراضي الضفة الغربية (وأراضٍ أخرى) إبان حرب الأيام الستة (النكسة) ولا تزال الضفة خاضعة لأحكام اتفاقية جنيف الرابعة للأراضي المحتلة. على الرغم من ذلك قامت إسرائيل ببناء العديد من الـمستوطنات في الضفة. كما قامت إسرائيل بضم القدس الشرقية وضواحيها بشكل أحادي الجانب لم يعترف بشرعيتة المجتمع الدولي. تطلق الحكومة الإسرائيلية على المنطقة اسم "يهودا وشومرون" (أي "يهوذا والسامرة")، حيث تذكر بهذا الاسم في الوثائق الإسرائيلية الرسمية.
في عام 1993 وقعت إسرائيل ومنظمة التحرير الفلسطينية اتفاقية أوسلو التي نصت على إقامة حكومة ذاتية فلسطينية تدير الحياة المدنية في الضفة الغربية وقطاع غزة لفترة انتقالية، على أن تستأنف المفاوضات في القضايا المتبقية، كالقدس واللاجئين. وبالفعل وفي عام 1994 أقيمت السلطة الوطنية الفلسطينية في بعض المدن والقرى الفلسطينية بالتدريج، ولكنها منذ انتفاضة الأقصى لا تستطيع القيام بواجباتها بشكل ناجح. لا يزال هناك مفاوضات بين الإسرائليين والفلسطينيين ولكنها كثيراً ما تتعثر بسبب إصرار إسرائيل على متابعة استيطانها في الضفة الغربية.
الجدار الفاصل جرف الكثير من أراضي الضفة الغربية
في أبريل 2002 شرعت الحكومة الإسرائيلية برئاسة أرييل شارون ببناء جدار فاصل بينها وبين الفلسطينيين داخل أراضي الضفة الغربية قالت أنه بهدف حماية إسرائيل من العمليات العسكرية الفلسطينية. لكنه اقتضم الكثير من الأراضي الفلسطينية وساهم في إحكام الحصار على الشعب الفلسطيني وإفقار اقتصاده الوطني بشكل شبه كامل. كما تم عزل مدن وبلدات بكاملها عن محيطها الفلسطيني.

View File

@ -6,38 +6,106 @@ describe('Singlebyte Character Sets', function() {
var base = __dirname + '/../data/encodings'; var base = __dirname + '/../data/encodings';
it('should return ISO-8859-1', function() { it('should return ISO-8859-1 (English)', function() {
assert.equal( assert.equal(
chardet.detectFileSync(base + '/iso88591_en'), chardet.detectFileSync(base + '/iso88591_en'), 'ISO-8859-1'
'ISO-8859-1'
); );
}); });
it('should return ISO-8859-2', function() { it('should return ISO-8859-2 (Czech)', function() {
assert.equal( assert.equal(
chardet.detectFileSync(base + '/iso88592_cs'), chardet.detectFileSync(base + '/iso88592_cs'), 'ISO-8859-2'
'ISO-8859-2'
); );
}); });
it('should return ISO-8859-5', function() { it('should return ISO-8859-3');
it('should return ISO-8859-4');
it('should return ISO-8859-5 (Russian)', function() {
assert.equal( assert.equal(
chardet.detectFileSync(base + '/iso88595_ru'), chardet.detectFileSync(base + '/iso88595_ru'), 'ISO-8859-5'
'ISO-8859-5'
); );
}); });
it('should return ISO-8859-6', function() { it('should return ISO-8859-6 (Arabic)', function() {
assert.equal( assert.equal(
chardet.detectFileSync(base + '/iso88596_ar'), chardet.detectFileSync(base + '/iso88596_ar'), 'ISO-8859-6'
'ISO-8859-6'
); );
}); });
it('should return ISO-8859-7', function() { it('should return ISO-8859-7 (Greek)', function() {
assert.equal( assert.equal(
chardet.detectFileSync(base + '/iso88597_el'), chardet.detectFileSync(base + '/iso88597_el'), 'ISO-8859-7'
'ISO-8859-7' );
});
it('should return ISO-8859-8 (Hebrew)', function() {
assert.equal(
chardet.detectFileSync(base + '/iso88598_he'), 'ISO-8859-8'
);
});
it('should return ISO-8859-9 (Turkish)', function() {
assert.equal(
chardet.detectFileSync(base + '/iso88599_tr'), 'ISO-8859-9'
);
});
it('should return ISO-8859-10');
it('should return ISO-8859-11');
// iso-8859-12 is abandoned
it('should return ISO-8859-13');
it('should return ISO-8859-14');
it('should return ISO-8859-15');
it('should return ISO-8859-16');
it('should return windows-1250 (Czech)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1250'), 'windows-1250'
);
});
it('should return windows-1251 (Russian)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1251'), 'windows-1251'
);
});
it('should return windows-1252 (English)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1252'), 'windows-1252'
);
});
it('should return windows-1253 (Greek)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1253'), 'windows-1253'
);
});
it('should return windows-1254 (Turkish)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1254'), 'windows-1254'
);
});
it('should return windows-1255 (Hebrew)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1255'), 'windows-1255'
);
});
it('should return windows-1256 (Arabic)', function() {
assert.equal(
chardet.detectFileSync(base + '/windows_1256'), 'windows-1256'
);
});
it('should return KOI8-R (Russian)', function() {
assert.equal(
chardet.detectFileSync(base + '/koi8r'), 'KOI8-R'
); );
}); });