🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.dtp.tex
Article #16941

Re: fonty w książce jak to zrobic dobrze.

#16941
From: Jarosław Sokołowski
Date: Sat, 09 Apr 2011 22:41
95 lines
5718 bytes
Pan Wojtek Myszka napisał:

> Pytanie ile takich zestawów fontów przygotowanych specjalnie dla
> (La)TeXa jest. No, niezbyt wiele. Bardzo często dla takiego fontu
> będzie specjalnie przygotowany zestaw plików konfiguracyjnych
> z odpowiednim plikiem stylu. Użycie tego stylu przełącza wszystko co
> się da na nowy font. A jak nie ma fontu matematycznego - no to trudno.

Może i trudno. Może. Może nie łatwo, może trochę magicznie, ale nie
beznadziejnie. Zacznijmy od tego, że font matematyczny jest nie jeden,
lecz kilka -- tyle trzeba żeby pomieścić te wszystkie całki i pierwiastki.
Ale z drugiej strony, to co rzuca się w oczy przy niedostosowanym
matematycznie stylu, to cyfry i litery zmiennych. Gdyby je jakoś zgrać
z fontem tekstowym, to w wilu przypadkach by wystarczyło.

Cyfry w oryginalnym TeXu pisane są fontem cmr. W plaine wystarczy
przykryć oryginalne definicje własnymi (tu akurat dla Garamonda):

\font\tenrm=pcgr8t at 10 pt
\font\sevenrm=pcgr8t at 7 pt
\font\fiverm=pcgr8t at 6pt
\textfont0=\tenrm \scriptfont0=\sevenrm \scriptscriptfont0=\fiverm

...i już. Poza cyframi zmieni się jeszcze na przykład plus, znaki
równości i większości, nawiasy, litery w nazwach funkcji "sin",
"cos" itd. Tak jak powinno być.

Z literami zmiennych rzecz jest trochę bardziej skomplikowana.
Gdyby chodziło tylko o nie, to można zrobić analogiczną wymianę
fontu matematycznej kursywy:

\font\teni=pcgri8t at 10pt % math italic
\font\seveni=pcgri8t at 7pt
\font\fivei=pcgri8t at 5pt
\textfont1=\teni \scriptfont1=\seveni \scriptscriptfont1=\fivei

Ale wtedy zniknie nam greka, kropki w trybie matematycznym zamienią
się na dwukropki, a przecinki na średniki. I jeszcze pojawi się parę
niespodzianek. Greka nie zawsze potrzebna, z koropkami i przecinkami
łatwo sobie poradzić. Czasem takie rozwiązanie wystarczy.

Jeśli nie, to można font *pod inną nazwą* instalować skryptem podobnym
do podanego wcześniej, w którym zamiast "TeX-Extended-T1" będzie podany
wektor "TeXMathItalicEncoding" (trzeba go oczywiście dodać do pliku
Encodings.ps). Greki nie będzie nadal, ale będą kropki i przecinki.
(Oczywiście zamiast "pcgri8t" piszemy tę nową nazwę.)

Jak ktoś musi mieć grekę, to może dokleić do źródłowego pliku
w FontForge literki z innego fontu. Albo nie doklejać, tylko
zdefiniować na nowo \alpha, \beta, \gamma... W każdym razie da się
wszystko zrobić w dziesięć minut.

> W ten sposób bardzo łatwo złożyć dokument za pomocą Antykwy
> Toruńskiej, na przykład. Wystarczy napisać
> \usepackage{anttor}
> i już? Podobnie będzie z Antykwą Półtawskiego

A z innymi fontami inaczej? Posługując się przykładem pakietu Antykwy
Toruńskiej można zmajstrować pakiet do innych fontów, zmieniają nazwy
plików.


Przy okazji podzielę się się swoimi uwagami na temat różnicy w podejściach
do tej samej rzeczy. Pakiet Toruński jest dośc okazały. Wcześniej były
pakiety dla Timesa -- najperw 'Quasi', później jakoś inaczej nazwanego.
Ten font powstał z potrzeb TeXowych (do drukowania postscriptem, czyli
Type-1). Ale z czasem autorzy zaczęli się starać dogodzić wszystkim --
teraz jest wersja TrueType do wszystkich systemów operacujnych zawierająca
nawet komplet diakrytyków wietnamskich. A w TeXu używa się tych fontów
ze specjalnymi wektorami przekodowującymi. Zajrzałem przed chwilą do tych
pakietów. Wszystko wygląda dość magicznie.

Kiedyś plików PFB używało się jako fontów systemowych. Musiały mieć one
takie kodowanie, jakiego życzył sobie (często dość przygłupi) system
operacyjny. Dzisiaj systemowe są TrueType i OpenType, a Type-1 pozostały
mi właściwie tylko do TeXa. Kiedyś jak ktoś miał plik PFB, to podchodził
do niego z wielką czcią, bo nie maiał czym zajrzeć mu do środka -- w
środku była Tajemnica. Dzisiaj narzędzia do edycji są powszechnie dostępne. 

Dlatego postanowiłem odstawić na strych wszystkie okołoTeXowe mechanizmy
przekodowań postscriprowych (wszystkie mające początek u Thomasa Rokickiego)
i używać plików PFB odpowiadających 'jeden do jednego' plikom TFM. No i od
razu skończyła się magia, wszystko stało się proste jak drut. Czyli jak
za czasów fontów CM.

Nie twierdzę, że jedno podejście jest lepsze od drugiego. Gdybym miał
strugać font od zera (albo odtwarzać jakić historyczny) to też bym
starał się to zrobić w sposób uniwersalny. Miałbym też zapewne czas
na opisywanie różnych kodowań itp. Ale jak się ma *istniejący* font
systemowy, to sprawdza się metoda partyzancka. Czyli (1) przekoduj na
modłę TeXową, (2) zapisz jako pliki PFB + TFM, (3) dopisz do psfonts.map
w *najprostszej* postaci.

-- 
Jarek
Technical Details
Message-ID: <slrniq1o43.nbc.jaros@falcon.lasek.waw.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
References: <4d9f612d$0$2500$65785112@news.neostrada.pl> <c5a28daf-e942-496d-a5c5-b5454d4a784c@a17g2000yqn.googlegroups.com>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!.POSTED!not-for-mail
From: Jarosław Sokołowski <jaros@lasek.waw.pl>
Newsgroups: pl.comp.dtp.tex
Subject: Re: fonty w książce jak to zrobic dobrze.
Date: Sat, 9 Apr 2011 22:41:07 +0000 (UTC)
Organization: : : :
Lines: 95
Message-ID: <slrniq1o43.nbc.jaros@falcon.lasek.waw.pl>
References: <4d9f612d$0$2500$65785112@news.neostrada.pl> <c5a28daf-e942-496d-a5c5-b5454d4a784c@a17g2000yqn.googlegroups.com>
NNTP-Posting-Host: 213-238-76-142.adsl.inetia.pl
Mime-Version: 1.0
X-Trace: news.onet.pl 1302388867 8377 213.238.76.142 (9 Apr 2011 22:41:07 GMT)
X-Complaints-To: niusy@onet.pl
NNTP-Posting-Date: Sat, 9 Apr 2011 22:41:07 +0000 (UTC)
User-Agent: slrn/0.9.8.1 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit