summaryrefslogtreecommitdiff
path: root/info/digests/texline/no8/pole.tex
blob: 876bcd3d041de90bb109f2bc314b8e9df7522ebc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
\def\ogonek{\hbox{\seveni\char'054}}
\def\eog{e\kern-.26em\lower.77ex\ogonek}
\def\aog{a\kern-.21em\lower.79ex\ogonek}

\centerline{\bf Polish Language and {\TeX}}
\medskip
\leftline{\sl Introduction}
\noindent
Similarily as for other languages, adapting {\TeX} to Polish
requires solving several problems ([RS85], [HK88],
[HK87]). I will discuss here only one of them. It concerns a
diacritical sign called in Polish --- and also e.g.~in [ISO83] ---
{\it ogonek\/}. It is completely missing in the Computer Modern family  but
used, apart from Polish, also in Lithuanian. It may be familiar to
the reader as the component of e.g.~the name Lech Wa\l\eog sa.
\medskip
\leftline{\sl Using standard fonts}
\noindent
The obvious solution to the {\it ogonek\/} problem is to use some
other character as a substitute. {\it Cedilla} bears some resemblance
to {\it ogonek}, but it is clearly recognised as a non-Polish
character, so it is of no use for high quality printing.
Several users experimented independently with such characters as
the apostrophe; as far as I know, the best results were
obtained by Jerzy Ryll using the 7 point |\lhook| symbol
for the 10 point AM roman font
and placing it in the following way:
\begintt
\def\ogonek{\hbox{\seveni\char'054}}
a\kern-.21em\lower.79ex\ogonek
A\kern-.21em\lower.79ex\ogonek
e\kern-.26em\lower.77ex\ogonek
E\kern-.26em\lower.77ex\ogonek
\endtt
We use his solution here after
incorporating it into a tentative |PL| \LaTeX\ style, providing e.g.~%
for the appropriate depth of the letters \aog\ and \eog.
\medskip
\leftline{\sl Modifying pixel files}\noindent
A more general solution was offered by Hanna Ko\l odziejska, who
wrote a small program creating a copy of a pixel file with {\it cedilla}
substituted by its symmetric reflection; the \tfm\ file for
the new font is just an exact copy of the old one. After
switching to the new fonts, {\it ogonek\/} can be accessed by the |\c|
command and
its position adjusted to the letter in question.
The results can
be seen e.g.~in the paper [HK88] which was printed using
this technique. The drawback of this approach consists in
doubling the number of the pixel files.
In practice, however, the program can be placed on the hard disk
and the new fonts created on demand.
\medskip
\leftline{\sl Creating special fonts}
\noindent
Creating special fonts for Polish using \MF\ should not be a
difficult task, at least in principle. The question is where to
place the Polish national letters. The solution advocated here
consists in preserving all Computer Modern characters and to
assign the Polish letters to the codes greater then 127. To
allow hyphenation, these codes have to be accessed through
ligatures; the obvious candidate for the character introducing
these ligatures is the character
\char'40\ (code |'040|),
as its only
function in standard {\TeX} text fonts
is to serve as a component of the
Polish letters \L\ and \l. The \tfm\ files for Computer Modern
and equivalent Polish fonts should differ respectively in
their ligature
tables. This approach allows to take advantage of the fact that
more and more drivers --- including the public domain Beebe
family of drivers [B87] --- provide for the user
controlled font substitution. With appropriate substitution
directives, the standard font glyph files |gf|, |pk|
or |pxl| files)  can be get rid of as the same information is
contained in their Polish equivalents
(of course, \tfm\ files are to stay). When the disk space is
important, this seems to be the ideal solution. As for the
drawbacks, not every driver is able to handle the characters with
the codes greater then 127; however, this is an evident fault of
drivers implementors, which should be corrected in the future.
\medskip
\leftline{\sl Conclusion}\noindent
One of the important advantages of {\TeX} is its standarization.
It is a pity it is monolingual by design (with some unnecessary
assumptions underlying the hyphenation algorithm), but we have to
live with it. However, the standards for drivers are only
beginning to emerge and
some aspects of
multilingual text
processing can be solved by creating such drivers
which allow to `cheat' {\TeX} to obtain the desired results. The
use of font substitution described above is an example of this
approach.
\smallskip
\leftline{\sl References}
{\frenchspacing\parindent0pt\parskip3pt
Nelson~H.~F. Beebe.
Public domain {\TeX} {DVI} driver family.
{\TUGboat}, 8(1):41--42, April 1987.

[ISO83]
International~Organisation for~Standarization.
Information processing --- coded character sets for text
  communication.
Standard No. ISO 6937, 1983.

[HK87]
Hanna Ko\l odziejska.
{\it Dzielenie wyraz\'ow polskich w systemie {\TeX} [Polish
  hyphenation patterns for {\TeX}; in Polish]}.
IInf UW Report~165, Institute of Informatics, Warsaw
University,
  1987.

[HK88]
Hanna Ko\l odziejska.
Le traitement des textes polonais avec le logiciel {\TeX}.
{\it Cahiers GUTenberg}, (Num\'ero z\'ero):3--10, Avril
1988.

[RS85]
Staffan Romberger and Yngve Sundblad.
Adapting {\TeX} to languages that use {L}atin alphabetic
characters. 
In Dario Lucarella, editor, {\it
Proceedings of the First European
  Conference on {\TeX} for Scientific Documentation}, pages~27--40,
  Addison-Wesley, Reading, Massachusetts, 1985.
}
\smallskip
\rightline{\sl Janusz S. Bie\'n}
\smallskip
\leftline{\it Editor's Note:}
\noindent
Although Janusz refers to AM in the article, everything here is
of course set with the CM fonts. To my untutored eye the ogonek looks
fine, but I am unwilling to take this for granted until it is confirmed.
A `Polish' style file has been submitted to the Aston \TeX\ archive.