GNU Unifont - GNU Unifont

GNU Unifont
Název Unifont ve vlastním řezu písma.png
Kategorie Unicode , Bitmap , Bezpatkové
Klasifikace Duospace
Návrhář (s) Roman Czyborra, Paul Hardy
Datum vytvoření 1998
Glyfy 2,096,578
Licence Zdrojový kód: GPL-2.0 nebo novější
Font: GPL-2.0 nebo novější s Font-exception-2.0
Manual: GFDL-1.3-or-later
Ukázka Unifont v13.0.06.png
Vzorek
Zobrazeno zde 13.0.06
Zobrazit všechny postavy
webová stránka unifoundry .com / unifont / index .html
savana .gnu .org / projects / unifont
Nejnovější verze 13.0.06 Upravte to na Wikidata
Poslední datum vydání 13. února 2021 ; před 5 měsíci ( 13. února 2021 )

GNU Unifont je bezplatné bitmapové písmo Unicode využívající přechodný bitmapový formát písma vytvořený Romanem Czyborrou. Hlavní Unifont pokrývá všechny základní vícejazyčné roviny (BMP). „Horní“ společník pokrývá významné části doplňkové vícejazyčné roviny (SMP). Společník „Unifont JP“ obsahuje japonské kanji přítomné ve znakové sadě JIS X 0213 .

Je přítomen ve většině bezplatných operačních systémů a okenních systémů, jako je Linux , XFree86 nebo X.Org Server a v některých integrovaných firmwarech, jako je RockBox . Zdrojový kód je vydáván pod licencí GPL-2.0 nebo novější . Písmo je vydáváno pod licencí GPL-2.0 nebo novější s Font-exception-2.0 (vložení písma do dokumentu nevyžaduje, aby byl dokument umístěn pod stejnou licenci). Příručka je vydána pod licencí GFDL-1.3 nebo novější .

V říjnu 2013 se stal balíčkem GNU. Současným správcem je Paul Hardy.

Postavení

Unicode Basic Multilingual Plane pokrývá 2 16 (65536) body kódu. Z tohoto počtu je 2 048 vyhrazeno pro speciální použití jako náhradní páry UTF-16 a 6 400 je vyhrazeno pro soukromé použití . To ponechává 57 088 kódových bodů, ke kterým lze přiřadit glyfy. Některé z těchto kódových bodů jsou speciální hodnoty, které nemají přiřazený glyf, ale většina má přiřazené glyfy.

Od května 2019 má GNU Unifont úplné pokrytí základní vícejazyčné roviny definované v Unicode 12.1.0. Jeho doprovodná písma, Unifont Upper a Unifont CSUR, mají významné pokrytí Supplementary Multilingual Plane a ConScript Unicode Registry .

Pro verzi 12.1.02 byl vydán Unifont JP, který pokrývá 10 000 japonských kanji přítomných ve znakové sadě JIS X 0213 , z nichž některé jsou v doplňkové ideografické rovině . Je odvozen od Jiskan16, písma veřejné domény.

Skripty, které jsou hotové na méně než 100%, může každý přispěvatel rozšířit.

Velký blok asi 20.000 CJK ideographs byl zkopírován z WenQuanYi ‚s Unibit písmo s oprávněním.

Navzdory svému pokrytí však Unifont ukládá pouze jeden glyf na tisknutelný kódový bod Unicode. Z tohoto důvodu neobsahuje funkce OpenType potřebné k správnému vykreslení skriptů s komplexním rozvržením a správnému umístění kombinujících diakritiky se základními písmeny, pokud tyto kombinace nejsou kódované v Unicode v jejich předkombinované podobě; také se nezpracovávají kontextové formy (včetně typů spojování a seskupených entit). Tím se zvyšuje počet glyfů, které se mají zahrnout do základního písma, a v současné době není možné (z důvodu současných omezení OpenType) zakódovat všechny potřebné glyfy, aby představovaly všechny požadované kombinace, které mohou existovat v jedné rovině Unicode (to platí také pro Čínská písma, která nemohou pokrýt úplně všechny ideogramy aktuálně zakódované ve dvou rovinách a také ve třetí rovině). Unifont lze poté použít pouze jako výchozí písmo „poslední instance“, vhodné pro jednoduché abecední skripty nebo k vykreslení izolovaných znaků, ale znesnadní nebo někdy znemožní správné čtení skutečných textů. Pro správné vykreslení indických abugidas (a semitských abjadů, pokud jsou psány s jejich volitelnou kombinující diakritikou), by měla být v těchto seznamech stylů před tímto uvedena jiná písma a budou potřeba další písma, aby bylo možné zakrýt ideografy Han zakódované v doplňkových rovinách nebo vykreslit většinu historické (nebo menšinové moderní) skripty nekódované v BMP .

Rozdělení

Unifont je od verze 12.0.0 k dispozici ve vektorových formátech TTF , BDF a PCF pro „standardní sestavení“. Pouze sestava TrueType je rozdělena na Unifont a dvě doprovodná písma.

Několik „specializovaných verzí“ bylo vytvořeno na vyžádání a zpřístupněno Paulem Hardym. Patří mezi ně bitmapový TTF (SBIT) s prázdnými glyfy vyplněnými hodnotami kódových bodů, které mají uživatelé FontForge číst, bitmapa PSF s glyfy pro programátory APL a verze pro jeden soubor ve formátu Romana .hex (viz níže). Skutečná organizace zdroje se skládá z menších souborů .hex, které mají být spojeny dohromady a převedeny do jiných formátů v sestavě.

Vektorizace

Luis Alejandro González Miranda napsal skripty k vektorizaci a převodu písma BDF do formátu TrueType pomocí FontForge . Paul Hardy upravil tyto skripty tak, aby zvládly kombinování znaků (akcenty atd.) Pro nejnovější verze TrueType.

formát hex

Formát GNU Unifont .hex definuje své glyfy jako 8 nebo 16 pixelů na šířku a 16 pixelů na výšku. Většina západních glyfů lze definovat šířku 8 pixelů, zatímco ostatní glyfy (zejména čínsko-japonská-korejská nebo CJK) jsou obvykle definovány jako 16 pixelů.

Soubor unifont.hex obsahuje jeden řádek pro každý glyf. Každý řádek se skládá ze čtyřmístného hexadecimálního kódu Unicode, dvojtečky a bitmapového řetězce. Bitový řetězec je 32 hexadecimálních číslic pro glyf s šířkou 8 pixelů nebo 64 hexadecimálních číslic pro glyf s šířkou 16 pixelů. Cílem je vytvořit přechodný formát, který by usnadňoval přidávání nových glyfů.

1Bit v bitovém řetězci odpovídá ‚na‘ pixel. Bity pixelu jsou uloženy shora dolů, zleva doprava.

Příklad

Toto je ukázkové písmo obsahující jeden glyf pro ASCII velké písmeno „A“.

0041:0000000018242442427E424242420000

První číslo je hexadecimální kódový bod Unicode s rozsahem 0000 až FFFF. Hexadecimal 0041 is decimal 65, the code point for the letter 'A'. Dvojtečka odděluje bod kódu od bitmapy. V tomto příkladu je glyf široký 8 pixelů, takže bitový řetězec je dlouhý 32 hexadecimálních číslic.

Bitový řetězec začíná 8 nulami, takže horní 4 řádky budou prázdné (2 hexadecimální číslice na 8 bitový bajt, 8 bitů na řádek pro 8 pixelů široký piktogram). Řetězec bitů také končí 4 nulami, takže spodní 2 řádky budou prázdné. Z toho je implicitní, že výchozí descender písma je 2 řádky pod účaří a výška kapitálu je 10 řádků nad účaří. To je případ GNU Unifont s latinskými glyfy.

Postupem času bylo vytvořeno několik způsobů zpracování formátu. Nejstarším způsobem je hexdrawskript Perl, který převádí řetězec na uměleckou reprezentaci ASCII, kterou lze upravit v textovém editoru. Další metoda zahrnuje generování rastrového rastru obrazu pro celou řadu bodů kódu a práci s editorem obrázků. V obou případech jsou upravené glyfy později převedeny zpět do souborů hex pro uložení.

Dějiny

Roman Czyborra vytvořil formát Unifont v roce 1998 po dřívějších snahách z roku 1994.

V roce 2008 napsal Luis Alejandro González Miranda program pro převod Unifontu na písmo TrueType. Paul Hardy to později upravil, aby podporoval kombinování znaků ve verzi TrueType.

Později Richard Stallman v říjnu 2013 publikoval Unifont jako balíček GNU a jeho správcem byl Paul Hardy.

Reference

  • Konsorcium Unicode: Standard Unicode 5.0 . 5., Addison Wesley 2007; ISBN  0-321-48091-0 .

externí odkazy