Уникод

Од Википедија — слободната енциклопедија
Прејди на прегледникот Прејди на пребарувањето
Уникод
Unicode logo.svg
Именувања Универзален збир на кодни знаци (UCS)
Јазик(ци) Меѓународен
Стандард Уникоден стандард
Кодирачки формати UTF-8, UTF-16, GB18030
поретко во употреба: UTF-32, BOCU, SCSU
Претходно ISO 8859, и други

Уникод е стандард во компјутерската индустрија за конзистентно кодирање, претставување и ракување со текстови, изразени во повеќето од светските системи за пишување. Најновата верзија содржи колекција од 136.755 карактери, кои опфаќаат 139 современи и историски скрипти, како и повеќе сетови од симболи. Стандардот Уникод се одржува во врска со ISO/IEC 10646, и обата се код-за-код идентични.

Уникод стандардот се состои од колекција на код графици за визуелна презентација, метод на кодирање и колекција на стандардни карактери за кодирање, колекција од референтни датотеки со податоци и голем број поврзани елементи, како што се својствата на карактерот, правилата за нормализација, декомпозицијата, споредувањето, рендерирањето и двонасочниот ред на прикажување (за правилно прикажување на текст кој ги содржи и двата вида на системи за пишување, од десно кон лево системот за пишување, како што е арапското и хебрејското и од лево кон десно системот за пишување). Од Јуни 2017 година, најновата верзија е Уникод 10.0. Стандардот го одржува Уникод конзорциумот.[1]

Успехот на Уникод во обединувањето на колекциите од карактери, довел до негова широка распространетост и примарна употреба во интернационализацијата и локализацијата на компјутерскиот софтвер. Стандардот бил имплементиран во многу нови технологии, вклучувајќи ги и модерните оперативни системи, XML, Јава (и други програмски јазици) како и .NET Framework.

Уникодот може да биде имплементиран со различни карактери за кодирање. Уникод стандардот ги дефинира UTF-8, UTF-16 и UTF-32, како и неколку други кодирања кои се во употреба. Најчесто користени кодирања се UTF-8, UTF-16 и UCS-2, претходникот на UTF-16.

UTF-8, доминантно користен од веб-сајтовите (преку 90%),[2] користи еден бајт за првите 128 кодни точки, и најмногу до 4 бајти за другите карактери.[3] Првите 128 Уникод точки се ASCII карактери, што значи дека секој ASCII текст, е исто така и UTF-8 текст.

UCS-2 користи два бајта (16 бита) за секој карактер, но може да ги кодира првите 65.536 кодни точки, т.н. Основно Повеќејазично Ниво (ОПН). Со 1.114.112 кодни точки на 17 нивоа што се можни, и со над 137.000 кодни точки дефинирани досега, многу Уникод карактери се надвор од дофатот на UCS-2. Затоа UCS-2 е застарен, иако сеуште се користи во софтверот. UTF-16 го проширува UCS-2, користејќи го истото 16-битно кодирање како и UCS-2 за Основното Повеќејазично Ниво и 4-бајтно кодирање за другите нивоа. Се додека не содржи кодни точки во задржаниот опсег U+0D800-U+0DFFF, UCS-2 текстот е важечки UTF-16 текст.

UTF-32 (исто така се нарекува и UCS-4) користи четири бајти за секој карактер. Како и UCS-2, бројот на бајти по карактер е фиксен, олеснувајќи го индексирањето на карактерите; но за разлика од UCS-2, UTF-32 може да ги кодира сите Уникод кодни точки. Меѓутоа, бидејќи секој карактер користи четири бајти, UTF-32 зема значително повеќе простор во однос на другите кодирања, и не е широко користен.

Потекло и развој[уреди | уреди извор]

Уникод има експлицитна цел да ги надмине ограничувањата на традиционалните кодирања на карактери, како што се оние дефинирани со стандардот ISO 8859, кои нашле широка примена во разни држави во светот, но останале во голема мера некомпатибилни едни со други. Многу традиционални кодирања на карактерите делат заеднички проблем, во тоа што овозможуваат двојазична компјутерска обработка (обично се користат латинските карактери и локалните карактери), но не и повеќејазична компјутерска обработка (компјутерска обработка на произволни пишувања помешани едни со други).

Уникод, тенеденциозно, ги кодира фундаменталните карактери - графемите и графемите како единици - наместо варијабилните хиероглифи (рендерирање) за такви карактери. Во случај на кинески карактери, ова понекогаш доведува до контроверзии околу разликувањето на основниот карактер од неговите варијанти на хиероглифите (види унифицирање на Хан).

При обработка на текст, Уникод ја презема улогата да обезбеди единствена кодна точка- број, а не хиероглифа-за секој карактер. Со други зборови, Уникод го претставува карактерот на апстрактен начин и го остава визуелното рендерирање (големина, облик, фонт или стил) на друг софтвер, како што е веб-пребарувачот или текстуалниот процесор. Сепак, оваа едноставна цел станува комплицирана, поради компромисите направени од дизајнерите на Уникод, со надеж дека ќе го поттикнат побрзото усвојување на Уникод.

Првите 256 кодни точки биле направени идентични со содржината на ISO-8859-1, со цел да се направи неважно конвертирањето на постоечкиот западен текст. Многу суштински идентични карактери биле кодирани многу пати во различни кодни точки, за да се зачуваат разликите што се користат од наследените кодекси, па затоа овозможуваат конверзија од тие кодирања во Уникод (и обратно), без губење на било какви информации. На пример, секцијата "неспоредливи форми" на кодните точки ја опфаќа целата латинска азбука, која е одделена од секцијата на главната латинска азбука, затоа што во кинеските, јапонските и корејските (КЈК) фонтови, овие латински карактери се рендерирани со иста широчина како КЈК идеографите, наместо на половина широчина. За други примери, видете во дупликат карактери во Уникод.

Историја[уреди | уреди извор]

Врз основ на искуствата со Ксерокс Карактер Код Стандардот (XCCS) од 1980 година,[4] потеклото на Уникод датира од 1987 година, кога Џо Бејкер од Ксерокс, со Ли Колинс и Марк Дејвис од Епл, започнале да ја истражуваат практичноста за создавање на универзална колекција од карактери.[5] Со дополнителен придонес од страна на Питер Фенвик и Дејв Опстад,[4] Џо Бекер објавил нацрт-предлог за "меѓународен/повеќејазичен систем за кодирање на текстуалните карактери, во Август 1988 година, условно наречен Уникод". Тој објаснил дека "името ’Уникод’ има за цел да укажува на уникатно, унифицирано, универзално кодирање".[4]


Во овој документ, наречен Уникод 88, Бекер го изложил 16-битниот модел за карактери:

Уникод има за цел да одговори на потребата од практично, сигурно кодирање на светски текст. Уникод грубо може да биде опишан како "широк ASCII", кој бил проширен на 16 бита, за да ги опфати карактерите на сите светски живи јазици. Со соодветен инженерски дизајн, 16 бита по карактер, е повеќе од доволен за оваа намена.

Неговиот оригинален 16-битен дизајн бил втемелен на претпоставката дека само овие пишувања и карактери во современа употреба би требало да бидат кодирани:[4]

Уникод дава повисок приоритет во обезбедувањето на корисност за иднината, отколку за зачувување на минатите антиквитети. Уникод е фокусиран, во прв ред, на карактерите објавени во современиот текст (на пример, во сојузот на сите весници и списанија печатени во светот во 1988 година), чиј број е несомнено далеку под 214 = 16,384. Надвор од овие карактери за модерна употреба, сите други можат да бидат дефинирани како застарени или ретки; овие се подобри кандидати за регистрација за приватна употреба, отколку за загрозување на јавната листа на генерално корисни Уникодови.

Во почетокот на 1989 година, работната група на Уникод се проширила со вклучувањето на Кен Вистлер и Мајк Кернаген од Метафора, Карен Смит-Јошимура и Џоен Алипренд од РЛГ, како и Глен Врајт од Сан Микросистемс, а во 1990 година на групата се приклучиле Мишел Суигнерд и Асмус Фрајтаг од Мајкрософт како и Рик МекГовен од Некст. До крајот на 1990 година, најголем дел од работата за мапирање на постоечките стандарди за кодирање на карактерите била завршена, а бил подготвен и конечниот преглед на нацртот на Уникод.

На 3 Јануари 1991 година во Калифорнија бил инкорпориран Конзорциумот на Уникод,[6] а во Октомври 1991 година бил издаден првиот том од стандардот Уникод. Вториот том, кој ги опфаќал идеограмите на Хан, бил објавен во Јуни 1992 година.

Во 1996 година бил имплементиран заменски механизам за карактери во Уникод 2.0, така што Уникод повеќе не бил ограничен на 16 бита. Со тоа се зголемил просторот за кодови во Уникод, на повеќе од еден милион кодни точки, со што се овозможило кодирање на многу историски пишувања (на пример, египетските хиероглифи) и илјадници ретко користени или застарени карактери, кои не биле предвидени за кодирање. Помеѓу карактерите кои првично не биле наменети за Уникод, се ретко користените Канџи или Кинеските карактери, многу од нив се дел од лични имиња и имиња на места, што ги прави ретко користени, но многу повеќе од круцијални, отколку што било предвидено во оригиналната архитектура на Уникод.[7]

Мајкрософт ТруТајп спецификацијата, верзија 1.0 од 1992, го користела името Епл Уникод наместо Уникод за Платформата ИД во табелата за именување.

Архитектура и терминологија[уреди | уреди извор]

Уникод дефинира простор за кодови од 1,114,112 кодни точки во опсегот 0hex до 10FFFFhex.[8] Нормално, Уникод кодната точка се наведува во системот за пишување "U+" проследена со нејзиниот хексадецимален број. За кодни точки во Основното Повеќејазично Ниво (ОПН), се користат четири цифри (на пример, U+0058 за карактерот ЛАТИНИЧНА ГОЛЕМА БУКВА X); а за кодни точки надвор од ОПН, се користат пет или шест цифри, како што се бара (на пример, U+E0001 за карактерот ЈАЗИЧЕТО ЈАЗИК и U+10FFFD за карактерот КАРАКТЕР ЗА ПРИВАТНО КОРИСТЕЊЕ -10FFFD).[9]

Нивоа на кодни точки и блокови[уреди | уреди извор]

Кодниот простор на Уникод е поделен на седумнаесет нивоа, нумерирани од 0 до 16:

До сите кодни точки во ОПН се пристапува со единечна кодна единица во UTF-16 кодирањето, а може да биде кодирана во еден, два или три бајти во UTF-8. До кодните точки во нивоата од 1 до 16 (дополнителни нивоа) се пристапува со заменски парови во UTF-16, а кодирани во четири бајта во UTF-8.

Во рамките на секое ниво, карактерите се распределени во рамките на именуваните блокови со поврзани карактери. Иако блоковите се со произволна големина, тие секогаш се производ од 16 кодни точки, а често и производ од 128 кодни точки. Карактерите потребни за дадените системи за пишување можат да се прошират преку неколку различни блокови.

Општи својства на категоријата[уреди | уреди извор]

Секоја кодна точка има единечно својство на Општата категорија. Главните категории се означени: Буква, Ознака, Број, Интерпункција, Симбол, Сепаратор и друго. Во рамките на овие категории, постојат и под-категории. Во повеќето случаи, мора да се користат други својства за доволно да се специфицираат карактеристиките на кодната точка. Можните oпшти категории се:

Кодните точки во опсегот U+D800-U+ DBFF (1.024 кодни точки) се познати како високо-заменски кодни точки, а кодните точки во опсегот U+DC00–U+DFFF (1.024 кодни точки) се познати како ниско-заменски кодни точки. Високо заменските-кодни точки, по кои следат ниско заменски-кодни точки, во UTF-16 формираат заменски пар, за да ги претстават кодните точки поголеми од U+FFFF. Овие кодни точки поинаку не можат да бидат користени (ова правило е често игнорирано во праксата, особено кога не се користи UTF-16).

Мала колекција на кодни точки е загарантирана никогаш да не се користат за кодирање на карактери, иако апликациите можат да ги користат овие кодни точки интерно ако сакаат. Постојат шеесет и шест од овие не-карактери: U+FDD0-U+FDEF и било која кодна точка која завршува во вредноста FFFE или FFFF (т.е. U+FFFE, U+FFFF, U+1FFFE, U+1FFFF, ... U+10FFFE , U+10FFFF). Колекцијата од не-карактери е постојана, а нови не-карактери нема да бидат некогаш дефинирани.[10] Правилото дека тие не можат да бидат користени, како заменски, често се игнорира, иако операцијата за означување на редоследот на бајти претпоставува дека U+FFFE никогаш нема да биде првата кодна точка во текстот.

Ако се исклучат заменските и не-карактерите остануваат 1,111,998 кодни точки достапни за користење.

Кодните точки за приватна употреба се сметаат дека се доделени карактери, но тие немаат толкување специфицирано според Уникод стандардот,[11] па секоја размена на такви карактери бара договор помеѓу испраќачот и примачот за нивното толкување. Во кодниот простор на Уникод постојат три области за приватна употреба:

  • Површина за приватна употреба: U+E000-U+F8FF (6.400 карактери)
  • Дополнителна површина за приватна употреба-A: U+F0000-U+FFFFD (65.534 знаци)
  • Дополнителна површина за приватна употреба -Б: U+100000–U+10FFFD (65.534 карактери).

Графички карактери се карактерите дефинирани од страна на Уникод, за да имаат специфична семантика и да имаат или видлива форма на глиф или да претставуваат видлив простор. Од Уникод 10.0 има 136.537 графички карактери.

Карактерите за формат се карактери кои немаат видлив изглед, но можат да влијаат врз изгледот или однесувањето на соседните знаци. На пример, U+200C карактер за раздвојување со нулта ширина и U+200D карактер за спојување со нулта широчина, можат да се користат за промена на стандардното однесување на соседните карактери (на пример, за да се инхибираат лигатурите или да побара формирање на лигатура). Во Уникод 10.0 постојат 153 карактери за формат.

Шеесет и пет кодни точки (U+0000–U+001F и U+007F–U+009F) се резервирани како контролни кодови и одговараат на кодовите за контрола C0 и C1, дефинирани во ISO/IEC 6429. U+0009 (Таб) , U+000A (Поместување за една линија напред) и U+000D (Поместување на курсорот на почетокот од линијата) се широко користени во Уникод-кодираните текстови. Во пракса, C1-кодните точки се често неправилно-преведени (Моџибејк –конфузен текст) наследени CP-1252 карактери, користени од некои англиски и западноевропски текстови со Виндоус технологии.

Графичките карактери, карактерите за формат, карактерите за контролен код, како и карактерите за приватна употреба се групно познати како доделени карактери. Резервираните кодни точки се оние кодни точки кои се достапни за користење, но сè уште не се доделени. Од Уникод 10.0 има 873.775 резервирани кодни точки.

Апстрактни карактери[уреди | уреди извор]

Колекцијата од графички карактери и карактери за формат, дефинирани од страна на Уникод, не одговара директно со колекцијата на апстрактни знаци, што е претставена од Уникод. Уникод ги кодира карактерите со поврзување со апстрактен знак со одредена кодна точка.[12] Сепак, не сите апстрактни знаци се кодирани како единечен Уникод карактер, па некои апстрактни знаци во Уникод можат да бидат претставени со низа од два или повеќе карактера. На пример, малата латинична буква "и" со знак над буквата, точка над и  акутен акцент, што е потребно на литвански јазик, е претставена со секвенца од карактери U+012F, U+0307, U+0301. Уникод чува листа на уникатно именувани секвенци на карактери за апстрактните карактерти, кои не се директно кодирани во Уникод.[13]

Сите графички, за формати и карактери за лична употреба имаат уникатно и непроменливо име, според кое можат да бидат идентификувани. Оваа непроменливост е загарантирана од Уникод верзијата 2.0, со политиката за Стабилност на Името. Во случаите каде што името е навистина неисправно и погрешно, или има вистинска типографска грешка, може да се дефинира формален псевдоним, а апликациите се стимулираат да го користат формалниот псевдоним на местото на официјалното име на карактерот. На пример, U+A015 ꀕYI SYLLABLE WU има официјален псевдоним yi слог итерациски знак, и U+FE18 ︘ ПРЕЗЕНТАЦИСКА ФОРМА ЗА ВЕРТИКАЛНА ПРАВА БЕЛА ЛЕНТИКУЛАРНА ЗАГРАДА (sic) има формален псевдоним за презентациска форма на вертикална десна бела лентикуларна заграда.[14]

Уникод Конзорциум[уреди | уреди извор]

Уникод Конзорциумот е непрофитна организација, која го координира развојот на Уникод. Како полноправни членови се вклучени поголемиот дел од главните компјутерски софтверски и хардверски компании, со некаков интерес во стандардите за обработката на текстови, вклучувајќи ги Адоб Системс, Епл, Гугл, ИБМ, Мајкрософт, Оракл Корпорејшн и Јаху!.[15]

Конзорциумот има амбициозна цел, постоечките шеми за кодирање на карактери на крајот да ги замени со Уникод и неговите стандардни шеми Уникод Формат за Трансформации (УФТ), бидејќи многу од постоечките шеми се ограничени по големина и опсег и не се компатибилни со повеќејазични околини.

Верзии[уреди | уреди извор]

Уникод е развиен во соработка со Меѓународната Организација за Стандардизација и ја споделува колекцијата од карактери со ISO/IEC 10646: Универзалната Колекција од Карактери. Уникод и ISO/IEC 10646 функционираат подеднакво при кодирање на карактери, но Уникод стандардот содржи многу повеќе информации за тие што го имплементираат, покривајќи ги темелно темите како што се кодирање на бинарни податоци во секвенци од карактери кои можат да се печатат, споредување и рендерирање. Стандардот Уникод набројува различни карактерни својства, вклучувајќи ги и оние потребни за поддршка на двонасочен текст. Двата стандарда користат малку поинаква терминологија.

Конзорциумот првпат го објави Стандардот Уникод (ISBN 0-321-18578-1) во 1991 година и продолжил да развива стандарди, врз основ на таа оригинална креација. Последната верзија на стандардот, Уникод 10.0, била објавена во Јуни 2017 година и е достапна на веб-страницата на конзорциумот. Последната од главните верзии (верзиите x.0) што требала да се објави како книга била Уникод 5.0 (ISBN 0-321-48091-0), но од Уникод 6.0 целиот текст на стандардот повеќе не е објавен во форма на книга. Сепак, во 2012 година, било објавено дека само фундаменталната спецификација за Уникод верзија 6.1 ќе биде достапна како врзана книга од 692 страници, спремна за печатење на барање.[16] За разлика од претходната отпечатена главна верзија на Стандардот, фундаменталната спецификација спремна за печатење на барање, не вклучува никакви графички кодови или стандардни анекси, но целиот стандард, вклучувајќи ја и фундаменталната спецификација, сепак ќе остане слободно достапна на веб-сајтот на Уникод во ПДФ верзија.

Досега биле објавени следниве главни и споредни верзии на стандардот Уникод. Обновените верзии, кои не вклучуваат никакви промени во колекцијата на карактери, се означени со третиот број (на пример, "верзија 4.0.1") и се исклучени во табелата подолу.

Уникод верзии
Верзија Дата Одговарачка ИСО/ИЕЦ 10646 верзија Скрипти Карактери
Вкупно Значајни дополнувања
1.0.0 October 1991 24 7,161 Initial repertoire covers these scripts: Arabic, Armenian, Bengali, Bopomofo, Cyrillic, Devanagari, Georgian, Greek and Coptic, Gujarati, Gurmukhi, Hangul, Hebrew, Hiragana, Kannada, Katakana, Lao, Latin, Malayalam, Oriya, Tamil, Telugu, Thai, and Tibetan.[17]
1.0.1 June 1992 25 28,359 The initial set of 20,902 CJK Unified Ideographs is defined.[18]
1.1 June 1993 ISO/IEC 10646-1:1993 24 34,233 4,306 more Hangul syllables added to original set of 2,350 characters. Tibetan removed.[19]
2.0 July 1996 ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7 25 38,950 Original set of Hangul syllables removed, and a new set of 11,172 Hangul syllables added at a new location. Tibetan added back in a new location and with a different character repertoire. Surrogate character mechanism defined, and Plane 15 and Plane 16 Private Use Areas allocated.[20]
2.1 May 1998 ISO/IEC 10646-1:1993 plus Amendments 5, 6 and 7, as well as two characters from Amendment 18 25 38,952 Euro sign and Object Replacement Character added.[21]
3.0 September 1999 ISO/IEC 10646-1:2000 38 49,259 Cherokee, Ethiopic, Khmer, Mongolian, Burmese, Ogham, Runic, Sinhala, Syriac, Thaana, Unified Canadian Aboriginal Syllabics, and Yi Syllables added, as well as a set of Braille patterns.[22]
3.1 March 2001 ISO/IEC 10646-1:2000

ISO/IEC 10646-2:2001

41 94,205 Deseret, Gothic and Old Italic added, as well as sets of symbols for Western music and Byzantine music, and 42,711 additional CJK Unified Ideographs.[23]
3.2 March 2002 ISO/IEC 10646-1:2000 plus Amendment 1

ISO/IEC 10646-2:2001

45 95,221 Philippine scripts Buhid, Hanunó'o, Tagalog, and Tagbanwa added.[24]
4.0 April 2003 ISO/IEC 10646:2003 52 96,447 Cypriot syllabary, Limbu, Linear B, Osmanya, Shavian, Tai Le, and Ugaritic added, as well as Hexagram symbols.[25]
4.1 March 2005 ISO/IEC 10646:2003 plus Amendment 1 59 97,720 Buginese, Glagolitic, Kharoshthi, New Tai Lue, Old Persian, Syloti Nagri, and Tifinagh added, and Coptic was disunified from Greek. Ancient Greek numbers and musical symbols were also added.[26]
5.0 July 2006 ISO/IEC 10646:2003 plus Amendments 1 and 2, as well as four characters from Amendment 3 64 99,089 Balinese, Cuneiform, N'Ko, Phags-pa, and Phoenician added.[27]
5.1 April 2008 ISO/IEC 10646:2003 plus Amendments 1, 2, 3 and 4 75 100,713 Carian, Cham, Kayah Li, Lepcha, Lycian, Lydian, Ol Chiki, Rejang, Saurashtra, Sundanese, and Vai added, as well as sets of symbols for the Phaistos Disc, Mahjong tiles, and Domino tiles. There were also important additions for Burmese, additions of letters and Scribal abbreviations used in medieval manuscripts, and the addition of Capital ẞ.[28]
5.2 October 2009 ISO/IEC 10646:2003 plus Amendments 1, 2, 3, 4, 5 and 6 90 107,361 Avestan, Bamum, Egyptian hieroglyphs (the Gardiner Set, comprising 1,071 characters), Imperial Aramaic, Inscriptional Pahlavi, Inscriptional Parthian, Javanese, Kaithi, Lisu, Meetei Mayek, Old South Arabian, Old Turkic, Samaritan, Tai Tham and Tai Viet added. 4,149 additional CJK Unified Ideographs (CJK-C), as well as extended Jamo for Old Hangul, and characters for Vedic Sanskrit.[29]
6.0 October 2010 ISO/IEC 10646:2010 plus the Indian rupee sign 93 109,449 Batak, Brahmi, Mandaic, playing card symbols, transport and map symbols, alchemical symbols, emoticons and emoji. 222 additional CJK Unified Ideographs (CJK-D) added.[30]
6.1 January 2012 ISO/IEC 10646:2012 100 110,181 Chakma, Meroitic cursive, Meroitic hieroglyphs, Miao, Sharada, Sora Sompeng, and Takri.[31]
6.2 September 2012 ISO/IEC 10646:2012 plus the Turkish lira sign 100 110,182 Turkish lira sign.[32]
6.3 September 2013 ISO/IEC 10646:2012 plus six characters 100 110,187 5 bidirectional formatting characters.[33]
7.0 June 2014 ISO/IEC 10646:2012 plus Amendments 1 and 2, as well as the Ruble sign 123 113,021 Bassa Vah, Caucasian Albanian, Duployan, Elbasan, Grantha, Khojki, Khudawadi, Linear A, Mahajani, Manichaean, Mende Kikakui, Modi, Mro, Nabataean, Old North Arabian, Old Permic, Pahawh Hmong, Palmyrene, Pau Cin Hau, Psalter Pahlavi, Siddham, Tirhuta, Warang Citi, and Dingbats.[34]
8.0 June 2015 ISO/IEC 10646:2014 plus Amendment 1, as well as the Lari sign, nine CJK unified ideographs, and 41 emoji characters[35] 129 120,737 Ahom, Anatolian hieroglyphs, Hatran, Multani, Old Hungarian, SignWriting, 5,771 CJK unified ideographs, a set of lowercase letters for Cherokee, and five emoji skin tone modifiers[36]
9.0 June 2016 ISO/IEC 10646:2014 plus Amendments 1 and 2, as well as Adlam, Newa, Japanese TV symbols, and 74 emoji and symbols[37] 135 128,237 Adlam, Bhaiksuki, Marchen, Newa, Osage, Tangut, and 72 emoji[38][39]
10.0 June 2017 ISO/IEC 10646:2017 plus 56 emoji characters, 285 hentaigana characters, and 3 Zanabazar Square characters[40] 139 136,755 Zanabazar Square, Soyombo, Masaram Gondi, Nüshu, hentaigana (non-standard hiragana), 7,494 CJK unified ideographs, and 56 emoji

Покриени пишувања[уреди | уреди извор]

Многу модерни апликации можат да направат значително подмножество на многу скрипти во Уникод, како што е прикажано со оваа слика од апликацијата OpenOffice.org.

Уникод ги покрива речиси сите пишувања (системи за пишување) во моментална употреба денес.[41] Вкупно 139 системи за пишување се вклучени во последната верзија на Уникод (што ги опфаќа азбуките, абугидите и слоговните писма), иако сеуште има пишувања кои се уште не се кодирани, особено оние кои главно се користат во историските, литургиските и академските контексти. Исто така, се случуваат и понатамошни додавања на карактери на веќе кодираните системи за пишување, како и симболи, особено во математиката и музиката (во форма на белешки и ритмички симболи).

Комитетот за графички шеми на Уникод (Мајкл Иверсон, Рик МекГовен и Кен Уистлер[42]) ја одржува листата на системи за пишување, кои се кандидати или потенцијални кандидати за кодирање, и нивните пробни лексички структури на изворниот код на страницата на Уникод графички шеми на веб-страницата на Конзорциумот на Уникод. За некои системи за пишување во графичката шема, како што се малите системи за пишување Јурхен и Кхитан, биле поднесени предлози за кодирање и тие работат на тоа, преку процесот на одобрување. За други системи за пишување, како што се Мајан и Ронгоронго, сè уште не бил поднесен никаков предлог, и тие чекаат консензус од заедниците инволвирани во процесот, во врска со колекцијата на карактери и другите детали.

Некои современи измислени системи за пишување, кои сеуште не се вклучени во Уникод (на пример, Тенгвор), или кои не се квалификувале за вклучување во Уникод поради мала употреба во реалниот свет (на пример, Клингон) се наведени во Уникод Регистерот КонСкрипт, заедно со неофицијалните, но широко користените доделени кодови за приватна употреба.

Исто така постои и иницијатива за Средновековен Уникод Фонт, која е фокусирана на специјалните Латински средновековни карактери. Дел од овие предлози се веќе вклучени во Уникод.

Иницијативата за кодирање на системите за пишување, проект што го води Дебора Андерсон од Универзитетот во Калифорнија, Беркли, била основана во 2002 година, со цел да се финансираат предлозите за системи на пишување кои сé уште не се кодирани во стандардот. Проектот станал главен извор на предложени дополнувања на стандардот во последниве години.[43]

Мапирање и кодирање[уреди | уреди извор]

За имплементација на Уникод се специфицирани неколку механизми. Изборот зависи од расположливиот простор за меморирање, компатибилноста со изворниот код и интероперабилноста со другите системи.

Уникод Трансформациски Формат и Универзална колекција на кодирани карактери[уреди | уреди извор]

Уникод дефинира два метода на мапирање: Уникод Трансформациски Формат на кодирање (UTF) и кодирање Универзална колекција на кодирани карактери (UCS). Кодирањето го мапира (евентуално подколекцијата од) опсегот од Уникод кодни точки во секвенци на вредности во одреден опсег со фиксна големина, наречени вредности на кодот. Сите UTF кодирања ги мапираат сите кодот точки (со исклучок на заменските) во уникатна низа од бајти.[44] Броевите во имињата на кодирањата го означуваат бројот на битови по вредност на кодот (за UTF-енкодирања), или бројот на бајти по вредност на кодот (за кодирање UCS). UTF-8 и UTF-16 се најверојатно најчесто користени кодирања. UCS-2 е застарена подколекција на UTF-16; а UCS-4 и UTF-32 се функционално идентични.

UTF кодирањата ги вклучуваат:

  • UTF-1, поранешен претходник на UTF-8, ја максимизира компатибилноста со ISO 2022, веќе не дел од стандардот Уникод;
  • UTF-7, 7-битно кодирање понекогаш користено во е-пошта, често се смета како застарено (не е дел од стандардот Уникод, туку е документиран само како информативен

RFC, т.е. не е на интернет стандардите за следење);

  • UTF-8, 8-битно кодирање со променлива широчина, која ја максимизира компатибилноста со ASCII;
  • UTF-EBCDIC, 8-битно кодирање со променлива широчина слична на UTF-8, но дизајнирано да биде компатибилно со EBCDIC (не е дел од стандардот Уникод);
  • UTF-16, 16-битно кодирање со променлива широчина;
  • UTF-32, 32-битно кодирање со фиксна широчина.

UTF-8 користи еден до четири бајти по кодна точка, компактен е за Латински системи на пишување и е ASCII-компатибилен, претставува де факто стандардно кодирање за размена на Уникод текст. Се користи од FreeBSD и најновите изданија на Линукс како директна замена за наследените кодирања во општата обработка на текстови.

Кодирањата UCS-2 и UTF-16 го опишуваат Уникодовиот карактер, кој се појавува како магичен број на почетокот од текстот (BOM), кој се користи на почетокот на текстуалните датотеки, кои можат да се користат за складирање на два бајта во меморијата (за детекција на секвенцијалниот редослед во кој се поставени бајтите во поголемите нумерички вредности). Кодната точка U+FEFF од BOM го има значајното својство на недвосмисленост во редоследот на бајтите, без оглед на кодирањето кое го користи Уникод; U+FFFE (резултат на замената на бајти U+FEFF) не се идентификува со законскиот карактер, а U+FEFF на други места, освен на почетокот на текстот, го пренесува карактерот за простор со нулта широчина (карактер без изглед и без друг ефект, освен да го спречи формирање на лигатури).

Истиот карактер, конвертиран во UTF-8, станува бајт секвенца EF BB BF. Стандардот Уникод дозволува да "BOM служи како потпис за кодиран UTF-8 текст, каде што колекцијата од карактери е необележана".[45] Некои развивачи на софтвер него го прилагодиле за други кодирања, вклучувајќи го UTF-8, во обид да се разликува UTF-8 од локалните 8-битни кодни страници. Сепак, RFC 3629, UTF-8 стандардот, препорачува да маркирањето на редоследот на бајти се забрани во протоколите со користење на UTF-8, но дискутира за случаите каде што тоа нема да биде можно. Покрај тоа, големото ограничување на можните обрасци во UTF-8 (на пример, не може да има ниту еден осамен бајт со хај бит сетирање) значи дека треба да биде можно да се прави разлика помеѓу UTF-8,  во однос на другите кодирања на карактери, без да се потпира на BOM.

Во UTF-32 и UCS-4, една 32-битна кодна вредност служи за разумно директно претставување на кодната точка на било кој карактер (иако секвенцијалниот ред во кој се распоредени бајтите во поголемите нумерички вредности, кој варира во различни платформи, влијае на тоа како вредноста на кодот се прикажува како октетска секвенца). Кај другите кодирања, секоја кодна точка може да биде претставена со променлив број на вредности на кодот. UTF-32 е широко користен за внатрешно претставување на текстот во програмите (во спротивност од зачуваниот или пренесениот текст), бидејќи секој оперативен систем на Јуникс, кој ги користи гцц компајлерите за генерирање на софтвер, го користи за стандардно кодирање на "широкиот карактер". Некои програмски јазици, како што се Seed7, го користат UTF-32 за внатрешно претставување  на низите и карактерите. Последните верзии на програмскиот јазик Пајтон (почнувајќи од 2.2), исто така, можат да бидат конфигурирани да го користат UTF-32 за претставување за Уникод низите, ефикасно ширејќи го таквото кодирање во софтвер кодиран на високо ниво.

Паникод, друга форма на кодирање, овозможува кодирање на Уникод низите внатре во ограничената колекција на карактери, поддржано од ASCII-базираниот доменски систем на имиња (DNS). Кодирањето се користи како дел од IDNA, што е систем кој овозможува употреба на Интернационализирани имиња на домејни во сите системи на пишување, кои се поддржани од Уникод. Претходно и сега историските предлози ги вклучуваат UTF-5 и UTF-6.

GB18030 е друга форма на кодирање за Уникод, од Администрацијата за Стандардизација на Кина. Тоа е официјална колекција од карактери на Народна Република Кина (НРК). BOCU-1 и SCSU се Уникод шемите за компресија. На денот на шегата во Април, RFC од 2005 година навел две пародии на UTF кодирањата, UTF-9 и UTF-18.

Готови наспроти сложени карактери[уреди | уреди извор]

Уникод вклучува механизам за модифицирање на обликот на карактерот, кој во голема мера ја проширува поддржаната колекција на хиероглифи. Тоа ја опфаќа употребата на комбинирани дијакритични ознаки. Тие се вметнати по главниот карактер. Бројни комбинации на дијакритици можат да бидат собрани над истиот карактер. Уникод, исто така, содржи претходно составени верзии на бројни буквени/дијакритични комбинации за нормална употреба. Тие прават конверзија кон и од поедноставните кодирања, и дозволуваат да апликациите го користат Уникодот како внатрешен формат на текст, без да мораат да ги имплементираат комбинираните знаци. На пример, букавата é во Уникод може да биде претставена како U+0065 (ЛАТИНИЧНА МАЛА БУКВА е) по која следи U+0301 (КОМБИНИРАЊЕ НА АКУТ АКЦЕНТ), но исто така може да биде претставена и како претходно составен карактер U+00E9 (ЛАТИНИЧНА МАЛА БУКВА е СО АКУТ ). Според тоа, во многу случаи, корисниците имаат бројни начини на кодирање на истиот карактер. За да се справи со ова, Уникод го креирал механизмот за канонска еквивалентност.

Пример за ова произлегува од Хангул, корејската азбука. Уникод нуди механизам за креирање на Хангул слогови со нивните поединечни подкомпоненти, познат како Хангул Јамо. Меѓутоа, тој исто така, нуди 11.172 комбинации на претходно креирани слогови направени од најчестите јамо.

Идеограмите на ЦЈК (CJK) моментално имаат шифри само за нивните претходно собрани форми. Сепак, повеќето од тие идеограми содржат поедноставни елементи (честопати наречени радикали на англиски), па во принцип, Уникод можел да ги разложи, како што тоа го направил со Хангул. Ова во голема мера ќе го намали бројот на потребните кодни точки, истовремено овозможувајќи да се прикаже буквално секој можен идеограм (кој би можел да отстрани некој од проблемите предизвикани со унифицирањето на Хан). Слична идеја е користена и кај некои влезни методи, како што се Кангџие и Вуби. Сепак, обидите да се направи ова за кодирање на карактерите заглавиле, поради фактот што идеограмите не се разложуваат толку едноставно или толку често како што тоа го прави Хангул.

Во Уникод 3.0 била обезбедени колекција од радикали (радикали на CJK помеѓу U+2E80 и U+2EFF, KangXi радикали од U+2F00 до U+2FDF и карактери за идеограмски опис од U+2FF0 до U+2FFB), но Уникод стандардот (чл.12.2 од Уникод 5.2) предупредува да не се користат секвенци од идеограмски описи како алтернативно претставување на претходно кодираните карактери:

Овој процес е различен од конвенционалното кодирање на идеограм. Нема канонски опис на некодираните идеограми; нема назначено семантика за опишување на идеограмите; нема еквивалентност дефинирана за опишаните идеограми. Концептуално, идеографските описи се повеќе слични на англиската фраза " буквата ‘е‘ со акут акцент на неа" отколку на секвенцата од карактери <U+0065, U+0301>.

Лигатури[уреди | уреди извор]

Многу системи на пишување, вклучувајќи ги Арапскиот и Деванагари, имаат посебни ортографски правила, кои бараат одредени комбинации на форми на букви да бидат комбинирани во специјални лигатурни форми. Правилата за формирање на лигатура можат да бидат доста сложени, за кои се потребни посебни технологии за оформување на системите за пишување, како што се ACE (Arabic Calligraphic Engine  од ДекоТајп во 1980-тите и се користат за генерирање на сите Арапски примери во печатените изданија на Уникод стандардот), што станало доказ на концептот за OpenType (Адоб и Мајкрософт), Graphite (од СИЛ Интернешнл), или AAT (од Епл).

Инструкциите, се исто така, вградени во фонтовите, за да му кажат на оперативниот систем како правилно да ги прикаже различни карактерни секвенци. Едноставно решение за поставување на комбинирачки ознаки или дијакритика е доделувањето на ознаки со нулта широчина и поставување на самиот хиероглиф во лево или во десно од левата страна (во зависност од насоката на системот на пишување за кој се наменети да се користат). Ознаката со која се ракува на овој начин ќе се појави над било кој карактер кој му претходи на истиот, но нема да ја прилагоди својата позиција релативно во однос на широчината или висината на основниот хиероглиф; визуелно тоа може да биде непријатно и може да се преклопува со некои хиероглифи. Реално редење е невозможно, но може да биде апроксимирано во ограничени случаи (на пример, Тајландско комбинирање-на врвот на самогласките и тонските ознаки може да биде со различна височина за да започне со тоа). Општо земено, овој пристап е ефективен само кај фонтовите со фиксна широчина или чекор, но може да се користи и како алтернативен метод за рендерирање , кога многу посложените методи нема да ја постигнат целта.

Стнадардизирани подколекции[уреди | уреди извор]

Стандардизирани се неколку подколекции на Уникод: Мајкрософт Виндоус од Виндоус НТ 4.0 поддржува WGL-4 со 656 карактери, за кој се смета дека ги поддржува сите современи европски јазици, со користење на латинични, грчки или кирилични системи на пишувања. Други стандардизирани Уникод подколекции ги вклучуваат повеќејазичните Европски подколекции:[46]

MES-1 (само латински систем на пишување, 335 карактери), MES-2 (латински, грчки и кирилични 1062 карактери)[47] и MES-3A и MES-3B (две поголеми подколекции, не се прикажани овде). Земете во предвид дека MES-2 го вклучува секој карактер во MES-1 и WGL-4.

WGL-4, MES-1 and MES-2
Ред Келии Опсег
00 20–7E Basic Latin (00–7F)
A0–FF Latin-1 Supplement (80–FF)
01 00–13, 14–15, 16–2B, 2C–2D, 2E–4D, 4E–4F, 50–7E, 7F Latin Extended-A (00–7F)
8F, 92, B7, DE-EF, FA–FF Latin Extended-B (80–FF ...)
02 18–1B, 1E–1F Latin Extended-B (... 00–4F)
59, 7C, 92 IPA Extensions (50–AF)
BB–BD, C6, C7, C9, D6, D8–DB, DC, DD, DF, EE Spacing Modifier Letters (B0–FF)
03 74–75, 7A, 7E, 84–8A, 8C, 8E–A1, A3–CE, D7, DA–E1 Greek (70–FF)
04 00–5F, 90–91, 92–C4, C7–C8, CB–CC, D0–EB, EE–F5, F8–F9 Cyrillic (00–FF)
1E 02–03, 0A–0B, 1E–1F, 40–41, 56–57, 60–61, 6A–6B, 80–85, 9B, F2–F3 Latin Extended Additional (00–FF)
1F 00–15, 18–1D, 20–45, 48–4D, 50–57, 59, 5B, 5D, 5F–7D, 80–B4, B6–C4, C6–D3, D6–DB, DD–EF, F2–F4, F6–FE Greek Extended (00–FF)
20 13–14, 15, 17, 18–19, 1A–1B, 1C–1D, 1E, 20–22, 26, 30, 32–33, 39–3A, 3C, 3E, 44, 4A General Punctuation (00–6F)
7F, 82 Superscripts and Subscripts (70–9F)
A3–A4, A7, AC, AF Currency Symbols (A0–CF)
21 05, 13, 16, 22, 26, 2E Letterlike Symbols (00–4F)
5B–5E Number Forms (50–8F)
90–93, 94–95, A8 Arrows (90–FF)
22 00, 02, 03, 06, 08–09, 0F, 11–12, 15, 19–1A, 1E–1F, 27–28, 29, 2A, 2B, 48, 59, 60–61, 64–65, 82–83, 95, 97 Mathematical Operators (00–FF)
23 02, 0A, 20–21, 29–2A Miscellaneous Technical (00–FF)
25 00, 02, 0C, 10, 14, 18, 1C, 24, 2C, 34, 3C, 50–6C Box Drawing (00–7F)
80, 84, 88, 8C, 90–93 Block Elements (80–9F)
A0–A1, AA–AC, B2, BA, BC, C4, CA–CB, CF, D8–D9, E6 Geometric Shapes (A0–FF)
26 3A–3C, 40, 42, 60, 63, 65–66, 6A, 6B Miscellaneous Symbols (00–FF)
F0 (01–02) Private Use Area (00–FF ...)
FB 01–02 Alphabetic Presentation Forms (00–4F)
FF FD Specials

Софтверот за рендерирање, кој не може да обработи Уникод карактер, истиот соодветно често го прикажува како отворен правоаголник или како Уникод "заменски карактер" (U+FFFD,), за да ја означи позицијата на непрепознатливиот карактер. Некои системи се обиделе да обезбедат повеќе информации во врска со таквите карактери. Фонтот на Епл Last Resort ќе прикаже заменска хиероглифа, покажувајќи го опсегот на Уникод карактерот, а фонтот на СИЛ Интернешнл Unicode Fallback ќе прикаже кутија, во која ќе се прикаже хексадецималната скаларна вредност на карактерот.

Пребарување на кодна точка[уреди | уреди извор]

Онлајн алатките за пронаоѓање на кодната точка за познат карактер ги вклучуваат Уникод Пребарувањето (Unicode Lookup)[48] од Џонатан Хедли и Шејпкечер (Shapecatcher)[49] од Бенџамин Мајлд. Во Unicode Lookup, со притискање на еден се отвара копче за пребарување (на пр. "дропки"), и се прикажува листа од соодветни карактери со нивните кодни точки. Во Shapecatcher, кој се темели на контекстот Форма, со притискање на еден се исцртува карактер во кутија и се прикажува листа од карактери кои го апроксимираат цртежот, со нивните кодни точки.

Усвојување[уреди | уреди извор]

Оперативни системи[уреди | уреди извор]

Уникод станал доминантен програм за внатрешна обработка и складирање на текст. Иако голем дел од текстот е сè уште зачуван во наследените кодирања, Уникод е користен речиси исклучително за создавање на нови системи за обработка на информации. Раните адаптери имале тенденција да го користат UCS-2 (два-бајта со фиксна-широчина, претходник на UTF-16), а подоцна се префрлиле на UTF-16 (моменталниот стандард со променлива широчина), бидејќи тоа бил најмалку нарушувачки начин за да се додаде поддршка за не-BMP карактери. Најпознат таков систем е Виндоус НТ (и неговите наследници, Виндоус 2000, Виндоус ИксПе, Виндоус Виста, Виндоус 7, Виндоус 8 и Виндоус 10), кои користат UTF-16 како единствено внатрешно кодирање на карактерите. Јава и .НЕТ средините за кодирање на бајтови, macOS и KDE исто така го користат за внатрешно претставување. Уникод е достапен во Виндоус 95 преку Мајкрософт Лејер за Уникод, како и во неговите наследници, Виндоус 98 и Виндоус МЕ.

UTF-8 (првично развиен за Plan 9)[50] станал главно кодирање за меморирање, во повеќето оперативни системи слични на Јуникс (иако други системи се исто така користени од некои библиотеки), бидејќи тој е релативно лесна замена за традиционалните проширени ASCII карактерни колекции. UTF-8 е исто така најчесто Уникод кодирање, кое се користи во HTML-документите на World Wide Web.

Повеќејазични машини за рендерирање на текст кои користат Уникод, ги вклучуваат Uniscribe и DirectWrite за Мајкрософт Виндоус, ATSUI и Core Text за macOS, и Pango за GTK+ и работната околина GNOME.

Влезни методи[уреди | уреди извор]

Бидејќи распоредот на тастатурата не може да има едноставни комбинации на копчиња за сите карактери, неколку оперативни системи нудат алтернативни методи за внесување, кои овозможуваат пристап до целата колекција.

ISO/IEC 14755,[51] кој ги стандардизира методите за внесување на Уникод карактерите од нивните кодни точки, дефинира неколку методи. Постои Основен метод, каде што почетната секвенца е проследена со хексадецимално претставување на кодната точка и завршната секвенца. Исто така, постои и дефиниран метод за внесување со избор од екран, каде што карактерите се наведени во табела на екранот, како што случајот со Карактер Мап програмот.

Е-пошта[уреди | уреди извор]

MIME дефинира два различни механизма за кодирање на не-ASCII карактери во е-пошта, во зависност од тоа дали карактерите се наоѓаат во насловот на е-пошта (како што е "Предмет:") или во текстот на пораката; и во двата случаи, оригиналната колекција од карактери е детерминирана, исто како и трансфер кодирањето. За е-мејл пренос на Уникод, се препорачуваат UTF-8 колекцијата од карактери и кодирањето за пренос Бејс64 или кодирање со користење на ASCII карактери кои можат да се печатат, во зависност од тоа дали поголемиот дел од пораката се состои од ASCII карактери. Деталите за двата различни механизма се наведени во MIME стандардите и обично се скриени од корисниците на е-мејл софтверот.

Усвојувањето на Уникод во е-пошта било многу бавно. Некои текстови од Источна Азија сѐ уште се кодирани со кодирањата како ISO-2022, а некои уреди, како што се мобилните телефони, сè уште не можат правилно да се справат со Уникод податоците. Меѓутоа, поддршката се подобрува. Многу големи провајдери за бесплатна пошта, како што се Yahoo, Google (Gmail) и Microsoft (Outlook.com) го поддржуваат.

Мрежа[уреди | уреди извор]

Сите W3C препораки го користеле Уникод како свој карактер за документите, бидејќи HTML 4.0. Веб пребарувачите го поддржувале Уникод, особено UTF-8, и тоа многу години. Требало да има проблеми со прикажувањето на екран, што првенствено произлегувало од прашања поврзани со фонтот; на пр. v 6 и постарите верзии на Мајкрософт Интернет Експлорерот не рендерирале многу кодни точки, освен ако не им било експлицитно кажано да користат фонт што ги содржи нив.[52]

Иако правилата за синтакса можат да влијаат на редоследот на кој е дозволено карактерите да се појавуваат , XML (вклучувајќи ги и XHTML) документите, по дефиниција,[53] содржат карактери од повеќето Уникод кодни точки, со исклучок на:

  • повеќето од C0 контролните кодови
  • трајно неназначените кодот точки D800-DFFF
  • FFFE или FFFF

HTML карактерите се прикажуваат или директно како бајти, според кодирањето на документот, ако кодирањето ги поддржува нив, или корисниците пак можат нив да ги напишат како нумерички референци на карактери, врз основа на Уникод кодната точка на карактерот. На пример, референците &#916, &#1049;, &#1511;, &#1605;, &#3671;, &#12354;, &#21494;, &#33865;, и &#47568; (или истите нумерички вредности изразени како хексадецимални, со &#x како префикс) би требало на сите пребарувачи да се прикажат како Δ, Й, ק ,م, ๗, あ, 叶, 葉, и 말.

Кога ги дефинирате URI-вите, на пример, како URLs или HTTP-барања, не-ASCII карактерите мораат да бидат кодирани со знакот за процент.

Фонтови[уреди | уреди извор]

Бесплатните фонтови и фонтовите за малопродажба, базирани на Уникод, се широко достапни, бидејќи TrueType и OpenType го поддржуваат Уникод. Овие фонт формати ги прикажуваат Уникод кодните точки како хиероглифи.

Постојат илјадници фонтови на пазарот, но помалку од дузина (12) фонтови - понекогаш опишани како "пан-Уникод" фонтови - се обидуваат да го поддржат мнозинството од колекцијата на Уникод карактери. Наместо тоа, фонтовите базирани на Уникод обично се фокусираат на поддршка само на основниот ASCII и специфичните системи за пишување или колекции од знаци или симболи. Овој пристап го оправдуваат неколку причини: апликациите и документите ретко треба да рендерираат карактери од повеќе од еден или два система за пишување; фонтовите имаат тенденција да бараат ресурси во компјутерските средини; а оперативните системи и апликации покажуваат зголемена интелигенција во однос на добивањето информации за карактерот од посебни фонт датотеки, колку што е потребно, односно, замена на фонтот. Освен тоа, креирањето на конзистентна колекција од инструкции за рендерирање на десетици илјади хиероглифи претставува монументална задача; таквата инвестиција ја поминува точката, од која нивото на профит е помало од вредноста на инвестициите, за повеќето типови на букви.

Нова линија (Карактер за крај на ред или текст и старт на нов)[уреди | уреди извор]

Уникод делумно го адресира проблемот со новата линија, што се случува кога се обидува да чита текстуална датотека на различни платформи. Уникод дефинира голем број на карактери, кои соодветните апликации треба да ги препознаат како карактери кои означуваат крај на линија.

Во врска со новата линија, Уникод вовел U+2028 СЕПАРАТОР НА ЛИНИЈА и U+2029 СЕПАРАТОР НА ПАРАГРАФ. Тоа било обид да се обезбеди Уникод решение за кодирање на параграфи и линии семантички, потенцијално заменувајќи ги сите решенија на различните платформи. Притоа, Уникод обезбедува начин околу решенијата зависни од историската платформа. Сепак, малку или воопшто некои Уникод решенија ги прифатиле овие Уникод сепаратори за линија и параграф, како единствени канонски карактери за завршеток на линија. Сепак, заедничкиот пристап за решавање на ова прашање е преку нормализирањето на новите линии. Ова се постигнува со Cocoa текст системот во Mac OS X, како и со W3C XML и HTML препораките. Во овој пристап, секој можен карактер за нова линија, е интерно трансформиран во заедничка нова линија (којашто всушност не е важна, бидејќи е внатрешна операција само за рендерирање). Со други зборови, текстуалниот систем може правилно да го третира карактерот како нова линија, без оглед на вистинското кодирање на влезот.

Проблеми[уреди | уреди извор]

Филозофска критика и критика на комплетност[уреди | уреди извор]

Обединувањето на Хан (идентификација на формите во источно-азиските јазици, која може да се третира како стилска варијација на истиот историски карактер) станало еден од најконтроверзните аспекти на Уникод, и покрај присуството на мнозинството експерти од сите три региони во Идеографската Известувачка Група (IRG), која го советува конзорциумот и ИСО за дополнување на колкецијата и за обединувањето на Хан.[54]

Уникод бил критикуван поради тоа што не успеал оддвоено да ги кодира постарите и алтернативните форми на канџи, за кои критичарите тврдат, дека го усложнуваат процесирањето на древните јапонски и невообичаените јапонски имиња. Ова е често поради фактот дека Уникод кодира карактери, наместо хиероглифи (визуелна презентација на основниот карактер, кој често се разликуваат од еден јазик на друг). Обединувањето на хиероглифите води кон перцепција дека самите јазици се спојуваат,[55] а не само претставувањето на основниот карактер. Имало неколку обиди да се креираат алтернативни кодирања кои ќе ги зачувуваат стилските разлики помеѓу кинеските, јапонските и корејските карактери, наспроти политиката на Уникод за обединувањето на Хан. Пример за еден е TRON (иако тоа не е широко прифатено во Јапонија, има некои корисници кои треба да се справат со историскиот јапонски текст и да го фаворизираат).

Иако колекцијата од помалку од 21.000 Хан карактери, во најраната верзија на Уникод, била во голема мера ограничена на карактери за обична современа употреба, Уникод сега вклучува повеќе од 87.000 Хан карактери, а работата за додавање на илјадници повеќе историски и дијалектички карактери, користени во Кина, Јапонија, Кореја, Тајван и Виетнам,продолжува.

Современата технологија за фонтови нуди средство за решавање на практичното прашање на потребата да се опише унифициран Хан карактер, во смисол на колекцијата од алтернативни хиероглифски претставувања, во форма на Уникод варијации на секвенци. На пример, Напредните Типографски табели на OpenType дозволуваат да се избере едно од големиот број на алтернативни симболички претставувања при креирање на карактерот во процесот на мапирање со хиероглифи. Во овој случај, информациите можат да бидат обезбедени во рамките на обичниот текст, за да се назначи која алтернативна формат на карактерот да се избере.

Ако соодветните хиероглифи за два карактера од истиот систем на пишување се разликуваат само според закосените букви (Италик), Уникод нив генерално ги обединува, како што може да се види од споредбата помеѓу рускиот (означен стандард) и српските карактери на десно, што значи дека разликите се прикажани преку технологијата за паметни фонтови или рачно менување на фонтови.

Различни Кирилични карактери прикажани со и без закосување.

Мапирање на наследените колекции на карактери[уреди | уреди извор]

Уникод бил креиран да обезбеди двонасочна формат конверзија кодна-точка-по-кодна-точка кон и од било кое претходно постоечко кодирање на карактери, така што текстуалните датотеки од постарите колекции на карактери можат да бидат конвертирани во Уникод, и потоа назад, и да се врати истата датотека, без да се користи интерпретација која зависи од контекстот. Тоа значело дека некомпатибилните наследени архитектури, како што се комбинирањето на дијакритици и претходно креирани карактери, и двете постојат во Уникод, даваат повеќе од еден метод за претставување на некој текст. Ова е најочигледно кај трите различни кодни форми на Корејскиот Хангул. Од верзијата 3.0, сите претходно креирани карактери кои можеле да бидат претставени со комбинација на веќе постоечки карактери, повеќе не можат да бидат додадени во стандардот, со цел да се зачува интероперабилноста помеѓу софтверот кој користи различни верзии на Уникод.

Мора да биде обезбедено инјектирачко мапирање помеѓу карактерите во постоечката наследена колекција на карактери на Уникод, за да се олесни конверзијата во Уникод и да овозможи интероперабилност со наследениот софтвер. Недостатокот на конзистентност во различните мапирања помеѓу претходните јапонски кодирања, како што се Shift-JIS или EUC-JP и Уникод, довела до неусогласености во двонасочниот формат за конверзија, особено мапирањето на карактерот JIS X 0208 '~' (1-33, БРАНОВИДНА ЦРТИЧКА), кој во голема мера се користи во наследените податоци од базите на податоци, или на U+FF5E ~ ТИЛДА СО ЦЕЛОСНА ШИРОЧИНА (во Мајкрософт Виндоус) или U+301C ~ БРАНОВИДНА ЦРТИЧКА (други продавачи).[56]

Некои јапонски компјутерски програмери се спротивставиле на Уникод, бидејќи тој барал од нив да ја раздвојат употребата на U+005C \ REVERSE SOLIDUS (обратна коса црта) и U+00A5 ¥ YEN SIGN (знак за јен), кој бил мапиран на 0x5C во JIS X 0201, а многу наследени кодови постојат со оваа употреба.[57] (Ова кодирање исто така, ја заменува тилдата '~' 0x7E со макрон '¯', сега 0xAF.) Раздвојувањето на овие карактери постоело во ISO 8859-1, уште многу пред Уникод.

Индиски системи за пишување[уреди | уреди извор]

На секој од индиските системи за пишување како што се Тамил и Деванагари, му се доделени само 128 кодни точки, кои се совпаѓаат со стандардот ISCII. Точното рендерирање на индискиот Уникод текст бара трансформирање на складираниот логички редослед на карактери во визуелен редослед и формирање на лигатури (како поврзувања) надвор од компонентите. Некои локални научници се изјасниле во корист на означувањето на Уникод кодните точки на овие лигатури, одејќи спротивно на праксата на другите системи за пишување, иако Уникод содржи некои арапски и други лигатури само за цели на обратната компатибилност.[58][59][60] Во Уникод нема да има кодирање на некои нови лигатури, делумно поради тоа што колекцијата од лигатури е зависна од фонтот, а Уникод е кодирање независно од варијациите на фонтови. Истиот проблем се појавил за тибетскиот систем за пишување во 2003 година, кога Администрацијата за Стандардизација на Кина предложила кодирање на 956 претходно креирани Тибетски слогови,[61] но тие биле одбиени за кодирање од страна на релевантниот ISO комитет (ISO/IEC JTC 1/SC 2).[62]

Поддршката за тајландската азбука била критикувана поради нарачката на тајландски карактери. Самогласките เ, แ, โ, ใ, ไ, кои биле напишани налево од претходната согласка се во визуелен редослед наместо во фонетски редослед, за разлика од Уникод презентациите на другите индиски системи за пишување. Оваа компликација е поради тоа што Уникод го наследил Тајландски Индустриски Стандард 620, кој работел на ист начин, и бил начин на кој Тајландскиот секогаш бил напишан на тастатурата. Овој проблем при нарачувањето малку го закомпликувал процесот на споредување на Уникод, бидејќи барал пронаоѓање на табели за преуредување на тајландските карактери за споредување.[63] Дури и ако Уникод прифатил кодирање во согласност со говорниот редослед, сè уште би било проблематично да се соберат зборовите во редоследот на речникот. На пример, зборот แสดง [sa dɛːŋ] "изврши" започнува со согласна група "สด" (со вродена самогласка за согласката "ส"), самогласката แ - во говорниот редослед треба да дојде веднаш по ด, но во речникот, зборот се споредува како што е напишан, со самогласка што следи по ส.

Комбинирање на карактери[уреди | уреди извор]

Карактерите со дијакритични ознаки, генерално можат да бидат претставени или како единечен претходно креиран карактер или како разградена секвенца од основната буква, плус еден или повеќе ознаки без-растојание. На пример, ḗ (претходно креирана буква е со макрон и комбиниран акут на врвот) и ḗ (буквата е која е следена од комбиниран макрон на врвот и комбиниран акут на врвот) треба да бидат рендерирани идентично, и двете да се појават како e со макрон и акут акцент, но во пракса, нивните изгледи може да варираат, во зависност од тоа која машина за рендерирање и фонтови се користени за прикажување на карактерите. Слично на тоа, кругчето под буквата, како што е тоа потребно при романизацијата на Индискиот, честопати ќе биде поставено погрешно. Уникод карактерите кои го мапираат претходно креираниот хиероглиф можат да бидат користени во многу случаи, со што се избегнува проблемот, но каде што претходно креираниот карактер не бил кодиран, проблемот често можел да се реши со користење на специјален Уникод фонт, како што е Charis SIL кој користи Graphite, OpenType или AAT технологиите за напредни функции на рендерирање.

Аномалии[уреди | уреди извор]

Уникод стандардот има наметнато правила, со цел да се гарантира стабилност.[64] Во зависност од строгоста на правилото, промената може да биде забранета или дозволена. На пример, "името" кое е дадено на кодната точка не може и нема да се промени. Но, својството "систем на пишување" е пофлексибилно, според сопствените правила на Уникод. Во верзијата 2.0 Уникод променил многу "имиња" на кодни точки од верзијата 1. Во истиот момент, Уникод изјавил дека од тогаш па натаму, назначеното име за кодната точка никогаш повеќе нема да се промени. Ова имплицира дека кога грешките се објавени, овие грешки не можат да бидат корегирани, дури и ако тие се тривијални (како што се случило во еден случај со пишувањето на BRAKCET за BRACKET во името на карактерот). Во 2006 година првпат била објавена листа на аномалии во имињата на карактерите, а од Април 2017 година имало 94 карактери со идентификувани проблеми, на пример:[65]

  • U+2118 ℘ систем на пишување големо p (HTML &#8472; · & weierp;): тоа не е големо Името покажува "големо", но со мала буква. Вистинска голема е U+1D4AB  𝒫 МАТЕМАТИЧКО РАКОПИСНО ГОЛЕМО P (HTML &#119979;)[66]
  • Не здружува графеми.[67]
  • Ова не е Yi слог, туку ознака Yi за итерација. Неговото име, сепак, не може да биде променето поради политиката на Конзорциумот.
  • Заградата е напишана неправилно. Бидејќи ова е фиксно име на карактерот според правилото, тој не може да биде променет.[68]

Поврзано[уреди | уреди извор]

Дополнителна литература[уреди | уреди извор]

  • The Unicode Standard, Version 3.0, The Unicode Consortium, Addison-Wesley Longman, Inc., April 2000.
  • The Unicode Standard, Version 4.0, The Unicode Consortium, Addison-Wesley Professional, 27 August 2003.
  • The Unicode Standard, Version 5.0, Fifth Edition, The Unicode Consortium, Addison-Wesley Professional, 27 October 2006.
  • Julie D. Allen. The Unicode Standard, Version 6.0, The Unicode Consortium, Mountain View, 2011, , ([1]).
  • The Complete Manual of Typography, James Felici, Adobe Press; 1st edition, 2002.
  • Unicode: A Primer, Tony Graham, M&T books, 2000. .
  • Unicode Demystified: A Practical Programmer's Guide to the Encoding Standard, Richard Gillam, Addison-Wesley Professional; 1st edition, 2002.
  • Unicode Explained, Jukka K. Korpela, O'Reilly; 1st edition, 2006.

Наводи[уреди | уреди извор]

  1. Stewart, Jon; Uckelman, Joel (1 август 2013 г). Unicode search of dirty data, or: How I learned to stop worrying and love Unicode Technical Standard #18. „Digital Investigation“ том  10: S116–S125. doi:10.1016/j.diin.2013.06.013. ISSN 1742-2876. http://dx.doi.org/10.1016/j.diin.2013.06.013. 
  2. Sharan, Kishori (2014). Beginning Java 8 Fundamentals. Berkeley, CA: Apress. стр. 727–737. ISBN 9781430266525. http://dx.doi.org/10.1007/978-1-4302-6653-2_19. 
  3. IEEE Standard for Conformance to IEEE 802.20 Systems--Protocol Implementation Conformance Statement (PICS) Proforma, IEEE, конс. 2018-12-09 
  4. 4,0 4,1 4,2 4,3 Daniels, Peter T. (1 март 1993 г). The Unicode Standard: Worldwide Character Encoding, Version 1.0. „Language“ том  69 (1): 225. doi:10.2307/416473. ISSN 0097-8507. http://dx.doi.org/10.2307/416473. 
  5. „Table 2: Summary of lipases in UM 591 retrieved from homology search using Lipase Engineering database.“. dx.doi.org. http://dx.doi.org/10.7717/peerj.2841/table-2. посет. 9 декември 2018 г. 
  6. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  7. Stewart, Jon; Uckelman, Joel (1 август 2013 г). Unicode search of dirty data, or: How I learned to stop worrying and love Unicode Technical Standard #18. „Digital Investigation“ том  10: S116–S125. doi:10.1016/j.diin.2013.06.013. ISSN 1742-2876. http://dx.doi.org/10.1016/j.diin.2013.06.013. 
  8. „Glossary of Main Terms“. dx.doi.org. 15 февруари 2010. http://dx.doi.org/10.1787/9789264075108-29-en. посет. 9 декември 2018 г. 
  9. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  10. Daniels, Peter T. (1 март 1993 г). The Unicode Standard: Worldwide Character Encoding, Version 1.0. „Language“ том  69 (1): 225. doi:10.2307/416473. ISSN 0097-8507. http://dx.doi.org/10.2307/416473. 
  11. PDF@Flash. Berlin, Heidelberg: Springer Berlin Heidelberg. 2010. стр. 7–16. ISBN 9783642035982. http://dx.doi.org/10.1007/978-3-642-03599-9_2. 
  12. Daniels, Peter T. (1 март 1993 г). The Unicode Standard: Worldwide Character Encoding, Version 1.0. „Language“ том  69 (1): 225. doi:10.2307/416473. ISSN 0097-8507. http://dx.doi.org/10.2307/416473. 
  13. „Data S2: Accession numbers for DNA sequences retrieved from GenBank“. dx.doi.org. http://dx.doi.org/10.7717/peerj.2320/supp-2. посет. 9 декември 2018 г. 
  14. Yin, Meijuan; Liu, Xiaonan; Luo, Junyong; Luo, Xiangyang (1 март 2013 г). A System for Extracting and Ranking Name Aliases in Emails. „Journal of Software“ том  8 (3). doi:10.4304/jsw.8.3.737-745. ISSN 1796-217X. http://dx.doi.org/10.4304/jsw.8.3.737-745. 
  15. McGowan, R. (1 февруари 2004 г). A Summary of Unicode Consortium Procedures, Policies, Stability, and Public Access. http://dx.doi.org/10.17487/rfc3718. 
  16. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  17. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  18. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  19. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  20. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  21. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  22. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  23. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  24. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  25. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  26. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  27. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  28. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  29. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  30. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  31. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  32. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  33. Stewart, Jon; Uckelman, Joel (1 август 2013 г). Unicode search of dirty data, or: How I learned to stop worrying and love Unicode Technical Standard #18. „Digital Investigation“ том  10: S116–S125. doi:10.1016/j.diin.2013.06.013. ISSN 1742-2876. http://dx.doi.org/10.1016/j.diin.2013.06.013. 
  34. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  35. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  36. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  37. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  38. Celko, Joe (2010). Joe Celko's Data, Measurements and Standards in SQL. Elsevier. стр. 231–234. ISBN 9780123747228. http://dx.doi.org/10.1016/b978-0-12-374722-8.00036-0. 
  39. Wearable Android™. Hoboken, NJ: John Wiley & Sons, Inc. 2015-08-07. стр. 213–243. ISBN 9781119051091. http://dx.doi.org/10.1002/9781119051091.ch9. 
  40. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  41. Hiss, Gerhard (1 септември 2010 г). Principal Blocks and the Steinberg Character. „Algebra Colloquium“ том  17 (03): 361–364. doi:10.1142/s1005386710000350. ISSN 1005-3867. http://dx.doi.org/10.1142/s1005386710000350. 
  42. McGowan, R. (1 февруари 2004 г). A Summary of Unicode Consortium Procedures, Policies, Stability, and Public Access. http://dx.doi.org/10.17487/rfc3718. 
  43. Fredell, Joel; IV, Charles Borchers; Ilgen, Terri (11 март 2013 г). TEI P5 and Special Characters Outside Unicode. „Journal of the Text Encoding Initiative“ (Issue 4). doi:10.4000/jtei.727. ISSN 2162-5603. http://dx.doi.org/10.4000/jtei.727. 
  44. Crispin, M. (1 април 2005 г). UTF-9 and UTF-18 Efficient Transformation Formats of Unicode. http://dx.doi.org/10.17487/rfc4042. 
  45. . The Unicode Standard, Version 6.2. The Unicode Consortium. 2013. p. 561. ISBN 978-1-936213-08-5.. 
  46. Information technology. European Subsets of ISO/IEC 10646-1, BSI British Standards, конс. 2018-12-09 
  47. Information technology. Universal Multiple-Octet Coded Character Set (UCS), BSI British Standards, конс. 2018-12-09 
  48. Gibson, Jonathan Hedley, (born 30 March 1960), a Circuit Judge, since 2008. „Who's Who“ (Oxford University Press). 1 декември 2009 г. http://dx.doi.org/10.1093/ww/9780199540884.013.249382. 
  49. Panda, Smruti Rekha; Tripathy, Jogeswar (1 септември 2015 г). Odia Offline Typewritten Character Recognition using Template Matching with Unicode Mapping. „2015 International Symposium on Advanced Computing and Communication (ISACC)“ (IEEE). doi:10.1109/isacc.2015.7377325. ISBN 9781467367073. http://dx.doi.org/10.1109/isacc.2015.7377325. 
  50. Olsak, Petr (2003 г). New encTeX -- the UTF-8 encoding in TeX. „Zpravodaj Československého sdružení uživatelů TeXu“ том  13 (2): 98–106. doi:10.5300/2003-2/98. ISSN 1211-6661. http://dx.doi.org/10.5300/2003-2/98. 
  51. NAKANO, Yoshihiko (2004 г). Usability Standardization Trend of ISO TC159 and ISO/IEC JTC1/SC35. „Journal of Japan Society for Fuzzy Theory and Intelligent Informatics“ том  16 (2): 114–121. doi:10.3156/jsoft.16.114. ISSN 1347-7986. http://dx.doi.org/10.3156/jsoft.16.114. 
  52. Windows Vista. Berkeley, CA: Apress. стр. 217–233. ISBN 9781590597712. http://dx.doi.org/10.1007/978-1-4302-0368-1_17. 
  53. „XML (Extensible Markup Language)“. AccessScience. http://dx.doi.org/10.1036/1097-8542.yb021025. посет. 9 декември 2018 г. 
  54. Rorty, Richard; Searle, John (1999 г). Rorty v. Searle, At Last: A Debate. „Logos: A Journal of Catholic Thought and Culture“ том  2 (3): 20–67. doi:10.1353/log.1999.0042. ISSN 1533-791X. http://dx.doi.org/10.1353/log.1999.0042. 
  55. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  56. Spolsky, Joel (2004). Joel on Software. Berkeley, CA: Apress. стр. 31–43. ISBN 9781590593899. http://dx.doi.org/10.1007/978-1-4302-0753-5_4. 
  57. Iso 9001. CRC Press. 2001-06-28. ISBN 9781574443073. http://dx.doi.org/10.1201/9781420025453.ch16. 
  58. Leuski, Anton (1 јануари 1999 г). Evaluating a Visual Presentation of Retrieved Documents. Fort Belvoir, VA. http://dx.doi.org/10.21236/ada477673. 
  59. Leuski, Anton (1 јануари 1999 г). Evaluating a Visual Presentation of Retrieved Documents. Fort Belvoir, VA. http://dx.doi.org/10.21236/ada477673. 
  60. Leuski, Anton (1 јануари 1999 г). Evaluating a Visual Presentation of Retrieved Documents. Fort Belvoir, VA. http://dx.doi.org/10.21236/ada477673. 
  61. Information technology. European Subsets of ISO/IEC 10646-1, BSI British Standards, конс. 2018-12-09 
  62. NOVEMBER 13 CUT OFF FOR MOTIONS AND RESOLUTIONS. „Anthropology News“ том  20 (7): 11–11. 1 септември 1979 г. doi:10.1111/an.1979.20.7.11.2. ISSN 1541-6151. http://dx.doi.org/10.1111/an.1979.20.7.11.2. 
  63. Crispin, M. (1 октомври 2007 г). i;unicode-casemap - Simple Unicode Collation Algorithm. http://dx.doi.org/10.17487/rfc5051. 
  64. McGowan, R. (1 февруари 2004 г). A Summary of Unicode Consortium Procedures, Policies, Stability, and Public Access. http://dx.doi.org/10.17487/rfc3718. 
  65. The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) - Unicode 6.0. 1 ноември 2011 г. http://dx.doi.org/10.17487/rfc6452. 
  66. „Figure 1.24. Credit growth has remained robust despite its recent weakening in a few EMEs“. dx.doi.org. http://dx.doi.org/10.1787/888933437379. посет. 9 декември 2018 г. 
  67. The Unicode Code Points and Internationalized Domain Names for Applications (IDNA) - Unicode 6.0. 1 ноември 2011 г. http://dx.doi.org/10.17487/rfc6452. 
  68. Constraints on Error Variables in Grammar. Amsterdam: John Benjamins Publishing Company. 1986. стр. 481. ISBN 9789027220141. http://dx.doi.org/10.1075/z.25.15nam. 

Надворешни врски[уреди | уреди извор]