V březnu loňského roku přestal být Redis svobodný. Společnost Redis Labs jej přelicencovala z licence BSD na nesvobodné licence Redis Source Available License (RSALv2) a Server Side Public License (SSPLv1). Hned o pár dní později vznikly svobodné forky Redisu s názvy Valkey a Redict. Dnes bylo oznámeno, že Redis je opět svobodný. S nejnovější verzí 8 je k dispozici také pod licencí AGPLv3.
Oficiální ceny Raspberry Pi Compute Modulů 4 klesly o 5 dolarů (4 GB varianty), respektive o 10 dolarů (8 GB varianty).
Byla vydána beta verze openSUSE Leap 16. Ve výchozím nastavení s novým instalátorem Agama.
Devadesátková hra Brány Skeldalu prošla portací a je dostupná na platformě Steam. Vyšel i parádní blog autora o portaci na moderní systémy a platformy včetně Linuxu.
Lidi dělají divné věci. Například spouští Linux v Excelu. Využít je emulátor RISC-V mini-rv32ima sestavený jako knihovna DLL, která je volaná z makra VBA (Visual Basic for Applications).
Revolut nabídne neomezený mobilní tarif za 12,50 eur (312 Kč). Aktuálně startuje ve Velké Británii a Německu.
Společnost Amazon miliardáře Jeffa Bezose vypustila na oběžnou dráhu první várku družic svého projektu Kuiper, který má z vesmíru poskytovat vysokorychlostní internetové připojení po celém světě a snažit se konkurovat nyní dominantnímu Starlinku nejbohatšího muže planety Elona Muska.
Poslední aktualizací začal model GPT-4o uživatelům příliš podlézat. OpenAI jej tak vrátila k předchozí verzi.
Google Chrome 136 byl prohlášen za stabilní. Nejnovější stabilní verze 136.0.7103.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 8 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Homebrew (Wikipedie), správce balíčků pro macOS a od verze 2.0.0 také pro Linux, byl vydán ve verzi 4.5.0. Na stránce Homebrew Formulae lze procházet seznamem balíčků. K dispozici jsou také různé statistiky.
Lidé v DTP rozlišovali počítače poněkud zjednodušeně na Mac a PC a na obou těchto platformách byla implementace fontů Type1 naprosto odlišná. To společně s faktem, že metriky a obtahy byly ve zvláštních souborech, nebylo příliš praktické. A tak na počátku milénia začali v Microsoftu pracovat na následníkovi formátu TrueType a jejich rival Adobe se k nim překvapivě přidal a vznikl formát OpenType. Metrika i obtahy jsou ve společném souboru a formát je nezávislý na platformě. V Linuxu máme možnost tyto fonty použít např. v implementaci X Window systému X.org, taky díky knihovnám pango, freetype, Qt a dalším a můžeme je použít pochopitelně v XeTeXu nebo v LuaTeXu.
V klasickém TeXu potřebujeme mít zvlášť metriku fontu. S obtahy znaků pracuje až ovladač DVI. V TeXu píšeme:
\font\prepinac=<metrika> % <metrika> se uvádí bez přípony .tfm nebo: \font\prepinac=<metrika> at<velikost> nebo: \font\prepinac=<metrika> scaled<poměr zvětšení> například: \font\fa=pzcmi8z at12.3pt % font ve velikosti 12,3 bodů nebo: \font\fb=pzcmi8z scaled1380 % základní velikost 10 bodů násobená 1,38 V textu se pak přepínač fontu použije přirozeně například {\fa takto}.
V uvedené ukázce je použit font Zapf Chancery, ale to by poznal jen
specialista na TeXové fonty, protože z názvu metriky
pzcmi8z
to nelze snadno poznat. Tyto zkrácené názvy metrik
(motivované tím, že názvy souborů kvůli přenositelnosti na stařičkých
systémech musejí být omezeny na 8+3) jsem vždy považoval za velkou nevýhodu
v koncepci TeXového přístupu k fontům. Nevýhodu násobenou ještě
skutečností, že TeX pochopitelně neposkytuje interaktivní nabídku dostupných
fontů. Vytvořil jsem tedy někdy před deseti lety makro
OFS, které dokáže generovat
vzorníčky fontů, vypisuje na terminál a do logu přehledy fontů
a umožňuje používat přirozené názvy. Při dnešním použití XeTeXu nebo
LuaTeXu už toto makro pozbývá smyslu: je možné přímo používat skutečné názvy
fontů a vzorníček ve formě interaktivní nabídky instalovaných fontů
v systému obstará jiný program.
LaTeXoví uživatelé ani v době před XeTeXem neměli potřebu se zabývat
nečitelnými názvy metrik dostupných fontů.
To řeší použitý styl.
Uživatel se typicky s primitivním příkazem \font
nesetká.
Místo toho pracuje s předdefinovanými přepínači
\textbf
, \textit
, atd.
Může ale
použít doplňkové styly, které zavádějí kompletní rodinu fontů dle názvu,
například \usepackage{times}
.
Při nástupu verze 2e (na
začátku 90. let) se stalo součástí LaTeXu Mittelbachovo makro
NFSS (new font selection
scheme), které vybírá fonty prostřednictvím tzv. fd
souborů.
V nich je implementováno propojení mezi zkratkami jednotlivých metrik
a novými, podobně nesrozumitelnými, zkratkami použitými uvnitř LaTeXu.
Uživatel nebo programátor stylu pak vybíral font pomocí maker NFSS. LaTeX
navíc pomocí maker převzal do svých rukou i přepínání mezi kódováním
fontů a veškerý text prostřednictvím aktivních znaků převáděl do
interní na kódování nezávislé reprezentace
LICR (LaTeX
internal character representation) a ta byla expandována do kódování
použitého fontu.
Pro LaTeX je tedy přechod na XeTeX nebo LuaTeX jednoznačným vysvobozením z této složitosti. Není nutné žádné LICR. Pro výběr fontů je v tomto novém prostředí připraven balíček fontspec.
XeTeX je prolinkován s fontovou knihovnou operačního systému
(v Linuxu fontconfig
) a dokáže také najít dle názvu souboru
OpenType fonty v TeXové distribuci nebo v aktuálním adresáři.
XeTeX z toho důvodu rozšiřuje možnosti příkazu \font
takto:
\font\prepinac="Jméno Fontu:<fontfeatures>" <at nebo scaled jako v klasickém TeXu> nebo: \font\prepinac="[jméno-otf-souboru]:<fontfeatures>" <at nebo scaled>
XeTeX dokáže najít podle jména fontu jen font instalovaný v systému. Dokáže pracovat jednak s plným názvem (obvykle s mezerami) i s kondenzovaným PostScriptovým názvem (bez mezer). Ukázka bude za chvíli následovat.
Nepovinné parametry <fontfeatures>
specifikují
dodatečné parametry fontu a pohovoříme o tom za chvíli. Za názvem
fontu (při hledání podle názvu) a před dvojtečku je možné navíc umístit
přepínače /B
, /I
, nebo /BI
, což
způsobí zavedení fontu stejné rodiny, ale ve variantě Bold, Italic nebo
BoldItalic. Druhá možnost, jak k fontu přistoupit, je použít jeho plný
název nebo název souboru.
LuaTeX rozšiřuje příkaz \font
stejně jako XeTeX, ovšem toto
rozšíření je dostupné až po spuštění inicializačního luakódu. To lze udělat
například pomocí \input luafonts
nebo \input
luaoftload.sty
. Obě makra dělají z hlediska fontů to samé. První
z nich (moje makro) zavede jen potřebný luakód, zatímco druhé makro
řeší ještě plno dalších věcí, které s fonty zcela nesouvisejí,
a je tedy obtížné zjistit, co to všechno dělá.
LuaTeX nabízí další syntaktické možnosti parametru příkazu
\font
: prefix name
nebo file
a obklopení názvu fontu namísto uvozovek závorkami
{
, }
. Mně se vyplatilo používat výhradně XeTeXový
způsob zápisu, kterému LuaTeX taky rozumí. Toho se budu držet
i v následujících ukázkách.
Pro další ukázky možností OpenType fontů je v tomto článku použit font
LinuxLibertine.
Z uvedené stránky je možné stáhnout fonty v souborech *.otf
.
Dále se nabízí několik možností: fonty necháte jen v aktuálním adresáři
(a budete je vyhledávat jen pomocí jména souboru), nebo je instalujete do
systému, nebo je instalujete mezi TeXové fonty. Také je můžete konvertovat do
Type1 pro použití v klasickém TeXu.
Varianta instalace fontu do sytému: Soubory *.otf
umístěte
někam do /usr/share/fonts/
. Pak pomocí příkazu
fc-cache
(spuštěným pod právy roota) obnovte databázi
instalovaných fontů. Pomocí příkazu fc-list
se můžete
přesvědčit, že font je instalován.
Varianta instalace do TeXového adresáře: Soubory *.otf
umístěte někam do .../texmf-local/fonts/opentype/
. Pak pomocí
příkazu texhash
(spuštěným pod právy roota) obnovte databázi
názvů prohledávaných souborů.
Varianta převodu OpenType fontu do Type1 a jeho instalace do
TeXového adresáře: Tato možnost je popsána v dodatku F knížky TeX pro pragmatiky a umožní
OpenType font použít i pdfTeXem nebo klasickým TeXem. O rozšířené
možnosti OpenType fontů přitom nepřicházíme, neboť pro každou generovanou
metriku nastavujeme příslušný Encoding vektor a sadu
<fontfeatures>
. Takových metrik (navázaných na stejný
Type1 font) můžeme vygenerovat libovolně mnoho.
Pomocí příkazu otfinfo -i soubor.otf
je možné se podívat na
základní parametry OpenType fontu (jeho plný název, komprimovaný
PostScriptový název atd.). Je možné použít další přepínače příkazu
a zjistit o fontu více informací. Můžete si to vyzkoušet.
Vyzkoušejte vytvořit následující soubor:
% zavedení Lua-kódu pro LuaTeX. Při použití XeTeXu neuděláme nic: \ifx\directlua\undefined \else \input luafonts \fi \baselineskip=14pt % řádkování \font\f="Linux Libertine O Italic" at12pt \f Tady je textík ve vybraném fontu. \font\f="Linux Libertine O/I" at12pt \f Zavede se stejný font. \font\f="LinLibertineOI" at12pt \f Zavedený stejný font podle komprimovaného PostScriptového názvu. \font\f="[LinLibertine_RI]" at12pt \f Font zavedený podle názvu souboru. Znovu stejný font. \end
Tento soubor zpracujte příkazem xetex soubor
nebo
luatex soubor
. V obou případech byste měli dostat stejný
výsledek, pokud je font nainstalován v systému. Je-li font instalován
jen v TeXovém adresáři, pak vyhledávání podle názvu fontu bude fungovat
jen v LuaTeXu. Ten si automaticky obnovuje svou vlastní font-cache,
kdykoli zjistí, že nemůže najít font. Tato font-cache se generuje jednak
podle font-cache v systému a jednak podle souborů instalovaných
v TeXovém adresáři.
OpenType fonty umožňují natavit tzv. „fontfeatures“ (slovo „fontfeature“ nebudu překládat, bude mít ženský rod a zkratku FF). Typické využití FF je znázorněno ve fontu Linux Libertine na této www stránce. FF lze rozdělit do tří skupin:
smcp
). Do této kategorie patří taky
výměna číslic za jinou sadu číslic (tnum
tabulkové, pnum
proporcionální, onum
medievalové). Fonty taky mohou být vybaveny
zmenšenými číslicemi a dalšími znaky posunutými nahoru (sups
)
nebo dolů (sinf
).liga
(ligatury fi, fl, atd.).
Dále se mohou nabízet rozšířené ligatury aktivované pomocí FF hlig
(historické ligatury jako ct), a dlig
(ligatury typu tz).
Do této skupiny lze zahrnout i proměnu zlomků (1/2, 1/4) na speciální
glyph, je-li k dispozici. K tomu slouží FF frac
.kern
. Tato FF by měla být
implicitně zapnutá. Mezi kerning patří i možnost vystrčit znaky, které se
objeví na okraji sloupce sazby, do strany (lfbd
vlevo, rtbd
vpravo).
Povšimněte si, že FF se oddělují středníky, zapínají se (nepovinným) prefixem
+
a vypínají prefixem -
:
% Zavedení Lua-kódu pro LuaTeX. Při použití XeTeXu neuděláme nic: \ifx\directlua\undefined \else \input luafonts \fi \catcode‘-=11 % znak - může být součástí řídicí sekvence \baselineskip=14pt % řádkování % Základní font: \def\basefont{Linux Libertine O} \def\atsize{at12pt} \font\f="\basefont" \atsize % Zkouška fontfeatures: \font\f-caps = "\basefont:+smcp" \atsize \font\f-nolig = "\basefont:-liga" \atsize \font\f-hligs = "\basefont:+hlig;+dlig" \atsize \font\f-alt = "\basefont:+hlig;+dlig;+salt" \atsize \font\f-frac = "\basefont:+frac" \atsize \font\f-sup = "\basefont:+sups" \atsize \font\f-sub = "\basefont:+sinf" \atsize \font\f-odig = "\basefont:+pnum;+onum" \atsize \f Tady je text ve fontu \basefont. {\f-caps Zde jsou malé kapitálky}. Vidíme, že font má zapnuty ligatury fi, fl. {\f-nolig Nyní jsou vypnuty: fi, fl}. Historické ligatury st, tz, jsou vypnuty a nyní {\f-hligs jsou zapnuty ct, st, tz}. Místo některých znaků je možné použít alternativy: {\f-alt Y\&Y} namísto Y\&Y. Zlomky vypadají takto: 1/2, 3/5 a vytuněné zlomky vypadají jinak {\f-frac 1/2, 3/5, 1234/5678}. Čísla 01234 normální pro tabulky a medievalové {\f-odig 1234567890}. Dolní indexy: {\f-sub 123a4bc5}, horní indexy{\f-sup x}. CH{\f-sub3}CH{\f-sub2}OH. \end
Po zpracování ukázky XeTeXem nebo LuaTeXem byste měli dostat takový výsledek.
Každý font může disponovat jinými FF, které jsou navíc seskupené do tzv.
skriptů nebo jazykových skriptů s různými implicitními hodnotami. Je
obtížné jednoduše zjistit, co je v obdrženém fontu dosažitelné
a co je nastaveno jako implicitní. K fontu by tedy měla být
přístupná dokumentace. Zavoláte-li FF, která ve fontu neexistuje, neprojeví
se a žádného varování ani chyby se nedočkáte. Seznam FF včetně jejich podrobné
specifikace je na
této
stránce, ale písmolijny si mohou vymýšlet další a naopak zde
uvedené nemusejí podporovat. Seznam FF podporovaných v daném fontu
lze vypsat pomocí otfinfo -f soubor.otf
.
Font loader může podporovat na fontu nezávislé další FF. Například LuaTeX
nabízí FF tlig
, což aktivuje TeXovské ligatury --
,
---
atd. XeTeX má pro stejný účel FF ve tvaru přiřazení:
mapping=tex-text
.
Další „jakoby FF“ může nabízet makro pro volbu fontů. V dokumentaci k balíčku fontspec je například uvedena FF pro barvu a průsvitnost fontu, FF pro velikost fontu atd. To vše je řešeno na úrovni makra.
Nástroje: Tisk bez diskuse
Tiskni
Sdílej:
catcode
, ... je tam použit "‘" a mělo by být "`".
polyglossia
a babel
. nemusíte zachazet do detailu jen staci v hrubých rysech, nebo klidně mě i odkázat na stránku konkrétní knihy v češtině, kde je toto rozvedeno.
Děkuji.
polyglossia
podporuje více jazyků než babel
(zejména se jedná o jazyky nepsané latinkou včetně jazyků psaných zprava doleva) a používá fontspec
pro natahování fontů pro specifický jazyk. Z hlediska funkčnosti (aspoň v češtině) jsem si žádného rozdílu nevšiml, ale používám jen základní věci.