Unicode
Unicode (udtaler: amerikansk engelsk [ ˈjuːnikoʊd ], britisk engelsk [ ˈjuːnikəʊd ]; tysk [ ˈjuːnikoːt ]) er en international standard , hvor en digital kode er defineret på lang sigt for hver meningsfuld karakter eller tekstelement i alle kendte skrivekulturer og karakterer systemer . Målet er at eliminere brugen af forskellige og inkompatible koder i forskellige lande eller kulturer. Unicode suppleres konstant med tegn fra andre skrivesystemer af Unicode -konsortiet .
ISO 10646 er den praktisk talt meningsfulde betegnelse for Unicode -tegnsættet, der bruges af ISO ; det betegnes der som Universal Coded Character Set (UCS).
historie
Konventionelle computertegnsæt indeholder kun et begrænset antal tegn; med vestlige tegnkodninger er denne grænse normalt 128 (7 bit ) kodepositioner - som i den velkendte ASCII -standard - eller 256 (8 bit) positioner, som f.eks. B. ISO 8859-1 (også kendt som Latin-1 ) eller EBCDIC . Efter fradrag af kontroltegnene kan 95 elementer for ASCII og 191 elementer for 8-bit ISO-tegnsættene vises som skrifttyper og specialtegn . Disse tegnkodninger tillader kun få sprog at blive repræsenteret i den samme tekst på samme tid, hvis man ikke formår at bruge forskellige skrifttyper med forskellige tegnsæt i en tekst . Dette hindrede den internationale dataudveksling betydeligt i 1980'erne og 1990'erne.
ISO 2022 var et første forsøg på at kunne repræsentere flere sprog med kun en tegnkodning. Kodningen bruger escape-sekvenser til at kunne skifte mellem forskellige tegnsæt (f.eks. Mellem Latin-1 og Latin-2). Systemet fangede imidlertid kun i Østasien.
Joseph D. Becker fra Xerox skrev det første udkast til et universelt tegnsæt i 1988. Ifølge de oprindelige planer skulle dette 16-bit tegnsæt kun kode tegnene i moderne sprog:
”Unicode prioriterer at sikre nytteværdi i fremtiden højere end at bevare tidligere antikviteter. Unicode henvender sig i første omgang til de tegn, der udgives i moderne tekst (f.eks. I sammenslutningen af alle aviser og blade, der blev trykt i verden i 1988), hvis antal uden tvivl er langt under 2 14 = 16,384. Udover disse tegn i moderne brug kan alle andre defineres til at være forældede eller sjældne, det er bedre kandidater til registrering til privat brug end til at overbelaste den offentlige liste over generelt nyttige Unicodes. "
”Unicode lægger større vægt på at sikre brugervenlighed i fremtiden end på at bevare tidligere antikviteter. Unicode henvender sig primært til alle karakterer, der udgives i moderne tekster (f.eks. I alle aviser og blade i verden i 1988), hvis antal uden tvivl er langt under 2 14 = 16.384. Andre tegn, der går ud over disse nuværende tegn, kan betragtes som forældede eller sjældne. Disse skal registreres i en privat tilstand i stedet for at udfylde den offentlige liste over generelt nyttige Unicodes. "
I oktober 1991, efter flere års udvikling, blev version 1.0.0 af Unicode -standarden udgivet, som på det tidspunkt kun kodede de europæiske, mellemøstlige og indiske scripts. Version 1.0.1, som kodede østasiatiske tegn for første gang, blev først frigivet otte måneder senere, efter at Han -standardiseringen var afsluttet. Med udgivelsen af Unicode 2.0 i juli 1996 blev standarden udvidet fra de originale 65.536 til de nuværende 1.114.112 kodepunkter, fra U+0000
til U+10FFFF
.
Versioner
Udgivelsen af nye versioner tager nogle gange en længere periode, så på tegningstidspunktet er kun karaktertabellerne og enkelte dele af specifikationen i første omgang klar, mens den endelige offentliggørelse af hovedspecifikationen finder sted et stykke tid senere.
Standardens indhold
Unicode -konsortiet leverer flere dokumenter til støtte for Unicode. Ud over det egentlige tegnsæt er det også andre dokumenter, der ikke er absolut nødvendige, men som er nyttige til fortolkning af Unicode -standarden.
struktur
I modsætning til tidligere tegnkodninger, som for det meste kun kodede et bestemt skriftsystem, er målet med Unicode at kode alle skrivesystemer og tegn i brug. Karakterområdet er opdelt i 17 niveauer ( engelske fly ), der hver omfatter 2 16 = 65.536 kodepunkter. Seks af disse niveauer er allerede i brug, resten er forbeholdt senere brug:
- Det grundlæggende flersprogede fly ( BMP ; tysk flersproget baseniveau , også omtalt som fly 0 ) indeholder hovedsageligt skrivesystemer, der i øjeblikket er i brug, tegnsætningstegn og symboler, kontroltegn og surrogatpar og et privat anvendeligt område (PUA) . Niveauet er stærkt fragmenteret og stort set besat, så der ikke er mere plads til, at nye skrivesystemer kan kodes her. Adgang til andre niveauer end BMP er endnu ikke mulig i nogle programmer, eller kun i begrænset omfang.
- Det supplerende flersprogede fly ( SMP ; dt. Yderligere flersproget fly , som plan 1 i det følgende) blev introduceret med Unicode 3.1. Den indeholder hovedsageligt historiske skriftsystemer, men også større samlinger af tegn, der sjældent bruges, som f.eks B. Domino og Mah Jongg sten og emoji . I mellemtiden er skrivesystemer også kodet i SMP'en, der stadig er i brug, men ikke længere finder et sted i BMP.
- Det supplerende ideografiske fly ( SIP ; dt. Yderligere ideografisk niveau , også kendt som plan 2 i det følgende), som også er blevet introduceret med Unicode 3.1, indeholder kun CJK -special, der sjældent bruges, disse omfatter blandt andet de anvendte chữnôm , der blev brugt i Vietnam . Hvis dette niveau ikke er tilstrækkeligt til dette, er plan 3 forbeholdt yderligere CJK -tegn.
- Den supplerende Special-Purpose Plane ( SSP ;. Dt Supplerende niveau til specielle formål , der også omtales som Plane 14 ) indeholder et par kontrol tegn for sprog mærkning.
- De to sidste niveauer, henholdsvis supplerende privat brugsområde -A og -B ( PUA ; også plan 15 og plan 16 ), er tilgængelige som privat brugbare områder (PUA) . Nogle af dem kaldes også Private Use Planes ( PUP ).
Inden for disse niveauer hører sammen tegn i blokke er (engl. Blokke ) er opsummeret. En Unicode -blok omhandler normalt et skrivesystem, men af historiske årsager er der en vis grad af fragmentering . Ofte blev tegn tilføjet senere og placeret i andre blokke som et supplement.
Kodepunkter og tegn
Hver indkodet i Unicode standard elementær mærke er et kodepunkt (engl. Codepoints ) tildeles. Disse er normalt vist i hexadecimal (mindst fire cifre, dvs. med indledende nuller om nødvendigt) og efterfulgt af et præfiks U+
, f.eks. B. U+00DF
for ß .
Hele området beskrevet af Unicode -standarden omfatter 1.114.112 kodepunkter (U + 0000… U + 10FFFF, 17 niveauer på 2 16 hver , dvs. 65536 tegn). Standarden tillader imidlertid ikke, at de kan bruges til tegnkodning i nogle områder:
- 2048 kodepunkter i området U + D800… U + DFFF bruges som dele af surrogatpar i UTF-16- kodningsskemaet til at repræsentere kodepunkter over BMP (dvs. i området U + 10000… U + 10FFFF) og er derfor ikke bruges som kodepunkter i sig selv til rådighed for individuelle tegn.
- 66 kodepunkter, 32 i området U + FDD0 ... U + FDEF og 2 hver for enden af hvert af de 17 niveauer (dvs. U + FFFE, U + FFFF, U + 1FFFE, U + 1FFFF,…, U + 10FFFE , U + 10FFFF) er forbeholdt procesinterne anvendelser og er ikke beregnet til brug som individuelle tegn.
Det betyder, at der i alt er 1.111.998 kodepunkter til rådighed for tegnkodning. Imidlertid er antallet af faktisk tildelte kodepunkter betydeligt lavere; Tabellerne D-2 og D-3 i tillæg D til Unicode-standarden giver en oversigt over, hvor mange kodepunkter der er tildelt i de forskellige versioner, og hvad de bruges til.
PUA ( privat brugsområde )
Særlige områder er forbeholdt privat brug, dvs. H. i disse tildeles aldrig kodepunkter til tegn, der er standardiseret i Unicode. Disse kan bruges til privat definerede tegn, der skal aftales individuelt mellem skaberne og brugerne af de tekster, de indeholder. Disse områder er:
- i BMP: U + E000… U + F8FF
- på andre niveauer: U + F0000… U + FFFFD og U + 100000… U + 10FFFD
Der er udviklet specielle konventioner til forskellige applikationer, der specificerer karaktertildelinger specifikt til PUA -området i BMP. På den ene side findes ofte prækomponerede tegn bestående af grundtegn og diakritiske tegn her , da det i mange (især ældre) softwareapplikationer ikke kan antages, at sådanne tegn vises korrekt i henhold til Unicode -reglerne, når de indtastes som en sekvens af grundlæggende tegn og diakritiske tegn. På den anden side er der tegn, der ikke overholder reglerne for optagelse i Unicode, eller hvis ansøgning om optagelse i Unicode ikke lykkedes af andre årsager eller ikke var tilgængelig. I mange skrifttyper, for eksempel, er der en producent logo ved position U + F000 (logoer er ikke kodet i Unicode i princippet).
Kilder til PUA -tegn er f.eks. B.:
- MUFI (Medieval Unicode Font Initiative)
- SIL PUA til specielle bogstaver på forskellige minoritetssprog verden over
- Languageagegeek for indfødte sprog i Nordamerika
- ConScript til opfindede skrivesystemer som Klingon
Kodning
Ud over det faktiske tegnsæt er der også defineret et antal tegnskoder, der implementerer Unicode -tegnsættet, og som kan bruges til at have fuld adgang til alle Unicode -tegn. De kaldes Unicode Transformation Format ( UTF for kort ); De mest udbredte er på den ene side UTF-16 , som har etableret sig som den interne karakterrepræsentation af nogle operativsystemer ( Windows , OS X) og softwareudviklingsrammer ( Java , .NET ) og på den anden side UTF-8 , som også bruges i operativsystemer (GNU / Linux, Unix) samt i forskellige internettjenester (e-mail, WWW) spiller en stor rolle. Baseret på det proprietære EBCDIC -format for IBM - mainframe -computere er den UTF -EBCDIC -definerede kodning. Punycode bruges til at kode domænenavne med ikke-ASCII-tegn. Med Standard Compression Scheme for Unicode er der et kodningsformat , der komprimerer teksterne på samme tid . Andre formater til kodning af Unicode -tegn inkluderer: CESU-8 og GB 18030 .
normalisering
Mange tegn, der er indeholdt i Unicode-standarden, er såkaldte kompatibilitetstegn, der fra et Unicode-synspunkt allerede kan repræsenteres med andre tegn eller tegnsekvenser, der er kodet i Unicode, f.eks. B. de tyske umlauts, som teoretisk set kan repræsenteres med en sekvens af basisbogstavet og en kombinerende Trema (vandret kolon). Med Unicode -normalisering erstattes kompatibilitetstegnene automatisk med sekvenserne i Unicode. Dette gør behandlingen af Unicode -tekster meget lettere, da kun en mulig kombination står for en bestemt karakter og ikke flere forskellige.
Sortering
For mange skrivesystemer er tegnene i Unicode ikke kodet i en rækkefølge, der svarer til en sortering, der er fælles for brugere af dette skrivesystem. Ved sortering af z. B. i en databaseapplikation bruges normalt ikke rækkefølgen af kodepunkterne. Desuden er sorteringen i mange skrivesystemer præget af komplekse, kontekstafhængige regler. Her definerer Unicode Collation Algorithm, hvordan karakterstrenge kan sorteres inden for et bestemt skrivesystem eller også på tværs af skriftsystemer.
I mange tilfælde afhænger den faktiske rækkefølge imidlertid af andre faktorer (f.eks. Det anvendte sprog) (f.eks. Sorteret "ä" på tysk afhængigt af applikationen som "ae" eller "a", men på svensk efter "z" og “å”), så Unicode -sorteringsalgoritmen skal bruges, hvis sorteringen ikke er bestemt af mere specifikke rammebetingelser.
Standardiseringsinstitutioner
Det almennyttige Unicode-konsortium blev grundlagt i 1991 og er ansvarligt for Unicode- industristandarden . Den internationale standard ISO 10646 udgives af ISO ( International Organization for Standardization ) i samarbejde med IEC . Begge institutioner arbejder tæt sammen. Siden 1993 har Unicode og ISO 10646 været praktisk talt identiske med hensyn til tegnkodning. Mens ISO 10646 kun definerer den faktiske tegnkodning, indeholder Unicode et omfattende regelsæt, der blandt andet klart definerer andre egenskaber, der er vigtige for den specifikke applikation, såsom sorteringssekvens, læseretning og regler for kombination af tegn.
I et stykke tid har kodeområdet for ISO 10646 været nøjagtig det samme som Unicode, da kodeområdet også var begrænset til 17 niveauer, som kan repræsenteres med 21 bits.
Kodningskriterier
Sammenlignet med andre standarder har Unicode den særlige funktion, at når kodede tegn aldrig fjernes igen for at garantere levetiden af digitale data. Hvis standardiseringen af et tegn efterfølgende viser sig at være en fejl, frarådes dets brug. Derfor kræver optagelse af et mærke i standarden en ekstremt omhyggelig undersøgelse, som kan tage år.
Unicode kun "abstrakte tegn" er (engelsk: tegn ) koder, men ikke den grafiske fremstilling ( glyfer ) af disse tegn, der kan variere fra skrifttype meget forskellige skrifttyper, det latinske alfabet som i form af Antiqua , brud , det irske magasin eller de forskellige manuskripter . For glyph -varianter, hvis normalisering har vist sig at være nyttig og nødvendig, er 256 "Variation Selectors" forbeholdt som en sikkerhedsforanstaltning, som om nødvendigt kan justeres til den faktiske kode. I mange skrivesystemer kan tegn også antage forskellige former eller danne ligaturer afhængigt af deres position. Bortset fra nogle få undtagelser (f.eks. Arabisk) er sådanne varianter heller ikke inkluderet i Unicode-standarden, men en såkaldt smart font- teknologi som OpenType er påkrævet, hvilket i tilstrækkelig grad kan erstatte formularerne.
På den anden side er identiske glyfer, hvis de har forskellige betydninger, også kodet flere gange, for eksempel glyferne А, В, Е, K, М, Н, О, Р, Т og Х, som - med nogle gange forskellige betydninger - både på latin som også forekommer i det græske og kyrilliske alfabet.
I borderline -tilfælde er der en hård kamp for at afgøre, om det er et spørgsmål om glyphvarianter eller faktisk forskellige tegn, der er værdige til deres egen kodning ( grafemer ). For eksempel er en del eksperter af den opfattelse, at det fønikiske alfabet kan betragtes som glyfvarianter af det hebraiske alfabet, da hele området af fønikiske tegn har klare ækvivalenter der, og begge sprog er meget nært beslægtede. I sidste ende sejrede det dog endelig, at det var et spørgsmål om separate tegnsystemer , kaldet "scripts" i Unicode -terminologi.
Situationen er anderledes med CJK ( kinesisk , japansk og koreansk ): Her har formerne for mange synonyme karakterer været forskellige i de sidste par århundreder. De sprogspecifikke glyfer deler imidlertid de samme koder i Unicode (med undtagelse af et par tegn af hensyn til kompatibilitet). I praksis bruges sprogspecifikke skrifttyper overvejende her , hvilket betyder, at skrifttyperne fylder meget. Den ensartede kodning af CJK -tegnene ( Han Unification ) var et af de vigtigste og omfattende forberedende arbejde til udviklingen af Unicode. Det er særligt kontroversielt i Japan.
Da grundstenen til Unicode blev lagt, skulle det tages i betragtning, at et stort antal forskellige kodninger allerede var i brug. Unicode-baserede systemer bør kunne håndtere konventionelt kodede data med lille indsats. Den udbredte ISO-8859-1- kodning (Latin1) samt kodningstyperne for forskellige nationale standarder er bevaret for de lavere 256 tegn , f.eks. B. TIS-620 for thai (næsten identisk med ISO 8859-11 ) eller ISCII for indiske scripts , som kun er blevet flyttet til højere områder i den oprindelige rækkefølge.
Hver karakter af relevante traditionelle koder er blevet indarbejdet i standarden, selvom den ikke opfylder de standarder, der normalt anvendes. Disse er stort set tegn bestående af to eller flere tegn, f.eks. Bogstaver med diakritiske tegn . I øvrigt har en stor del af softwaren stadig ikke mulighed for korrekt at samle karakterer med diakritik. Den nøjagtige definition af ækvivalente kodninger er en del af det omfattende regelsæt, der tilhører Unicode.
Derudover er der mange Unicode -tegn, der ikke er tildelt en glyfe og stadig behandles som "tegn". Ud over kontroltegn som tabulatortegnet (U + 0009), linjefeed (U + 000A) osv. Er 19 forskellige tegn eksplicit defineret som mellemrum, også dem uden bredde, som omfatter kan bruges som ordadskillere til sprog som thai , som er skrevet uden mellemrum imellem. For tovejs tekst , f.eks. B. Arabisk med latin , syv formateringstegn er kodet. Derudover er der andre usynlige tegn, der kun bør evalueres under visse omstændigheder, f.eks. Combining Grapheme Joiner .
Brug på edb -systemer
Kodepunkt indtastningsmetoder
Direkte input på operativsystemniveau
Microsoft Windows
Under Windows (fra Windows 2000 ) kan koden indtastes decimalt som Alt+ <decimal Unicode> (med aktiveret Num-Lock ) i nogle programmer (mere præcist i RichEdit-felter ) på det numeriske tastatur. Bemærk dog, at tegn, der er mindre end 1000, skal suppleres med et indledende nul (f.eks. Alt+ 0234For Codepoint 234 10 [ê]). Denne foranstaltning er nødvendig, fordi inputmetoden Alt+ <et til tre-cifret decimaltegn uden ledende nul> (stadig tilgængelig i Windows) allerede blev brugt i MS-DOS- tider til at vise tegnene på kodesiden 850 (især med tidligere MS DOS -versioner koder også side 437 ).
En anden inputmetode kræver, at der findes en post (værdi) af navnet REG_SZ ("tegnstreng") i registreringsdatabasen i nøglen, og at værdien (datoen) er tildelt den. Efter redigering af registreringsdatabasen skal brugere under Windows 8.1, Windows 8, Windows 7 og Vista logge ud af Windows -brugerkontoen og derefter logge ind igen; med tidligere Windows -versioner skal computeren genstartes, for at ændringerne i registreringsdatabasen kan træde i kraft . Derefter kan Unicode -tegn indtastes som følger: Først skal du trykke på (venstre) Alt -tasten, derefter trykke på og slippe plus -tasten på det numeriske tastatur og derefter indtaste den hexadecimale kode for tegnet ved hjælp af det numeriske tastatur til cifre, der kom til. Slip endelig Alt -tasten.
HKEY_CURRENT_USER\Control Panel\Input Method
EnableHexNumpad
1
Selvom denne inputmetode i princippet fungerer i alle inputfelter i hvert Windows -program, kan det ske, at hurtigadgangstaster til menufunktioner forhindrer indtastning af hexadecimale kodepunkter: Hvis du f.eks . Vil indtaste bogstavet Ø (U + 00D8) , kombinationen Alt+D
i mange programmer fører til, at menuen Fil åbnes i stedet .
En anden ulempe er, at Windows kræver den eksplicitte specifikation af UTF-16- kodningen (bruges internt i Windows) i stedet for selve Unicode-kodningen og derfor kun tillader indtastning af firecifrede kodeværdier; For tegn, der ligger over BMP'en og har kodepunkter med fem eller sekscifret hexadecimal notation, skal der i stedet bruges såkaldte surrogatpar , hvor et fem- eller sekscifret kodepunkt kortlægges til to firecifrede erstatningskoder point. Eksempelvis skal diskantnøglen ? (U + 1D11E) indtastes som et hexadecimalt UTF-16 værdipar D834 og DD1E; direkte indtastning af fem eller sekscifrede kodepunkter er derfor ikke mulig her.
Apple macOS
I Apple macOS skal indtastning af Unicode -tegn først aktiveres via systemindstillingerne "Tastatur" som et specielt tilfælde. For at gøre dette skal du tilføje “Unicode hex input” i fanen “Input sources” fanen ved hjælp af plus -symbolet. Dette er placeret under overskriften "Andet". Derefter kan Unicode-værdien ⌥Optionindtastes med den firecifrede hex-kode i Unicode-tegnet, mens du holder tasten nede; hvis hex -koden er mindre end fire cifre, skal indledende nuller indtastes. Hvis hex -koden har fem cifre, er det ikke muligt at indtaste den direkte via tastaturet, og den skal vælges i dialogboksen "Tegnoversigt". Hvis Unicode-Hex-input er aktiveret, er der ikke et tysksproget tastaturlayout (f.eks. For umlauts), så du skal skifte mellem de to tastaturtilstande. Den respektive status for tastaturopgaven kan vises ved hjælp af en ekstra mulighed i menulinjen.
Direkte input i speciel software
Microsoft Office
Under Microsoft Office (fra Office XP) kan Unicode også indtastes hexadecimalt ved at skrive <Unicode> eller U + <Unicode> i dokumentet og derefter trykke på tastekombinationen Alt+ celler Alt+ i dialogbokse x. Denne tastekombination kan også bruges til at vise tegnets kode foran markøren. En alternativ mulighed, som også fungerer i ældre versioner, er at bruge "Indsæt" - "Specialtegn" til at hente en tabel med Unicode -tegn, vælge den ønskede med markøren og indsætte den i teksten. Programmet gør det også muligt at definere makroer for tegn, der kræves oftere, som derefter kan kaldes op med en tastekombination.
Qt og GTK +
GTK + , Qt og alle programmer og miljøer baseret på dem (f.eks. Gnome -skrivebordsmiljøet ) understøtter input ved hjælp af kombinationen + eller, i nyere versioner, + eller + + . Efter tryk på tasterne vises en understreget lille u. Derefter kan Unicode indtastes i hexadecimal form og er også understreget, så du kan se, hvad der hører til Unicode. Når du har trykket på mellemrumstasten eller enter -tasten , vises det tilsvarende tegn. Denne funktionalitet understøttes ikke i KDE -skrivebordsmiljøet . StrgUmschalttasteStrgUStrgUmschalttasteu
Vim
I teksteditoren Vim kan Unicode -tegn indtastes med Strg+ v, efterfulgt af tasten uog Unicode i hexadecimal form.
Valg via tegnetabeller
Programmet charmap.exe , kaldet karaktertabellen , er blevet integreret i Windows siden Windows NT 4.0 . Med dette program er det muligt at indsætte Unicode -tegn via en grafisk brugergrænseflade. Det tilbyder også et inputfelt til den hexadecimale kode.
I macOS er der også en systempakke med paletter tilgængelig under Indsæt → Specialtegn .
Den gratis programmer gucharmap (til Windows og Linux / Unix ) og kcharselect (til Linux / UNIX) vise Unicode tegnsæt på skærmen og give yderligere oplysninger om de enkelte tegn.
Kodepunktoplysninger i dokumenter
HTML og XML understøtter Unicode med tegnkoder, der repræsenterer Unicode -tegnet uanset det indstillede tegnsæt. Notationen er �
for decimalnotation eller �
for hexadecimal notation, hvor 0000 repræsenterer Unicode -nummeret på tegnet. For visse tegn kaldes også mærke (engl. Navngivne enheder ) defineret som z. B. repræsenterer ä
ä, men dette gælder kun HTML; XML og den deraf afledte XHTML definerer navngivne notationer kun for de tegn, der ville blive fortolket som dele af markupsproget ved normal brug, dvs. <
som <
, >
som >
, &
som &
og "
som "
.
kritik
Unicode kritiseres primært fra akademikernes rækker og i østasiatiske lande. En af kritikpunkterne her er Han -standardiseringen ; Fra et østasiatisk synspunkt kombinerer denne procedure tegn fra forskellige ikke -relaterede sprog. Blandt andet kritiseres det, at gamle tekster i Unicode ikke kan gengives trofast på grund af denne standardisering af lignende CJK -tegn. På grund af dette er der udviklet mange alternativer til Unicode i Japan, såsom Mojikyō -standarden.
Kodningen af det thailandske script er blevet kritiseret delvist, fordi det i modsætning til alle andre skrivesystemer i Unicode ikke er baseret på logisk, men snarere visuel orden, hvilket blandt andet gør sorteringen af thailandske ord betydeligt vanskeligere. Unicode-kodningen er baseret på den thailandske standard TIS-620 , som også bruger den visuelle rækkefølge. Omvendt beskrives kodningen af de andre indiske scripts undertiden som "for kompliceret", især af repræsentanter for det tamilske script . Modellen af separate konsonant- og vokaltegn , som Unicode adopterede fra den indiske standard ISCII , afvises af dem, der foretrækker separate kodepunkter for alle mulige konsonant-vokalforbindelser. Regeringen i Folkerepublikken Kina fremsatte et lignende forslag om at kode det tibetanske skrift som sekvenser af stavelser frem for individuelle konsonanter og vokaler.
Der har også været forsøg på at placere symboler i Unicode for at repræsentere deres produkter.
Skrifttyper
Hvorvidt det tilsvarende Unicode -tegn faktisk vises på skærmen, afhænger af, om den anvendte skrifttype indeholder en glyph for det ønskede tegn (dvs. en grafik for det ønskede tegnnummer). Ofte gange, f.eks. B. under Windows, hvis den anvendte skrifttype ikke indeholder et tegn, indsættes et tegn fra en anden skrifttype, hvis det er muligt.
I mellemtiden har Unicode / ISO -kodelokalet antaget en størrelse (mere end 100.000 tegn), der ikke længere kan placeres fuldt ud i en skrifttypefil. Dagens mest populære skrifttypefilformater, TrueType og OpenType , kan maksimalt indeholde 65.536 glyfer. Unicode / ISO -overensstemmelse for en skrifttype betyder ikke, at hele tegnsættet er inkluderet, men kun at de tegn, det indeholder, er kodet i overensstemmelse med standarderne. Publikationen "decodeunicode", der introducerer alle tegn, navngiver i alt 66 skrifttyper, som tegnetabellerne er sammensat af.
Valg af Unicode -skrifttyper
- Arial Unicode MS (leveres fra Microsoft Office XP. Understøtter kun op til Unicode 2.0. Indeholder 50 377 glyfer (38 917 tegn) i version 1.01.)
- Bitstream Cyberbit (gratis til ikke-kommerciel brug. 29.934 tegn i version 2.0 beta).
- Bitstream Vera (gratis, sans serif -version af Cyberbit)
- Cardo (gratis til ikke-kommerciel brug, 2.882 tegn i version 0.098, 2004)
- ClearlyU (gratis, pixelfontfamilien indeholder et sæt med 12pt til 100dpi proportionelle BDF -skrifttyper med mange nødvendige tegn fra Unicode. 9.538 tegn i version 1.9.)
- Code2000 , Code2001 og Code2002: Tre gratis skrifttyper, der giver 0, 1 og 2 tegn til de tre planer. Disse skrifttyper er ikke blevet videreudviklet siden 2008 og er derfor stort set forældede. Dette gælder ikke for Code2000 for Saurashtra, Kayah Li, Rejang og Cham blokke. Der er også mange alternativer til Code2000 og Code2001; B. "HanaMinA" med "HanaMinB", "MingLiU-ExtB", "SimSun-ExtB" og "Sun-ExtB".
- DejaVu (gratis, "DejaVu Sans" indeholder 3 471 tegn og 2 558 kerningpar i version 2.6)
- Doulos SIL (gratis; indeholder IPA . 3 083 tegn i version 4.014.)
- Everson Mono (Shareware; indeholder de fleste ikke- CJK- bogstaver. 9632 tegn i Macromedia Fontographer v7.0.0 12. december 2014.)
- Gratis UCS- konturskrifttyper (gratis, "FreeSerif" omfatter 3.914 tegn i version 1.52, MES-1-kompatibel)
- Gentium Plus (videreudvikling af Gentium . Version 1.510 fra august 2012 indeholder 5 586 glyfer for 2 520 tegn. - Download side på SIL International )
- HanaMinA og HanaMinB dækker tilsammen niveau 2 (U + 2XXXX). HanaMinA blokken CJK Kompatibilitet ideografer, supplement , HanaMinB blokkene cjk Unified ideografer extension B , CJK Unified ideografer udvidelse C og CJK Unified ideografer extension D .
- Helvetica World (licens fra Linotype )
- Junicode (gratis; indeholder mange gamle tegn designet til historikere. 1.435 tegn i version 0.6.3.)
- Linux Libertine (gratis, inkluderer vestlige tegnsæt (latin, kyrillisk, græsk, hebraisk, herunder arkaiske specialtegn, ligaturer, middelalderlige, proportionelle og romerske tal, indeholder mere end 2000 tegn i version 2.6.0), 2007)
- Lucida Grande (Unicode -skrifttype inkluderet i macOS ; indeholder 1.266 tegn)
- Lucida Sans Unicode (inkluderet i nyere Microsoft Windows- versioner; understøtter kun ISO-8859-x bogstaver. 1.776 tegn i version 2.00.)
- Ny Gulim (leveres med Microsoft Office 2000. De fleste CJK -bogstaver. 49.284 tegn i version 3.10.)
- Noto er en skrifttypefamilie udviklet af Google og Adobe og tilbydes under den gratis Apache -licens . Selvom det er et igangværende projekt, er de fleste af Unicode -kodede moderne og historiske scripts dækket. ( Download side på google.com )
- Sun exta dækker store dele af niveau 0, inklusive 20.924 af 20941 tegn i Unicode blok Unified CJK ideogrammer og alle 6582 tegn i CJK Unified ideografer Extension A .
- Sun-ExtB dækker stort set niveau 2 (U + 2XXXX): Unicode blok CJK ideogrammer, kompatibilitet, supplement , Unicode blok Unified CJK ideogrammer, udvidelse B og Unicode blok Unified CJK ideogrammer, udvidelse C helt, fra unicode blokken Unified CJK ideogrammer, udvidelse D 59 af de 222 tegn. Også unicode-blokken Tai-Xuan-Jing-symboler .
- TITUS Cyberbit Basic (gratis; opdateret version af Cyberbit. 9.779 tegn i version 3.0, 2000.)
- Y.OzFontN (gratis. Indeholder mange japanske CJK -bogstaver, indeholder få SMP -tegn. 59.678 tegn i version 9.13.)
Erstat skrifttyper
En erstatningsskrifttype bruges som en erstatning for tegn, for hvilke der ikke er nogen skrifttype med et korrekt display.
Her er z. B. følgende skrifttyper:
- Unicode BMP Fallback SIL , en erstatning skrifttype skabt af SIL International, der repræsenterer alle tegn i niveau nul ( B ASIC M ultilingual P bane) er defineret i version 6.1 som en firkant med en afmærket hex kode. Find det på sil.org .
- LastResort , designet af Michael Everson , er en erstatningsskrifttype , der er inkluderet i Mac OS 8.5 og højere, og som bruger den første glyph i en blok for alle tegn i blokken. Gratis at downloade fra unicode.org .
Se også
litteratur
- Johannes Bergerhausen, Siri Poarangan: decodeunicode: verdens karakterer . Hermann Schmidt, Mainz 2011, ISBN 978-3-87439-813-8 (Alle 109.242 Unicode-tegn i en bog.).
- Julie D. Allen: Unicode Standard, version 6.0 . Unicode -konsortiet. Unicode Consortium, Mountain View 2011, ISBN 978-1-936213-01-6 ( online version ).
- Richard Gillam: Unicode Demystified: en praktisk programmørguide til kodningsstandarden . Addison-Wesley, Boston 2003, ISBN 0-201-70052-2 .
Weblinks
- Officielt websted for Unicode Consortium (engelsk)
- Den universelle kode: Unicode . SELFHTML
- Imperia Unicode og Multi-Language Howto. ( Memento fra 28. oktober 2014 i internetarkivet ) - Generelt forståelig, tysksproget introduktion til Unicode
- UTF-8 og Unicode FAQ for Unix / Linux af Markus Kuhn (engelsk)
- UniSearcher - Søger efter Unicodes
- Shapecatcher grafisk unicode tegnsøgning
- Bestem tegnnavnet og kodepositionen ved at indtaste tegnet
- Unicode - filmen Alle 109.242 Unicode -tegn i en film
- Unicode Font Viewer (freeware)
- Alle Unicode -tegn, emojis og skrifttyper i Windows 10
- Detaljeret liste over Unicode -inputmetoder til Windows (engelsk)
- detaljeret blogartikel til den mindste forståelse af Unicode (engelsk)
- Golo Roden: Hvad du bør vide om Unicode. I: Heise online . 28. januar 2021 (Heise -udvikler).
Individuelle beviser
- ↑ Denne standard er identisk med ECMA 35 (PDF; 304 kB), en standard fra Ecma International .
- ↑ Internationalisering og internettet
- ↑ Joseph D. Becker: Unicode 88 . (PDF; 2,9 MB) 29. august 1988, s.5
- ^ Historik om Unicode -udgivelses- og publiceringsdatoer
- ↑ Chronology of Unicode Version 1.0
- ↑ Unicode i Japan: Guide til en teknisk og psykologisk kamp . ( Memento fra 27. juni 2009 i internetarkivet )
- ↑ UnicodeData.txt (1.0.0)
- ↑ UnicodeData.txt (1.0.1)
- ↑ UnicodeData.txt (1.1)
- ↑ a b Hvad er nyt i Unicode 5.1? BabelStone
- ↑ UnicodeData.txt (2.0)
- ↑ UTR # 8: Unicode -standarden, version 2.1
- ↑ Unicode 3.0.0
- ↑ UAX # 27: Unicode 3.1
- ↑ UTR # 28: Unicode 3.2
- ↑ Unicode 4.0.0
- ↑ Unicode 4.1.0
- ↑ Unicode 5.0.0
- ↑ Unicode 5.1.0
- ↑ Unicode 5.2.0
- ↑ Unicode 6.0.0
- ↑ Unicode 6.1.0
- ↑ Unicode 6.2.0
- ↑ Unicode 6.3.0
- ↑ Unicode 7.0.0
- ↑ Unicode 8.0.0
- ↑ Unicode 9.0.0. I: unicode.org. Hentet 22. juni 2016 .
- ↑ Unicode 10.0.0. I: unicode.org. Hentet 20. april 2017 .
- ↑ Unicode 11.0.0. I: unicode.org. Hentet 21. juli 2018 .
- ↑ Unicode 12.0.0. I: unicode.org. Hentet 28. februar 2019 .
- ↑ Unicode 12.1.0. I: unicode.org. Hentet 7. maj 2019 .
- ↑ Unicode 13.0.0. I: unicode.org. Hentet 25. april 2021 .
- ↑ Hvad er Unicode?
- ↑ a b c d e Unicode -standarden, s. 33
- ↑ Køreplan til SIP
- ↑ a b Unicode -standarden, s. 34
- ↑ Unicode 6.3 Kapitel 2.8, side 34, første afsnit (da kernespecifikationen til version 6.3 ikke er blevet ændret og ikke er blevet offentliggjort igen, gælder filerne fra version 6.2 for 6.3 fortsat uændret.)
- ↑ Unicode -standarden, s. 21f
- ↑ Unicode 6.3 Appendiks D, side 602, tabeller D-2 og D-3 (da kernespecifikationen for version 6.3 ikke er blevet ændret og ikke er blevet offentliggjort igen, gælder filerne fra version 6.2 for 6.3 fortsat uændret.)
- ^ Medieval Unicode Font Initiative. Hentet 21. august 2012 .
- ^ Peter Constable og Lorna A. Præst: SIL Corporate PUA Opgaver. 17. april 2012. Hentet 21. august 2012 .
- ^ Chris Harvey: Languagegeek -skrifttyper. 29. juni 2012. Hentet 21. august 2012 .
- ↑ ConScript Unicode -registreringsdatabasen. Hentet 21. august 2012 .
- ↑ Tegnsæt
- ↑ Ofte stillede spørgsmål om Java -internationalisering
- ↑ Unicode i .NET Framework
- ↑ Ofte stillede spørgsmål - Unicode og ISO 10646
- ^ Unicode -standarden, s. 573
- ↑ Unicode Character Encoding Stability Policy
- ↑ Unicode teknisk rapport # 17 - tegnkodningsmodel
- ↑ Svar på det reviderede "Endelige forslag til kodning af det fønikiske script i UCS" (L2 / 04-141R2)
- ↑ unicode.org
- ↑ a b Jan Mahn: Mærkelige karakterer . Specialtegn på Windows, Linux, macOS. I: c't . Ingen. 20 , 2019, s. 126–127 ( heise.de [adgang 28. januar 2021]).
- ↑ a b Unicode under Mac OS X. apfelwiki.de; Hentet 27. april 2013
- ↑ Tastaturgenveje til internationale tegn
- ↑ Tegnenhedsreferencer i HTML 4 w3.org
- ^ A b Suzanne Topping: Unicodes hemmelige liv. IBM DeveloperWorks, 1. maj 2001, arkiveret fra originalen den 14. november 2007 ; adgang til den 7. november 2015 .
- ^ Otfried Cheong: Han -forening i Unicode. Oktober 12, 1999, arkiveret fra originalen på 28 marts 2010 ; adgang til den 7. november 2015 .
- ^ Unicode -standarden, s. 350
- ^ Unicode -standarden, s. 268
- ↑ Krishnamurthy, Elangovan, P. Chellappan Kanithamizh Sangam: Udvikling af 16 bit -kodningssystemet for tamil. Arkiveret fra originalen den 16. august 2012 ; adgang til den 22. november 2015 .
- ↑ Forberedt tibetansk del 1: BrdaRten. BabelStone
- ↑ winfuture.de