Professional Documents
Culture Documents
1, January 2009 1
Abstract This paper describes formal bases for designing a PostScript dynamic font respecting some basic rules of Arabic
calligraphy. This font will provide, for instance, a vertical curvilinear characters dynamic stretching that depends on their
horizontal stretching according to the Calligraphic rules. Vertical and horizontal ligatures will also be supported by the proposed
font. The techniques used can be applied in various digital typography contexts such as in typesetting mathematics, to get big
delimiters for instance. The results presented here give both extensions and corrections of some already adopted techniques.
1. Introduction
1
2 International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009
(a)
(a) (b)
(b)
(c) (d)
2.1 Stretching in Arabic Calligraphy The stretching amount is the difference between the
length of the current line and the sum of the lengths
As it has been mentioned before, the keshideh is a small
of the words added to the sum of the normal blanks (a
owing curve that stretches characters or junctions be-
normal blank is the minimal blank used to separate nor-
tween characters in Arabic-alphabet based scripts. It is
mally two words). This stretching amount depends on
used, for instance for justication. So, instead of insert-
the line context. A good font to support the stretching
ing spaces (blanks) between words, characters and/or
may allow continuous variations in stretching. We have
ligatures are stretched according to a structured set of
here the same need in type of font like in [8, 13, 14]; a
calligraphic rules. More rules of justication in Ara-
dynamic font.
bic documents can be found in [26]. In that paper, the
authors present most of the existing methods of justi-
cations especially the keshideh. In our article, we give a 2.3 Implications for the design of the font
method to implement the keshideh in a PostScript font.
This stretching goes in both the horizontal and vertical A font with a good support for the stretchability may be
directions. Horizontal curvilinear stretching can go to a based on a language that provides the possibility to use
maximal value of 12 diacritic points. To this horizontal variables in character procedures that can be computed
maximal value corresponds a maximal vertical stretch- on the y (dynamically). Postscript dynamic fonts [12]
ing of a half diacritic point downwards. Moreover, we and TrueType fonts [11] are examples of such kind of
can distinguish two kinds of stretching : fonts. As we are here extending and improving what has
been done in [8], we will rather opt for PostScript. The
• Stretching the ligature between two connected let- PostScript fonts of type 3, as proposed in [12] use the
ters and full PostScript language and violates the assumption for
• Stretching inside a letter. the type 1 fonts [1], namely the printing in a fast way
thanks to the concept of catching the character bitmaps
For instance, consider the words presented in gure 4. for ulterior usage, the ability to provide hints to improve
The rst line displays the word with three exten- low resolution or small point size rasterization and also
sions, zero, 6 and 12 diacritic points (from right-to left). the ability to be handled by the Adobe Type Manager
The keshideh takes place between the letters and . In (ATM). Here I agree with the opinion of the author of [8]
the following line, the word is stretched with zero, 9, that the beauty of what can be done with dynamic fonts,
11 and 12 diacritic points. Then, the stretching is per- and so write an Arabic text with the keshideh outweighs
formed inside the last letter QAF . In the calligraphy the disadvantages.
4 International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009
M23
M33
M13 M13
Se2
Se1
M22
B2 B1
e2 M32
M21 e2 B3
M20 M12 M12
l2 Sl1 B1 l2
l1 l1 M31
M30
e1 M11 e1 M11
M10 M10
u u
v α v α
Figure 7. Surface razed with the edge l1 (thin gray) Figure 9. Surfaces razed with the two edges e1 and e2
M10 , M11 , M12 and M13 (see gure 7), the curve B1 Se1 : surface bounded by B1 , [M13 , M33 ], B3 and
represents the movement of the right bottom corner of [M30 , M10 ], that is the surface razed by edge e1 .
the nib. Width, thickness and inclination angle of the nib B3 : a Bézier curve with control points M33 , M32 , M31
are respectively denoted by l, e and α. and M30 so that :
Consider B2 , the Bézier curve with the four control M3i = t−→v (M1i ), i ∈ {0, 1, 2, 3}, and
points M23 , M22 , M21 and M20 such that : Se2 = t−u (Se1 ).
→
M2i = t− →u (M1i ), i ∈ {0, 1, 2, 3} where t− →u is the These four surfaces allow the reconstitution of the
translation →
− →
− surface razed by the nib's head. The gure 10 shows an
− −−−−−−−−of −−− vector
−→ u such that u =
(l cos (α) , l sin (α)). illustration of this situation. It gives the control points
The surface Sl1 delimited by the curve B1 , the segment of the Bézier curve modeling the movement of the left
[M13 , M23 ], the curve B2 and the segment [M20 , M10 ] bottom corner.
coincides exactly with the surface razed by the edge l1 .
The surface is lled in thin gray in the gure 7.
The surface Sl2 razed by the edge l2 can be obtained
through translating the surface Sl1 with vector − →v = M13
l cos α + 2 , l sin α + 2 (see gure 8).
π π
M23
M12
M13 M11
M10
M22 u
B2
Sl2
e2 v α
M21
M20 M12
l2 B1
l1 Sl1
Figure 10. Surface razed with all the nib
e1 M11
M10
M23 M23
M13 M13
B2
M20 M20
B1
M10 M10
Figure 11. The result of lling in the surface between the two curves Figure 12. Surface razed with the nib
with the previous technique
−−−−−→
vector M10 M20 are collinear (such condition was not through proceeding as in the example in gure 7. The
satised in the case of the previous examples). More two razings are on the gures 13 and 14.
formally, consider the function R1 dened as follows :
R1 : [0, 1] → R N23
−−−−−→ −−−−−→ − →
t 7→ M10 M20 ∧ OB1 (t) · k B21
M20 N13
when the considered Bézier's curves are dened on
the afne plane R2 reported to the orthonormal basis M10
B11
R (O, − →
ı ,−→ ) containing the origin O and that is a sub-
space of the afne
space R with the orthonormal basis
3
→
− Figure 13. Surface razed over [0, 0.6184]
R O, − →ı ,−→
, k and the operator ∧ stands for the vec-
torial (cross) product.
R1 (t) is the direct orthogonal range of the
→
−
Bézier curve B1 according to the vector k .
M23
if R1 (t) is null at t0 ∈ ]0, 1[, that means
−−−−−→
that B10 (t0 ) andM10 M20 are superposed. As B22
−− −− −→ −− −−−→ −→ 0 M13
that R10 (t) = M10 M20 ∧ OB1 (t) · k (t) =
−−−−−→ −
→ B12
M10 M20 ∧ B10 (t) · k , we get the interpretation : N23
We can remark that the study of the function R1 can help The two surfaces overlap and reconstitute a surface
to blacken the surface razed in the gure 12. The curve that t exactly with the surface razed with the segment
[M10 M20 ] (see gure 15). This way of proceeding can
B1 is a perfectly determined Bézier curve. The study
of R1 over [0, 1] shows that R1 admits an extrema at be very useful for the design of characters shapes in
t0 = 0.6184 and the monotony's sense doesn't change
PostScript or Metafont so that the trajectories of the sum-
over the sub-intervals [0, 0.6184] and [0.6184, 1]. mits nib overlap.
Now, let us decompose B1 with respect to the gen- The difculties to nd out a way to represent and to
eralized Bézier algorithm of renement (case of none coat the nib's head movement reminds those met in the
median decomposition) [7, 15, 23, 29] with respect to knuth's approach in metafont [10] or those found in the
the coefcient t0 = .6184. So we'll get two curves B11 kinch's approach in MetaFog [28]. The comparison will
and B12 whose corresponding razing can be obtained be considered in the sub-paragraph 4.3
.
taille 32 points - NaskhFontTestModel-LB.ps - Extension Lineaire - .7142857141 .2592592593 .4851251363
International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009 7
M23
M13
M10
The baseline is one of the basic notions in digital typog- The measure unit in Arabic Calligraphy is the diacritic
raphy [9, 30, 10, 2]. It constitutes the basic reference for dot used to differentiate some Arabic letters with the
positioning the characters, or symbols in a mathematical same shape. For example, the letters HAH, JEEM and
formula and so on. In Arabic writing normative studies, KHAH (from the right to left), in initial position, are
there is no general agreement on the necessity of this presented in the gure 17. The diacritic point is the
reference. Some calligraphers think that the notion of small square lled in thin gray. The same dot is the
baseline is meaningless. Others think that its position measure unit used to dene the letters dimensions. In
is not steady [27]. Nevertheless, the reference to the the Naskh style, the diacritic point is a lled in square
baseline can be very helpful and even necessary for po- with sides of a width equal to the width of the nib's
sitioning signs. Actually, some parallelism among words head and rotated about 60◦ . In the gure 18, some
and even among letters, with regard to a virtual horizon- metric indications to write the letter HAH (in the initial
tal line, can be noticed in any written line. We well use form with oblique ligature) are in charge of the diacritic
the common methodology related in the A. El Husseiny's dots. In calligraphy, the space between two consecutive
calligraphy's book [3] to dene the baseline used in the dots in a measure is about 0.45 to 0.5 of a calligraphic
development of a Naskh font providing the possibility dot. But, in our work, all the metric values are given
of characters curvilinear extension. According to this in terms of diacritic points, without spaces (see gure
reference, two groups of isolated Arabic letters may be 19). In the gure 19, an example of a stretching of the
distinguished : those to place above the baseline and word is presented. The rst line displays the word
those containing pieces above and/or below the baseline with the keshideh in gray in its initial size i.e with
(see gure 16). a null stretching, the width's keshideh is two diacritic
points and a fraction. In the following line, the same
word is stretched 12 diacritic points horizontally. To the
horizontal stretching corresponds a vertical stretching
of half a diacritic point downwards with respect to the
baseline (see later for the rules of stretching). We can
also get information about metrics from [26].
(c)
(d)
R3
L0
R2
L1 L2 L3 R0 R1 L1 R3
L0
R2
L2 L3 R0 R1
(a) (b)
R3
• The set B1 : is the set of Bézier curves
R0 R1
R2 [M0 , M1 , M2 , M3 ] with an invariant concavity ver-
ifying:
−−−−→ −
→ −−−\−→ −→
(b) M2 M3 = λ i , λ ∈ R∗+ and 0 ≤ M0 M1 , i ≤
→
−
2 , (see gure 37), where i is the axis X director
π
that : M3
j M2
i
• C1 and C2 are of the same kind (oblique, big strictly
above the baseline, ... etc.),
• C1 is a preceding connection, Figure 37. Curves of type 1 (in B1 )
12 International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009
R21
M12
B1 M22
h M10
I
v M B2 M11 Figure 43. Translation of B11 towards the right-side of h
20 J 2
M21
0 , h , v to have B
12 (see gure 44)
• Ebe B11 2
V11 0 h
Figure 44. Stretching the curve B11 of and v
Keshideh 2
P12
P11 R13 V V12
C1 P13 L10
v (C1 ) to have C1 , where t−
v is a translation of
10
C2 • t→
− 0 →
P10 R12 −−−−→
L11 V13 →
−
vector v = (−h, 0) (see gure 45).
B11 B21
R10
L12 L13 R11
After all these transformations, the set of curves C
gives a stretching as in the gure 46.
Figure 41. initial state of a set of curves C to be stretched
In the PostScript encoding, not all these transformations
are to be handled explicitly. In some cases, some of
The stretching or the keshideh with regard to h horizon- them (some translations) are automatically processed
tally and v vertically results from the following transfor- with the PostScript interpreter. We remark that before
mations : stretching, R12 , R13 and V11 are aligned. After the
• Eaf B21 , h2 , v to get B22 (see gure 42),
stretching R22 , R23 and V11 are aligned too. The angles
12 , L10 L11 ) and (L20 P12 , L20 L21 ) are equal. The
(L10 P\ 0
\
derivatives of degree 0 and 1 are preserved in the points
V11 where the keshideh is connected to other curve sets.
V11
h/2
P’12
P’11 L20 R23 R13 V V12
C’1 P’13 L’10 10
C2
P’10 R12
L’11 V13
L21 B’11 B21 R22
B12 L’13 h/2 R10
L’12 B22 R11
v
L22 L23 R20 R21
V11
P’12
P’11 L20 R23 V12
V10
C’1 P’13 C2
P’10
V13
L21 R22
B12
B22
L22 L23 R20 R21
is a stretchable one, the stretching occurs in this letter perform the two actions :
otherwise the stretching will be in the ligature between
the two last connected letters of the word. The two cases • to stretch the horizontal succeeding connection of
are presented separately in the following. the letter of h2 horizontally and v vertically and
• to stretch the horizontal preceding connection of the
4.2.1 Inter-letters keshideh
letter of h2 horizontally and v vertically.
The keshideh is a juxtaposition of two curves of type
In the gure 47, an illustration of a stretching in a font
1 and type 2. When the keshideh appears between two
size equal to 64 points is given. In the rst line, the
connected letters, the rst curve is the horizontal pre-
word with a null stretching is presented. In the last
ceding connection below the baseline of the letter in the
line, the same word is stretched 12 dp (diacritic point)
left and the second part of the keshideh is the horizontal
horizontally and 0.5 dp vertically. In the second line the
succeeding connection below the baseline of the letter in
letters and in their initial shapes are showed whereas
the right. When we designed the font, we parameterized
in the third line, both of the two letters have a stretching
the horizontal connections exactly on the baseline in a
of 6 dp horizontally and 0.5 dp vertically.
way such that they can be stretched horizontally to the
Most of the handbooks of calligraphy [3, 22, 25], teach
right and vertically downwards. So, when the stretching
that : in the beginning of a word in Arabic letters, the
is null, the connections are simply those exactly on the
commonly used horizontal connections are oblique, big
baseline, otherwise they are horizontal strictly below the
strictly above the baseline and strictly above the base-
baseline. From now, we mean by parameterized hori-
line. That's an aesthetic need. When we have to write
zontal connection exactly on the baseline a connection
the word formed of the letters BEH in initial position
that support the connection exactly on the baseline and
and AIN in the end without stretching, a letter BEH and
below the baseline. For example, when the word is
AIN with horizontal succeeding connection and preced-
to be stretched, the stretching occurs between the letters
ing connection respectively strictly above the baseline
and . The letters and have horizontal connec-
are used. Let be such a word (the word to the right
tions exactly on the baseline that are parameterized to
support stretchability. Then, the Stretching consists on on the gure 48), when a stretching is needed, the alter-
keeping the word as it is and communicating a horizontal natives of these two letters with horizontal connections
and vertical amounts of stretching as parameters to the below the baseline (they are horizontal connections ex-
procedures for writing these two letters. Suppose that actly on the baseline when the amount stretching is null)
we want to stretch the word of an amount h hor- are used. In this way, the word would be used. The
izontally and v vertically downwards, then, we have to two alternatives of the word are in clear on the gure 48.
International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009 15
points. The shape of the letter QAF without stretching 4.3 The nib's head motion modeling approach
is quite different from the stretched one, the character versus other approaches
. is only a variant of . So, it has the same width
of increased of 9 diacritic points. It also has the same In this sub-paragraph, the approach for modeling of the
depth as increased of the vertical downward stretching nib's motion is compared in one hand to the Knuth's
corresponding to the horizontal stretching of 9 diacritic approach in Metafont [10] and to the Kinch's one in
points. To compute the stretching, the letter is used MetaFog [28] in the other hand. These two approaches
and can be stretched horizontally between zero and three seek the envelope of an ellipse stroking (a nib with an el-
diacritic points. The vertical stretching varies in the liptic head) in two different ways. The Knuth's approach
range corresponding to the horizontal extension from follows the Hobby method [16] to represent the envelope
zero to three diacritic points. The keshideh is performed in terms of the raster instead of scalable curves. Kinch
inside . The part modeling the keshideh is displayed solve the problem through representing the envelope in
in gray on the gure 52. The letter QAF in nal position an algebraic and topological way. In our approach, the
is in font size 128 points. The control points of the left envelope of the characters static parts is determined us-
bottom corner of the nib's head are given to make it more ing tools outside the PostScript interpreter. A specic
understandable. program (based on a mathematical idea presented in the
sub-paragraph 2.4) helps to determine this envelope. Of
course, we also can use Metapost [17], to determine the
envelope and cope with other programs to eliminate the
fact that some zones are painted twice. The characters
Baseline static parts have true outlines (there are no overlapping
curves), the envelope is generated as with MetaFog.
Concerning the characters dynamic parts, such as the
L0 R3 parts of the keshideh, the envelope is determined in a
L1 R2 way different from the Knuth's and Kinch's approaches.
L2 L3 R0 R1
In order to well explain and justify our approach, let us
consider a left component of a keshideh (see gure 53).
Figure 52. The keshideh in the letter QAF in nal position
The curve B1 of type 1 in the gure 53 has the control
In the development of our PostScript font, the horizontal points (169,205), (170,151), (249,134) and (340,134).
stretching is a value communicated to character proce- The nib's head width and thickness are 31.9643 and
dures as a global variable h. As in [8], at the end of 15.9821 points respectively. Here, we have consid-
each call of procedure, the value of h is put back to ered a thickness equal to half of the width for clarity.
zero. The value h is determined by means external to The points where the slops are parallel to the vectors
the font, such as the text formatting programs. Then it dening the nib when the thickness is a sixth of the
is communicated to the character procedures in the font. width are the same. The vectors − →
u 1, −
→
u 2 and −→u3
The vertical stretching v is determined from the horizon- are respectively (10.9177,30.042), (-4.10678,35.4913)
tal stretching in the font through the simple function ϕ and (-15.0244,5.44933). B10 (t) is parallel to − →u 2 at
→
−
0.0323 and to u 3 at 0.4923. After applying a stretching
dened in the following :
with the Ebe to B1 with an horizontal stretching equal
• h : value of horizontal stretching (towards the right to 109.1601 points and a corresponding vertical one
direction), 9.0966 points, we obtain the curve B2 with the control
points (59.8398972,205), (60.9680176,144.081482),
• v : value of vertical stretching corresponding to
(190.549225,124.903397) and (340,124.903397). Then
h (downward), v depends on h, so we can write
B20 (t) is parallel to −
→
u 2 and −
→
u 3 at 0.0224 and 0.3980 re-
v = ϕ (h) where ϕ is dened by :
spectively. The coefcients where the slopes are parallel
ϕ : [0, hm ] → [0, vm ] to the vectors of the nib's head change from a stretching
h 7→ hvm h state to another. The reason for this is simply that the
functions of stretching used to compute the keshideh are
m
• hm : maximal value of horizontal stretching, not a linear scaling. In order to determine these coef-
• vm : maximal value of vertical stretching. cients and therefore, to be able to determine the envelope
as the Kinch's approach seek through computing these
With regard to the denition of the function ϕ, the curvi- coefcients in the PostScript character procedure. Then,
linear stretching functions Eaf and Ebe dened above printing the character will be very slow. To avoid such
can be regarded as linear scaling, but they are not so. problem, we opt for painting the surface razed with ev-
International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009 17
B2 B1
u2
u1
u3
70°
Figure 53. Identication of points where slops are parallel to vectors dening the nib's head
ery edge of the nib's head. So, some parts are painted
twice or more causing a larger CPU time consuming but
it is still less than the time used to compute the outlines
of the curve. As we have seen before, some parts of
the surface razed with the nib's head can be lost in the
neighborhood of the points where the slops are parallel
to the vectors − →
u 2 and −→u 3 . In the gure 54, the real
u2
surface razed with the nib's head according to the curve u1
B1 is showed. Whereas, in the gure 55, we have drawn
u3
the surface that is on the gure 54 and then drawn the 70°
envelope (in gray) with our adopted technique on it. We
remark that we can not distinguish the lost zones (that
Figure 55. The razed surface with our approach
must be in black). The reason is that the keshideh curves
have curvature vectors [6] with small magnitudes (Or
the radiuses of the osculating circles are big) especially
on the points where the derivative is collinear to −→u 2 and
→
−u 3 . We can accept then this inaccuracy because the re-
sults are considered more in their visual aspects. Reeves
[32] call this phenomenon "Visual Accuracy". When we
consider a nib's head that respect the ratio existing be-
tween the width and the thickness of the nib's head (one
a sixth) the result would be more satisfying visually.
(a) (b)
like Kontour [19] under Linux [24], in order to get the [21] LYX Team, The LYX User Manual, http://www.LYX.org, Version
1.3.4, 2004.
encoding of the letters in terms of Postscript Bézier's [22] Mahdi Essaid Mahmoud, Learning Arabic Calligraphy :
curves. The existing font tools were not enough to take Naskh, Roqaa, Farsi, Thuluth, Diwany', Ibn Sina publisher,
Cairo- Egypt, 1994.
into account the motion of the nib's head, the metrics [23] Mamoru Hosaka, Fumihiko Kimura, A Theory and Methods
in diacritic point, the possibility to correct some errors for Free Form Shape Construction, Journal of Information
Processing, Vol 3, No 3, pp. 140-151, (1980).
allowed for the calligrapher in handwritten proofs etc. [24] Mandrake Soft, Mandrake Linux 8.2,
We worked almost manually to design the PostScript http://www.mandrakeSoft.com, 2002.
[25] Mohammed Hachem El Khattat , Arabic Calligraphy Rules, A
encoding of some characters that represent most of the Calligraphic set of Arabic Calligraphy Styles, Books Univers,
Beyrouth- Lebanon, 1986.
cases and we got so a mini-font. This font has been used [26] M. J.E. Benatia, M. Elyaakoubi, A. Lazrek , Arabic Text
to give the example in the gure 56. This is a set of Justication, TUG 2006 Conference Proceedings, Volume
27, No 2, pp. 137-146, 2006.
lines (with no meaning in Arabic) to assess justication [27] Mostafa Banouni, Mohamed Elyaakoubi, Azzeddine Lazrek,
through keshideh. The requirements, support and de- Dynamic Arabic Mathematical Fonts, Lecture Notes in
Computer Science (LNCS), Springer Verlag, Volume 3130,
velopment of a tool to assist in designing Arabic fonts pp. 158-168, 2004.
should be a separate work. In any way, there will be no [28] Richard J. Kinch, MetaFog : Converting Metafont Shapes
to Contours, Preprint: Proceedings of the Annual Meeting,
satisfying compromise to respect the rules of Arabic cal- pp:1001-1011, June 1996.
[29] Ronald N. Goldman, Using Degenerate Bézier Triangles and
ligraphy unless a geometrical model for all the characters Tetrahedra to Subdivide Bézier Curves, Computer-Aided De-
and symbols is built. sign, Vol 14, No 6, pp. 307-311, November 1982.
[30] Yannis Haralambous, The Traditional Arabic Type-case Ex-
tended to the Unicode Set Of Glyphs, Electronic Publishing,
References Vol. 8, No. 2-3, pp. 111-123, 1995.
[1] Adobe Systems Incorporated, Adobe Type 1 Font Format, Part [31] Yannis Haralambous, John Plaice, Multilingual Typesetting
No. LPS0064, 1990. with Ω, a Case Study : Arabic, International Symposium on
[2] Adobe Systems Incorporated, PostScript Language Reference Multilingual Information Processing'97 , Tsukuba (Japon),
Manual, MA:Addison-Wesley , Third edition,Massachusetts, pp. 137-154, 1997.
1999. [32] William T. Reeves, Quantitative Representations of Complex
[3] Ahmed El Houssaini, The Arabic Calligraphy, Dar Attaila, Dynamic Shapes for Motion Analysis, PhD thesis, University
1994.
[4] Azzeddine Lazrek, A package for typesetting Arabic math- of Toronto, 1981.
ematical formulas, Die TEXnische Komodie, DANTE e.V.,
Vol.13, No. 2, pp. 5466, 2001. Abdelouahad BAYAR is
[5] Azzeddine Lazrek, CurExt, Typesetting variable-sized professor of mathematics and
curved symbols, EuroTEX 2003 Pre-prints : 14th. European
TEX conference, Brest, France, pp. 47-71, 2003. computer science at Cadi
[6] Brian A. Barsky, The Beta-splines : A Local Representa- Ayyad University (école
tion Based on Shape Parameters and Fundamental Geometric
Measures, Department of Computer science, Ph.D. disserta- Supérieure de Technologie)
tion, University of Utah Salt Lake City, December 1981. in Sa, Morocco since 1996.
[7] Brian A. Barsky, Arbitrary Subdivision of Bézier Curves,
Technical Report UCB.CSD 85/265, Computer Science Di- He gets a CEUS (Certi-
vision, University of California, 1985. cat d'Etudes Uinversitaire
[8] Daniel M. Berry, Stretching Letter and Slanted-Baseline For-
matting for Arabic, Hebrew and Persian with dittroff/fforttid Supérieures) in applied math-
and Dynamic PostScript Fonts, Software-Practice and Expe- ematics and computer science
rience, vol. 29, no. 15, pp.1417-1457, 1999.
[9] D.E. Knuth, The TEXBook, Computers and Typesetting, Read- in 1996. He integrates then the university as a
ing MA : Addison-Wesley, Vol.A, 1984. research-teacher. He holds his Doctorat of the thirth
[10] D.E. Knuth, The MetafontBook, Computers and Typesetting,
MA: Addison-Wesley, Vol.C, 1986. cycle in 1999 in Computer science in communication
[11] D. Weise, D. Adler, TrueType and Microsoft Windows 3.1, networks. Since 2007, Bayar is a member of the group
Technical Report, Microsoft Corporation, Redmond, WA,
1992. of Information Systems and Communication Networks
[12] Jacques André, B. Borghi, Dynamic Fonts, PostScript Lan- LSNC in Information Systems Ingeniering Laboratory
guage Journal, Vol 2, no 3, pp. 4-6, 1990.
[13] Jacques André, Irène Vatton, Contextual Typesetting of Math- ISIL. His actual investigations deal especially with
ematical Symbols Taking Care of Optical Scaling, Technical dynamic fonts and calligraphic rules formalization.
report No 1972, INRIA, October 1993.
[14] Jacques André, Irène Vatton, Dynamic Optical Scaling and
Variable-sized Characters, Electronic Publishing, Vol 7, No
Khalid SAMI is
4, pp. 231-250, December 1994. professor of mathematics
[15] Jeffrey M. Lane, Richard F. Riesenfelf, Bounds on Polyno-
mial, BIT, Vol 21, No 1, pp. 112-117, 1981. at Cadi Ayyad university
[16] John Douglas Hobby , Digitized Brush Trajectories, Ph.D. (Faculté des Sciences) in
Thesis, Department of Computer sciences, Stanford Univer-
sity, August 1985. Marakech, Morocco since
[17] John Douglas Hobby, A User's manual for MetaPost, Tech- 1983. Since years, he's
nical Reports Report, AT& T Bell Laboratories Computing
Science 162, 1992. intrested in multilingual sci-
[18] Klaus Lagally, ArabTEX User Manual, Universitat Stuttgart, entic text formatting. Some
Fakultat Informatik, Version 4.00, 2004.
[19] KOfce. `Kontour : Kofce drawing tool, of the work relevant to this
http://www.kofce.org/Kontour, 2001. area is presented in the url
[20] Leslie Lamport, LATEX-A Document Preparation System, Read-
ing MA: Addison Wesley, 1985. www.ucam.ac.ma/fssm/rydarab.