Post by Wojciech MyszkaIlekroć czytam takie rzeczy, to coś mi się w środku robi. [...]
Jaka magia? Od lat nie ma problemu z uprzystępnianiem fontów TeXowi.
Wszystko jest logiczne, klarowne, łatwe do zautomatyzowania.
Ilekroć czytam Pana Jarosława Sokołowskiego (a czytam
praktycznie wszystko co spłynie z jego klawiatury na tej grupie)
to czuję się strasznie malutki i głupiutki (mimo, że w te klocki
bawię się ze dwadzieścia lat). Dziękuję za skrypt! Chyba jednak
zainstaluję FontForge.
A ja bardzo dziękuję za te miłe słowa. Wdzięczny będę również za recenzję
z działania skryptu. Ja już go tu kiedyś raz publikowałem. I to w wersji
niedoskonałej, to znaczy takiej, która instaluje font jak leci, z takimi
ligaturami, jakie on ma w środku. Nie wszystkie ogólnodostępne fonty
mają (a właściwie prawie nigdy nie mają) opisaną ligaturę zamieniającą
dwie kreski w myślnik. Więc w tak zainstalowanych fontach, jeśli nie
były wcześniej edytowane, napisanie "--" nie przynosiło oczekiwanych
skutków ("ff" i "fi" zwykle jest opisane, więc działało). Czekałem, że
ktoś mnie obsobaczy za wklejanie tutaj jakiegoś barachła, ale nic takiego
nie nastąpiło. Uznałem, że nikt nie ma potrzeby instalowania dodatkowych
fontów do TeXa, więc i moje skrypty nawet psu na budę się nie zdadzą.
W każdym razie dołączenie do instalowanego fontu informacji z pliku
"ligatures.tfm" problem ten rozwiązuje. Tak teraz skrypt postępuje.
Namawiałem też kiedyś do używania FontForge w wersji patchowanej przeze
mnie (w kodzie źródłowym). Taka zaszłość historyczna, kiedyś tak było
trzeba. Zamieszczony wczoraj skrypt zamiast patchowanego programu
używa pliku "/usr/local/share/fontforge/Encodings.ps" -- jego nie ma
w standardzie, a ja zapomniałem go dołączyć. Niby można go samemu
wykombinować, ale jak ktoś nie ma pod ręką magicznej pałeczki, może go
sobie wkleić stąd:
/TeX-Extended-T1 [
/grave /acute /circumflex /tilde /dieresis /hungarumlaut
/ring /caron /breve /macron /dotaccent /cedilla /ogonek
/quotesinglbase /guilsinglleft /guilsinglright /quotedblleft
/quotedblright /quotedblbase /guillemotleft /guillemotright
/endash /emdash /Euro /perthousand /dotlessi /dotlessj /ff
/fi /fl /ffi /ffl /visiblespace /exclam /quotedbl /numbersign
/dollar /percent /ampersand /quoteright /parenleft /parenright
/asterisk /plus /comma /hyphen /period /slash /zero /one
/two /three /four /five /six /seven /eight /nine /colon
/semicolon /less /equal /greater /question /at /A /B /C
/D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R
/S /T /U /V /W /X /Y /Z /bracketleft /backslash
/bracketright /asciicircum /underscore /quoteleft /a /b /c
/d /e /f /g /h /i /j /k /l /m /n /o /p /q /r
/s /t /u /v /w /x /y /z /braceleft /bar /braceright
/asciitilde /hyphen /Abreve /Aogonek /Cacute /Ccaron /Dcaron
/Ecaron /Eogonek /Gbreve /Lacute /Lcaron /Lslash /Nacute
/Ncaron /Ng /Ohungarumlaut /Racute /Rcaron /Sacute /Scaron
/Scedilla /Tcaron /Tcommaaccent /Uhungarumlaut /Uring
/Ydieresis /Zacute /Zcaron /Zdotaccent /IJ /Idotaccent
/dcroat /section /abreve /aogonek /cacute /ccaron /dcaron
/ecaron /eogonek /gbreve /lacute /lcaron /lslash /nacute
/ncaron /ng /ohungarumlaut /racute /rcaron /sacute /scaron
/scedilla /tcaron /tcommaaccent /uhungarumlaut /uring
/ycircumflex /zacute /zcaron /zdotaccent /ij /exclamdown
/questiondown /sterling /Agrave /agrave /Acircumflex /Atilde
/Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex
/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth
/Ntilde /Ograve /Oacute /Ocircumflex /Otilde /Odieresis /OE
/Oslash /Ugrave /Uacute /Ucircumflex /Udieresis /Yacute
/Thorn /germandbls /Aacute /aacute /acircumflex /atilde
/adieresis /aring /ae /ccedilla /egrave /eacute /ecircumflex
/edieresis /igrave /iacute /icircumflex /idieresis /eth
/ntilde /ograve /oacute /ocircumflex /otilde /odieresis /oe
/oslash /ugrave /uacute /ucircumflex /udieresis /yacute
/thorn /ydieresis
] def
Przy okazji zachęcam do używania samego FontForge. To się naprawdę
zrobił bardzo dobry program. I użyteczny. Potrafi na przykład sam
budować akcentowane glify. Jeśli font zawiera tylko łacińskie litery
(lub niepełny, np. tylko zachodni zestaw diakrytyków) i osobne akcenty,
to wystarczy zaznaczyć puste miejsca gdzie powinny być pliterki
i wybrać z menu "Elements >> Build >> Build Accented Glyph" (albo
"Build Composite Glyph" i już mamy pełny zestaw. Najwyżej trzeba
ręcznie trochę poprzesuwać ogonki (kreseczki i kropki powinny wyjść
dobrze). Perfekcjoniści mogą jeszcze scalić ścieżki w literach
z ogonkami w jedną. Nie trzeba być dyplomowanym fontologiem, by tym
sposobem w niecały kwadrans oswoić jakiś wyjęty za friko z internetu
font robiony przez jakiegoś Amerykanina.
Post by Wojciech MyszkaNatomiast podtrzymam słowa o magii: doprowadzenie do tego, żeby
jeszcze sensownie działały wszystkie polecenia typu \bfseries,
\itshape, \sffamily wymaga dodatkowej sporej wiedzy.
W LaTeXowych plikach aplikujących jakąś rodzinę fontów wszystkie te
rzeczy wyglądają mi na porządnie i po kolei opisane. Chyba na podstawie
jednego przykładu łatwo opisać własną rodzinę. Ale ja to wiem bardziej
z ciekawości niż z doświadczenia i potrzeby. Może są tam jakieś haczyki.
Post by Wojciech MyszkaNie bez powodu powstał pewnie Xe(La)TeX gdzie skorzystanie z
praktycznie dowolnego fontu jest nawet jeszcze łatwiejsze (a jak
się korzysta z fontu profesjonalnego to cyfry nautyczne nie
sprawiają kłopotu i nawet słasze[1]). Ja ostatnio się odważyłem z
XeLaTeXa skorzystać. I nawet nie bolało. Inna sprawa, że za diabła
nie mogłem skonfigurować dwu komputerów (ta sama wersja systemu
operacyjnego, te same(?) pakiety) aby zachowywały się identycznie.
No magia normalnie, magia?!
XeTeX powstał chyba z głębokiej wiary. Wiary w System. Operacyjny.
Założenie było takie, że skoro system może udostępniać fonty aplikacjom,
to trzeba z tego korzystać. Taka jest teoria, a praktyka jest taka,
jak opisano wyżej. O ile jestem w stanie podjąć się wytłumaczenia komuś
jak TeX używa fontów, to wgryzanie się w zawiłości fontów systemowych
jest ponad moje siły. Tak, to jest magia.
Serdecznie pozdrawiam
-- Jarek
--
Andrzej Kozak, Mandaryn -- znana postać medialna
Tyci przy nim jest kosmos, gaśnie gwiazda polarna
Jest tu Siwy, który w rękach niebezpieczne ma narzędzie
A kiedy Siwy tańczy -- znaczy mordobicie będzie