Jesteś w: Start / Dokumentacje / Fonty / Kodowanie QX

Kodowanie QX

Wiosną 1998 roku pojawiła się w archiwum GUST-u polonizacja fontu URW Palladio L, pochodzącego z kolekcji fontów URW, dystrybuowanej od jakiegoś czasu z Ghostscriptem. Znaki w spolonizowanym foncie mają kodowanie zgodne z tzw. układem QX. Co to takiego, ten układ QX?

Otóż fonty w postaci elektronicznej przybywają na rynek polski głównie ze Stanów Zjednoczonych i są dostosowane do potrzeb tamtejszego rynku, zarówno jeśli chodzi o zestaw znaków jak i kodowanie znaków. W związku z tym w układzie dystrybuowanych fontów nie znajdują odbicia ani potrzeby Polaków, ani TeX-owców.

Problem ten od paru lat był przedmiotem prac nieformalnej grupy członków GUST-u. W pracach brali udział: Włodek Bzyl, Bogusław Jackowski, Janusz M. Nowacki, Andrzej Odyniec, Piotr Pianowski, Marek Ryćko, Andrzej Tomaszewski, Staszek Wawrykiewicz oraz wielu innych, którzy dobrym lub krytycznym słowem pomagali popychać sprawę do przodu.

Efektem prac jest właśnie układ QX określający dla fontów PostScriptowych-owych zarówno zestaw znaków, jak i tabele kodów do zastosowań okienkowych oraz do zastosowań TeX-owych, gdyż w zamierzeniu układ QX ma zaspokajać potrzeby składu TeXnicznego, z możliwością (ograniczonego) wykorzystywania fontów w środowisku okienkowym.

Założenia

Układ QX nie wziął się ,,z głowy czyli z niczego'' -- przeciwnie, wynikł z przyjętych zasad. Zasady mogą się okazać chybione, to pokaże czas, niemniej jednak najpierw sformułowane zostały zasady, a na ich podstawie konstruowany był układ QX.

Oto najważniejsze z tych zasad:

Ad 1

Oczywiście nie można oczekiwać stuprocentowej zgodności, na przykład niektóre fonty są zaprojektowane bez ligatur związanych z literą  ,,f''. Wydaje się, że brak niektórych znaków jest stosunkowo niegroźny.

Nieprzyjemne konsekwencje może mieć natomiast decyzja zastępowania pewnych znaków innymi. Mimo to taki pomysł przyszedł do głowy nawet samemu Donaldowi E. Knuthowi: w fontach rodziny Computer Modern font cmr5 ma nieco inny zestaw znaków niż pozostałe fonty szeregu CMR

Ad 2

TeX operuje jedynie na fontach co najwyżej 256-znakowych -- to poważne ograniczenie. Zostało ono oczywiście uwzględnione przy projektowaniu układu QX. Kolejnym ograniczeniem jest limit różnych wysokości i głębokości znaków w foncie (16), w związku z czym znaki w danym foncie nie powinny się zbyt różnić rozmiarami.

Ze względu na powszechność fontów CM zestaw znaków powinien być możliwe zgodny z zestawem znaków fontów tekstowych rodziny CM (fonty matematyczne, jako używalne wyłącznie w kontekście TeX-a, pozostają poza zakresem zainteresowań).

Podobna zasada była ściśle przestrzegana przy projektowaniu pakietu MeX: fonty PL i fonty CM różnią się jedynie znakami o kodach 128--255 (polskie znaki diakrytyczne i cudzysłowy). Dzięki temu każde oprogramowanie TeX-owe przeznaczone do pracy z fontami CM działa również z fontami PL, co okazało się w praktyce bardzo korzystne.

Podjęcie takiej decyzji stało niestety w sprzeczności z ustaleniami konferencji EuroTeX'90 w Cork (Irlandia), gdzie przyjęty został jako ,,nowy standard'' tzw. układ EC. Z grubsza rzecz biorąc w układzie EC znaki diakrytyczne umieszczone są w pozycjach o kodach 0--32, a narodowe znaki diakrytyczne w pozycjach o kodach 128--256 (w układzie PL pozycje polskich znaków diakrytycznych są takie same jak w układzie EC).

Niezależnie od zalet takiego systemu kodowania użycie fontów EC z formatem plain jest po prostu niemożliwe. Ponadto pula stu dwudziestu ośmiu pozycji na znaki diakrytyczne okazała się zbyt mała. Nie zmieściły się na przykład litewskie litery ,,iogonek'', ,,Iogonek'', ,,uogonek'' oraz ,,Uogonek''.

Ad 3

Wolno sądzić, że pakiet MeX zadomowił się w środowisku polskich użytkowników TeX-a. Ze względu na istnienie pakietu MeX jest wskazane, by font był rozszerzeniem układu PL, możliwie mało różniącym się od układu EC. W szczególności oznacza to, że wszystkie polskie znaki diakrytyczne powinny się w foncie znaleźć.

W związku ze składaniem polskich tekstów technicznych przydatne są znaki specyficzne dla polskiej literatury technicznej. Zagadnienie to omówione jest przy okazji analizowania konsekwencji zasady 4.

W fontach anglosaskich powszechnie obecna jest ligatura ,,fl'' (czasem także ,,ffl''). Nie widać żadnego powodu, dla którego w polskich fontach nie miałoby być ligatury ,,fk'' (poprawna nazwa w wektorze kodowania to f_k). W polskim języku jest wprawdzie znacznie więcej słów zawierających digram ,,fl'' niż słów zawierających digram ,,fk'', niemniej jednak są takie słowa: agrafka, cofka, dryfkotwa, fifka, Kafka, karafka, lufka, mufka, sofka, szafka. Bez ligatury  ,,fk'' wyglądają one niezbyt ładnie ze względu na kolizję liter ,,f'' i  ,,k'', analogiczną do kolizji liter ,,f'' i  ,,l''. Stąd obecność ligatury ,,fk'' w układzie QX.

Ad 4

Zastosowanie TeX-a do składania tekstów sugeruje pewien zakres zastosowań, mianowicie skład tekstów technicznych. Fonty zatem powinny posiadać znaki przydatne do takich zastosowań. Pośród wielu znaków specyficznych dla polskich zwyczajów typograficznych dwa wydają się szczególnie ważne: symbol kąta ,,anglearc'', oraz symbol średnicy ,,diameter''. Znaków tych, o ile nam wiadomo, nie posiada żaden font pochodzenia zagranicznego. Również polskie znaki mniejsze-równe i większe-równe, ,,lessequal'' ,,greaterequal'', różnią się od symboli stosowanych za granicą.

W tekstach technicznych często pojawia się promil ,,perthousand''. Rzecz dziwna, Donald E. Knuth nie przyjął do wiadomości istnienia tego znaku -- w fontach CM po prostu go nie ma.

Z punktu widzenia tekstów technicznych pożądana jest obecność niektórych małych greckich liter w foncie. Np. litera mu pojawia się w oznaczeniach jednostek (przedrostek mikro). Litera pi wydaje się również warta uwzględnienia. Najlepiej byłoby móc zawrzeć w foncie cały alfabet grecki. Niestety, szczupłość miejsca i obszerność potrzeb wykluczają taką możliwość.

Jako jednostki używane są czasem symbole quotesingle (minuta), quotedbl (sekunda lub cal), degree (stopień) -- ich brak wcześniej czy później zaczyna dokuczać.

Określenie ,,teksty techniczne'' niekoniecznie musi oznaczać teksty o profilu matematycznym lub inżynierskim. Teksty prawne również można zaliczyć do tekstów technicznych. Brak symbolu section w standardowych fontach CM (symbol ten występuje jedynie w fontach szeregu CMSY) dawał się dotkliwie odczuć w praktyce.

Ad 5

Większość znaków diakrytycznych daje się uzyskać za pomocą operacji TeX-owych, na ogół za pomocą polecenia \accent. Jeżeli akcent nie styka się z literą (akcenty ,,acute'', ,,grave'', ,,dieresis'' itp.) zabieg taki jest dopuszczalny. Można też skorzystać z bardzo ogólnego mechanizmu konstruowania znaków złożonych, mianowicie z fontów wirtualnych. Dzięki fontom wirtualnym znaki złożone są widziane przez TeX-a jako zwykłe, pojedyncze znaki. Tworzenie fontów wirtualnych jest jednak pracochłonne (brak póki co wygodnych narzędzi) i wymaga sporej wiedzy, tak TeX-owej, jak i typograficznej.

Niestety, niektóre znaki tworzą z elementem diakrytycznym jedną całość. Wymienić tu należy w pierwszym rzędzie polskie i litewskie litery z ogonkiem (,,ą'', ,,ę'', iogonek, uogonek i odpowiednie majuskuły) oraz litery z cedillą (ccedilla, scedilla, tcedilla i odpowiednie majuskuły). Inne znaki diakrytyczne tego rodzaju to islandzkie thorn, Thorn czy eth. W dobrze zaprojektowanych fontach takie znaki nie mogą być ,,składanką'' -- muszą stanowić spójnie zaprojektowaną całość.

Ad 6

Font powinien zawierać pewne ,,uświęcone tradycją'' znaki dodatkowe. Takie symbole jak ,,copyright'' czy ,,registered'' powinny być zgodne z bieżącym fontem. Teoretycznie wystarczyłoby kółko, w które za pomocą makra TeX-owego wstawiało by się odpowiednie litery. Każdy, kto próbował używać plain-owego makra \copyright, wie, że nie jest to pomysł najszczęśliwszy -- pozycjonowanie liter wewnątrz koła musi być przeprowadzone dla każdego fontu (a nawet dla każdej odmiany) osobno, co wyklucza możliwość automatyzacji.

Symbole ,,dagger'' i ,,daggerdbl'' są wprawdzie stosunkowo rzadko używane (ich używanie to w zasadzie zwyczaj anglosaski), jednakże kształt tych symboli jest specyficzny dla danego fontu, tym samym -- dla pełności -- font powinien je zawierać.

Inne symbole potrzebne sporadycznie to ,,bullet'' i ,,periodcentered''. Na pierwszy rzut oka mogłoby się wydawać, że znaki te nie są w żaden sposób z konkretnym fontem związane. To oczywiście nieprawda, na przykład kształt kropki zależy od fontu. Sięganie do innego fontu po te znaki lub przesuwanie kropki w celu uzyskania drugiego z nich jest zabiegiem niezwykle uciążliwym ze względu na trudności w wyważeniu położenia obu znaków.

Ad 7

Rozpowszechniona obecnie wersja środowiska Windows nakłada dodatkowe ograniczenia na liczbę znaków w foncie: znakom nie można przypisać kodów większych niż 255 i mniejszych niż 32. Redukuje to maksymalną liczbę znaków w foncie dających się równocześnie wykorzystać do 224. W układzie QX przeznaczonym do zastosowań okienkowych kody mniejsze-równe od 32 otrzymały znaki, co do których można ze sporym prawdopodobieństwem założyć, że nie będą potrzebne w tych zastosowaniach (głównie akcenty, symbole i ligatury -- patrz tabela poni 2).

Dalsze zmniejszenie puli wolnych miejsc wiąże się ze znakami o niewielkiej użyteczności z punktu widzenia TeX-a, ale niezbędnymi ze względu na pewne tradycje w ich stosowaniu. Takim znakiem jest np. ,,paragraph'', używany jako znak końca akapitu w niektórych edytorach tekstu pracujących w środowisku MS Windows. Do podobnego celu wykorzystywany bywa znak ,,currency''.

Pewne aplikacje windowsowe spodziewają się znaleźć pod kodami 32 i 160 odpowiednio odstęp (space) i niełamliwy odstęp (nbspace). Są to znaki absolutnie bezużyteczne z punktu widzenia TeX-a, ale nieusuwalne ze względu na windowsowe tradycje.

Ligatury i kerny

Specyfikacja układu QX w kontekście zastosowań TeX-owych obejmuje także ligatury. Ligatury to ważny choć praktycznie pomijany (z nie do końca jasnych przyczyn) w świecie nieTeX-owym element definicji fontu.

Od wersji 0.03 układ QX uwzględnia następujące ligatury:

f + f ff
f + i  fi
f + l fl
f + k f_k
ff + i  ffi
ff + l ffl
hyphen + hyphen endash
endash + hyphen emdash
quoteleft + quoteleft quotedblleft
quoteright + quoteright quotedblright
comma + comma quotedblbase
exclam + quoteleft exclamdown
question + quoteleft questiondown
exclamdown + exclamdown guillemotleft
questiondown + questiondown guillemotright

Z dokładnością do ligatury ,,fk'' jest to ten sam zestaw ligatur co w fontach PL, natomiast różni się on od zestawu ligatur zaproponowanego dla układu EC, który obejmował m.in.:

space + l lslash
space + L Lslash
percent + percent perthousand
less + less guillemotleft
greater + greater guillemotright

Pierwsze trzy z tych ligatur wydają się nieuzasadnione, dwie pozostałe są nieadekwatne, ze względu na zachowanie w układzie QX konwencji fontów CM umieszczającej hiszpańskie znaki interpunkcyjne w pozycji znaku less (znak ,,<'') oraz greater (znak ,,>'').

W definicji układu QX zestaw par kernowych nie jest w żaden sposób specyfikowany, w szczególności dopuszczalne są -- nieobecne w układzie EC -- kerny między cyframi.

Ostatnie zmiany wprowadzone do układu QX wer. 0.05 (14.01.2002)

Po długiej debacie znaki [tT]cedilla (niewykorzystywane w żadnym z europejskich języków, ale z niezrozumiałych przyczyn obecne w wielu fontach) zostały w wersji 0.04 układu QX zastąpione przez rumuńskie znaki [tT]commaaccent. Konsekwentnie tureckie znaki [sS]cedilla zostały zastąpione przez rumuńskie znaki [sS]commaaccent, aczkolwiek zalecane jest pozostawienie definicji obwiedni znaków [sS]cedilla w foncie.

Wprowadzenie waluty euro spowodowało dodanie symbolu Euro do układu QX (wer. 0.05). Symbolowi temu został przypisany kod 128 zarówno w kodowaniu dla systemu TeX, jak i Windows, co jest zgodne z zaleceniem Microsoftu (patrz faq12.htm):

The symbol has been added to the following codepages at position '0x80'; 1250 Eastern European, 1252 Western, 1253 Greek, 1254 Turkish, 1257 Baltic, 1255 Hebrew, 1256 Arabic, 1258 Vietnamese, 874 Thai. In 1251 Cyrillic the symbol will be added at position '0x88'.

Niestety skutkiem tego rozszerzenia była konieczność wprowadzenia dalszych zmian w kodowaniu QX dla systemu Windows: litewskie znaki [Ii]ogonek otrzymały kody 222 i 254 (uprzednio 128 i 144); znaki [Tt]horn, mające przedtem te kody, zostały usunięte. Zalecane jest pozostawienie definicji kształtów znaków [Tt]horn w foncie.

Przy okazji zmian wprowadzona została nazwa f_k dla (niestandardowej) ligatury ,,fk'', zgodnie z zaleceniem Adobe: unicodegn.html

Zmiany wprowadzone do układu QX wer. 0.06 (24.08.2003)

Dodano ligatury ij, IJ (dostępne tylko w TeX-owym kodowaniu) oraz znak interpunkcyjny threequartersemdash.

Tabele układu QX

Na dwóch kolejnych stronach zamieszczamy porównanie aktualnego układu QX (wer. 0.06) z innymi szeroko używanymi układami znaków. Poniższa tabela przedstawia porównanie TeX-owych układów -- układu PL (przypomnijmy, że znaki o kodach mniejszych-równych od 127 są identyczne w układzie PL i w układzie CM), układu EC oraz układu QX.

code CM EC PL QX ver. 0.06
0 Gamma grave Gamma alpha
1 Delta acute Delta Delta
2 Theta circumflex Theta beta
3 Lambda tilde Lambda delta
4 Xi dieresis Xi pi
5 Pi hungarumlaut Pi Pi
6 Sigma ring Sigma Sigma
7 Upsilon caron Upsilon mu
8 Phi breve Phi ellipsis
9 Psi macron Psi f_k
10 Omega dotaccent Omega Omega
11 ff cedilla ff ff
12 fi ogonek fi fi
13 fl quotesinglbase fl fl
14 ffi guilsinglleft ffi ffi
15 ffl guilsinglright ffl ffl
16 dotlessi quotedblleft dotlessi dotlessi
17 dotlessj quotedblright dotlessj dotlessj
18 grave quotedblbase grave grave
19 acute guillemotleft acute acute
20 caron guillemotright caron caron
21 breve endash breve breve
22 macron emdash macron macron
23 ring compoundwordmark ring ring
24 cedilla perthousand cedilla cedilla
25 germandbls dotlessi germandbls germandbls
26 ae dotlessj ae ae
27 oe ff oe oe
28 oslash fi oslash oslash
29 AE fl AE AE
30 OE ffi OE OE
31 Oslash ffl Oslash Oslash
32 suppress visualspace suppress space
33 exclam exclam exclam exclam
34 quotedblright quotedbl quotedblright quotedblright
35 numbersign numbersign numbersign numbersign
36 dollar dollar dollar dollar
37 percent percent percent percent
38 ampersand ampersand ampersand ampersand
39 quoteright quoteright quoteright quoteright
40 parenleft parenleft parenleft parenleft
41 parenright parenright parenright parenright
42 asterisk asterisk asterisk asterisk
43 plus plus plus plus
44 comma comma comma comma
45 hyphen hyphen hyphen hyphen
46 period period period period
47 slash slash slash slash
48 zero zero zero zero
49 one one one one
50 two two two two
51 three three three three
52 four four four four
53 five five five five
54 six six six six
55 seven seven seven seven
56 eight eight eight eight
57 nine nine nine nine
58 colon colon colon colon
59 semicolon semicolon semicolon semicolon
60 exclamdown less exclamdown exclamdown
61 equal equal equal equal
62 questiondown greater questiondown questiondown
63 question question question question
64 at at at at
65 A A A A
66 B B B B
67 C C C C
68 D D D D
69 E E E E
70 F F F F
71 G G G G
72 H H H H
73 I I I I
74 J J J J
75 K K K K
76 L L L L
77 M M M M
78 N N N N
79 O O O O
80 P P P P
81 Q Q Q Q
82 R R R R
83 S S S S
84 T T T T
85 U U U U
86 V V V V
87 W W W W
88 X X X X
89 Y Y Y Y
90 Z Z Z Z
91 bracketleft bracketleft bracketleft bracketleft
92 quotedblleft backslash quotedblleft quotedblleft
93 bracketright bracketright bracketright bracketright
94 circumflex asciicircum circumflex circumflex
95 dotaccent underscore dotaccent dotaccent
96 quoteleft quoteleft quoteleft quoteleft
97 a a a a
98 b b b b
99 c c c c
100 d d d d
101 e e e e
102 f f f f
103 g g g g
104 h h h h
105 i i i i
106 j j j j
107 k k k k
108 l l l l
109 m m m m
110 n n n n
111 o o o o
112 p p p p
113 q q q q
114 r r r r
115 s s s s
116 t t t t
117 u u u u
118 v v v v
119 w w w w
120 x x x x
121 y y y y
122 z z z z
123 endash braceleft endash endash
124 emdash bar emdash emdash
125 hungarumlaut braceright hungarumlaut hungarumlaut
126 tilde asciitilde tilde tilde
127 dieresis hyphen dieresis dieresis
128 -- Abreve -- Euro
129 -- Aogonek Aogonek Aogonek
130 -- Cacute Cacute Cacute
131 -- Ccaron -- greater
132 -- Dcaron -- greaterequal
133 -- Ecaron -- approxequal
134 -- Eogonek Eogonek Eogonek
135 -- Gbreve -- Iogonek
136 -- Lacute -- less
137 -- Lquoteright -- lessequal
138 -- Lslash Lslash Lslash
139 -- Nacute Nacute Nacute
140 -- Ncaron -- asciitilde
141 -- Eng -- asciicircum
142 -- Ohungarumlaut -- ell
143 -- Racute -- dagger
144 -- Rcaron -- daggerdbl
145 -- Sacute Sacute Sacute
146 -- Scaron -- Scaron
147 -- Scedilla -- Scommaaccent
148 -- Tcaron -- degree
149 -- Tcedilla -- Tcommaaccent
150 -- Uhungarumlaut -- ogonek
151 -- Uring -- Uogonek
152 -- Ydieresis -- Ydieresis
153 -- Zacute Zacute Zacute
154 -- Zcaron -- Zcaron
155 -- Zdotaccent Zdotaccent Zdotaccent
156 -- IJ -- IJ
157 -- Idotaccent -- braceleft
158 -- dbar -- braceright
159 -- section -- section
160 -- abreve -- --
161 -- aogonek aogonek aogonek
162 -- cacute cacute cacute
163 -- ccaron -- registered
164 -- dquoteright -- copyright
165 -- ecaron -- divide
166 -- eogonek eogonek eogonek
167 -- gbreve -- iogonek
168 -- lacute -- minus
169 -- lquoteright -- multiply
170 -- lslash lslash lslash
171 -- nacute nacute nacute
172 -- ncaron -- plusminus
173 -- eng -- infinity
174 -- ohungarumlaut guillemotleft guillemotleft
175 -- racute guillemotright guillemotright
176 -- rcaron -- paragraph
177 -- sacute sacute sacute
178 -- scaron -- scaron
179 -- scedilla -- scommaaccent
180 -- tquoteright -- bullet
181 -- tcedilla -- tcommaaccent
182 -- uhungarumlaut -- threequartersemdash
183 -- uring -- uogonek
184 -- ydieresis -- ydieresis
185 -- zacute zacute zacute
186 -- zcaron -- zcaron
187 -- zdotaccent zdotaccent zdotaccent
188 -- ij -- ij
189 -- exclamdown -- periodcentered
190 -- questiondown -- quotedbl
191 -- sterling -- quotesingle
192 -- Agrave -- Agrave
193 -- Aacute -- Aacute
194 -- Acircumflex -- Acircumflex
195 -- Atilde -- Atilde
196 -- Adieresis -- Adieresis
197 -- Aring -- Aring
198 -- AE -- backslash
199 -- Ccedilla -- Ccedilla
200 -- Egrave -- Egrave
201 -- Eacute -- Eacute
202 -- Ecircumflex -- Ecircumflex
203 -- Edieresis -- Edieresis
204 -- Igrave -- Igrave
205 -- Iacute -- Iacute
206 -- Icircumflex -- Icircumflex
207 -- Idieresis -- Idieresis
208 -- Eth -- Eth
209 -- Ntilde -- Ntilde
210 -- Ograve -- Ograve
211 -- Oacute Oacute Oacute
212 -- Ocircumflex -- Ocircumflex
213 -- Otilde -- Otilde
214 -- Odieresis -- Odieresis
215 -- OE -- currency
216 -- Oslash -- perthousand
217 -- Ugrave -- Ugrave
218 -- Uacute -- Uacute
219 -- Ucircumflex -- Ucircumflex
220 -- Udieresis -- Udieresis
221 -- Yacute -- Yacute
222 -- Thorn -- Thorn
223 -- Germandbls -- bar
224 -- agrave -- agrave
225 -- aacute -- aacute
226 -- acircumflex -- acircumflex
227 -- atilde -- atilde
228 -- adieresis -- adieresis
229 -- aring -- aring
230 -- ae -- underscore
231 -- ccedilla -- ccedilla
232 -- egrave -- egrave
233 -- eacute -- eacute
234 -- ecircumflex -- ecircumflex
235 -- edieresis -- edieresis
236 -- igrave -- igrave
237 -- iacute -- iacute
238 -- icircumflex -- icircumflex
239 -- idieresis -- idieresis
240 -- eth -- eth
241 -- ntilde -- ntilde
242 -- ograve -- ograve
243 -- oacute oacute oacute
244 -- ocircumflex -- ocircumflex
245 -- otilde -- otilde
246 -- odieresis -- odieresis
247 -- oe -- anglearc
248 -- oslash -- diameter
249 -- ugrave -- ugrave
250 -- uacute -- uacute
251 -- ucircumflex -- ucircumflex
252 -- udieresis -- udieresis
253 -- yacute -- yacute
254 -- thorn -- thorn
255 -- germandbls quotedblbase quotedblbase

Kolejna tabela przedstawia porównanie układu QX przeznaczonego do zastosowań windowsowych z układem CP 1250 oraz macintoshowym PLEURO. Jeżeli chodzi o układ QX to -- rzecz jasna -- w obu tabelach występuje ten sam zestaw znaków, różnice dotyczą jedynie kodów przypisanych poszczególnym znakom.

Code New ANSI (0-127) Macintosh QX ver. 0.06

+ CP1250 PLEURO
0 -- -- --
1 -- -- acute
2 -- -- circumflex
3 -- -- cedilla
4 -- -- dieresis
5 -- -- breve
6 -- -- dotaccent
7 -- -- macron
8 -- -- ring
9 -- -- --
10 -- -- hungarumlaut
11 -- -- ogonek
12 -- -- caron
13 -- -- --
14 -- -- dotlessi
15 -- -- dotlessj
16 -- -- tilde
17 -- -- ff
18 -- -- ffi
19 -- -- ffl
20 -- -- f_k
21 -- -- approxequal
22 -- -- ell
23 -- -- infinity
24 -- -- alpha
25 -- -- beta
26 -- -- delta
27 -- -- pi
28 -- -- Delta
29 -- -- Pi
30 -- -- Sigma
31 -- -- Omega
32 space space space
33 exclam exclam exclam
34 quotedbl quotedbl quotedbl
35 numbersign numbersign numbersign
36 dollar dollar dollar
37 percent percent percent
38 ampersand ampersand ampersand
39 quotesingle quotesingle quotesingle
40 parenleft parenleft parenleft
41 parenright parenright parenright
42 asterisk asterisk asterisk
43 plus plus plus
44 comma comma comma
45 hyphen hyphen hyphen
46 period period period
47 slash slash slash
48 zero zero zero
49 one one one
50 two two two
51 three three three
52 four four four
53 five five five
54 six six six
55 seven seven seven
56 eight eight eight
57 nine nine nine
58 colon colon colon
59 semicolon semicolon semicolon
60 less less less
61 equal equal equal
62 greater greater greater
63 question question question
64 at at at
65 A A A
66 B B B
67 C C C
68 D D D
69 E E E
70 F F F
71 G G G
72 H H H
73 I I I
74 J J J
75 K K K
76 L L L
77 M M M
78 N N N
79 O O O
80 P P P
81 Q Q Q
82 R R R
83 S S S
84 T T T
85 U U U
86 V V V
87 W W W
88 X X X
89 Y Y Y
90 Z Z Z
91 bracketleft bracketleft bracketleft
92 backslash backslash backslash
93 bracketright bracketright bracketright
94 asciicircum asciicircum asciicircum
95 underscore underscore underscore
96 grave grave grave
97 a a a
98 b b b
99 c c c
100 d d d
101 e e e
102 f f f
103 g g g
104 h h h
105 i i i
106 j j j
107 k k k
108 l l l
109 m m m
110 n n n
111 o o o
112 p p p
113 q q q
114 r r r
115 s s s
116 t t t
117 u u u
118 v v v
119 w w w
120 x x x
121 y y y
122 z z z
123 braceleft braceleft braceleft
124 bar bar bar
125 braceright braceright braceright
126 asciitilde asciitilde asciitilde
127 -- -- --
128 Euro -- Euro
129 -- -- fi
130 quotesinglbase quotesinglbase fl
131 -- Ydieresis Ydieresis
132 quotedblbase quotedblbase quotedblbase
133 ellipsis ellipsis ellipsis
134 dagger dagger dagger
135 daggerdbl daggerdbl daggerdbl
136 -- Ecircumflex Ecircumflex
137 perthousand perthousand perthousand
138 Scaron Scaron Scaron
139 guilsinglleft guilsinglleft Scommaaccent
140 Sacute Sacute Sacute
141 Tcaron OE OE
142 Zcaron Zcaron Zcaron
143 Zacute Zacute Zacute
144 -- -- threequartersemdash
145 quoteleft quoteleft quoteleft
146 quoteright quoteright quoteright
147 quotedblleft quotedblleft quotedblleft
148 quotedblright quotedblright quotedblright
149 bullet bullet bullet
150 endash endash endash
151 emdash emdash emdash
152 -- ecircumflex ecircumflex
153 trademark trademark anglearc
154 scaron scaron scaron
155 guilsinglright guilsinglright scommaaccent
156 sacute sacute sacute
157 tquoteright oe oe
158 zcaron zcaron zcaron
159 zacute zacute zacute
160 -- nbspace nbspace
161 caron exclamdown exclamdown
162 breve questiondown questiondown
163 Lslash Lslash Lslash
164 currency currency currency
165 Aogonek Aogonek Aogonek
166 brokenbar brokenbar diameter
167 section section section
168 dieresis dieresis Uogonek
169 copyright copyright copyright
170 Scedilla AE AE
171 guillemotleft guillemotleft guillemotleft
172 logicalnot Ntilde Ntilde
173 hyphen minus minus
174 registered registered registered
175 Zdotaccent Zdotaccent Zdotaccent
176 degree degree degree
177 plusminus plusminus plusminus
178 ogonek twosuperior lessequal
179 lslash lslash lslash
180 acute acute greaterequal
181 mu mu mu
182 paragraph paragraph paragraph
183 periodcentered periodcentered periodcentered
184 cedilla -- uogonek
185 aogonek aogonek aogonek
186 scedilla ae ae
187 guillemotright guillemotright guillemotright
188 Lquoteright ntilde ntilde
189 hungarumlaut onehalf Tcommaaccent
190 lquoteright threequarters tcommaaccent
191 zdotaccent zdotaccent zdotaccent
192 Racute Agrave Agrave
193 Aacute Aacute Aacute
194 Acircumflex Acircumflex Acircumflex
195 Abreve Atilde Atilde
196 Adieresis Adieresis Adieresis
197 Lacute Aring Aring
198 Cacute Cacute Cacute
199 Ccedilla Ccedilla Ccedilla
200 Ccaron Egrave Egrave
201 Eacute Eacute Eacute
202 Eogonek Eogonek Eogonek
203 Edieresis Edieresis Edieresis
204 Ecaron Igrave Igrave
205 Iacute Iacute Iacute
206 Icircumflex Icircumflex Icircumflex
207 Dcaron Idieresis Idieresis
208 Eth Eth Eth
209 Nacute Nacute Nacute
210 Ncaron Ograve Ograve
211 Oacute Oacute Oacute
212 Ocircumflex Ocircumflex Ocircumflex
213 Ohungarumlaut Otilde Otilde
214 Odieresis Odieresis Odieresis
215 multiply multiply multiply
216 Rcaron Oslash Oslash
217 Uring Ugrave Ugrave
218 Uacute Uacute Uacute
219 Uhungarumlaut Ucircumflex Ucircumflex
220 Udieresis Udieresis Udieresis
221 Yacute Yacute Yacute
222 Tcedilla Thorn Iogonek
223 germandbls germandbls germandbls
224 racute agrave agrave
225 aacute aacute aacute
226 acircumflex acircumflex acircumflex
227 abreve atilde atilde
228 adieresis adieresis adieresis
229 lacute aring aring
230 cacute cacute cacute
231 ccedilla ccedilla ccedilla
232 ccaron egrave egrave
233 eacute eacute eacute
234 eogonek eogonek eogonek
235 edieresis edieresis edieresis
236 ecaron igrave igrave
237 iacute iacute iacute
238 icircumflex icircumflex icircumflex
239 dquoteright idieresis idieresis
240 dbar eth eth
241 nacute nacute nacute
242 ncaron ograve ograve
243 oacute oacute oacute
244 ocircumflex ocircumflex ocircumflex
245 ohungarumlaut otilde otilde
246 odieresis odieresis odieresis
247 divide divide divide
248 rcaron oslash oslash
249 uring ugrave ugrave
250 uacute uacute uacute
251 uhungarumlaut ucircumflex ucircumflex
252 udieresis udieresis udieresis
253 yacute yacute yacute
254 tcedilla thorn iogonek
255 dotaccent ydieresis ydieresis
Tekst jest zaktualizowaną wersją artykułu z Biuletynu GUST, nr 9/1997, s. 28--30.
Ostatnia modyfikacja 29.09.2006 (StaW)