Unicode-vastaavuus

Tässä artikkelissa käsitellään Unicode-vastaavuutta . Unicode sisältää monia merkkejä . Yhteensopivuuden ylläpitämiseksi olemassa olevien standardien kanssa jotkut niistä vastaavat muita merkkejä tai merkkijonoja. Unicode tarjoaa kaksi samanarvoisuuden käsitettä: kanonisen ja yhteensopivuuden, joista ensimmäinen on toisen osajoukko . Esimerkiksi merkki n, jota seuraa diakriittinen tilde ◌̃, on kanonisesti vastaava ja siksi yhteensopiva yksittäisen Unicode-merkin ñ kanssa, kun taas typografinen ligatuuri ff on yhteensopiva vain kahden merkin f sekvenssin kanssa.

Unicode-standardi on standardi, joka muuttuu tekstin merkit tai merkkijonojen yhdessä vastaava esitys, nimeltään "normaali muoto" tässä artikkelissa. Tämä muunnos on tärkeä, koska se mahdollistaa Unicode-sekvenssien vertaamisen, etsimisen ja lajittelun. Kunkin kahden käsitteet vastaavuuden, Unicode määrittelee kaksi muotoa, yksi koostuu, ja muut hajonnut, mikä johtaa neljä normaalia muotoja, lyhennettynä NFC , NFD , NFKC ja NFKD , joka kuvataan yksityiskohtaisesti alla ja joka on kuvattu myös julkaisussa Unicode Normalisointi .

Kaksi vastaavuuden käsitettä

Kanoninen vastaavuus on vastaavuuden muoto, joka visuaalisesti ja toiminnallisesti säilyttää vastaavat merkit. Niillä on erilainen binaarikoodaus, mutta ne edustavat identtistä tekstiä.

Pikemminkin yhteensopivuusekvivalenssi vastaa tavallista tekstin vastaavuutta ja voi yhdistää semanttisesti erilliset muodot.

Kanoninen vastaavuus

Kanoninen vastaavuus on vastaavuuden muoto, joka visuaalisesti ja toiminnallisesti säilyttää vastaavat merkit. Esimerkiksi merkki ü vastaa kanonisesti sarjaa u, jota seuraa ◌̈. Vastaavasti Unicode tunnistaa useita kreikkalaisia diakriittejä välimerkeillä, jotka näyttävät samalta.

Tämän Unicoden kanonisen vastaavuuden käsitteen taustalla ovat siis kaksi vastavuoroista käsitystä hahmojen koostumuksesta ja hajoamisesta. Merkkikoostumus koostuu useiden yksinkertaisten merkkien yhdistämisestä yhdeksi hahmoksi ns. Esisommitetussa muodossa , kuten merkki n, joka yhdistettynä diakriittiseen tildeen ◌̃ antaa merkille ñ. Hajoaminen on vastavuoroinen prosessi, joka koostuu perusmerkkien löytämisestä yhdistemerkistä alkaen.

Esimerkki diakriitillä Amélie Unicode UTF16BE muodostaa NFC ja NJP
Esitetty merkki AT m é l i e
UTF16-BE NFC 0041 006d 00e9 006c 0069 0065
UTF16-BE NJP 0041 006d 0065 0301 006c 0069 0065
Esitetty merkki AT m e ◌́ l i e

Yhteensopivuuden vastaavuus

Pikemminkin yhteensopivuusekvivalenssi vastaa tavallista tekstin vastaavuutta ja voi yhdistää semanttisesti erilliset muodot. Kuten nimestäkin käy ilmi, sen avulla voit olennaisesti ylläpitää yhteensopivuutta puutteellisten merkistöjen kanssa.

Esimerkiksi ala- tai yläindeksinumerot vastaavat (yhteensopivuuden vuoksi) niitä muodostavia numeroita. Ne eivät ole kanonisesti vastaavia kuin ne, koska merkitys on erilainen. Mutta muuntaminen merkistöksi, joka ei sisällä näitä alaindeksejä tai eksponentteja, säilyttää osittain merkityksensä.

Esimerkiksi muunnos a² → a2 antaa tämän kahden merkin ryhmän ymmärtää edelleen a: n neliöksi erityisesti kontekstin avulla.

Tilauksia ja alaindeksejä voidaan tarkastella paljon helpommin käyttämällä rikkaita Unicode-muotoja.

Hahmot katakana full flush tai half flush ovat myös vastaavia (yhteensopivuus) olematta kanonisesti vastaavia. Sama koskee ligatureja ja niiden komponentteja. Tässä viimeisessä esimerkissä on yleensä visuaalinen ero eikä semanttinen ero. Toisin sanoen ligatureilla ja ei-ligatureilla on tässä tapauksessa sama merkitys, mutta ne esiintyvät erilaisina suunnitteluvaihtoehtoina.

Unicode-normalisointi

Haun, vertailun ja erilaisten Unicode-merkkijonojen toteuttamisessa tekstinkäsittelyohjelmistossa on otettava huomioon vastaavien komentosarjojen läsnäolo. Muussa tapauksessa käyttäjät voivat epäonnistua haussa (vertailu, lajittelu) vastaavien merkkien vuoksi (ja näkyvät siten samalla kuviona ), mutta edustettuina sisäisesti erilaisilla koodisekvensseillä.

Unicode tarjoaa normaalit algoritmit normalisointia varten, joiden on tuotettava sama koodisarja kaikille vastaaville sekvensseille. Vastaavuuskriteeri voi olla kanoninen (NF) tai yhteensopiva (NFK). Ja kullekin näistä kahdesta kriteeristä, Unicode tarjoaa kaksi normaalia muodossa: (pre) yhdiste muodossa NFC tai NFKC ja hajonnut muoto NFD tai NFKD . Lisäksi nämä kaksi muotoa asettavat "kanonisen järjestyksen" koodisekvenssille niin, että siellä on todellakin ainutlaatuisuutta.

Etsinnässä, vertailussa tai lajittelussa ohjelmisto voi käyttää yhdistelmämuotoa tai hajotettua muotoa. Valinnalla ei ole merkitystä, kunhan se on sama kaikille hakuun, vertailuun jne. Kuuluville merkkijonoille  .

Toisaalta vastaavuuskriteerin valinta voi vaikuttaa hakutulokseen.

Esimerkiksi tietyillä ligatureilla, kuten U + FB03 (ffi), tai tietyillä roomalaisilla numeroilla, kuten U + 2168 (Ⅸ), tai jopa tilauskoodeilla tai eksponenteilla , kuten U + 2075 (⁵), on omat Unicode-koodinsa. Kanoninen normalisointi (NF) ei muuta niitä, mutta yhteensopivuuden normalisointi (NFK) hajottaa kuvan komponentteihin, joten U + 0066 (f): n haku onnistuu NFKC: ssä (U + FB03) mutta ei NFC: ssä . (U + FB03). Meillä on tietysti samanlainen käyttäytyminen hakemalla U + 0049 (I) U + 2168: sta. Lopuksi eksponentti U + 2075 (⁵) muunnetaan U + 0035: ksi (5) yhteensopivuusnormalisoinnilla, jotta se voidaan löytää yksinumeroista 5 etsittäessä .

Normaalit muodot

Unicode määrittelee (kuten edellisessä osiossa nähdään) neljä normaalia muotoa. Nämä neljä muotoa määräävät tuloksena oleville sekvensseille kanonisen järjestyksen niiden ainutlaatuisuuden takaamiseksi. Liittyvät algoritmit ovat kaikki idempotentteja , mutta yksikään ei ole injektiivinen singletonien takia.

Yksittäiset ovat hahmoja, jotka ovat ainutlaatuisia, mutta vastaavat (yhteensopivuuden vuoksi) muita saman kuvion merkkejä . Esimerkiksi merkki Ω (ohm) vastaa merkkiä Ω (omega): se on yksikkö.

Neljä muodot ovat NFC , NJP , NFKC ja NFKD . Yksityiskohdat ja esimerkit annetaan Unicode-normalisointiartikkelissa .

Kanoninen järjestys

Kanoninen järjestys koskee pääasiassa hajotetussa muodossa olevia merkkejä yksittäisten merkkien sarjaksi. Ensinnäkin on välttämätöntä, että päähenkilö (t) ovat päähenkilöissä ja että niitä seuraa muokkaamalla merkkejä ( diakriitikot yleensä, mutta tämä ei ole velvollisuus).

Jos modifioivia merkkejä on useita, on noudatettava myös sääntöjä, jotta järjestys olisi yksilöllinen tietylle hajotetulle merkille.

Käyttää

Unicode sallii saman sanan kirjainten kirjoittamisen eri tavoin, kun ne koostuvat diakriitikoista, ilman että tämä ero olisi käyttäjän nähtävissä.

Jotkin ohjelmistot eivät käytä Unicode-vastaavuuden käsitettä; he olettavat, että näin ei tapahdu, ja suorittavat tekstivertailunsa taustalla olevien yksikkökoodien vertailun perusteella erottaen siten käyttäjän näkökulmasta identtiset merkkijonot. Tämä toimii hyvin ei-heterogeenisissä järjestelmissä, joita ei ole verkotettu. Kuitenkin, jos nämä ohjelmistot kohtaavat NFC- ja NFD- tekstejä , ne voivat pitää niitä erilaisina käyttäjälle käsittämättömällä tavalla.

Muut ohjelmistot kunnioittavat Unicoden kanonisen vastaavuuden periaatetta. Esimerkiksi Wikipedian käyttämän MediaWiki- ohjelmiston avulla kaksi tekstiä "Identity" (merkillä é) ja "Identity" (merkkeillä e + ◌́) ovat vastaavia, kun niitä käytetään linkeissä ( Identity and Identity ) ja point samalla sivulla, kun toinen on NFC: ssä ja toinen NFD: ssä , molemmat normalisoidaan NFC : ksi vastaavuuden vuoksi.

Jotkut hakukoneet noudattavat myös Unicode-vastaavuusperiaatetta ja palauttavat samat tulokset riippumatta siitä, onko käyttäjä normalisoinut kyselyä yhdessä tai toisessa muodossa, ohjelmisto normalisoi sen automaattisesti.

Joissakin verkkoselaimissa tekstin etsiminen sivulta ottaa huomioon kokonaan tai osittain Unicode-vastaavuuden tai muun vastaavuuden. Tämä pätee erityisesti Google Chromeen tai Safariin sekä Internet Exploreriin tiettyjen vastaavuuksien suhteen. Selaimilla, kuten Firefox ja Opera, ei ole tätä ominaisuutta.

Huomautuksia ja viitteitä

  1. (in) Unicode-merkkien vastaavuus selaimissa  " , Xahlee.info, 9. maaliskuuta 2011, päivitetty 14. huhtikuuta 2018.

Lähde

Liitteet

Aiheeseen liittyvät artikkelit

Ulkoiset linkit