Jeg så dette spørsmålet på nettstedet forslaget om typografi , og det bugget meg at jeg ikke «t vet svaret. Jeg behandlet alltid» glyph «og» character «som utskiftbare.
Etter å ha lest en forklaring på Unicode Karakterkoding Modelside , min forståelse er omtrent dette:
- Tegn defineres av deres betydning på språk, tegn, ved deres utseende . Ligaturen for å estetisk kombinere
fi
er en tegn, men to tegn.
Så, min tro er (rett meg hvis jeg » m feil) at praktisk forskjellen ville være:
- Tekstparsere som ikke er interessert i tekstens estetikk, vil lese tegn som deres respektive tegn. Så:
- Hvis du skulle kopiere og lime inn tekst som inneholder tegn i en ren tekstredigerer, ville tegnene konverteres til deres respektive tegn (a
fi
ligaturglyph ville blif
ogi
) - Ethvert godt laget automatisert system basert på tekst-parsing (f.eks. søkemotor-crawlere, skjermlesere, stavekontroller) vil tolke tegnene som deres respektive tegn.
- Ett tegn kan ha mange glyffer eller glyfsett. Jeg vil si at et tegn bare kan ha ett tegn, men dette er tydeligvis ikke riktig da det er et eksempel på den sammenkoblede artikkelen om tre tegn og tegnsett som tilsynelatende tilsvarer et tegn og et sett med tegn. Jeg ser ikke helt hvordan dette kan fungere: betyr det helt sikkert at det vil være uoverensstemmelse eller tvetydighet i hvordan disse tegnene tolkes, varierer etter tolk? (Eller varierer det etter språk eller skrift?)
- Mens tegnlesere (f.eks. Den i Illustrator) inneholder hele tegnsettet for en skrift, inneholder tegnkart (f.eks. Windows-tegnkartet) bare tegn, ikke tegn som er flere tegn som ligaturer (noe jeg ikke la merke til før)
- Hvis du skulle kopiere og lime inn tekst som inneholder tegn i en ren tekstredigerer, ville tegnene konverteres til deres respektive tegn (a
Jeg føler at jeg er nesten der, men jeg har tydelig misforstått noe et sted langs linjen: ikke bare «One glyph multiple characters» -tingen, men kopiering og liming av atferd med ligaturer er ikke «t ganske hva jeg forventet:
- Kopier ligaturen
fi
fra Illustrator til denne inntastingsboksen: limes inn somfi
(to tegn) som forventet . - Lim inn HTML-koden for den () – vises som ligaturen når den ikke er i en kodeblokk (fi – som i denne fonten ikke ser ut som en ligatur, men du vil se er en hvis du prøver å velge bare halvparten av den), og koden når du er i en kodeblokk (
fi
), som forventet. - Kopier og lim inn den gjengitte ikke-kodeblokkbåndet tilbake i inndataboksen: limes inn som ligaturtegnet, og gjengis som ligaturen uavhengig av om det er i en kodeblokk eller ikke (fi og
fi
). Likeledes ord som inneholder det: fi t mis fi ts (fit misfits
) limes inn som fi t misfits (fit misfits
). Kanskje det kommer an på om stedet det limes inn forstår kodingen som brukes?
Hvor langt feil er min forståelse av dette? Kan noen gjøre meg rett: med en klar definisjon av forskjellen mellom tegn og tegn (hvis min er feil eller kan forbedres), og gi klarere / mer nøyaktige eksempler enn min på hva det betyr i praksis ?
Kommentarer
- Det blir mye mer komplisert når du har skript som arabisk der du har kombinasjonstegn.
- @MartinSchr ö der +1 Høres ut som inngangssetningen til et utmerket svar … 🙂
Svar
Bokstaver forholder seg til hvordan tekst gjengis, tegn til hvordan den tolkes. Når du kopierer & limer inn, gir kildeapplikasjonen vanligvis et valg mellom flere formater. Vanlig tekst vil dekomponere filaturen i f og i, HTML-format kan oversette den til den char-enheten du siterte, eller også spalte den i f og i.
Generelt er forholdet mellom tegn og tegn n: m. På indikasjonsspråk deler noen tegn seg i to tegn som plasseres på forskjellige steder i ordet. På latin er det nærmeste den situasjonen å gjengi é som to tegn (e og ´).På arabisk har hvert tegn forskjellige tegn, avhengig av dets plassering i et ord: innledende, midt, endelig eller isolert.
Oversettelsen fra tegn til tegn er spesifikk for hver applikasjon og de typografiske funksjonene den støtter. For latinsk tekst pleide denne oversettelsen å være grei, men OpenType-skrifttyper introduserte tilleggsfunksjoner som ligaturer, swashes, alternative former, små bokstaver osv.
Av praktiske årsaker er du bare opptatt av tegn når du implementerer hvordan en applikasjon gjengir tekst, eller når du designer en skrift, eller når du vil bruke en OpenType-funksjon som erstatter noen tegn med andre (f.eks. ligaturer). Ellers er Unicode-kodepunkter din venn.
Kommentarer
- Hei user322483, velkommen til GDSE og takk for svaret. Hvis du har spørsmål, kan du gå til brukerstøtten eller pinge en av oss i Grafisk designchatt når omdømmet ditt er tilstrekkelig (20). Fortsett å bidra og nyt siden!
- Du skriver » På arabisk har hvert tegn forskjellige tegn, avhengig av dets plassering i et ord: innledende, midt, endelig eller isolert . » < — Ville ikke ‘ t være forskjellige tegn. Engelsk har A og a, men i databehandling er A og a forskjellige tegn. hver glyf er kartlagt til en annen kode. Hebraisk har chaf og final chaf (bokstaven chaf på slutten av et ord, ser annerledes ut) og jeg ‘ er sikker på at det ‘ s betegnet som et annet tegn i databehandling.
Svar
Jeg tror ikke din forståelse er feil du » ser bare systemer som prøver å hjelpe brukeren ved å lime inn det den tror de vil ha. Siden noen ligaturer («fi», «fl») er ganske vanlige utenfor typesettingssystemene, anerkjenner programvaren at brukeren sannsynligvis ikke kom inn i tegnet, men en annen app forvandlet de typede tegnene.
Kort fortalt : Tegn refererer til en språklig enhet. Glyph refererer til en utformet forekomst av den enheten, enten det er store, små bokstaver, liten eller historisk variant.
Kommentarer
- I databehandling er A og a forskjellige tegn. ASCII har 128 tegn og begrepet tegn der inkluderer A og a som forskjellige tegn.
- Ingeniører bruker mange ord som ikke ‘ t stemmer overens med presedensene i andre bransjer. Din er et godt eksempel.
- som kom med begrepet » karakter » og » glyph » f irst? grafiske designere eller dataingeniører? Jeg ‘ Jeg har trodd datamaskinene kom før den grafiske utformingen. Men det kan være en trykkeribransje som gikk foran grafisk design og diskuterte datamaskiner på noen måter eller tidligere datamaskiner. Jeg antar at selv om de som kan svare best på det som nå er grafisk design, er trykkeribransjen, men det er ‘ ingen trykkindustri. Men det ‘ ville være interessant å vite hvem som lånte fra hvem og på hvilken måte betegnelsen Character.
- Typografi kom lenge før programvareteknikk. Vennligst skriv inn her hvis du foretar undersøkelsen og finner opprinnelsen. Jeg antar at det vil være en gang på 1600-tallet. Muligens så tidlig som de første typografene i midten av 16.
Svar
Det er et par svar her som gir god informasjon om tegn mot tegn, men de adresserer ikke egentlig kilden til forvirringen din når det gjelder kopiering og liming.
Først og fremst er din forståelse grunnleggende riktig:
Tegn defineres av deres betydning på språk, tegn, av deres utseende . Så, ligaturen for estetisk kombinasjon fi er ett tegn, men to tegn.
Det er verdt å understreke at listen over tegn er definert av Unicode standard, som er utgitt av Unicode Consortium, på grunn av det faktum at de har myndighet til å kode tekst i et maskinlesbart format. Definisjonen ovenfor er egentlig den primære retningslinjen som Unicode Consortium-medlemmene bruker for å avgjøre om noen foreslår tillegg ion til Unicode er et tegn og dermed verdt å inkludere, eller et tegn og bør håndteres av fontgjengivere.
Jeg nevner dette fordi forvirringen du opplevde ovenfor skyldtes det faktum at det finnes flere ligatur tegn (ikke tegn ) i Unicode.For eksempel er U+FB01
tegnet for ligaturen: http://unicode.org/charts/PDF/UFB00.pdf
Å ha ligaturtegn i Unicode er ikke egentlig i ånden av definisjonen ovenfor for hva slags ting som skal inkluderes i Unicode-standarden som tegn, siden ligaturer ikke har en betydning uavhengig av sammensetningen av to andre karakterer. Unicode-folket er naturlig klar over dette, og Unicode FAQ om ligaturer innrømmer like mye:
De eksisterende ligaturene eksisterer i utgangspunktet for kompatibilitet og rundetrykking med ikke-Unicode tegnsett. Bruken av dem frarådes.
Eksistensen av denne karakteren er til syvende og sist kilden til din forvirring.
I riktig implementert programvare kopieres kopiering. tekst bør alltid kopiere tegnene som ble spesifisert, ikke tegnene , og det er nøyaktig hva som skjer i de tre eksemplene dine.
1) I det første eksemplet skrev du f
og i
i Illustrator, som ga en enkelt ligatur glyph . Når du valgte og kopierte det gjengitte tegnet, kopierte Illustrator korrekt f
(U+0066
) og i
(U+0069
) tegn på utklippstavlen.
2) I det andre eksemplet skrev du HTML-koden for ligaturen karakter (fi
) i inntastingsboksen, og fikk riktig ligaturen glyph som representerer ligaturen karakteren (. Siden den underliggende karakteren faktisk er den uklare og relativt meningsløse ligaturkarakteren jeg nevnte ovenfor, valgte at glyph vil kopiere et enkelt tegn U+FB01
.
3) I det tredje eksemplet kopierer du den gjengitte ligaturen character U+FB01
som ble gjengitt i del 2, som alltid vil lime inn som det tegnet. Din viktigste forvirring ser ut til å være angående forskjellen mellom HTML-enhetskoder og tegn, spesielt med hensyn til hvordan de blir gjengitt i og utenfor kodeblokker.
HTML-enhetskoden fi
er en streng med åtte forskjellige tegn. HTML-gjengiveren i nettleseren din erstatter de 8 tegnene U+0026 U+0023 U+0036 U+0032 U+0035 U+0037 U+0023
med enkelt Unicode-tegnet U+FB01
, som det deretter gjengir passende. <code>
-koden i HTML deaktiverer imidlertid denne oppførselen og lar de 8 tegnene være som de er.
Når du kopierer av gjengitt HTML, kopierer du den gjengitte tegn (som er forskjellige fra de gjengitte tegnene ). Når du kopierer den gjengitte HTML-enheten, kopieres altså U+FB01
-tegnet til utklippstavlen.
Når du limer inn fi
U+FB01
tegn tilbake i HTML, ingen erstatning trenger å finne sted, noe som betyr at tegnet blir gjengitt som en ligatur, uavhengig av om det faller innenfor en <code>
blokk.
Svar
Tegn er det som er lagret i tekstfiler, behandlet av applikasjoner, og flyttet rundt, mens tegn er deres visuelle fremstilling.
For å få et klart bilde, kan vi se hva som skjer når et program prøver å gjengi en tekststreng på skjermen (på en litt forenklet måte):
- Programmet leste først tekststrengen, at den var strengen av tegn som er lagret på disken eller i minnet.
- Den vil deretter sende den til en tekstlayoutmotor, blant noen andre egenskaper som ønsket skrift, tekstspråk og så videre:
- T Tekstoppsettmotoren åpner i utgangspunktet skriftfilen, ber den om tegnene som tilsvarer hvert tegn, og gjør noen substitutt for tegn (som å erstatte tegnet for
f
ogi
med ligaturtegnen tilfi
) og posisjonering (som kerning). - På slutten har layoutmotoren en sekvens av tegn, deres posisjoner i forhold til hverandre, og en kartlegging mellom inndata og utdatategn. Tegnet til glyfkartlegging er slik at det vet at de to første tegnene i ordet
file
tilsvarer to de første glyphene (fi
ligaturen ), det tredje tegnet til det andre tegnet og det 4. tegnet til det tredje tegnet.
- T Tekstoppsettmotoren åpner i utgangspunktet skriftfilen, ber den om tegnene som tilsvarer hvert tegn, og gjør noen substitutt for tegn (som å erstatte tegnet for
- Et grafikkgjengivelsesbibliotek brukes deretter til å «tegne» disse tegnene på skjermen ved å bruke former fra skrifttypen.
- Når brukeren velger «tegn» på skjermen, vil applikasjonen konsultere teksten til tekstkartlegging levert av layoutmotoren for å finne hvilken del av inngangsteksten som tilsvarer det brukeren velger og sender teksten til utklippstavlen når brukeren kopierer den.
- Det samme skjer når brukeren setter inn markøren midt i teksten og begynner å skrive, kartleggingen bestemmer hvor i inngangsteksten de nye tegnene skal settes inn, og oppdateringsteksten sendes til layoutmotoren til prosess og tegnet på nytt og så videre.