Kodowanie 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:
- Fonty mają być przeznaczone do używania w TeX-u.
- Fonty mają być przeznaczone do składania przede wszystkim polskich tekstów.
- Fonty mają się nadawać do składania tekstów technicznych.
- Fonty mają się nadawać do składania tekstów zawierających fragmenty w językach europejskich, ze szczególnym uwzględnieniem krajów sąsiadujących z Polską.
- Fonty powinny być samowystarczalne (chodzi o to, by znaków dodatkowych, takich jak copyright, trademark, bullet, itp., nie trzeba było czerpać z innych fontów).
- Fonty mają być używalne w środowisku MS Windows, w szczególności w polskiej wersji środowiska.
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 |
Ostatnia modyfikacja 29.09.2006 (StaW)
Document Actions