Jaký je ' praktický rozdíl mezi ' glyph ' a ' znak '?

Viděl jsem tuto otázku k návrhu webu Typografie a ta mě odposlouchávala, že jsem ne „Neznám odpověď. S„ glyfy “a„ znaky “jsem vždy zacházel jako s vyměnitelnými.


Po přečtení vysvětlení v Unicode Stránka Model kódování znaků , chápu to zhruba takto:

  • Znaky jsou definovány jejich významem v jazyce, piktogramy, jejich vzhledem . Ligaturou pro estetické kombinování fi je tedy jeden glyf, ale dva znaky.

Takže moje víra je (prosím, opravte mě, pokud ano) špatně), že praktický rozdíl by byl:

  • Textové analyzátory, které se nezajímají o estetiku textu, budou číst glyfy jako jejich příslušné znaky. Takže:
    • Pokud byste chtěli zkopírovat a vložit text obsahující glyfy do editoru prostého textu, glyfy by byly převedeny na příslušné znaky ( ligaturní glyf by se stal f a i )
    • Jakýkoli dobře vyrobený automatizovaný systém založený na analýze textu (např. prohledávače vyhledávačů, čtečky obrazovky, kontroly pravopisu) by interpretoval glyfy jako své příslušné znaky.
    • Jeden znak může mít mnoho glyfy nebo sady glyfů. Chci říci, že jeden glyf může mít pouze jeden znak, ale toto zjevně není správné, protože existuje příklad propojeného článku o 3 glyfech a sadách glyfů, které podle všeho odpovídají znaku a sadě znaků. Nechápu, jak by to mohlo fungovat: určitě to znamená, že v interpretaci těchto glyfů bude nejednotnost nebo nejednoznačnost, lišící se podle tlumočníka? (Nebo se liší podle jazyka nebo písma?)
    • Zatímco prohlížeče glyfů (např. Ten v Illustratoru) obsahují celou sadu glyfů písma, mapy znaků (např. Mapa znaků Windows) obsahují pouze znaky, nikoli glyfy, které jsou více znaky, jako jsou ligatury (něco, čeho jsem si dříve nevšiml)

Mám pocit, že už jsem skoro tam, ale zjevně jsem něco špatně pochopil: nejen věc „Jeden glyf více znaků“, ale také chování kopírování a vkládání pomocí ligatur není „ to, co jsem očekával:

  • Zkopírujte ligaturu z Illustratoru do tohoto vstupního pole: vloží se podle očekávání fi (dva znaky) .
  • Vložte kód HTML () – zobrazí se jako ligatura, pokud není v bloku kódu (fi – což v tomto písmu nevypadá jako ligatura, ale vy budete see is one if you try to select just half of it), and the code when in a code block (fi), as expect.
  • Copy and paste vykreslená ligatura bez kódu zpět do vstupního pole: vloží se jako ligaturní znak a vykreslí se jako ligatura bez ohledu na to, zda je v bloku kódu nebo ne (a ). Podobně slova, která jej obsahují: fi t mis fi ts (fit misfits) se vloží jako nesprávné chyby (fit misfits). Možná to záleží na tom, zda místo, které je vloženo, rozumí použitému kódování?

Jak daleko je špatné moje chápání toho? Může mi někdo dát za pravdu: uvedení jasného definice rozdílu mezi glyfy a znaky (pokud je moje chyba nebo může být vylepšena), a uveďte jasnější / přesnější příklady než moje, co to znamená v praxi ?

Komentáře

  • Stává se to mnohem komplikovanějším, když máte skripty jako arabština, kde máte kombinující znaky.
  • @MartinSchr ö der +1 Zní to jako úvodní věta vynikající odpovědi … 🙂

Odpověď

Glyfy se vztahují k tomu, jak je text vykreslován, znaky k tomu, jak je interpretován. Když zkopírujete & vložení, zdrojová aplikace obvykle nabízí výběr z několika formátů. Prostý text rozloží fi igaturu na f a i, formát HTML jej může přeložit na char entu, kterou jste uvedli, nebo ji také rozloží na f a i.

Obecně je vztah mezi znaky a glyfy n: m. V indických jazycích se některé znaky dělí na dva glyfy, které jsou umístěny na různých místech slova. V latině by nejbližší situaci bylo vykreslení é jako dvou glyfů (e a ´).V arabštině má každý znak různé glyfy v závislosti na jeho poloze ve slově: počáteční, střední, konečný nebo izolovaný.

Překlad znaků do glyfů je specifický pro každou aplikaci a typografické funkce, které podporuje. U latinského textu byl tento překlad přímočarý, ale písma OpenType představila další funkce, jako jsou ligatury, swashe, alternativní formy, malé velká písmena atd.

Z praktických důvodů se při implementaci aplikace staráte pouze o glyfy. vykreslí text, nebo když navrhujete písmo, nebo když chcete použít funkci OpenType, která nahradí některé glyfy jinými (např. ligatury). Jinak jsou body kódu Unicode vaším přítelem.

Komentáře

  • Dobrý den, user322483, vítejte na GDSE a děkujeme za vaši odpověď. Máte-li jakékoli dotazy, navštivte centrum nápovědy nebo ping na některého z nás v Chatu grafického designu jakmile je vaše pověst dostatečná (20). Stále přispívejte a užívejte si stránky!
  • Píšete “ V arabštině má každá postava různé glyfy podle polohy ve slově: počáteční, střední, konečné nebo izolované . “ < – Nebyly by to ‚ jiné znaky. Angličtina má A a a, ale ve výpočetních hovorech jsou A a a různé postavy. každý glyf je namapován na jiný kód. Hebrejština má chaf a final chaf (písmeno chaf na konci slova vypadá jinak) a jsem si ‚ jistý, že ‚ s označován jako odlišný znak ve výpočetní technice.

Odpověď

Nemyslím si, že rozumíte nesprávně. “ právě vidíme systémy, které se snaží pomoci uživateli vložením toho, co si myslí, že chce. Jelikož některé ligatury („fi“, „fl“) jsou mimo sázecí systémy poměrně běžné, software rozpozná, že uživatel tento glyf pravděpodobně nezadal, ale jejich napsané znaky transformovala spíše jiná aplikace.

Stručně řečeno : Znak odkazuje na jazykovou jednotku. Glyph označuje navrženou instanci této jednotky, ať už jde o velká písmena, malá písmena, malá písmena, historickou nebo stylistickou variantu.

Komentáře

  • Ve výpočtech jsou A a a různé znaky. ASCII má 128 znaků a výraz výrazu tam zahrnuje A a a jako odlišné znaky.
  • Inženýři používají spoustu slov, která

není v souladu s precedenty v jiných průmyslových odvětvích. Váš příklad je dobrý.

  • který přišel s výrazem “ znak “ a “ glyph “ f první? grafici nebo počítačoví inženýři? ‚ d jsem si myslel, že počítače předcházely grafickému designu. Může však existovat tiskařský průmysl, který předcházel grafickému designu a pravděpodobně předcházel počítače v některých ohledech nebo předcházel moderní počítače. Myslím, že i když lidé, kteří by mohli nejlépe odpovědět na to, co je nyní grafický design, je tiskařský průmysl, ale ‚ neexistuje žádný tiskový průmysl stackexchange. Ale ‚ by bylo zajímavé vědět, kdo si od koho půjčil a jakým způsobem se jedná o znak Postava.
  • Typografie přišla dlouho dříve softwarové inženýrství. Pokud provádíte průzkum a hledáte původ, pošlete sem příspěvek. Můj odhad je, že to bude někdy v 17. století. Možná již jako první typografové v polovině 16.
  • Odpověď

    Zde je několik odpovědí které poskytují dobré informace o glyfech a postavách, ale ve skutečnosti neřeší zdroj vašeho zmatku, pokud jde o kopírování a vkládání.

    Za prvé, vaše chápání je v zásadě správné:

    Znaky jsou definovány jejich významem v jazyce, glyfy, jejich vzhledem . Takže ligatura pro estetické kombinování fi je jeden glyf, ale dva znaky.

    Je třeba zdůraznit, že seznam znaků je definován Unicode standard, který vydává konsorcium Unicode, vzhledem k tomu, že „mají oprávnění kódovat text ve strojově čitelném formátu. Výše uvedená definice je v zásadě primární vodítko, které členové konsorcia Unicode používají k určení, zda někteří navrhují nebo ne addit ion to Unicode je znak a proto si zaslouží zahrnutí, nebo glyph a měl by s ním pracovat vykreslovač písem.

    Zmíním to proto, že zmatek které jste zažili výše, bylo způsobeno skutečností, že v Unicode existuje několik ligativních znaků (ne glyfů ).Například U+FB01 je znak pro ligaturu: http://unicode.org/charts/PDF/UFB00.pdf

    Mít ligaturní znaky v Unicode není opravdu v duchu výše uvedené definice toho, jaké druhy věcí by měly být zahrnuty ve standardu Unicode jako znaky, protože ligatury opravdu nemají význam nezávislý na složení dalších dvou postav. Lidé Unicode si to přirozeně uvědomují a Časté dotazy Unicode k ligaturám připouštějí tolik:

    Existující ligatury existují v zásadě pro kompatibilitu a zpětnou vazbu se znakovými sadami, které nejsou Unicode. Jejich použití se nedoporučuje.

    Existence tohoto znaku je nakonec zdrojem vašeho zmatku.

    Ve správně implementovaném softwaru kopírování text by měl vždy kopírovat znaky , které byly zadány, nikoli glyfy , a to je přesně to, co se děje ve vašich třech příkladech.

    1) V prvním příkladu jste do aplikace Illustrator zadali f a i, který vykreslil jeden ligatura glyph . Když jste vybrali a zkopírovali vykreslený glyf, Illustrator správně zkopíroval f (U+0066) a i (U+0069) znaků do vaší schránky.

    2) Ve druhém příkladu jste do vstupního pole zadali kód HTML ligatury znak (&#64257) a správně dostal ligaturu glyph představující ligaturu znak (. Protože podkladový znak je ve skutečnosti nejasný a relativně zbytečný ligaturní znak, který jsem zmínil výše, výběr tento glyf zkopíruje jeden znak U+FB01.

    3) Ve třetím příkladu kopírujete vykreslenou ligaturu znak U+FB01 který byl vykreslen v části 2, která se vždy vloží jako tento znak. Zdá se, že váš hlavní zmatek spočívá v rozdílu mezi kódy entit HTML a znaky, zejména s ohledem na to, jak jsou vykreslovány uvnitř i vně bloků kódu.

    Kód entity HTML &#64257; je řetězec 8 odlišných znaků. Vykreslovač HTML vašeho webového prohlížeče nahradí těchto 8 znaků U+0026 U+0023 U+0036 U+0032 U+0035 U+0037 U+0023 se jednoduchým znakem Unicode U+FB01, který poté vhodně vykreslí. Značka <code> v HTML však toto chování zakáže a ponechá těchto 8 znaků tak, jak jsou.

    Když zkopírujete vykreslený HTML, zkopírujete vykreslený znaky (které se liší od vykreslených glyfů ). Když tedy zkopírujete vykreslenou entitu HTML, zkopíruje se do vaší schránky jeden U+FB01 znak.

    Když vložíte U+FB01 znak zpět do HTML, není třeba provádět žádnou substituci, což znamená, že znak je vykreslen jako ligatura bez ohledu na to, zda spadá do <code> blok.

    Odpověď

    Znaky jsou to, co je uloženo v textových souborech zpracovaných aplikacemi a pohybovat se, zatímco glyfy jsou jejich vizuální reprezentací.

    Chcete-li mít jasný obraz, podívejme se, co se stane, když se aplikace pokusí vykreslit řetězec textu na obrazovce (trochu zjednodušeným způsobem):

    • Aplikace nejprve přečetla textový řetězec, tj. řetězec znaků uložených na disku nebo v paměti.
    • Poté by jej poslala mezi některé další vlastnosti, jako je požadované písmo, jazyk textu atd.:
      • T Nástroj pro rozložení textu v podstatě otevře soubor písma, požádá ho o glyfy odpovídající každému znaku a provede nějakou náhradu glyfů (jako je nahrazení glyfů za f a i s ligaturním glyfem fi) a umístěním (jako kerning).
      • Nakonec má modul rozložení sekvenci glyfy, jejich vzájemné polohy a mapování mezi vstupními znaky a výstupními glyfy. Mapování znaků na glyf je tak, aby vědělo, že první dva znaky ve slově file odpovídají dvěma prvním glyfům (liga fi ), 3. znak pro 2. glyf a 4. znak pro 3. glyf.
    • Knihovna pro vykreslování grafiky se poté použije k „nakreslení“ těchto glyfů na obrazovku pomocí tvary z písma.
    • Když uživatel na obrazovce vybere „glyfy“, aplikace by poté zkontrolovala mapování glyfů na text poskytované modulem rozložení, aby zjistila, která část vstupního textu odpovídá tomu, co uživatel vybere a odešle tento text do schránky, když jej uživatel zkopíruje.
    • Totéž se stane, když uživatel vloží kurzor doprostřed textu a začne psát, mapování určí, kam do vstupního textu vložit nové znaky, a aktualizační text se odešle do modulu rozložení na zpracovat a překreslit atd.

    Napsat komentář

    Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *