Sunteți pe pagina 1din 18

International Arab Journal of e-Technology, Vol. 1, No.

1, January 2009

How a Font Can Respect Basic Rules of Arabic Calligraphy


Abdelouahad BAYAR Ecole Suprieure de Technologie - Sa Cadi Ayyad University Dar Si Aissa Road, P.O.B 89, Sa 46000 Morocco bayar@ucam.ac.ma
Abstract

Khalid SAMI Faculty of sciences - Marrakech Cadi Ayyad University 12 BD. My Abdellah, P.B 2390, Marrakesh 40000 Morocco k_sami@ucam.ac.ma

This paper describes formal bases for designing a PostScript dynamic font respecting some basic rules of Arabic This font will provide, for instance, a vertical curvilinear characters dynamic stretching that depends on their

calligraphy.

horizontal stretching according to the Calligraphic rules. V ertical 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.

Keywords:

Dynamic Font, Curvilinear Stretching, PostScript, Complex ligatures.

1. Introduction

Processing documents written in an Arabic alphabetbased script is not an easy business. For instance, in order to justify texts, stretching characters replaces the ordinary inserting spaces between characters. This stretching is almost mandatory in a cursive writing such as Arabic. Systems such as ArabTEX [18] or [31] can help in typesetting a quite complex Arabic documents, say for example mathematical texts, in a quite good quality. However, most of the software designed for typesetting documents based on this script don't take sufciently into account the complex rules of characters stretching. The CurExt [5] system provides some solutions for dynamic fonts and extensible symbols in Arabic mathematical formulas. So, it gives, by the way, solutions for the composition of the Arabic keshideh (a small owing curve stretching characters in Arabic-alphabet based scripts). This package combined to RydArab [4] run with both ArabTEX or and provides support for the composition of right to left mathematical equations based on Arabic symbols. Actually, the stretching of characters according to the Arabic calligraphy rules requires that the fonts development languages support what can be called 'fonts dynamic' as PostScript language does [2]. Unfortunately, this support is not offered by Metafont [10] the rst system used for developing TEX's fonts. The CurExt system generates curvilinear stretching of Arabic characters through repeated calls of Metafont. The D. Berry 1

Figure 1. The written (in black) and the drawn (non totally black) parts of the standalone REH (scanned from [14]).

system [8] also offers the possibility of characters horizontal stretching up to some level. However, the Arabic calligraphy rules require a vertical stretching also. In Arabic calligraphy, some parts of the letters are written, directly with the nib's head, and other parts are drawn: the contour is set rst, with the right up corner of the nib's head (the qalam's tooth) and therefore, it is darkened as with a brush [3, 22, 25]. The gure 1 presents a letter REH where the written part is in black and the drawn part, to be darkened, in a different gray. This gure comes from the calligraphy handbook [22]. This fact is due to the rectangular shape of the nib's head and to its constant inclination with respect to the vertical direction. Such considerations are not to take into account in traditional typography. Most of the pens have a circular head and they can go with any inclination. In the proposed font, the written parts would be shaded

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

(a) (a) (b)

(b) Figure 3. a) The standalone QAF in Danniel Berry font, b) A stretching of standalone QAF in Danniel Berry font. (c) (d)

Figure 2. a) The nib's head in 192 points, b) The standalone REH in 192 points, c) The written part of the Letter REH in 192 points, d) The drawn part of the letter REH in 192 points.

through considering the nib's head motion (see later) and the drawn ones are considered as simple contours to darken. The gure 2 shows the standalone REH in our font in 192 point size. The gure 2(a) presents the nib's head in the size 192 points for the Naskh style. The corner marked with a solid circle models the part of the nib's head used by a calligrapher to blacken the drawn parts of letters. The standalone REH is given on 2(b), in the same size. The written and the drawn parts are showed in the gure 2(c) and 2(d) respectively. Some states of the nib's head motion are given on the written part of the letter REH. One important thing to underline is that the surface in the written part never exceed the width of the nib's head nor it is exceeded by the nib's head width (kept at 70 inclination). The standalone REH implemented in the font is slightly different from the one presented in the gure 1 because the letter scanned and used to determine the encoding of the letter REH in the font comes from another calligraphy book [3]. In [8], particular curves for representing stretchable pieces of the characters were to nd out. The approach adopted in [8] to stretch letters can lead sometimes, to write some parts of the letter, in a width exceeding, or exceeded by, the nib's head width. See, for instance, the stretched QAF in [2, p.1433] (see the gure 3). The gure 3 presents the letter QAF with a null stretching and a stretched QAF from [8] (a slightly different variant from

the same letter). We tried to show the same states (for the same parameters of the Bzier curves representing the contours) of the nib's head in the two cases of the letter QAF. We remark that in 3(a), the width of the nib's head is approximately equal to the surface. The letter QAF with a null stretching is a genuine written QAF. In the stretched QAF (see gure 3(b)), on the right, the nib's head width exceeds largely the surface darkened of the letter and conversely on the left of the same letter. So, some parts that are written in the null stretching case can not be obtained when the letter is stretched unless they are drawn. This is due to the curves to stretch choice. Actually, these curves should verify a dependency property since they represent trajectories of two corners of the nib's head following the same movement with respect to a translation (take into account the motion in shading the surface razed with the nib's head). A signicant progress in the development of Arabic mathematical dynamic fonts has been presented in [27]. A type 3 PostScript font has been developed for the purposes of CurExt in order to produce documents respecting the Arabic calligraphy rules and allowing the support of stretchable mathematical symbols. In CurExt, the variable sized character, in the suitable size, is produced via repeated calls of the program. Although our dynamic type 3 PostScript font aims at producing variable sized characters too, the approach adopted is different. The dynamic is inherent to the font, not in the font generator. The stretching's encoding is not the same. Moreover, some proposed modules can be integrated into certain typesetting systems such as LYX [21]. The text displayed in screen fonts will be used with these formatting mod-

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

ules through the parameters of pagination and the font would help in generating directly a PostScript document respecting the rules of Arabic calligraphy. In Arabic calligraphy, some Kinds of ligatures are mandatory and others are only for aesthetic. All of the systems cited before use fonts providing some mandatory ligatures such as the horizontal ligatures exactly on the baseline and some vertical ligatures for aesthetic. However, there are other not provided mandatory and also aesthetic ligatures like oblique, big strictly above the baseline, strictly above the baseline and horizontal below the baseline ligatures. Those ligatures are studied in the paper. We'll begin by presenting the curvilinear stretching in Arabic calligraphy. This will lead to some general Arabic calligraphy constraints. Then, we will focus on ligatures, their categories and kinds. The support of the keshideh can then be formalized in mathematical model, implemented in a font and thus compared to other approaches.
2. Curvilinear stretching in Arabic calligraphy
2.1 Stretching in Arabic Calligraphy

Figure 4. Two curvilinear stretchings in Arabic calligraphy

books [3, 22, 25], the letter QAF without stretching is different from the stretched one. That is also true for all letters that undergo stretching inside them. This property hadn't been respected in [8] (see gure 3 and 4 to compare). In the gure 4, the keshideh is darken in Gray and the boxes are reproduced for more clarity. Most of Arabic letters, are composed in two parts. One is static and an other that is dynamic. The dynamic part is the set of curves that undergo really the stretching. As example, we have to look to the letter on the gure 4. The static part is in black whereas the dynamic one is in Gray.
2.2 Dynamic fonts and the support of stretching

As it has been mentioned before, the keshideh is a small owing curve that stretches characters or junctions between characters in Arabic-alphabet based scripts. It is used, for instance for justication. So, instead of inserting spaces (blanks) between words, characters and/or ligatures are stretched according to a structured set of calligraphic rules. More rules of justication in Arabic documents can be found in [26]. In that paper, the authors present most of the existing methods of justications especially the keshideh. In our article, we give a method to implement the keshideh in a PostScript font. This stretching goes in both the horizontal and vertical directions. Horizontal curvilinear stretching can go to a maximal value of 12 diacritic points. To this horizontal maximal value corresponds a maximal vertical stretching of a half diacritic point downwards. Moreover, we can distinguish two kinds of stretching :
Stretching the ligature between two connected let-

The stretching amount is the difference between the length of the current line and the sum of the lengths of the words added to the sum of the normal blanks (a normal blank is the minimal blank used to separate normally two words). This stretching amount depends on the line context. A good font to support the stretching may allow continuous variations in stretching. We have here the same need in type of font like in [8, 13, 14]; a dynamic font.
2.3 Implications for the design of the font

ters and

Stretching inside a letter.

For instance, consider the words presented in gure 4. The rst line displays the word with three extensions, zero, 6 and 12 diacritic points (from right-to left). The keshideh takes place between the letters and . In the following line, the word is stretched with zero, 9, 11 and 12 diacritic points. Then, the stretching is performed inside the last letter QAF . In the calligraphy

A font with a good support for the stretchability may be based on a language that provides the possibility to use variables in character procedures that can be computed on the y (dynamically). Postscript dynamic fonts [12] and TrueType fonts [11] are examples of such kind of fonts. As we are here extending and improving what has been done in [8], we will rather opt for PostScript. The PostScript fonts of type 3, as proposed in [12] use the full PostScript language and violates the assumption for the type 1 fonts [1], namely the printing in a fast way thanks to the concept of catching the character bitmaps for ulterior usage, the ability to provide hints to improve low resolution or small point size rasterization and also the ability to be handled by the Adobe Type Manager (ATM). Here I agree with the opinion of the author of [8] that the beauty of what can be done with dynamic fonts, and so write an Arabic text with the keshideh outweighs the disadvantages.

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

Figure 6. The optical scaling characteristics of the Arabic curvilinear stretching

that the angle on the point L10 is conserved on L20 and the alignment on R13 is conserved on R23
70

Figure 5. Nib's head in Naskh style with 12 mm width

2.4 Characteristics of the stretching in Arabic Calligraphy

In the Naskh style, the nib's head behaves as a rectangle l of width l and thickness e = 6 . This rectangle moves with a constant inclination angle of about 70 with regard to the baseline. A nib's head with l = 12 mm (and e = 2mm) is presented in the gure 5. As mentioned before, the stretching goes in both the horizontal and vertical directions. In addition, the stretching ought respect the following constraints :
The horizontal stretching can go from 0 to 12 dia-

critic points (the dot in the letters and is a diacritic point and it can be used as a metric unit).

In the gure 6, The word is presented with a null stretching in the rst line, whereas, in the second line the same word is displayed with an horizontal stretching of 12 diacritic points and the corresponding vertical stretching that is a half of a diacritic point. The nib's head (in black) appears in the gray of the keshideh. We can remark that the thickness (in the direction of the nib's head inclination) doesn't change and consequently, the stretching model is an optical scaling in opposition to the linear scaling (see [14] about optical scaling ). In the following, the stretching model is presented in the same way. Let us look at the relationship between the external curves delimiting the surface razed with the nib's head. We have to darken the surface taking into account this relationship. That has not been considered in [8]. And now, we'll consider that :
The character is dened by the curves representing the nib's movement not by those representing the limits of the surface razed with the nib.

The vertical stretching depends on the horizontal

one and varies from 0 to half of a diacritic point. The stretching model provided in [8] considers stretching only in the horizontal direction. of continuity of degrees 0 and 1 is preserved. This will be well explained through considering the Bzier geometrical representations. Prematurely, the reader can see the gures 41 and 46. The set of curves in the gure 46 is obtained after a stretching in the set of curves in the gure 41. We can remark

In the connection of two stretched zones, the state

This means that a character results from blacking the surface razed with the rectangle representing the nib's head. As the four corners of the nib's head follow the same movement, the movement can be represented by the curve corresponding to the way followed by one of the four corners. Say for instance, the extremity surrounded with a small circle in the gure 5. Of course, the movement of this corner when writing a character is determined by a set of Bzier curves. So, we'll consider a unique Bzier curve. Let B1 be a Bzier curve with the four control points

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

M23 M33 M13 M22 B2 e2 l2 e1 u v v l1 M10 M20 Sl1 B1 M11 M21 M12 e2 l1 e1 M10 M31 M11 B3 M32 M12 Se2 B1 M13 Se1

l2 M30 u

Figure 7. Surface razed with the edge l1 (thin gray)

Figure 9. Surfaces razed with the two edges e1 and e2

represents the movement of the right bottom corner of the nib. Width, thickness and inclination angle of the nib are respectively denoted by l, e and . Consider B2 , the Bzier curve with the four control points M23 , M22 , M21 and M20 such that : M2i = t u (M1i ), i {0, 1, 2, 3} where t u is the translation of vector u such that u = (l cos () , l sin ()). The surface Sl1 delimited by the curve B1 , the segment [M13 , M23 ], the curve B2 and the segment [M20 , M10 ] 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 = l cos + 2 , l sin + 2 (see gure 8). Let Sl2 = t v (Sl1 ) be the result of this translation.
M23

M10 , M11 , M12 and M13 (see gure 7), the curve B1

Se1 : surface bounded by B1 , [M13 , M33 ], B3 and [M30 , M10 ], that is the surface razed by edge e1 . B3 : a Bzier curve with control points M33 , M32 , M31 and M30 so that : M3i = t v (M1i ), i {0, 1, 2, 3}, and Se2 = t u (Se1 ).

These four surfaces allow the reconstitution of the surface razed by the nib's head. The gure 10 shows an illustration of this situation. It gives the control points of the Bzier curve modeling the movement of the left bottom corner.

M13

M12 M11

M13 M22 e2 l2 e1 u v l1 M10 M20 Sl1 Sl2 B1 M11 B2 M21 v M12 u

M10

Figure 10. Surface razed with all the nib

Figure 8. Surface razed with the edge l2 (little dark gray)

to get the whole surface razed with all the nib's head, the surfaces Se1 and Se2 are also to be taken into account (see gure 9) so that we get :

This way of blacking the surface razed by the nib does not give always good result. Actually, consider the example on the gure 11. In order to simplify, consider a nib with a very thin head (with negligible thickness). The surface obtained through applying the technique used previously (see gure 11) does not coincide exactly with the surface razed with that nib (see gure 12). The geometric reason why it is so is the existence of an element t0 ]0, 1[ such that B1 (t0 ) (B1 (t0 ) is a vector) and the

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

M23

M23

M13

M13

M20

B2 B1

M20

M10

M10

Figure 11. The result of lling in the surface between the two curves with the previous technique

Figure 12. Surface razed with the nib

vector M10 M20 are collinear (such condition was not satised in the case of the previous examples). More formally, consider the function R1 dened as follows :
R1 : [0, 1] R t M10 M20 OB1 (t) k

through proceeding as in the example in gure 7. The two razings are on the gures 13 and 14.

N23 B21 N13 B11

when the considered Bzier's curves are dened on the afne plane R2 reported to the orthonormal basis R (O, , ) containing the origin O and that is a subspace of the afne space R3 with the orthonormal basis R O, , , k and the operator stands for the vectorial (cross) product. R1 (t) is the direct orthogonal range of the Bzier curve B1 according to the vector k . if R1 (t) is null at t0 ]0, 1[, that means that B1 (t0 ) and M10 M20 are superposed. As that R1 (t) = M10 M20 OB1 (t) k (t) =
M10 M20 B1 (t) k , we get the interpretation : if R1 is monotone on an interval [0, 1] then the

M20

M10

Figure 13. Surface razed over [0, 0.6184]

M23 B22

M13 B12

N23

razed surface can be obtained through applying the method mentioned before, changes.

N13

the method fails if the monotony's sense of R1

Figure 14. Surface razed over [0.6184, 1]

We can remark that the study of the function R1 can help to blacken the surface razed in the gure 12. The curve B1 is a perfectly determined Bzier curve. The study of R1 over [0, 1] shows that R1 admits an extrema at t0 = 0.6184 and the monotony's sense doesn't change over the sub-intervals [0, 0.6184] and [0.6184, 1]. Now, let us decompose B1 with respect to the generalized Bzier algorithm of renement (case of none median decomposition) [7, 15, 23, 29] with respect to the coefcient t0 = .6184. So we'll get two curves B11 and B12 whose corresponding razing can be obtained

The two surfaces overlap and reconstitute a surface that t exactly with the surface razed with the segment [M10 M20 ] (see gure 15). This way of proceeding can be very useful for the design of characters shapes in PostScript or Metafont so that the trajectories of the summits nib overlap.
coat the nib's head movement reminds those met in the

The difculties to nd out a way to represent and to

knuth's approach in metafont [10] or those found in the kinch's approach in MetaFog [28]. The comparison will 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

taille 32 points - NaskhFontTestModel-LB.ps - Extension Lineaire - .7142857141 .2592592593 .4851251363 .07247081


Figure 17. Three different Arabic letters resulting from the diacritic
M20

dot use or position

M10

Figure 15. Superposed razed surfaces on [0, 1] Figure 18. Metrics of the letter HAH in the calligrapher way

3. On some Arabic calligraphy constraints


3.1 The notion of baseline 3.2 Arabic calligraphic metrics

The baseline is one of the basic notions in digital typography [9, 30, 10, 2]. It constitutes the basic reference for positioning the characters, or symbols in a mathematical formula and so on. In Arabic writing normative studies, there is no general agreement on the necessity of this reference. Some calligraphers think that the notion of baseline is meaningless. Others think that its position is not steady [27]. Nevertheless, the reference to the baseline can be very helpful and even necessary for positioning signs. Actually, some parallelism among words and even among letters, with regard to a virtual horizontal line, can be noticed in any written line. We well use the common methodology related in the A. El Husseiny's calligraphy's book [3] to dene the baseline used in the development of a Naskh font providing the possibility of characters curvilinear extension. According to this reference, two groups of isolated Arabic letters may be distinguished : those to place above the baseline and those containing pieces above and/or below the baseline (see gure 16).

The measure unit in Arabic Calligraphy is the diacritic dot used to differentiate some Arabic letters with the same shape. For example, the letters HAH, JEEM and KHAH (from the right to left), in initial position, are presented in the gure 17. The diacritic point is the small square lled in thin gray. The same dot is the measure unit used to dene the letters dimensions. In the Naskh style, the diacritic point is a lled in square with sides of a width equal to the width of the nib's head and rotated about 60 . In the gure 18, some metric indications to write the letter HAH (in the initial form with oblique ligature) are in charge of the diacritic dots. In calligraphy, the space between two consecutive dots in a measure is about 0.45 to 0.5 of a calligraphic dot. But, in our work, all the metric values are given in terms of diacritic points, without spaces (see gure 19). In the gure 19, an example of a stretching of the is presented. The rst line displays the word word with the keshideh in gray in its initial size i.e with 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].
3.3 Connections and ligatures

Figure 16. Isolated letters in Naskh style with respect to the baseline

The Arabic writing is cursive. The notion of ligature is of a particular importance. Handling ligatures in Arabic is of a strong complexity in comparison with Latin alphabet based scripts. Now, let us give some details on connections of letters since they are the bases of the ligatures. In Arabic calligraphy, a connection is a ne curve following the nib's head inclination that connects a letter to another before or after it. So, we can talk about

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

Vertical connection : a vertical connection allows

connecting two letters so that their boxes can be positioned vertically (see gure 25). The gure 23 and 24, displays the succeeding and preceding connections of the two letters NOON and HAH.

Figure 23. In gray, vertical succeeding connection of the letter NOON Figure 19. A stretching of 12 diacritic points horizontally and 0.5 vertically in initial position

preceding and succeeding connections (see gure 20 and 21). In the sequel, categories and examples of connections are given. Actually, two categories of connections can be distinguished, namely :

Figure 24. In gray, vertical preceding connection of the letter HAH in median position

Figure 20. In gray, succeeding connection of the letter KHAH in initial position Figure 25. Boxes position with horizontal connections

Figure 21. In gray, preceding connection of the letter TAH in nal position

When they are in the middle of the word, some Arabic letters can have both a succeeding connection and a preceding connection at the same time. For instance, consider the letter in the middle of the word (see the gure 26).

Horizontal connection : horizontal connections can

be regarded as tools to tie letters so that the boxes containing these letters are horizontally positioned. In the gure 20 and 21 are showed the horizontal succeeding connection of the letter KHAH and the preceding connection of the letter TAH respectively. The connections are in thin gray. In the gure 22, formed of the letters and with the word their digital boxes is presented. So, the denition of the horizontal connection is more clear.

Figure 26. An Arabic letter with a succeeding and preceding connections

We dene a ligature as a set of one or more pair of connections. A pair of connections is composed of a succeeding connection and a preceding one. There are two categories of ligatures namely :
Horizontal ligature : it is a combination of an hori-

Figure 22. Boxes position with vertical connections

zontal succeeding connection and an horizontal preceding one. In the gure 22, the ligature between the letters KHAH in initial position and TAH in nal one of the word is an example of such ligature.

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

Vertical ligature : it is a set of pairs of vertical con-

nections. Every pair is formed of a vertical succeeding connection and a vertical preceding connection. In the gure 25, a vertical ligature appears between the letters NOON and HAH. It contains one pair of vertical connections. It is then a simple vertical ligature. In the gure 27, the ligature is composed of two pairs of connections connecting the letter LAM to MEEM and MEEM to JEEM. The ligature is then double. Whereas, on the gure 28, the ligature connects four letters and thus is formed of three pairs of vertical connections. It is a triple ligature.

(a)

(b)

(c) Figure 27. Double vertical ligature

(d) Figure 28. Triple vertical ligature Figure 30. a) Compound letter with horizontal succeeding connec-

Some difculties occur in handling vertical ligatures. Solutions can be found through considering the connected letters as a single character [30]. We'll adopt the same strategy concerning this kind of ligature. We will refer to those characters as compound letters. In this way, the compound letters are considered as single characters with horizontal preceding connections, horizontal succeeding connection or both of the two connections. They can also be considered as standalone letters. All of these cases are presented in the gure 30. So, the compound letters can accept preceding or succeeding connections or contribute simply as standalone characters in words (see gure 31). They can also contribute in stretching (see gure 29). We can remark that the handling of vertical ligatures can be brought to the study of the horizontal ligatures. For that reason, we will give in the following all kinds of horizontal connections and ligatures. We have seen in the subsection 2.4 that the movement of the nib's head is characterized by one of its corners. We present then the kinds of connections and ligatures in their geometrical forms through considering the trajectory of the left bottom corner of the nib's head. In designing the letters of our font, the connections are formed of one cubic Bzier

tion, b) Compound letter with horizontal preceding connection, c) Compound letter with horizontal succeeding connection and preceding connection, d) Compound letters as standalone letters.

Figure 31. Contribution of compound letters as simple ones in words

10

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

Figure 29. Contribution of compound letters in stretching

L0

L1

L2 L3

R0 R1

R2

R3

L0 L1 L2 L3 R0 R1 R3 R2

(a)

(b)

Figure 32. a) Oblique preceding connection, b) Oblique succeeding connection

curve. In the following, we suppose that the preceding connections have L0 , L1 , L2 and L3 as control points whereas, the succeeding connections have R0 , R1 , R2 and R3 as control points. There are various kinds of horizontal connections. A lot of them are, in general, not respected for reasons of simplication when that is not due to ignorance. Horizontal connections can be one of the ve kinds :
Oblique connection : in the gure 32 are presented

(a)

(b)

Figure 33. a) Horizontal preceding connection big-strictly above the baseline, b) Horizontal succeeding connection big-strictly above the baseline

in the left a preceding connection and in the right a succeeding one. These connections are oblique because the segments [L2 , L3 ] and [R0 , R1 ] are not parallel to the baseline.

L0

L1

L2

L3

Horizontal connection big-strictly above the baseline : a connection is horizontal big-strictly above the baseline when the segment [L2 , L3 ] for the preceding connection and segment [R0 , R1 ] for the suc-

(a)

R3 R0 R1 R2

ceeding connection are parallel to the baseline and over it about one and 0.54 diacritic Point (see gure 33).

Horizontal connection strictly above the baseline :

the connections presented in the gure 34 are horizontal strictly above the baseline because the segments [L2 , L3 ] and [R0 , R1 ] are parallel to the baseline and over it about a half of a diacritic point (0.55 precisely).

(b) Figure 34. a) Horizontal preceding connection strictly above the baseline, b) Horizontal succeeding connection strictly above the baseline

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

11

Horizontal connection exactly on the baseline : in this case [L2 , L3 ] and [R0 , R1 ] are exactly on the

C2 is a succeeding connection and if L0 , L1 , L2 and L3 are the control points of C1 , and R0 , R1 , R2 and R3 are control points of C2 then L3 and R0 coincide and, L2 , L3 and R1 are

baseline as in the gure 35.

aligned.

L0 L1 R3

L2

L3

R0 R1

R2

Note that the kind of the ligature is entirely determined by the kind of its connections. So, there are ve kinds of horizontal ligatures. A font respecting a minimum of the Naskh calligraphic rules may support at least the
horizontal connections (ligatures) exactly on the base line and below the baseline. The connections below

(a)

(b)

Figure 35. a) Horizontal preceding connection exactly on the baseline, b) Horizontal succeeding connection exactly on the baseline

Horizontal connection below the baseline : [L2 , L3 ] and [R0 , R1 ] are parallel to the baseline and below

it, about an amount that goes from zero to a half of diacritic point. In general, the depth of this connection depends on its width. These connections are used in certain cases of the keshideh. An example is given in the gure 36.

the baseline are used in to stretch. We can state that these two kinds of horizontal ligatures are mandatory whereas other horizontal and vertical ligatures are rather aesthetic. However, Arabic handbooks calligraphy show more aesthetic ligatures than mandatory ones. That's one of the motivations behind the design of a font that allow producing documents closer to handwritten texts. The horizontal oblique connections big strictly above the baseline, strictly above the baseline and strictly bellow the baseline are not supported in [18, 8, 4, 31].
bic calligraphy

4. Model and support of the keshideh in AraL0

4.1 Keshideh: the mathematical model


L1 L2 L3

(a)

In this sub-section, we give the geometrical representation and processing of the curvilinear stretching. In order to present how to handle geometrically the keshideh, we'll rst dene the way of stretching some particular curves that constitute basic elements of the keshideh. Consider the following notations :
The notation [M0 , M1 , M2 , M3 ] : is the Bzier curve with control points M0 , M1 , M2 and M3 ,

R0

R1

R2

R3

The set B1 : is the set of Bzier curves [M0 , M1 , M2 , M3 ] with an invariant concavity ver-

ifying:

(b) Figure 36. a) Horizontal preceding connection Below the baseline, b) Horizontal succeeding connection below the baseline

M 2 M3 = i , R + and 0 M0 M1 , i 2 , (see gure 37), where i is the axis X director vector and ( u, v ) stands for the angle between the two vectors u and v.
M0 M1 j i M2 M3

Now, we can dene what does horizontal ligature means geometrically. An horizontal ligature is a combination of two horizontal connections C1 and C2 such that :
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

The set B2 : is the set of Bzier curves [M0 , M1 , M2 , M3 ] with an invariant concavity ver-

ifying:
2

{I } = (M10 M11 ) (M12 M13 )


and

M0 M1 = i , R + and 0 i , M3 M2

(see gure 38).


M3 M2 M0 j i M1

{J } = 1 2 with 1 : the parallel to (M10 M11 ) passing through the point M20 , 2 : the parallel to (M12 M13 ) passing through the point M23 .

An example of a stretching using the function Ebe is presented in the gure 39.
h M20 B2 M21 J M10 M11 I M22 B1 M12 M13 M23 v

Figure 38. Curves of type 2 (in B2 )

The keshideh is a juxtaposition of two Bzier curves, B1 from the set B1 and B2 from the set B2 . If L0 , L1 , L2 and L3 are the control points of B1 and R0 , R1 , R2 and R3 are the control points of B2 then L3 and R0 are equal. The keshideh's stretching results from the denition of the functions that stretch curves in B1 and B2 . So, we give the denition of two stretching functions Ebe that stretches curves in B1 and Eaf that stretches curves in B2 as follows. Let Ebe be the stretching function dened by:
Ebe : B1 [0, hm ] [0, vm ] B1 (B, h, v ) Ebe (B, h, v )

Figure 39. Stretching a curve belonging to the set B1 with Ebe

(Ebe (B1 ) = B2 )

Now, we have a function that allows stretching a curve belonging to the set B1 , what about curves in B2 ? Let Eaf be the stretching function dened as follows:
Eaf : B2 [0, hm ] [0, vm ] B2 (B, h, v ) Eaf (B, h, v ) =

The transformation Ebe stretches curves in B1 . The details of its denition are given below : Let B1 = [M10 , M11 , M12 , M13 ] and B2 = [M20 , M21 , M22 , M23 ] be two curves in B1 . Let (h, v ) [0, hm ] [0, vm ]. h stands for the horizontal stretching amount whereas v is the vertical one.

The details of the denition of Eaf are : Let B1 = [M10 , M11 , M12 , M13 ] and B2 [M20 , M21 , M22 , M23 ] be in B2 . Let (h, v ) [0, hm ] [0, vm ]. Denition 2 (Eaf transformation).

B2 = Ebe (B1 , h, v ) if and only if the control points of B2 are : M20 M23 M21 M22 = M10 (h, 0) = M13 (0, v ) = (1 c1 ) M20 + c1 J = (1 c2 ) J + c2 M23

Denition 1 (Ebe transformation).

B2 = Eaf (B1 , h, v ) if and only if the control points of B2 are : M20 = M10 (h, v ) M23 = M13 M21 = (1 c1 ) M20 + c1 J M22 = (1 c2 ) J + c2 M23
With c1 , c2 [0, 1] satisfying :

With c1 , c2 [0, 1] satisfying :

M11 = (1 c1 ) M10 + c1 I M12 = (1 c2 ) I + c2 M13


Where

M11 = (1 c1 ) M10 + c1 I and M12 = (1 c2 ) I + c2 M13


Where

{I } = (M10 M11 ) (M12 M13 ) and

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

13

{J } = 1 2
with

t u (B11 ) to get B11 , where t u is a translation of h vector u = , 0 (see gure 43), 2

1 : is the parallel to (M10 M11 ) passing through the point M20 , 2 : is (M12 M13 ).

V11 V12 R23 R13 V 10 C2 R12 V13 R22 R11 R21

As for the function Ebe , an example of stretching with the function Eaf is given in the gure 40.
M13 M23 B1 M11 M21 I J M12 M22

L 10 L 11 B 11 L 12 B21

L 13 v R

h/2 R10 B22

20

h v M 20 B2

M10

Figure 43. Translation of B11 towards the right-side of

h 2

Ebe B11 , h 2 , v to have B 12 (see gure 44)


Figure 40. Stretching a curve belonging to the set B2 with Eaf

( Eaf (B1 ) = B2 )

V11 h/2 L20 L 10 L 11 B12 L22 B 11 L 12 B21 V12 R23 R13 V 10 C2 R12 V13 R22 R11 R21

Now, consider a set of curves C (see gure 41) to be stretched. More exactly, the stretching will be done with a keshideh modeled with the curves B11 and B21 . Consider the following curves : C1 : a curve bound to the left of B11 (see gure 41), C2 : a curve bound to the right of B21 .
V11 P11 P10 P12 C1 P13 L10 L11 B11 L12 B21 R11 Keshideh R13 V 10 C2 R12 V13 V12

L21

L 13 v L23 R20

h/2 R10 B22

Figure 44. Stretching the curve B11 of

h 2

and v

R10 L13

t v (C1 ) to have C1 , where t v is a translation of vector v = (h, 0) (see gure 45).

Figure 41. initial state of a set of curves C to be stretched

The stretching or the keshideh with regard to h horizontally and v vertically results from the following transformations :
Eaf B21 , h 2 , v to get B22 (see gure 42),
V11 V12 R23 R13 V 10 C2 R12 V13 R22 R11 R21

After all these transformations, the set of curves C gives a stretching as in the gure 46. In the PostScript encoding, not all these transformations are to be handled explicitly. In some cases, some of them (some translations) are automatically processed with the PostScript interpreter. We remark that before stretching, R12 , R13 and V11 are aligned. After the stretching R22 , R23 and V11 are aligned too. The angles (L10 P12 , L10 L11 ) and (L20 P12 , L20 L21 ) are equal. The derivatives of degree 0 and 1 are preserved in the points where the keshideh is connected to other curve sets.
4.2 Keshideh: The support in the font

h/2 R10 v R 20 B22

B21

Figure 42. Stretching the curve B21 of

h 2

and v

As it has been said before, the keshideh is a small owing curve that stretches and/or connects Arabic letters. Even tough it is not a character it is supported as parts of the stretched letters. And, as it has also been said before, the stretching can appear inside a letter or between two connected letters (see gure 4). When a word, in a text, is to be stretched, if the last letter of this word

14

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

V11 P11 P12 C1 P13 h/2 L20 L 10 L 11 B12 L22 B 11 L 12 B21 V12 R23 R13 V 10 C2 R12 V13 R22 R11 R21

P10

L21

L 13 v L23 R20

h/2 R10 B22

Figure 45. Translation of C1 towards the right direction in h


V11 P11 P12 C1 P13 L20 R23 V10 C2 R22 B22 L22 L23 R20 R21 V12 V13

P10

L21

B12

Figure 46. The set C after stretching of h and v

is a stretchable one, the stretching occurs in this letter otherwise the stretching will be in the ligature between the two last connected letters of the word. The two cases are presented separately in the following.
4.2.1 Inter-letters keshideh

perform the two actions :


to stretch the horizontal succeeding connection of the letter of h 2 horizontally and v vertically and to stretch the horizontal preceding connection of the letter of h 2 horizontally and v vertically.

The keshideh is a juxtaposition of two curves of type 1 and type 2. When the keshideh appears between two connected letters, the rst curve is the horizontal preceding connection below the baseline of the letter in the left and the second part of the keshideh is the horizontal succeeding connection below the baseline of the letter in the right. When we designed the font, we parameterized the horizontal connections exactly on the baseline in a way such that they can be stretched horizontally to the right and vertically downwards. So, when the stretching is null, the connections are simply those exactly on the baseline, otherwise they are horizontal strictly below the baseline. From now, we mean by parameterized horizontal connection exactly on the baseline a connection that support the connection exactly on the baseline and below the baseline. For example, when the word is to be stretched, the stretching occurs between the letters and . The letters and have horizontal connections exactly on the baseline that are parameterized to support stretchability. Then, the Stretching consists on keeping the word as it is and communicating a horizontal and vertical amounts of stretching as parameters to the procedures for writing these two letters. Suppose that we want to stretch the word of an amount h horizontally and v vertically downwards, then, we have to

In the gure 47, an illustration of a stretching in a font size equal to 64 points is given. In the rst line, the word with a null stretching is presented. In the last line, the same word is stretched 12 dp (diacritic point) horizontally and 0.5 dp vertically. In the second line the letters and in their initial shapes are showed whereas in the third line, both of the two letters have a stretching of 6 dp horizontally and 0.5 dp vertically. Most of the handbooks of calligraphy [3, 22, 25], teach that : in the beginning of a word in Arabic letters, the commonly used horizontal connections are oblique, big strictly above the baseline and strictly above the baseline. That's an aesthetic need. When we have to write the word formed of the letters BEH in initial position and AIN in the end without stretching, a letter BEH and AIN with horizontal succeeding connection and preceding connection respectively strictly above the baseline are used. Let be such a word (the word to the right on the gure 48), when a stretching is needed, the alternatives of these two letters with horizontal connections below the baseline (they are horizontal connections exactly on the baseline when the amount stretching is null) are used. In this way, the word would be used. The 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

Figure 48. Useful alternatives to stretch

Figure 47. Inter-letters keshideh mechanisms

We can introduce these alternatives in the font to solve the problem of stretchability needs so that the texts processed with the font satises the Calligraphic rules. Of course, these alternatives are allowed by the Calligraphic rules and exist. Consider the word , the letter admits an horizontal connection after exactly on the baseline because is a strongly rising letter from the baseline. It is the same for the letter that admits a preceding connection exactly on the baseline. It is mandatory in a situation such as after the letter in the word or after inside the word . We can apply the alternatives of letters also when the ligature is oblique, in the case of a null stretching. But it doesn't work in some particular situations such that concerning the stretching of the word . Stretching the ligature between the two letters of the word has been handled in a particular way. Indeed, when some characters such as (or its variants) are in initial position and that they are followed by TAH in nal position (or its variants), the connections are oblique and then, stretching through using the alternative of the letter KHAH and TAH with parameterized horizontal connections exactly on the base line gives a bad result in comparison with the handwritten proof. It took a lot of time to nd a solution to this case. It reminds the case where D.E. Knuth spent a lot of time modeling mathematically the letter S in Metafont. The cases are not analogous, technically saying, but in difculties to nd a solution they are. A method to nd a solution to this case consists on including the stretching inside

the character TAH. We developed an alternative of the TAH in nal position with a connection before consisting of two Bzier curves Bl in B1 with control points L0 , L1 , L2 and L3 on the left, followed by another Bzier curve Br in B2 with control points R0 , R1 , R2 and R3 on the right such L3 coincides with R0 . Let be that alternative (see gure 50), the keshideh will then be the combination of these curves and there is precisely the place where stretching will take place (see gure 51, the rst occurrence of the word in the right is with oblique connections). We conclude that to stretch the word , we may keep the letter without changes and replace the letter (see gure 49) by (see gure 50) and then, the stretching can be performed. With this alternahas been appreciated tive the stretching of the word by a calligrapher and became good in comparison to the handwritten proof.

Figure 49. TAH in nal position with oblique preceding connection

Figure 50.

Alternative for stretching the character TAH in nal

position proceeded by HAH in initial position

Figure 51. Stretching in the level of TAH


4.2.2 The intra-letter keshideh

When the keshideh is inside a character, say for instance, into the letter QAF, in nal position of the word , according to the Arabic calligraphy rules, the letter QAF admits an horizontal stretching between 9 and 12 diacritic

16

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

points. The shape of the letter QAF without stretching is quite different from the stretched one, the character . is only a variant of . So, it has the same width of increased of 9 diacritic points. It also has the same depth as increased of the vertical downward stretching corresponding to the horizontal stretching of 9 diacritic is used points. To compute the stretching, the letter and can be stretched horizontally between zero and three diacritic points. The vertical stretching varies in the range corresponding to the horizontal extension from zero to three diacritic points. The keshideh is performed inside . The part modeling the keshideh is displayed in gray on the gure 52. The letter QAF in nal position is in font size 128 points. The control points of the left bottom corner of the nib's head are given to make it more understandable.

4.3 The nib's head motion modeling approach versus other approaches

Baseline

L0 L1 L2 L3 R0 R1 R2

R3

Figure 52. The keshideh in the letter QAF in nal position

In the development of our PostScript font, the horizontal stretching is a value communicated to character procedures as a global variable h. As in [8], at the end of each call of procedure, the value of h is put back to zero. The value h is determined by means external to the font, such as the text formatting programs. Then it is communicated to the character procedures in the font. The vertical stretching v is determined from the horizontal stretching in the font through the simple function dened in the following :
h : value of horizontal stretching (towards the right

direction),

v : value of vertical stretching corresponding to h (downward), v depends on h, so we can write v = (h) where is dened by : : [0, hm ] [0, vm ] vm h h h m hm : maximal value of horizontal stretching, vm : maximal value of vertical stretching.

With regard to the denition of the function , the curvilinear stretching functions Eaf and Ebe dened above can be regarded as linear scaling, but they are not so.

In this sub-paragraph, the approach for modeling of the nib's motion is compared in one hand to the Knuth's approach in Metafont [10] and to the Kinch's one in MetaFog [28] in the other hand. These two approaches seek the envelope of an ellipse stroking (a nib with an elliptic head) in two different ways. The Knuth's approach follows the Hobby method [16] to represent the envelope in terms of the raster instead of scalable curves. Kinch solve the problem through representing the envelope in an algebraic and topological way. In our approach, the envelope of the characters static parts is determined using tools outside the PostScript interpreter. A specic 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 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 parts of the keshideh, the envelope is determined in a way different from the Knuth's and Kinch's approaches. In order to well explain and justify our approach, let us consider a left component of a keshideh (see gure 53). The curve B1 of type 1 in the gure 53 has the control points (169,205), (170,151), (249,134) and (340,134). The nib's head width and thickness are 31.9643 and 15.9821 points respectively. Here, we have considered a thickness equal to half of the width for clarity. The points where the slops are parallel to the vectors dening the nib when the thickness is a sixth of the width are the same. The vectors u 1, u 2 and u3 are respectively (10.9177,30.042), (-4.10678,35.4913) and (-15.0244,5.44933). B1 (t) is parallel to u 2 at 0.0323 and to u 3 at 0.4923. After applying a stretching with the Ebe to B1 with an horizontal stretching equal to 109.1601 points and a corresponding vertical one 9.0966 points, we obtain the curve B2 with the control points (59.8398972,205), (60.9680176,144.081482), (190.549225,124.903397) and (340,124.903397). Then B2 (t) is parallel to u 2 and u 3 at 0.0224 and 0.3980 respectively. The coefcients where the slopes are parallel to the vectors of the nib's head change from a stretching state to another. The reason for this is simply that the functions of stretching used to compute the keshideh are not a linear scaling. In order to determine these coefcients and therefore, to be able to determine the envelope as the Kinch's approach seek through computing these coefcients in the PostScript character procedure. Then, printing the character will be very slow. To avoid such 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 surface razed with the nib's head according to the curve B1 is showed. Whereas, in the gure 55, we have drawn the surface that is on the gure 54 and then drawn the envelope (in gray) with our adopted technique on it. We remark that we can not distinguish the lost zones (that 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 results 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 between the width and the thickness of the nib's head (one a sixth) the result would be more satisfying visually.

u2

u1

u3

70

Figure 55. The razed surface with our approach

(a)

(b)

Figure 56. a) Arabic text lines before justication, in 18 pt, b) Arabic text lines after justication.

5. Conclusion and perspectives


u2 u1

u3

70

Figure 54. The real razed surface

Our main goal consisted on designing a font that helps in producing Arabic documents looking like handwritten proof. So, it was necessary to identify all kinds of ligatures and to introduce keshideh in an adequate way. We were brought to scan the handwritten proofs and then to work on these proofs with simple graphic tools

18

International Arab Journal of e-Technology, Vol. 1, No. 1, January 2009

like Kontour [19] under Linux [24], in order to get the encoding of the letters in terms of Postscript Bzier's curves. The existing font tools were not enough to take into account the motion of the nib's head, the metrics in diacritic point, the possibility to correct some errors allowed for the calligrapher in handwritten proofs etc. We worked almost manually to design the PostScript encoding of some characters that represent most of the cases and we got so a mini-font. This font has been used to give the example in the gure 56. This is a set of lines (with no meaning in Arabic) to assess justication through keshideh. The requirements, support and development of a tool to assist in designing Arabic fonts should be a separate work. In any way, there will be no satisfying compromise to respect the rules of Arabic calligraphy unless a geometrical model for all the characters and symbols is built.
References

[1]
[2] [3] [4] [5] [6]

Adobe Systems Incorporated, Adobe Type 1 Font Format, Part No. LPS0064, 1990. Adobe Systems Incorporated, PostScript Language Reference Manual, MA:Addison-Wesley , Third edition,Massachusetts, 1999. Ahmed El Houssaini, The Arabic Calligraphy, Dar Attaila, 1994. Azzeddine Lazrek, A package for typesetting Arabic mathematical formulas, Die TEXnische Komodie, DANTE e.V., Vol.13, No. 2, pp. 5466, 2001. Azzeddine Lazrek, CurExt, Typesetting variable-sized curved symbols, EuroTEX 2003 Pre-prints : 14th. European TEX conference, Brest, France, pp. 47-71, 2003. Brian A. Barsky, The Beta-splines : A Local Representa-

[21] LYX Team, The LYX User Manual, http://www.LYX.org, Version 1.3.4, 2004. [22] Mahdi Essaid Mahmoud, Learning Arabic Calligraphy : Naskh, Roqaa, Farsi, Thuluth, Diwany', Ibn Sina publisher, Cairo- Egypt, 1994. [23] Mamoru Hosaka, Fumihiko Kimura, A Theory and Methods for Free Form Shape Construction, Journal of Information Processing, Vol 3, No 3, pp. 140-151, (1980). [24] Mandrake Soft, Mandrake Linux 8.2, http://www.mandrakeSoft.com, 2002. [25] Mohammed Hachem El Khattat , Arabic Calligraphy Rules, A Calligraphic set of Arabic Calligraphy Styles, Books Univers, Beyrouth- Lebanon, 1986. [26] M. J.E. Benatia, M. Elyaakoubi, A. Lazrek , Arabic Text Justication, TUG 2006 Conference Proceedings, Volume 27, No 2, pp. 137-146, 2006. [27] Mostafa Banouni, Mohamed Elyaakoubi, Azzeddine Lazrek, Dynamic Arabic Mathematical Fonts, Lecture Notes in Computer Science (LNCS), Springer Verlag, Volume 3130, pp. 158-168, 2004. [28] Richard J. Kinch, MetaFog : Converting Metafont Shapes to Contours, Preprint: Proceedings of the Annual Meeting, pp:1001-1011, June 1996. [29] Ronald N. Goldman, Using Degenerate Bzier Triangles and Tetrahedra to Subdivide Bzier Curves, Computer-Aided Design, Vol 14, No 6, pp. 307-311, November 1982. [30] Yannis Haralambous, The Traditional Arabic Type-case Extended to the Unicode Set Of Glyphs, Electronic Publishing, Vol. 8, No. 2-3, pp. 111-123, 1995. [31] Yannis Haralambous, John Plaice, Multilingual Typesetting with , a Case Study : Arabic, International Symposium on Multilingual Information Processing'97 , Tsukuba (Japon), pp. 137-154, 1997. [32] William T. Reeves, Quantitative Representations of Complex

Dynamic Shapes for Motion Analysis, PhD thesis, University


of Toronto, 1981.

tion, University of Utah Salt Lake City, December 1981. [7] Brian A. Barsky, Arbitrary Subdivision of Bzier Curves, Technical Report UCB.CSD 85/265, Computer Science Division, University of California, 1985. [8] Daniel M. Berry, Stretching Letter and Slanted-Baseline Formatting for Arabic, Hebrew and Persian with dittroff/fforttid and Dynamic PostScript Fonts, Software-Practice and Experience, vol. 29, no. 15, pp.1417-1457, 1999. [9] D.E. Knuth, The TEXBook, Computers and Typesetting, Reading MA : Addison-Wesley, Vol.A, 1984. [10] D.E. Knuth, The MetafontBook, Computers and Typesetting, MA: Addison-Wesley, Vol.C, 1986. [11] D. Weise, D. Adler, TrueType and Microsoft Windows 3.1, Technical Report, Microsoft Corporation, Redmond, WA, 1992. [12] Jacques Andr, B. Borghi, Dynamic Fonts, PostScript Language Journal, Vol 2, no 3, pp. 4-6, 1990. [13] Jacques Andr, Irne Vatton, Contextual Typesetting of Mathematical Symbols Taking Care of Optical Scaling, Technical report No 1972, INRIA, October 1993. [14] Jacques Andr, Irne Vatton, Dynamic Optical Scaling and Variable-sized Characters, Electronic Publishing, Vol 7, No 4, pp. 231-250, December 1994. [15] Jeffrey M. Lane, Richard F. Riesenfelf, Bounds on Polynomial, BIT, Vol 21, No 1, pp. 112-117, 1981. [16] John Douglas Hobby , Digitized Brush Trajectories, Ph.D. Thesis, Department of Computer sciences, Stanford University, August 1985. [17] John Douglas Hobby, A User's manual for MetaPost, Technical Reports Report, AT& T Bell Laboratories Computing Science 162, 1992. [18] Klaus Lagally, ArabTEX User Manual, Universitat Stuttgart, Fakultat Informatik, Version 4.00, 2004. [19] KOfce. `Kontour : Kofce drawing tool, http://www.kofce.org/Kontour, 2001. AT [20] Leslie Lamport, L EX-A Document Preparation System, Reading MA: Addison Wesley, 1985.

tion Based on Shape Parameters and Fundamental Geometric Measures, Department of Computer science, Ph.D. disserta-

Abdelouahad BAYAR is professor of mathematics and computer science at Cadi Ayyad University (cole Suprieure de Technologie) in Sa, Morocco since 1996. He gets a CEUS (Certicat d'Etudes Uinversitaire Suprieures) in applied mathematics and computer science in 1996. He integrates then the university as a research-teacher. He holds his Doctorat of the thirth cycle in 1999 in Computer science in communication networks. Since 2007, Bayar is a member of the group of Information Systems and Communication Networks LSNC in Information Systems Ingeniering Laboratory ISIL. His actual investigations deal especially with dynamic fonts and calligraphic rules formalization. Khalid SAMI is professor of mathematics at Cadi Ayyad university (Facult des Sciences) in Marakech, Morocco since 1983. Since years, he's intrested in multilingual scientic text formatting. Some of the work relevant to this area is presented in the url www.ucam.ac.ma/fssm/rydarab.

S-ar putea să vă placă și