The Arabi Package User Guide
user_guide
User Manual:
Open the PDF directly: View PDF .
Page Count: 103 [warning: Documents this large are best viewed by clicking the View PDF Link!]
- List of Figures
- List of Tables
- Chapter 1. Preface to Version 1.1 تقديم للإصدار 1.1
- Chapter 2. Presentation مقدمة
- Chapter 3. The Arabic Script خصوصيات الخط العربي
- Chapter 4. Use of the System استعمال النظام
- Chapter 5. Bi-directional Support كيف تختار الاتجاهين
- Chapter 6. Arabi Localisation تمايز واختلاف
- Chapter 7. Arabi Features خصوصيات العربي
- Chapter 8. Some compatibility issues مرونة العربي وتعايشه في سلام مع الرزم الأخرى
- Chapter 9. Arabi with XeTeX العربي و زي تخ
- Appendix A. Arabi package components محتويات رزمة العربي
- Appendix B. Final Note آخر الكلام
- Appendix C. Changes مستجدات
- Bibliography
- Index

]ﻲﺑrﻌﻟا[ﺦﺗﻻمA\ﻧ
ﻲﺑrﻌﻟا XﺨﻟAﺑ TﺑAtkﻟا ﻲﻓ —يCAbﻟا Tnﻣ
ﯽﺳرﺎﻓ وﻲﺑrﻋ
Typesetting Arabic and Farsi with the package
The Users Guide
يrﺑAﺠﻟاﻒFwﻳ
cYOUSSEF JABRI
École nationale des sciences appliquées,
Box 696, Oujda, Morocco
Version 1.1, December 16, 2006

Contents
List of Figures 4
List of Tables 5
Chapter 1. Preface to Version 1.1
1.1 Cاd}ﻺﻟ ﻢﻳdqﺗ 10
Chapter 2. Presentation
Tﻣdqﻣ 11
2.1. What you need to have to use 12
2.2. How this document is organized 12
Chapter 3. The Arabic Script
ﻲﺑrﻌﻟا Xﺨﻟا ‹Ay}wOﺧ 14
3.1. The Arabic script 14
3.2. The Arabic language 15
3.3. The Arabic alphabet 15
3.4. The Persian language(s) “Farsi” 17
3.5. The Farsi Alphabet additions 18
Chapter 4. Use of the System
مA\nﻟا لAmﻌtFا 22
4.1. Input encodings supported by 22
4.2. Declaring the right input encoding 23
4.3. Calling 23
4.4. Preparing an Input file 24
4.5. The document 25
4.6. Numbers within Arabic and Farsi texts 25
4.7. Breaking ligatures 27
4.8. Turning vowels ON/OFF 28
4.9. Forcing the final form of a vowelized connecting character 29
Chapter 5. Bi-directional Support
ﻦyﻫAﺠﺗﻻا CAtﺨﺗ ﻒyﻛ 30
5.1. Global formatting parameters 30
5.2. Sectioning commands 31
5.3. Displayed Material. Lists environments 32
5.4. More Displayed Material 36
5.5. Footnotes 37
1

2ﻲﺑrﻌﻟا مA\ﻧ
Chapter 6. Localisation
فﻼtﺧاو zﻳAmﺗ 39
6.1. Arabic and Farsi captions 39
6.2. Arabic and Farsi dates 39
6.3. The Arabi numeration system 41
6.4. Farsi mathematics 43
6.5. Transliteration signs and standards 45
6.6. Special characters 45
Chapter 7. Features
ﻲﺑrﻌﻟا ‹Ay}wOﺧ 47
7.1. The fonts 47
7.2. Available Arabic fonts 47
7.3. Available Farsi fonts 49
7.4. How to get Outline fonts for free 49
7.5. Search and copy PDF files 52
7.6. Arabic characters in the bookmarks sidebar 53
7.7. Arabic and Farsi Poetry within 53
7.8. T
EX4ht support 55
How to produce a file from a input file 57
Chapter 8. Some compatibility issues
ىrﺧﻷا مErﻟا ﻊﻣ مﻼF ﻲﻓ ﻪKﻳAﻌﺗو ﻲﺑrﻌﻟا Tﻧوrﻣ 59
8.1. and 59
8.2. and 61
8.3. and 61
8.4. and or gymnastics 62
8.5. from the package 65
8.6. and 67
Chapter 9. with X
E
T
EX
ﺦﺗيE و ﻲﺑrﻌﻟا 70
Appendix A. package components
ﻲﺑrﻌﻟا TﻣEC ‹Aﻳwtﺤﻣ 71
1.1. Main Package files 71
1.2. Input encoding files 72
1.3. Font encoding files 72
1.4. Specific files to access Fonts 72
1.5. TeX4ht support files 72
1.6. CMap translation files 72
Appendix B. Final Note
مﻼkﻟا rﺧآ 73
2.1. Acknowledgment 73
2.2. Shortcomings, Desiderata 73
2.3. License 74
2.4. Bugs and Error Reporting 74

List of Figures
0.1 and the package 9
3.1 . and the package I 21
4.1 Sample input 26
4.2 Sample output 27
4.3 Activating, Deactivating and Reactivation vowelization again 29
4.4 Typing final vowelized connecting characters 29
6.1 How Mathematics are written in the Farsi editor 43
6.2 And how they should appear once typeset 44
7.1 Searching PDF files 52
7.2 Arabic characters in the Bookmarks side bar 53
7.3 and input 56
7.4 The file as shown in a web browser 57
7.5 The file with a slightly modified CSS 58
8.1 and 59
8.2 and input 60
8.3 . and the package II 61
8.4 and 63
8.5 and ArabT
EX side by side 65
8.6 ArabT
EX at work inside Arabi 66
8.7 and coding 69
4

List of Tables
3.1 The modified Farsi letters 19
6.1 Captions in Arabic and Farsi 40
6.2 Arabic and Farsi month names 41
6.3 Arabic numerals 42
6.4 Farsi numerals 42
6.5 A little example of transliteration 45
7.1 The three font choices for Arabic 49
7.2 The fonts actually available with Arabic 50
7.3 The fonts actually available with Farsi 51
7.4 The two font choices for Farsi 51
5
ﻢsbﺑ
Aﻣ ﻻإ AnbþþþyOﻳ ﻦﻟ ﻞﻗ
Aﻧﻻwþþþþþþþﻣ wﻫ Anﻟ üا ﺐtﻛ
نwnﻣﺆmﻟا ﻞﻛwtylﻓ üا Ylﻋو
:QüالwFCدءAﻋدﻦﻣنAﻛ
, ﻢlﺤﻟAﺑ ﻲnﻳEو , ﻢlﻌﻟAﺑ ﻲnnﻏأ ﻢhlﻟا
. TyﻓAﻌﻟAﺑ ﻲnlmﺟو , ىwqtﻟAﺑ ﻲnﻣrﻛأو
,هryﻣأ ﻦkﺗ ﺖﺌJ ﻦﻣ Ylﻋ ﻦnﻣأ
,هry\ﻧ ﻦkﺗ ﺖﺌJ ﻦmﻋ ﻦﻐtFاو
!هryFأ ﻦkﺗ ﺖﺌJ ﻦﻣ Yﻟإ –tﺣاو
ﺐﻟﺎﻃﯽﺑأﻦﺑﯽﻠﻋمﺎﻣﻹا
ﻪhﺟو üا مrﻛ
6

The system 7
Dedicated to All the people who need it.
Abstract
The package provides the Right-to-Left scripts support for T
EX without
the need of any external preprocessor. The Bi-directional capability supposes
that the user has a T
EX engine that knows the four primitives , ,
and . That is the case of the T
EX--X
E
T and -T
EX engines and all
their extensions/variants like X
E
T
EX and 1. is fully compliant with
the system and hence a standard switching mechanism to chose the
supported languages. We intend to add some important multilingual typeset-
ting capabilities not yet supported by . It comes with many GNU Arabic
and Farsi good quality fonts and may of course also use the Arabic fonts of
commercial manufacturers. A limited support is already provided to use some
widely used Arabic and Farsi fonts that come with such systems. The package
is distributed under the L
A
T
EX Project Public License (LPPL), and has the LPPL
maintenance status “author-maintained.” It can be used freely (including com-
mercially) to produce beautiful texts that mix Arabic, Farsi and Latin (or other
type) characters.
You can simply type the text you want in 8-bit what you see is what you get
text in many input encodings (actually, CP 1256, ISO 8859-6 and Unicode UTF-
8 are supported) It can also typeset classical Arabic poetry, and has a limited,
but still useful, capability of vocalizing. It is L
A
T
EX 2 and compliant!
It has even an experimental module of transliteration!
1has not been tested with yet.
ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
]ﻲﺑrﻌﻟا[ TﻣErﻟ ﺐStqﻣ ﻢﻳdqﺗ
dﺣاو dntsﻣ ﻲﻓ ﺐnﺟ Yﻟإ ًAbnﺟ Tynyﺗﻼﻟاو Tyﺑrﻌﻟا فوrﺤﻟا لAmﻌtFا TyﻧAkﻣإ ﺢytﻳ مA\ﻧ ﻲﺑrﻌﻟا TﻣEC
دCwfﻧAtF TﻌﻣAﺟ ﻦﻣ > „wnﻛ dﻟAﻧود < ÐAtFﻷا هrktﺑا ي@ﻟا فوrﺤﻟا ﻒyfOtﻟ T
EX> ﺦyﺗ < مA\ﻧ لAmﻌtFAﺑ
ﻻ لA“mﻟا ﻞybF Ylﻋ ,ءAymykﻟاو ءAﻳzyfﻟاو ‹AyRAﻳrﻟا Ylﻋ يwtﺤﺗ ﻲtﻟAﻛ( Tymlﻌﻟا ‹اdntsmﻟا ﻒyfOﺗ ﻞﺟأ ﻦﻣ
. ﻞﺑAqﻣ نود ﻲmlﻌﻟا ﻊmtﺠmﻟا فrOﺗ ﺖﺤﺗ ﻪaﻌaRوو )rOﺤﻟا
مA\ﻧ ﻊﻣ )ﯽﺳرﺎﻓ و ﻲﺑrﻋ( ﻦytﻐlﻟا لAmﻌtFا TyﻧAkﻣإ TﻓARإ ﻞﺟأ ﻦﻣ TﻌRاwtﻣ TmﻫAsﻣ ﻲﺑrﻌﻟا TﻣEC
CAytﺧا ﻪnﻣ ﺖlﻌﺟ ﻲtﻟاو ,QwOnﻟا ﻒyfOﺗ ﻲﻓ ‹AyﻧAkﻣإ ﻦﻣ rﺧاzﻟا ﻢaﻟAﻌﻟا ا@ﻫ ﻪﻳwtﺤﻳ Aﻣ ﻞﻛ لﻼﻐtFﻻ ﺦyﺗ
. هrFﺄﺑ ﻢﻟAﻌﻟا ﻲﻓ Tymlﻌﻟا „wﺤbﻟا rKnﺑ مwqﺗ ﻲtﻟا TymﻟAﻌﻟا ‹Aﺌyhﻟاو ‹AsFﺆmﻟا
ﻊﻣ لAmﻌtFﻼﻟ ﻞﺑAﻗ ﻪﻧﻷ , Tﻧوrmﻟا ﻦﻣ rybﻛ Cdqﺑ ﻊtmtﻳو ﻻwmﺤﻣ ﻪﻧwkﺑ zymtﻳ مA\nﻟا ا@hﻓ , Tﻳاdbﻟا @nﻣو
ﻲﺟCAﺧ –ﻟAﻌﻣ يأ Yﻟإ —Atﺤﻳ ﻻ ﻪﻧأ Yﻟإ TﻓARإ ! Aﻫr“ﻛأ Aﻣو ةdﻋAsﻣ –ﻣاrﺑو ‹AﻓARإ ﻦﻣ هEAﺠﻧإ ﻢﺗ Aﻣ ﻢ\ﻌﻣ
. Tmlkﻟا ﻲﻓ فوrﺤﻟا لAkJأ dﻳdﺤtﻟ
ﻪnkmﻳ Amﻛ لAmﻌtFﻻا ةrﺣ , TyFCAfﻟاو Tyﺑrﻌﻟا طwWﺨﻟا ﻦﻣ ةrﺧاE Tﻋwmﺠmﺑ ًAﺑwﺤOﻣ ًAyﻟAﺣ ﻲﺑrﻌﻟا ÂمÂdqﻳ
. ًﻼ“ﻣ Eوdnﻳو مA\ﻧ ﻊﻣ ﻲﺗﺄﺗ ﻲtﻟا طwWﺨﻟا ﻦﻣ دdﻋ لAmﻌtFا
, لAmﻌtFﻻا ءAnﻋ ﻻإ ﻪlimﻌatsuﻣ ﻒlkﻳ ﻻو ﻲﻧAﺠﻣ ﻲﺑrﻌﻟا نﺈﻓ , ﺦyﺗ مA\nﻟ TbsnﻟAﺑ لAﺤﻟا wﻫ Amﻛ
نAﻌtsmﻟا üاو
8

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
Figure 0.1: and the package
9

CHAPTER 1
Preface to Version 1.1
1.1 Cاd}ﻺﻟ ﻢﻳdqﺗ
In this version of Arabi, we introduce some new features and corrections to version 1.0.
Actually, is a part of the MikT
EX and BakomaT
EX distributions, we could only test the
version that comes with MikT
EX which is free, BakomaT
EX is a shareware.
Among the new things with this version we may mention among other things the possi-
bility to search and copy files created with this version of when you use the
engine. This works quite well. This led us to rewrite the documentation to remove all direct
use of and replace it with . We were nicely surprised that is totally compatible
with as we didn’t get any problem. So, with this version you can search and copy Arabic
and Farsi texts from the documentation. This works with any font that is used with .
The translations files we created to support the package.
An other new feature, still experimental but which seems to work too but we did not test a
lot since it’s rather new is the possibility to get files from input files using the T
EX4ht
program.
It’s possible to get Arabic characters in files bookmarks in a Latin document that uses
Arabic (and Farsi of course). Just get a look at this document bookmarks! is not yet
supported, we get some problems when the main direction of the text is Right-to-Left. This has
to do possibly with the way we handle , and the table of contents.
There are also some changes in the way to call Arabic, Farsi and especially Latin small texts
insertions in a paragraph where the opposite direction dominates. For example, the command
is already defined to get the Polish character Ł. So Polish people and those who write Polish
would not be able to use the , as we were told in the TUG 2006 conference.
For a quick look at some of the changes and additions brought by this version, especially
for users who read already the versions 1.0 documentation, you may skip reading the entire
documentation and get a look at Appendix C entitles Changes on page 75. Nevertheless, for the
details of the changes and the new features, it is still necessary to read this guide.
Happy Arabi T
EXing!!
10

CHAPTER 2
Presentation
Tﻣdqﻣ
Ylﻋ Qrﺤﻳ ﻦﻣو , ﺊWﺨﻳ ﻞﺠﻌﻳ ﻦﻣو , ﺐlﻐﻳ ﻞhﺠﻳ ﻦﻣو , ﻢlsﻳ ﺖmOﻳ ﻦﻣو , ﻢﺣrﻳ ﻢﺣrﻳ ﻦﻣ
, ﻢOﻌﻳ rKﻟا هrkﻳ ﻦﻣو , ﻢ›ﺄﻳ ﻢtKﻟا هrkﻳ ﻻ ﻦﻣو , ﻢtKﻳ ءاrmﻟا عdﻳ ﻻ ﻦﻣو , ﻢlsﻳ ﻻ rKﻟا
, rqtfﻳ üا لﺄsﻳ ﻻ ﻦﻣو , ﻊnmtﻳ üا Yﻟwtﻳ ﻦﻣو , ﻦﻣﺄﻳ üا C@ﺤﻳ ﻦﻣو , ^fﺤﻳ üا Ty}و ﻊbtﻳ ﻦﻣو
. rf\ﻳ ﻪlﻟAﺑ ﻦﻌtsﻳ ﻦﻣو , ل@ﺨﻳ üا ﻊﻣ ﻦkﻳ ﻻ ﻦﻣو
This document descries the System version 1.1, ﻲﺑrﻌﻟاﺦﺗﻻمA\ﻧ1, an author-maintained
LPPL package for L
A
T
EX2 that provides full support of Arabic ﻲﺑrﻋ and Farsi ﯽﺳرﺎﻓfor Johannes
Braams system. It typesets Arabic text2in addition to all what can T
EX and L
A
T
EX do.
In the sequel the word Arabic may be used to refer to both Arabic and Farsi.
The distinction would be made only if something specific to one the two “lan-
guages” should be mentioned.
Our system does not need/use any preprocessor, and is certainly compatible with most
available packages because we tried to shorten to deal with the specific stuff of the
Arabic script as much as we could to avoid eventual conflicts. We tried to encapsulate all the
system intelligence (we are essentially meaning contextual analysis to detect shapes of charac-
ters3) in the fonts. While we rely on the and primitives for the bi-directional
support, to write from Right-to-Left and Left-to-Right. Thus, at the end, the necessary T
EX code
needed is similar to that of any Latin system for T
EX and is dealt with as such by the T
EX engine.
An other important advantage of our system is that in fact it’s also compatible with all other
formats, like plain T
EX and ConT
EXt for example. You may get a look at the two sample files
provided, using plain and ConT
EXt. This happens easily just because the whole contextual anal-
ysis is done in the fonts! But since, for the moment at least, we use the L
A
T
EX format, we felt that
we should prepare our system for use with L
A
T
EX.
One nice development would be the writing of the necessary macros for its use with the
ConT
EXt format!
1The name T
EX as all T
EX users know come from , the first three letters of the Greek word whose equivalent in
English is Technology. The sound equivalent to the Greek is exactly the sound of the letter h¯
aءAﺧ in Arabic.
2With opposition to the Arabic language, our system should be able to typeset any language that uses the Arabic
script and some other scripts written from Right-to-Left. Support of the Farsi language is provided since version 1.0.
Some other languages using the Arabic script should also be implemented.
3As explained farther, Arabic (and Farsi, of course) characters’ shapes vary according to the context, in particular
their forms vary according to their positions in a word. In general, in many earlier tentatives, an external preprocessor
was used to do the contextual analysis and compute all the needed ligatures before feeding T
EX with the result.
11

12 ﻲﺑrﻌﻟا مA\ﻧ
2.1. What you need to have to use
In order to use within T
EX and/or L
A
T
EX,
1. You have to use a T
EX program with Right-to-Left capabilities. That is an “engine” that
knows the primitives , , and . In this category we do get
programs like T
EX--X
E
T, -T
EX ( -L
A
T
EX).
For example, we cite among the possible ones:
teT
EX for UNIX/Linux comes with -T
EX,
NT
EX for UNIX with T
EX--X
E
T,
for Windows, this is even the default T
EX program in MikT
EX,
DirectT
EX for Older Mac OS systems has T
EX--X
E
T built-in,
X
E
T
EX (Mac OS X, Linux and Windows), is an extended -T
EX system. This one is
particularly interesting, see below Chapter 8.6 in preparation for the details!
T
EX Live CD-ROMs distributed by the T
EX Users Group (TUG).
2. You should also have , this is certainly the case if your distribution is not too
much old. Otherwise you will have to download it from some 4. We think that
we have for the moment a system running with enough Right-to-Left text formatting
capabilities to be used quite efficiently. We did not want to loose time rewriting a code
that exists and is used widely.
2.2. How this document is organized
In the next chapter, we recall succinctly some Arabic script specificities. We focus our atten-
tion especially on what may affect its typesetting with T
EX. In Chapter 3, we describe the way
our system should be used. The input description and basic commands to get the Arabic script,
vowelized or not, are given with some examples. In Chapter 4, we describe the bi-directional
sectioning commands of . We also show how appear the different lists environments and
footnotes in an Arabic context. In Chapter 5, we describe some Arabic features available with
this version 1.1 of , like the different fonts distributed with the system that can be used from
now on. The experimental transliteration module and some important packages that cooperate
fully with without any problem!
4At the time of writing this documentation, we use version 3.8a of 2004/19/02.

The system 13
! Anﺑ Ayﻫ

CHAPTER 3
The Arabic Script
ﻲﺑrﻌﻟا Xﺨﻟا ‹Ay}wOﺧ
:ﻢyﻫاrﺑإ^ﻓAﺣلAﻗ
ﻲþþþþþþþþþþþþþþþþﺗAyﺣ ﺖbstﺣAﻓ ﻲﻣwﻗ ﺖﻳدAﻧو ﻲþþþþþþþþþþþþþþþþﺗAOﺣ ﺖmhﺗAﻓ ﻲsfnﻟ ﺖﻌﺟC
ﻲþþþþþþþþþþþþþþþþþﺗاdﻋ لwqﻟ عzﺟأ ﻢlﻓ ,ﺖmqﻋ ﻲþþþþþþþþþþþþþþþþþþntyﻟو بAbKﻟا ﻲﻓ ﻢqﻌﺑ ﻲﻧwﻣC
ﻲþþþþþþþþþþþþþþþþﺗAﻓd} ﻦﻋ Qاwﻐﻟا اwﻟﺄF ﻞhﻓ ﻦþþþþþþþþþþþþþþþþﻣAﻛ Cdﻟا ﻪﺋAKﺣأ ﻲﻓ rﺤbﻟا Aﻧأ
The name of this package should not be misunderstood. It is not designed to support the
only Arabic language, but all languages that use the Arabic script. Technically speaking, for
, they will all be considered as dialects of Arabic.
3.1. The Arabic script
The Arabic script is one of the most used scripts on earth. This is the case also for Latin and
Chinese. It dominates in the Arabic countries, but has a special place for all Muslims because
it’s the script used to write the Koran, the holy book of Muslims.
The Arabic script, like all other Semitic languages, is written from Right-to-Left.
It evolved from the Nabataean Aramaic script. It has been used since the 4th century AD, but
the earliest document, an inscription in Arabic, Syriac and Greek, dates from 512 AD. During
the 7th century, dots were added to existing letters that shared the same glyphs in order to
avoid ambiguities. Further diacritics indicating short vowels were introduced later, but they are
generally used only in some particular documents as we will see later.
Many languages are written with, or used to be written with the Arabic script. This includes:
Afrikaans, Albanian, Arabic, Azeri, Baluchi, Berber, Bashkir, Belarussian, Bosnian, Chaghatai,
Chechen, Comorian, Fulani, Hausa, Kashmiri, Kazakh, Kurdish, Kyrghyz, Malay, Mandinka,
Morisco, Mozarabic, Nubian, Pashto, Persian/Farsi, Punjabi, Sanskrit, Sindhi, Somali, Songhay,
Swahili, Tamazight, Tatar, Turkish, Turkmen, Urdu, Uyghur, Uzbek and Wolof.
One important specificity of the Arabic script is that no hyphenation is needed or allowed at
all. In very old Arabic documents the words could be splitted after a non connecting character
while characters that connect never get splitted. In modern Arabic script hyphenation is forbid-
den completely. That makes it more difficult to get justification when long words occur at the
end of a line but the Arabic is cursive and has (in modern fonts to mimic the hand writing) a
special character called keshida (keshideh or tatweel a Farsi word that means stretch) that may be
used between joining characters to make the word become longer makes it easier hence justifies
14

The system 15
the lines with keshidas and not spaces as in Latin texts. An example is the following same word
لA“ﻣ that may occupy longer لAþ“ﻣ and longer لAþ“þﻣ and much more longer لAþþþ“þﻣ spaces. So at the
end, the good news are that no hyphenation patterns are needed for all languages that use the
Arabic script.
3.2. The Arabic language
Arabic is a Semitic language with much more than 200 million speakers in Algeria, Bahrain,
Chad, Djibouti, Egypt, Eritrea, Iran, Iraq, Jordan, Kuwait, Lebanon, Libya, Mali, Mauritania,
Morocco, Niger, Oman, Palestine, Qatar, Saudi Arabia, Somalia, Sudan, Syria, Tunisia, United
Arab Emirates, Uzbekistan and Yemen among other countries.
The Arabic script is particularly suited to the Arabic language. It is constituted in its basic
form by 28 consonants (29 if we count the hamza), and 6 vowels:
3 short vowels (Vowel diacritics) fatha,damma and kasra þþþiþþþþþuþþþþaþ that are written like the
accents in the Latin script. The first two vowels (from the right) appear above letters
while the third one is put below letters.
and three long vowels represented by the three Arabic consonants alif,waw and y¯
aa
اوي
The short vowels are written like accents in the Latin script, above or under consonants.
They are in general used only in religious books or in specialized books that treat of Arabic
grammar or eventually for beginners who are learning Arabic. Sometimes the diacritics are
used for decorative purposes in book titles, letterheads, nameplates, etc.
Being an , the expression “Arabic alphabet” is often used to mean Arabic consonants.
3.3. The Arabic alphabet
The main two problems1faced when trying to typeset the Arabic script with computers and
in particular with T
EX are:
1. Like all other Semitic languages, the Arabic script is written from Right-to-Left. This is
solved in T
EX by using an engine that is able to typeset from Right-to-Left and from
Left-to-Right like -T
EX or T
EX--X
E
T.
2. In Arabic, letters forms (understand glyphs) depend on their position in the word and
on the adjacent characters. We must be able to do a contextual analysis to determine the
right shape of the character before calling the right glyph that represents it. This was
done before either using a preprocessor written in some programming language like ,
for example, or even using T
EX itself as within the ArabT
EX system of K. Lagally.
For example, the 4 different forms (4 different glyphs for the same character) de-
pending on its position in a word (initial,medial,final and isolated) for the following two
1They are inherent to the Arabic script!

16 ﻲﺑrﻌﻟا مA\ﻧ
characters look like:
isolated initial medial final
بﺑbﺐ
—ﺟ ﺠ –
Thus, a three letter word, for example, will start with a letter in initial form, followed
by a letter in medial form and, finally, by a letter in final form like:
ﺐtﻛ
instead of ب‹ك
But the reality is even worse since even in the middle of a word, a character may
have the final or the initial form like in: ﻲﺑrﻋ
because some characters do not connect to any character that comes after. They have
only two forms (isolated (which is also used as initial) and final (also used as middle))!
The contextual rules of the Arabic script are independent of the language, font and
style and have no exception!
In addition to the contextual ligatures, just seen above, there are some linguistic ligatures that
are mandatory in Arabic like the l¯
amali f :
we write ﻻand never Aﻟ for ال
or the second part of the word ¯
all ¯
ah üا
we write üا and never ﻪlﻟا for هللا
The word Allah üاfor God.
There is also a huge number of optional aesthetic ligatures that increase the number of
possible glyphs for Arabic (that contains less than 30 characters) to more than 1000 glyphs for
the naskhi font for example. This is the standard font used since the beginning of the 20th century
in published Arabic literature and in journals!
For the actual version of , we do not support aesthetic ligatures just because the fonts
that can be used with T
EX should not exceed 256 characters. Otherwise, even for this version,
we would get all the possible glyphs that exist in the Postscript or True type fonts used. Nev-
ertheless, in future versions, a limited number of such ligatures will be added for the fonts that
contain such glyphs.

The system 17
3.4. The Persian language(s) “Farsi”
Persian is an Indo-European language, spoken in Iran and several neighboring countries
(Tajikistan, Afghanistan, Uzbekistan, and Bahrain). Prior to British colonization, Persian was
also widely used as a second language in the Indian subcontinent; it took prominence as the
language of culture and education in several Muslim courts in the subcontinent throughout
the Middle Ages and became the official court language under the Mughol emperors. The three
major variations of the Persian language are Dari, the official language of Afghanistan, Farsi the
official language of Iran, and Tajik the official language of Tajikistan. In the Persian language
itself, the name of the language is Farsi. It counts about 61–71 million native speakers, and
around 110 million in total.
After the conversion to Islam, it took approximately one hundred fifty years to adopt the
Arabic alphabet as a replacement for the older alphabet. Previously, two different alphabets
were used for the Persian language: one was also called Pahlavi and was a modified version of
the Aramaic alphabet, and the other was a native Iranian alphabet called Dîndapirak.
However, the script used actually is borrowed from Arabic. The adaptation propagated to
Pakistan, Afghanistan, India, China, Malaysia, and Java. The Arabic alphabet was extended
even more, each language adding letters and making modifications as needed: from 29 Arabic
letters to more than 140 letters (141 in the Unicode Standard Version 3.0) in modern use.
Farsi is equivalent in many heads to a Nastaliq font ﻖﯿﻠﻌﺘﺴﻧ ﻂﺧ, that was invented in 15th
century, and few more characters than the usual Arabic alphabet. In fact Farsi’s typography is
much more. See the next section for some details. We give now an example of a Farsi text for
illustration and testing only (This the first part of the The Hunter-Student, a story from و ﻪﻠﯿﻠﻛ
ﻪﻨﻣد).
(It is a text we found on the net, from Persian studies web site of Texas University, the author
does not speak or understand Farsi!).
ﻪﻨﻣدوﻪﻠﯿﻠﻛیﺎﻫﻪﺼﻗزا،زﻮﻣآﺶﻧادﯽﭼرﺎﻜﺷ
ارﯽﺋاﺮﺤﺻیﺎﻫﺮﺗﻮﺒﻛو ﺎﻫﻚﺒﻛنﺎﺑﺎﯿﺑرد ﺎﻫزورزاﯽﻀﻌﺑ ﻪﻛدﻮﺑ ﯽﭼرﺎﻜﺷﻚﯾﻢﯾﺪﻗ نﺎﻣزرد.دﻮﺑ یرﺎﮔزورودﻮﺑیزور
.دﺮﻛﯽﻣهارﻪﺑورارشاﻪﭽﺑونزودﻮﺧﯽﮔﺪﻧزرﺎﻛﻦﯾاﺎﺑودﺮﻛﯽﻣﺪﯿﺻﯽﻫﺎﻣﺎﯾردرﺎﻨﻛردﺎﻫزورﺾﻌﺑودﺮﻛﯽﻣرﺎﻜﺷ
رﻮﺗﯽﻨﻌﯾ،مادودﻮﺑهﺪﯿﺷﺎﭘنزراوﺞﻧﺮﺑومﺪﻨﮔیرﺪﻗﻪﭙﺗﻚﯾرﺎﻨﻛنﺎﺑﺎﯿﺑزایاﻪﺷﻮﮔردﯽﭼرﺎﻜﺷیﺎﻗآﻦﯾازورﻚﯾ
لﻮﻗ ﻪﺑ –دﻮﺑ هﺪﺷ نﺎﻬﻨﭘ ﻪﭙﺗ ﺖﺸﭘ رد و دﻮﺑ ﻪﺘﻓﺮﮔ ار نآ ﺦﻧ ﺮﺳ شدﻮﺧ و دﻮﺑ هدﺮﻛ هدﺎﻣآ نآ یور ار رﺎﻜﺷ صﻮﺼﺨﻣ
.ﺪﻨﺘﻔﯿﺑوامادﻪﺑﺪﻧﺪﯾﺮﭼﯽﻣﯽﻜﯾدﺰﻧنآردﻪﻛﯽﺋﺎﻫﺮﺗﻮﺒﻛﻪﻛدﻮﺑﺮ[ﺘﻨﻣو–دﻮﺑﻪﺘﺴﺸﻧﻦﯿﻤﻛردفوﺮﻌﻣ
ودادیاﺪﺻ دﻮﺧﺮﺳﺖﺸﭘزاﯽﭼرﺎﻜﺷ نﺎﻬﮔﺎﻧ،ﺪﻧدﻮﺑهﺪﺷﻚﯾدﺰﻧماد ﻪﺑﺎﻫﺮﺗﻮﺒﻛ زاﺎﺗﻪﺳﻪﻛدﺎﯾز رﺎ[ﺘﻧازاﺲﭘ
مرﺎﻫﺮﺗﻮﺒﻛﻪﻜﻨﯾاسﺮﺗزاﯽﭼرﺎﻜﺷ.ﺪﻧدﺮﻛﯽﻣﻮﮕﺘﻔﮔﻢﻫﺎﺑﺪﻨﻠﺑیاﺪﺻﺎﺑوﺪﻧﺪﺷﯽﻣﻚﯾدﺰﻧﺪﻨﺘﺷادﻪﻛﺪﯿﻨﺷارﺮﻔﻧوددﺎﯾﺮﻓ
ﺎﺗﺪﯿﻨﻜﻧدﺎﯾﺮﻓودادﺎﺠﻨﯾارداﺪﺧیﺎﺿرﺾﺤﻣ،نﺎﯾﺎﻗآ :ﺖﻔﮔوﺪﯿﻧﺎﺳرﺮﻔﻧودنآﻪﺑاردﻮﺧیرﻮﻓﺪﻨﺘﻔﯿﻧمادﻪﺑوﺪﻨﻨﻛ
.ﺪﻨﻨﻜﻧراﺮﻓوﺪﻨﺳﺮﺘﻧﻦﻣیﺎﻫغﺮﻣ

18 ﻲﺑrﻌﻟا مA\ﻧ
ﺎﻣ ،ﻢﯾراﺪﻧ یرﺎﻛ ﯽﺴﻛ ﺎﺑ ﺎﻣ :ﺪﻨﺘﻔﮔ ،ﺪﻧدﻮﺑ ﯽﺒﻫﺬﻣ ﻢﯾﺪﻗ یﺎﻫﻪﺳرﺪﻣ نﺎﯾﻮﺟﺶﻧاد ﯽﻨﻌﯾ ،ﺪﻧدﻮﺑ ﻪﺒﻠﻃ ﻪﻛ ﺮﻔﻧ ود نآ
ندزفﺮﺣﺪﻨﻠﺑوﺖﺳاﺪﺧنﺎﺑﺎﯿﺑﻢﻫﺎﺠﻨﯾاوﻢﯿﻨﻛﯽﻣﻪﺜﺣﺎﺒﻣوﻮﮕﺘﻔﮔﻢﯾرادفﻼﺘﺧانآردﻪﻛیاﻪﻠﺌﺴﻣﻚﯾردﻢﯾراد
!دﻮﺸﺑﺖﺣارﺎﻧﻪﻛﺖﺴﯿﻧیﺮﺘﺴﺑﺾﯾﺮﻣمادآﺎﯾدﻮﺷراﺪﯿﺑﻪﻛهﺪﯿﺑاﻮﺨﻧﯽﺴﻛ؟ﻪﭽﺑﻪﻛﺎﺠﻨﯾا،ﺖﺳادازآ
وﺪﻨﺳﺮﺗﯽﻣﺎﻤﺷیاﺪﺻوﺮﺳزاﺎﻫﻦﯾاومﺮﯿﮕﺑﺮﺗﻮﺒﻛﻢﻫاﻮﺧﯽﻣوماﻪﺘﺷاﺬﮔمادﺎﺠﻨﯾاﻦﻣﺮﺧآ :ﺖﻔﮔﯽﭼرﺎﻜﺷ
.ﺪﻨﺘﻔﯿﺑمادﻪﺑﺖﺳاﻦﻜﻤﻣﺪﯿﺷﺎﺑﺖﻛﺎﺳﺮﮔاﯽﻟوﺪﻨﻨﻛﯽﻣراﺮﻓ
ﺮﮔاترﻮﺻﻦﯾارد؟ﯽﺳﺮﺑتدﻮﺧرﺎﻛﻪﺑﻮﺗﺎﺗﻢﯾرادﺮﺑﺖﺳدنﺎﻣدﻮﺧرﺎﻛزاﺎﻣﯽﺋﻮﮔﯽﻣﻮﺗ :ﺪﻧدادباﻮﺟﺎﻫﻪﺒﻠﻃ
سردیﺎﺟﺎﺠﻨﯾاوﺪﺳﺮﺑشدﻮﺧرﺎﻛﻪﺑﺪﯾﺎﺑﯽﺴﻛﺮﻫﻪﻧﺮﮔوﻢﯾﻮﺷﯽﻣﺖﻛﺎﺳﯽﻫﺪﺑﺎﻣﻪﺑﻢﻫﺮﺗﻮﺒﻛﺎﺗودﯽﺘﺴﻫﺮﺿﺎﺣﻮﺗ
.ﯽﻨﻛﻦﻬﭘﺮﮕﯾدیﺎﺟاردﻮﺧطﺎﺴﺑیوﺮﺑﻮﺗﺖﺳاﻦﻜﻤﻣ.ﺖﺳاﺎﻣنﺪﻧاﻮﺧ
ﺎﻫغﺮﻣ ﻦﯾا شوﺮﻓ ﺎﺑ ﺪﯾﺎﺑ و مراد رﻮﺧنﺎﻧ ﺮﻔﻧ ﺪﻨﭼ و ﻢﺘﺴﻫ ﺐﺳﺎﻛ مدآ ﻦﻣ ﺮﺧآ ،ﺰﯾﺰﻋ نﺎﯾﺎﻗآ :ﺖﻔﮔ دﺎﯿﺻ
ﺪﻨﺘﻔﯿﺑمادﻪﺑﺖﺳاﻦﻜﻤﻣوﺪﻧﺮﭼﯽﻣﻪﻠﺗﻚﯾدﺰﻧﺪﻧاهﺪﻣآﺮﺗﻮﺒﻛﻪﺳﻪﻛﻻﺎﺣﺎﺗماهﺪﯿﺸﻛرﺎ[ﺘﻧاﻻﺎﺣﺎﺗﺢﺒﺻزاوﻢﻨﻛﯽﮔﺪﻧز
.دﻮﺷﯽﻤﻧنﺎﻧﻦﻣیاﺮﺑﺪﻧﺎﻤﺑﯽﻜﯾوﺪﯾﺮﺒﺑﺎﻤﺷارﺎﺗودﺮﮔاو
ﺖﺷﻮﮔنﻮﭼوﻢﯾاهدرﻮﺨﻧرﺎﻜﺷﺖﺷﻮﮔﺖﺳﺎﻫتﺪﻣﺎﻣوﯽﻨﻛﯽﻣاررﺎﻛﻦﯾازورﺮﻫﻮﺗ :ﺪﻧدادباﻮﺟﺮﻔﻧودنآ
زوﺮﻣا یﺎﻫﺮﺗﻮﺒﻛ و ﻢﯿﻫﺪﺑ ﯽﻧﺎﻤﻬﻣ ﻪﺳرﺪﻣ رد دﻮﺧ نﺎﺘﺳود ﻪﺑ زوﺮﻣا ﻢﯿﻫاﻮﺧﯽﻣ ﺎﻣ ﺖﺳا ﻪﻔﺤﺗ ﯽﻠﯿﺧ ﺎﻣ ؟ﻪﺳرﺪﻣ رد ﺮﺗﻮﺒﻛ
.ﺖﺳاﺎﻣﺖﻤﺴﻗ
ﻪﻛﻢﻫار مادﻦﯾا،ﺪﻨﻧﺎﺑﺎﯿﺑلﺎﻣ ،ﺪﻨﺘﺴﯿﻧﻪﺳرﺪﻣناﺮﺗﻮﺒﻛﻪﻛ نﺎﻏﺮﻣﻦﯾا،ﺎﻫفﺎﺼﻧاشﻮﺧیا ﺮﺧآ :ﺖﻔﮔدﺎﯿﺻ
،ﺪﯾراﺪﻧﻦﻣندﺮﮔﻪﺑﯽﻘﺣﭻﯿﻫﺎﻤﺷوﺖﺴﯿﻧﻪﺳرﺪﻣﻒﻗوﻪﻛﻢﻫﻦﯿﻣزﻦﯾا،ﺖﺳاﻪﺘﻓﺎﺑﻦﻣنز،ﺪﻧاﻪﺘﺧﺎﺴﻧﺎﻫﻪﺒﻠﻃ
.ﺪﯾﻮﺸﺑﻢﺣاﺰﻣﺪﯿﻫاﻮﺧﯽﻣاﺮﭼﺲﭘ
ﺎﻣﻪﺑ ﻢﻫﺮﺗﻮﺒﻛود ﻪﻛﯽﻨﻛلﻮﺒﻗ ﺪﯾﺎﺑﺎﯾﺪﻨﺘﻔﮔ وﺖﻓﺮﻧﻪﻛ ﺖﻓﺮﻧﺎﻫنآشﻮﮔ ﻪﺑ،دﺮﻛسﺎﻤﺘﻟاﯽﭼرﺎﻜﺷ ﻪﭼﺮﻫﺎﻣا
ﻖﺣﻢﻫ ﻮﺗوﺖﺴﯿﻧطﻮﺑﺮﻣﺎﻣ ﻪﺑﺪﻧﺪﯾﺮﭘﺎﻫغﺮﻣﺮﮔاو ﻢﯾﻮﺷﯽﻣلﻮﻐﺸﻣ نﺎﻣدﻮﺧرﺎﻛﻪﺑ ﻢﻫﺎﻣ ﺎﯾﻢﯾﻮﺷﺖﻛﺎﺳ ﺎﺗﯽﻫﺪﺑ
. . . .یﻮﺸﺑﻢﺣاﺰﻣﺎﻣندﺮﻛﻪﺜﺣﺎﺒﻣونﺪﻧاﻮﺧسردیاﺮﺑیراﺪﻧ
3.5. The Farsi Alphabet additions
The Persian alphabet shares with the Arabic alphabet most of its letters. There are four extra
letters that are not used in traditional Arabic.
Peh پ,
Tcheh چ,
Jeh ژ,
and Gaf گ

The system 19
While two letters have modified forms in final and isolated position as you can see in the
table 3.1 on page 19:
Arabic Letter Kaf (Arabic Kaf) ك
Arabic Letter Keheh (Persian Kaf) ك
Keheh is the Sindhi name.
Arabic Letter Yeh (Arabic Yeh) ي
Arabic Letter Farsi Yeh (Persian Yeh) ی
Character Isolated Final Medial Initial
Name form form form form
Arabic Kaf ك ﻚ k ﻛ
Persian Kaf ك ﻚ ﻜ ﻛ
Arabic Yeh ي ﻲ y ﻳ
Persian Yeh ی ﯽ ﯿ ﯾ
Table 3.1: The modified Farsi letters
We call them and . The yis used for both forms of the letter Yeh, while
the font encoding , used with Arabic, points to the Arabic Yeh and the font encoding ,
used with Farsi, points to the Farsi Yeh. This is just to allow the use of that does not
contain a Farsi Yeh. Nevertheless, since the user is supposed to work in 8-bit and rarely has to
type letter names as control sequences, there should be no problem. Remark that the final and
isolated form of the Farsi Yeh is identical to the Arabic Alef Maqsura ىbut Farsi does not use
the character Alef Maqsura. It has no Taa Marbutah ةneither!
The letter Heh with Yeh Above, which is in fact represented as Heh with hamza above,
that does not exist in Arabic is not yet implemented. It does not appear in or in
code pages neither!
Farsi uses also two other special characters Arabic does not use. First, ( Zero
Width Non-Joiner) which seems to be widely used in Farsi to prevent joining without adding a
space. Think of the ﻪﻣﺎﻧبﺎﺘﻛ. This can be obtained in also by typing a star
between the characters or you just type the on your Farsi keyboard.
The second one is ( Zero Width Joiner), to force a character to join when it nor-
mally would not seems to be used occasionally only. You can also do this in by typing
or you just type it on your Farsi keyboard. The examples in § 4.7 on the use
on page 27 may help you too.
For the numbers in Farsi, go to section § 4.6.
The hamza and its different forms. Although the form of the hamza can be explicitly known
from the vowel of the character preceding the hamza carrier and the vowel of the hamza carrier
itself.
We rely on the fact that the user should type the character he needs and the program has
not to guess each form the hamza will have. This is the way Arabic is written on usual visual

20 ﻲﺑrﻌﻟا مA\ﻧ
systems and the case for existing 8-bit Arabic texts. All the possible forms ء,ئ,ؤ,أand إ
exist on the keyboard.
How Arabic and Farsi poetry is typeset. The (classical) poetry, in both Arabic and Farsi,
is formatted in two “parallel” verses that begin and end at the same positions. When verses are
too short, they are written closer to the (vertical) center of the page like in the example:
;ﻪﺑﺖﻌmFنإ,لﺄfﺑﻦﺣrfﺗﻻ
يrﻌmﻟاءﻼﻌﻟاwþﺑأ
Aþþþþþþþþþþþþþþþþbﻌﻧ ﺐþþþþþþþþþþþþþþþþﻋAﻧ Aﻣ اÐإ , rþþþþþþþþþþþþþþþþyWﺗ ﻻو ﻪþþþþþþþþþþþþﺑ ﺖþþþþþþþþþþþþﻌmF نإ , لﺄþþþþþþþþþþþþfﺑ ﻦþþþþþþþþþþþþﺣrfﺗ ﻻ
Aþþþþþþþþþþþbﻋrﻟا rþþþþþþþþþþþmSﺗ نأ ﻦþþþþþþþþþþþﻣ rþþþþþþþþþþþsﻳأ rﻣﻷاو Aþþþþþþþþþþþþþhlﻣﺄﺗ ءاrF ﻦþþþþþþþþþþþþþﻣ ﻊþþþþþþþþþþþþþ\ﻓأ ﺐþþþþþþþþþþþþþWﺨﻟAﻓ
Aþþþþþþþþþþþþþþþþbﻌ} Aﻣ نAﻫ , ﺢyﺤ} ﻞqﻋ دAþþþþþþþþþþþþþþþþsﻓ ﻪþþþþþþþþþþþþþþþþþþþﺟEAmﻳ ﻻ , اrþþþþþþþþþþþþþþþþþþþkﻓ ‹rkfﺗ اÐإ
Aþþþþþþþþþþþþþþþþþþþþbﻌﻟ Aﻫdﺟ YmFو , ‹wþþþþþþþþþþþþþþþþþþþþmﺗ Ytﺣ Aþþþþþþþþþþþþþþþþþþþþhﺗrtﻓ Hfnﻟا YWﻋأ ﺢþþþþþþþþþþþþþþþþþþþþ} نإ ﺐlﻟAﻓ
Aþþþþþþþþþþþþþþbﻌﻟ ﺖþþþþþþþþþþþþþþhbJأ , ﺖþþþþþþþþþþþþþþﻗو ‹ﻻAyﺧ ﻻإ Aþþþþþþþþþþþþþhbﻋﻼﻣ ﻲﻓ , يداwþþþþþþþþþþþþþﻐﻟا ﻲﻧاwþþþþþþþþþþþþþﻐﻟا Aﻣو
Aþþþþþþþþþþþþþþþþþþþþþbﻌﺗ اrﻓAﺣ ‹داEو , باrþþþþþþþþþþþþþþþþþþþþþtﻟا Yﻟإ ﻪþþþþþþþþþþþþþþþþþþþþþþþlﻣAﺣ ﻢsﺟ ﺖnﻋ ﻢsﺠﻟا ةدAþþþþþþþþþþþþþþþþþþþþþþþﻳE
Our choice for the Farsi poetry, that will close this chapter, goes to one of the prestigious
poets of all times. A few verses of Hafez ﻆﻓﺎﺣinscribed on his tomb in Shiraz زاﺮﯿﺷ, the Hafeziyye:
لاﺰﻏ
^þþﻓAﺣ
مﺰﯿﺧﺮﺑنﺎـــــــــــــــــــــــــــــﻬﺟمادزاوﻢﺳﺪﻗﺮﯾﺎﻃ مﺰﯿﺧﺮﺑنﺎـــــــــــــــــــــــــﺟﺮﺳﺰﻛﻮﻛﻮﺗﻞﺻوهدﮋﻣ
مﺰﯿﺧﺮﺑنﺎــــــــــــــــــــــــــﻜﻣونﻮﻛﯽﮕﺟاﻮﺧﺮﺳزا ﯽﻧاﻮﺧﻢﺸﯾﻮــــــــــــــــــــــــــــــــﺧهﺪﻨﺑﺮﮔﻪﻛﻮﺗیﻻوﻪﺑ
مﺰﯿﺧﺮﺑنﺎــــــــــــــﯿﻣزیدﺮﮔﻮﭼﻪﻛنازﺮﺗﺶﯿﭘ ﯽﻧارﺎﺑنﺎـــــــــــــــــــــــﺳﺮﺑﺖﯾاﺪﻫﺮﺑازابرﺎﯾ
مﺰﯿﺧﺮﺑنﺎــــــــــــــــــــﻨﻛﺺﻗرﺪﺤﻟزﺖﯾﻮﺑﻪﺑﺎﺗ ﻦﯿﺸﻨﺑبﺮــــــــــﻄﻣوﯽﻣﺎﺑﻦﻣﺖﺑﺮﺗﺮﺳﺮﺑ
مﺰﯿﺧﺮﺑنﺎــــــــــﻬﺟونﺎــــــــــﺟﺮﺳزﻆﻓﺎﺣﻮﭼﻪﻛ تﺎـــــــــــــــﻛﺮﺣﻦﯾﺮﯿﺷﺖﺑیاﺎﻤﻨﺑﻻﺎﺑوﺰﯿﺧ
مﺰﯿﺧﺮﺑناﻮـــــــــــــــــﺟﻮﺗرﺎـــــــــــــــــﻨﻛزﻪﮔﺮﺤﺳﺎﺗ ﺶﻛ ﻢﺷﻮﻏآ رد ﮓﻨﺗ ﯽﺒﺷ ﻮﺗ مﺮﯿﭘ ﻪﭼﺮﮔ

ﻞﻌﺟ ي@ﻟا ü dmﺤﻟا ,TﻧAﻋﻹا ﻪﺑو ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
TﺤﻟAOﻟا لAmﻋﻸﻟ ﻢﻫrsﻳو ,ﻻzﻧ ﻦynﻣﺆmﻟا هدAbﻌﻟ xودrfﻟا Tnﺟ
Ahyﻟإ Tl}wmﻟا ﻞybsﻟا اwklsﻓ AﻫاwF او@ﺨtﻳ ﻢlﻓ ,Ahyﻟإ Tl}wmﻟا
Ahfﺣو ﻢﻫdﺟwﻳ نأ ﻞbﻗ AﻫAﻳإ ﻢhnkFأو ﻢhqlﺨﻳ نأ ﻞbﻗ ﻢhﻟ Ahqlﺧ .ﻼﻟÐ
ﻞﻌﺟو ,ﻼmﻋ ﻦsﺣأ ﻢhﻳأ ﻢﻫwlbyﻟ نAﺤtﻣﻻا Cاد Yﻟإ ﻢhﺟrﺧأو هCAkmﻟAﺑ
Aﻣ ﻢhﻋدوأو ,ﻼﺟأ ﻪﻧود TyﻧAfﻟا ةAyﺤﻟا ةdﻣ بrRو ﻪylﻋ موdqﻟا مwﻳ Ahﻟwﺧد دAﻌyﻣ
AﻫwnﻳAﻋ Ytﺣ ﻢhﻟ Aﻫﻼﺟو ,rKﺑ ﺐlﻗ Ylﻋ rWﺧ ﻻو ﺖﻌmF نÐأ ﻻو ‹أC ﻦyﻋ ﻻ
,ﻪﻟwFC نAsﻟ Ylﻋ Ahyﻓ ﻢhﻟ dﻋأ Amﺑ ﻢﻫrKﺑو ,rObﻟا TﻳؤC ﻦﻣ @fﻧأ ﻲﻫ ﻲtﻟا ةryObﻟا ﻦyﻌﺑ
ryKbﻟا ryﺧ نAsﻟ Ylﻋ rKbﻟا ryﺧ ﻲhﻓ ﻦﻳdﻟAﺧ ﻢhﻧwkﺑ ىrKbﻟا ﻢhﻟ ﻞmﻛو
dmﺤﻟاو ,ﻻwﺣ Ahnﻋ نwﻐbﻳ ﻻ Ahyﻓ ﻞﻋAﺟ |Cﻷاو ‹اوAmsﻟا rVAﻓ ü
ﻞFrﻟا ”ﻋAﺑو ,ﻼFC Tkﺋﻼmﻟا نwkﻳ ﻼﺌﻟ ﻦﻳC@nﻣو ﻦﻳrKbﻣ
ﻞFrﻟا dﻌﺑ Tﺠﺣ üا Ylﻋ xAnlﻟ ﻢhﻛrtﻳ ﻢﻟو A“bﻋ ﻢhqlﺨﻳ ﻢﻟ Ðإ
ﻞﺑ ,ﻼmﻫ ﻢhlfﻐﻳ ﻢﻟو ,ىdF ﺐWﺨﻟ ﻢﻫﺄyﻫو ﻢy\ﻋ rﻣﻷ ﻢhqlﺧ
ﻦmﻟ ه@hﻓ ﻦﻳCاد ﻢhﻟ rmﻋو ﻢysﺟ ﻪﺑC ىwF ﻎbﻳ ﻢﻟو ﻲﻋاdﻟا بAﺟأ
ﺐﺠﻳ ﻢﻟ ﻦmﻟ ه@ﻫو ,ﻻdﺑ ﻢﻳrkﻟا ﻖlﻌﻳ ﻢﻟو AFأC Ahﺑ ﻊﻓrﻳ ﻢﻟو ﻪﺗwﻋد
ﻲRC ي@ﻟا ü dmﺤﻟاو ,ﻼﻣأ Ahﺑ EوAﺠﺗو ﻞmﻌﻟا ﻦﻣ rysyﻟAﺑ هدAbﻋ ﻦﻣ
|Aﻓأو ﻞﻟzﻟا ﻦﻣ ry“kﻟا ﻦﻋ ﻢhﻟ ﻪsfﻧ Ylﻋ ﺐtﻛو Tmﻌnﻟا ﻢhylﻋ
ي@ﻟا بAtkﻟا ﻦmRو ,Tmﺣrﻟا .ﻪbSﻏ ﺖqbF ﻪtmﺣC نأ ﻪbtﻛ
ﻢhmﻌﻓ مﻼsﻟا Cاد Yﻟإ هدAbﻋ Aﻋد ,ﻻdﻋو ﻢhylﻋ ﻪnﻣ Tﺠﺣ ةwﻋdﻟAﺑ
ءAJ ﻦﻣ ﻖyﻓwtﻟاو TﻳاdhﻟAﺑ Pﺧو ﻪﻟdﻋ ا@hﻓ ,ﻼSﻓو ﻪnﻣو Tmﻌﻧ
,ﻢykﺤﻟا zﻳzﻌﻟا wﻫو ﻪtmkﺣو ﻪlﻟاو ءAKﻳ ﻦﻣ ﻪyﺗﺆﻳ ﻪlSﻓ ﻚﻟÐو
ﻪﻟإ ﻻ نأ dhJاو ,ﻢy\ﻌﻟا ﻞSfﻟا وÐ هdbﻋ ةدAhJ ,ﻪﻟ ﻚﻳrJ ﻻ هdﺣو üا ﻻإ
Ewfﻟا ﻲﻓ ﻪﻟ ﻊmWﻣ ﻻو ﻪtmﺣCو ﻪlSﻓ ﻦyﻋ TﻓrV ﻪﺑ Ynﻏ ﻻ ﻦﻣو ,ﻪtﻣأ ﻦﺑاو هdbﻋ ﻦﺑاو
ﻪnyﻣأو ﻪﻟwFCو هdbﻋ اdmﺤﻣ نأ dhJأو ,ﻪﺗrfﻐﻣو هwfﻌﺑ ﻻإ CAnﻟا ﻦﻣ ةAﺠnﻟاو TnﺠﻟAﺑ
Tﺠﺤﻣو ﻦylﻣAﻌlﻟ ةوdﻗو ﻦymﻟAﻌlﻟ TmﺣC ﻪlFCأ ,ﻪqlﺧ ﻦﻣ ﻪﺗryﺧو ﻪyﺣو Ylﻋ
مﻼsﻟا Cاد Yﻟإو AﻳدAnﻣ نAmﻳﻸﻟ ﻪ“ﻌﺑ ,ﻦyﻌmﺟأ دAbﻌﻟا Ylﻋ Tﺠﺣو ﻦykﻟAslﻟ
اrﻣآ فوrﻌmﻟAﺑو AyﻋAF ﻪﺗARrﻣ ﻲﻓو AyﻟAﺗ ﻪﺑAtkﻟو AﻳدAﻫ Tqylﺨlﻟو Ayﻋاد
Yﻟإ ﻪﺑ ىdhﻓ ﻞFrﻟا ﻦﻣ ةrtﻓ ﻦyﺣ Ylﻋ ﻪlFCأ ,AyﻫAﻧ rknmﻟا ﻦﻋو
ﻪtbﺤﻣو ﻪtﻋAV دAbﻌﻟا Ylﻋ |rtﻓاو ﻞbsﻟا ﺢRوأو قrWﻟا مwﻗأ
.هryﻗwﺗو هzﻳzﻌﺗو
] Ynﻌﻣ ‹اÐ ‹Amlﻛ [
Figure 3.1: . and the package I

CHAPTER 4
Use of the System
مA\nﻟا لAmﻌtFا
ﻞþþþþþþþﻫAﺟ wﻫ ﻦmﻛ ﻢþþþþþþþlﻋ wþþþþþþþﺧأ Hyﻟو ًAþþþþþþþþþþþþþþþmﻟAﻋ dþþþþþþþþþþþþþþþﻟwﻳ ءrmﻟا Hylﻓ ﻢlﻌﺗ
ﻞþþþþþþþþþþﻓAﺤmﻟا ﻪylﻋ ﺖþþþþþþþþþþmR اÐإ ryﻐ} هdnﻋ ﻢþþþþþþþþþþþþþþlﻋ ﻻ مwþþþþþþþþþþþþþþqﻟا rybﻛ نإو
4.1. Input encodings supported by
Typesetting Arabic and Farsi texts with T
EX implies the use of special input and output en-
codings, so we would need to use the packages and .
We use two special font encodings. For Arabic we use that stands for
, defined in the file . While for Farsi we use that stands also for
, defined in the file .
These two encodings are not final. Some character positions may/will change,
and some still empty slots will be filled with new characters.
Concerning the input encoding, the user simply creates an ordinary L
A
T
EX file, in which he
can use Arabic characters, typed visually on some system that supports the Arabic script.
For now, the system supports the following input code pages:
1. Arabic Windows for both Arabic and Farsi,
2. for Arabic, a lot of Farsi characters are missing.
3. The multibyte encoding (Unicode Transmission Format) for both Ara-
bic and Farsi. This encoding is rather new i L
A
T
EX and is still experimental?? We could
compile a Farsi document in Unicode when the whole document was in Unicode, and
the same document complaints about some characters that are not set up for use with
L
A
T
EX. We think that we covered all Farsi characters, but if you find any missing charac-
ters, we would like you to contact us to add them!
4. A partial support for a input encoding, similar to the ASCII input encoding of
ArabT
EX, will also be provided1, this is not a particularly urgent problem since you can
use ArabT
EX with it’s standard encoding within an L
A
T
EX document. The
choice of ArabT
EX is motivated by the fact, according to our experience with the Arabic
T
EX users community locally, the most Arabic users that use T
EX to typeset their Arabic
texts use actually ArabT
EX. So, the potential users that may get interested in using
that were using ArabT
EX with ASCII input should be able to use their old documents at
1In fact, there is a partial support as for now, but we did not get enough time to complete it. It should be improved
and supported in future versions but we make no promise.
22

The system 23
the cost of minor changes to their files and habits. For those who were using ArabT
EX
with some encoding we hope that there should be no problem.
4.2. Declaring the right input encoding
You have to specify the default input encoding, with the help of the standard
package, using before loading ,
For example you say
for Windows Arabic , or
for the standard encoding used by UNIX and Linux systems, or
for the standard Unicode , known also as encoding, supported actually by
all modern systems. You may also combine many, the last one being the default.
If no input encoding has been chosen, Windows Arabic is used as the default, for
the moment.
The choice of an input encoding in the preamble is not a restriction since it can be changed
also inside the document by the command, like
for example. A possible use of this command within a document is when using text from
several documents to build up a composite work. You may not get Farsi text in format
while your Arabic text is in or , will may need this “feature.”
Older 7-bit codes, like the one used jadis by the DOS operating system, are not
supported. They require a new corresponding font encoding, and in view of
the fact that they are actually not used anymore as far as we know, this should
be a waste of time and storage space.
Each encoding has an associated file. For example, the file “ ” defines the
characters of the standard encoding.
4.3. Calling
Then, you have to call with the or options or both as in
the last option being always the default for the document.

24 ﻲﺑrﻌﻟا مA\ﻧ
Important note.
Nevertheless, since the Arabic part of the code was developed first and the
Farsi part was developed after, we advise the user who wants to mix the two
languages to call the option always after . And if you want Farsi
to be the main document language, just issue the command
and call the Farsi language whenever needed as shown below. This may
save you a lot of trouble (concerning the choice of the fonts to be used by the
system) until the system becomes more mature.
Actually, the font encodings (L
A
T
EX Arabic encoding and Farsi encoding ) should
be used, with the aid of the standard package:
This font encoding was designed by partially placing Arabic glyphs in their corresponding
ASCII equivalent (if one character) from the ArabT
EX 7-bit input encoding looking for further
compatibility to allow inputting text in ASCII if wanted.
The way we adopted during the implementation of our system relies on the existing char-
acter set on the keyboard. That made that ء,ئ,ؤ,أand إcan/should be typed explicitly
by the user and the program has not to guess each form the hamza will have. This is the way
Arabic is written on usual visual systems and the case for existing 8-bit Arabic texts. So, we ig-
nore consciously the fact that the actual position of the hamza can be explicitly known from the
vowel of the character preceding the hamza carrier and the vowel of the hamza carrier itself.
Then run your T
EX file through -L
A
T
EX as you usually do for any L
A
T
EX file and the standard
L
A
T
EX. If you use the console, you should have to type something like
4.4. Preparing an Input file
Languages can be switched for example by the following standard macros used by the
system to switch between different languages. there is nothing really special there. We
just need some few macros to call either Arabic or Farsi little portions of text inside a dominating
Latin text.
For Arabic:
Tyﺑrﻌﻟا TﻐlﻟAﺑ TﺑAtﻛ
ASﻳأ Tyﺑrﻌﻟا TﻐlﻟAﺑ ىrﺧأ TﺑAtﻛ Tyﺑrﻌﻟا TﻐlﻟAﺑ TﺑAtﻛ
. . . ASﻳأ Tyﺑrﻌﻟا TﻐlﻟAﺑ ىrﺧأ TﺑAtﻛ
For Farsi:
{farsi}
ﯽﻟﺎﻌﺗﻪﻤﺴﺑ
. . .ناﺮﯾاﯽﻣﻼﺳایرﻮﻬﻤﺟ
...
{otherlanguage}{farsi}
ﯽﻟﺎﻌﺗﻪﻤﺴﺑ
. . .ناﺮﯾاﯽﻣﻼﺳایرﻮﻬﻤﺟ
{otherlanguage}

The system 25
Inside Farsi text:ﯽﻟﺎﻌﺗﻪﻤﺴﺑ
. . .ﯽﺳرﺎﻓﻦﺘﻣ
{Latin text}
. . .ﯽﺳرﺎﻓﻦﺘﻣ
Inside Arabic text:
. . . TyﺑrﻌﻟAﺑ TﺑAtﻛ
Tyﺑrﻌﻟا TﻐlﻟAﺑ ىrﺧأ TﺑAtﻛ
. . . ASﻳأ
Inside Latin text:
TyﺑrﻌﻟAﺑ TﺑAtﻛ
{ﯽﺳرﺎﻓﻦﺘﻣ}
and more . . .
After these examples that show you how to use to select the Arabic and Farsi lan-
guages, some explanations. First, the command
{LanguageName}
and the environment
{otherlanguage}{LanguageName}
are a part of standard switching interface.
The other commands are used for language and direction switching inside a paragraph.
The command {Latin text} is used to type a Latin text inside Arabic or Farsi. The
last Left-to-Right language will be used.
The commands {ﯽﺳرﺎﻓﻦﺘﻣ}and {ﯽﺳرﺎﻓﻦﺘﻣ}are used to get a Farsi text in any
context.
While the commands {TyﺑrﻌﻟAﺑ TﺑAtﻛ}and {TyﺑrﻌﻟAﺑ TﺑAtﻛ}are used to get an Arabic
text in any context.
You have also the possibility to use the shorthand command { } to type either
Arabic or Farsi, the language that was loaded last! Nevertheless, this is deprecated!
To force insertion of Arabic or Farsi in English text, you should use for Arabic
, for Farsi and for English (in fact Latin) macros respec-
tively. This is sometimes necessary, like inside mathematical formulae for example.
4.5. The document
For a short example that shows how is used, get a look at the sample input text in
Figure 4.1 on page 26 and how its output looks like in Figures 4.2 on page 27. There is nothing
specific to Arabic in the example, we use it for Farsi the same way!
4.6. Numbers within Arabic and Farsi texts
The numbers are written normally in a Latin context. But in a Right-to-Left context, that
is Arabic or Farsi for us, and since the Arabic text should be reflected, the numbers have to
be protected in some way that prevents such reflection and choose the right font to be used
(numbers in Arabic are written in two different forms according to the Arabic country where
they are used).

26 ﻲﺑrﻌﻟا مA\ﻧ
, ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
ةCAﺨtFﻻا ﻲﻓ rKﻋ xدAsﻟا ﻞOfﻟا
ﻦﻣ ةCwsﻟا Anmlﻌﻳ Amﻛ rﻣﻻا ﻲﻓ ةCAﺨtFﻻا Anmlﻌﻳ üا لwFC نAﻛ لAﻗ rﺑAﺟ ﻦﻋ يCAﺨbﻟا ﺢyﺤ} ﻲﻓ
كCdqtFاو ﻚmlﻌﺑ كryﺨtFا ﻲﻧا ﻢhlﻟا ﻞqyﻟ ﻢ› TSﻳrfﻟا ryﻏ ﻦﻣ ﻦytﻌﻛC ﻊﻛrylﻓ rﻣﻻAﺑ ﻢﻛdﺣا ﻢﻫ اÐا ناrqﻟا
ﻢlﻌﺗ ﺖnﻛ نا ﻢhlﻟا بwyﻐﻟا مﻼﻋ ﺖﻧاو ﻢlﻋا ﻻو ﻢlﻌﺗو Cdﻗا ﻻو Cdqﺗ ﻚﻧAﻓ ﻢy\ﻌﻟا ﻚlSﻓ ﻦﻣ ﻚﻟAFاو ﻚﺗCdqﺑ
ﻪyﻓ ﻲﻟ كCAﺑ ﻢ› ﻲﻟ هrsﻳو ﻲﻟ هCdﻗAﻓ يrﻣا TbﻗAﻋو ﻲJAﻌﻣو ﻲnﻳد ﻲﻓ ﻲﻟ ryﺧ ﻪtﺟAﺣ Ymsﻳو rﻣﻻا ا@ﻫ نا
ﻲﻟ Cdﻗاو ﻪnﻋ ﻲnﻓr}او ﻲnﻋ ﻪﻓr}Aﻓ يrﻣا TbﻗAﻋو ﻲJAﻌﻣو ﻲnﻳد ﻲﻓ ﻲﻟ rJ rﻣﻻا ا@ﻫ نا ﻢlﻌﺗ ﺖnﻛ ناو
ﻦﻣ لAﻗ ﻪﻧا Q ﻲbnﻟا ﻦﻋ QAﻗو ﻲﺑا ﻦﺑ dﻌF ”ﻳdﺣ ﻦﻣ dmﺣا مAﻣﻻا dnsﻣ ﻲﻓو ﻪﺑ ﻲnRCا ﻢ› نAﻛ ”yﺣ ryﺨﻟا
üا ةCAﺨtFا ﻪﻛrﺗ مدا ﻦﺑا ةwqJ ﻦﻣو üا YSﻗ Amﺑ هARC مدا ﻦﺑا ةدAﻌF ﻦﻣو üا ةCAﺨtFا مدا ﻦﺑا ةدAﻌF
YﻟAﻌﺗو ﻪﻧAﺤbF لAﻗ dﻗو üا YSﻗ Amﺑ ﻪWﺨF مدا ﻦﺑا ةwqJ ﻦﻣو
üا Ylﻋ ﻞﻛwtﻓ ﺖﻣzﻋ اÐAﻓ rﻣﻻا ﻲﻓ ﻢﻫCوAJو
ﻢﻫrﻣا dJCا Yﻟا اوdﻫ ﻻا üا ﻪﺟو نwﻐtbﻳ مwﻗ CوAKﺗ Aﻣ هدAtﻗ لAﻗو
.ﻦymﻟAﻌﻟا بC ü dmﺤﻟاو ﻢﺗ
input ﻲﺑrﻌﻟا ﻊﻣ ﻪﻧwbtkﺗ Aﻣ
Figure 4.1: Sample input
Numbers should be used with the control sequence {Arabo-Indic number} , as in {0123456789}
to be typeset using Arabo-Indic digits ( – ) like 0123456789 . The same control se-
quence works to get Extended Arabo-Indic digits ( – ) ۰۱۲۳۴۵۶۷۸۹ if you are
in a Farsi text. The choice of one of the two forms is done automatically according to the contest.
That is if you are in a Farsi or an Arabic text.

The system 27
, ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
ةCAﺨtFﻻا ﻲﻓ rKﻋ xدAsﻟا ﻞOfﻟا
Anmlﻌﻳ Amﻛ rﻣﻷا ﻲﻓ ةCAﺨtFﻻا Anmlﻌﻳ Qüا لwFC نAﻛ لAﻗ rﺑAﺟ ﻦﻋ يCAﺨbﻟا ﺢyﺤ} ﻲﻓ
كryﺨtFأ ﻲﻧإ ﻢhlﻟا ﻞqyﻟ ﻢ› TSﻳrfﻟا ryﻏ ﻦﻣ ﻦytﻌﻛC ﻊﻛrylﻓ rﻣﻷAﺑ ﻢﻛdﺣأ ﻢﻫ اÐإ ناrqﻟا ﻦﻣ ةCwsﻟا
مﻼﻋ ﺖﻧأو ﻢlﻋا ﻻو ﻢlﻌﺗو Cdﻗا ﻻو Cdqﺗ ﻚﻧAﻓ ﻢy\ﻌﻟا ﻚlSﻓ ﻦﻣ ﻚﻟﺄFأو ﻚﺗCdqﺑ كCdqtFأو ﻚmlﻌﺑ
يrﻣأ TbﻗAﻋو ﻲJAﻌﻣو ﻲnﻳد ﻲﻓ ﻲﻟ ryﺧ ﻪtﺟAﺣ Ymsﻳو rﻣﻷا ا@ﻫ نأ ﻢlﻌﺗ ﺖnﻛ نإ ﻢhlﻟا بwyﻐﻟا
TbﻗAﻋو ﻲJAﻌﻣو ﻲnﻳد ﻲﻓ ﻲﻟ rJ rﻣﻷا ا@ﻫ نأ ﻢlﻌﺗ ﺖnﻛ ناو ﻪyﻓ ﻲﻟ كCAﺑ ﻢ› ﻲﻟ هrsﻳو ﻲﻟ هCdﻗAﻓ
dmﺣا مAﻣﻹا dnsﻣ ﻲﻓو ﻪﺑ ﻲnRCأ ﻢ› نAﻛ ”yﺣ ryﺨﻟا ﻲﻟ Cdﻗاو ﻪnﻋ ﻲnﻓr}او ﻲnﻋ ﻪﻓr}Aﻓ يrﻣأ
ةدAﻌF ﻦﻣو üا ةCAﺨtFا مدا ﻦﺑا ةدAﻌF ﻦﻣ لAﻗ ﻪﻧا Q ﻲbnﻟا ﻦﻋ QAﻗو ﻲﺑأ ﻦﺑ dﻌF ”ﻳdﺣ ﻦﻣ
Amﺑ ﻪWﺨF مدا ﻦﺑا ةwqJ ﻦﻣو üا ةCAﺨtFا ﻪﻛrﺗ مدا ﻦﺑا ةwqJ ﻦﻣو üا YSﻗ Amﺑ هARC مدا ﻦﺑا
ﻞﻛwtﻓ ﺖﻣzﻋ اÐﺈﻓ rﻣﻷا ﻲﻓ ﻢﻫCوAJو[ YﻟAﻌﺗو ﻪﻧAﺤbF لAﻗ dﻗو üا YSﻗ
This is a ﻢﻫrﻣأ dJCا Yﻟإ اوdﻫ ﻻإ üا ﻪﺟو نwﻐtbﻳ مwﻗ CوAKﺗ Aﻣ ةدAtﻗ لAﻗو ]üا Ylﻋ
.ﻦymﻟAﻌﻟا بC ü dmﺤﻟاو ﻢﺗ simple example of Arabic text you may want to type
output ﻲﺑrﻌﻟا ﻊﻣ ﻪylﻋ نwlOﺤﺗ Aﻣ
Figure 4.2: Sample output
If you are in a Latin text and would like to get Arabo-Indic digits —as in this user guide—
you still may use but if you want to get Extended Arabo-Indic number you have to use the
control sequence {Extended Arabo-Indic number} .
If you prefer/need to get Arabic digits, use only {123} , to get 123 . You should use
one of these commands according to what you want to get at the end.
4.7. Breaking ligatures
All the typesetting in is done via T
EX’s ligature mechanism. When you type Arabic (or
Farsi, the word Arabic is used here to describe the script, not the language) text, each character
corresponds for to the medial form, always —even if not in the middle of a word— and
that is the ligature mechanisms that decides of the form the character should use!

28 ﻲﺑrﻌﻟا مA\ﻧ
For example, when you type the word ﺐtﻛ asks for the medial form
of the characters: kthen tand band that is T
EX’s ligature mechanism
which is responsible for converting this to ﻛthen tand finally ﺐand -
T
EX and primitives will reflect them to get ﺐtﻛwhich
is what you want most of the time.
However, in the sentence م 2005 ﻟ ﻖﻓاwmﻟا ﻫ 1426 TnF to specify a Higri date for exam-
ple, you have to break this ligature. One way to do that consists in using explicitly the word
before of after the character, depending on the form you want to get as a result.
For example in the above example we typed the letter h¯
a’ هfollowed immediately (no space
follows) by the control sequence .
Note that you cannot get this initial form in visual systems like Word processors unless you
add an explicit tatweel (to lengthen space between words) after the letters h¯
a’ and l¯
am like:
þﻫ and þﻟ instead of ﻫand ﻟ
or with an other font whose keshida is longer
þﻫ and þﻟ instead of ﻫand ﻟ
where the difference is more visible!
4.8. Turning vowels ON/OFF
The system allows vowelization if entered by the user as any Arabic (or Farsi) character,
like in ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR . if the font used contains such vowels!
Fluent readers of Arabic rarely resort to vowels, so the above sentence would be typed and
rendered اrmﻋ dﻳE بrR .
Vowels are used usually in books for children, to explicit the pronunciations of foreign
words, or in some grammar or religious books. Nevertheless, even if you don’t want to typeset
the vowels, you may still include them in the input, this will render a more accurate transliter-
ation if you are interested in. Once this is done you have the choice between getting the vowels
in the output or no. This is defined in the mini-package .
For the user, it suffices to issue the command to turn them OFF
in the output and to issue the command to turn them ON again. By
default, they are ON.
Beware that if the vowels are turned OFF, they will not appear in the Latin transliteration
of Arabic. You have to turn them ON again before generating the transliteration.
The effects of and are best shown in the example of Figure 4.3 on
page 29.

The system 29
and with and
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
اrmﻋ dﻳE بrR
ًاr"maﻋ ٌd"ﻳÁE ÁبÁraR
اrmﻋ dﻳE بrR
Figure 4.3: Activating, Deactivating and Reactivation vowelization again
4.9. Forcing the final form of a vowelized connecting character
This section does not apply for X
E
T
EX users who use AAT Open type fonts!
When typing Arabic text, that is not vocalized, there is no problem. You can type it as you
would like to get it in the output using the 8-bit (Arabic) characters on your keyboard. It’s full
WYSIWYG!
Concerning vowelized words, if the character to vowelize is not the final one in the word,
there too, there is no particular convention to care about. Even if your last character should be
vowelized and it’s non connecting, there is no problem neither. But if it’s a vowelized connecting
character, it will show with a medial form if the vowel is not a tanween, instead of a final one or
in an initial form instead of an isolated one. This is a problem we got, due to a limitation in the
way ligatures are handled by T
EX. So, the solution, there is one hopefully, is to type after the
last connecting character and before the vowel it’s carrying a star character “ ” as it is unlikely
that you would want a star between a character and its vowel anyway. The result would be the
correct vowelized character in the output!
Some examples are given in Figure 4.4 on page 29.
What you type And what you get
دASﻟا Tﻐﻟ دASﻟا Tﻐﻟ
ٌدAaR ٌTaﻐuﻟ ٌدAaR —ٌTaﻐuﻟ
ÃدASﻟا ÂTaﻐuﻟ ÃدASﻟا ÂTaﻐuﻟ
ﻞﻣAﻋ ﻞmﻋ ﻞﻣAﻋ ﻞmﻋ
ﻞiﻣAaﻋ ﻞamaﻋ ﻞiﻣAaﻋ ﻞamaﻋ
ٌﻞiﻣAaﻋ Á ﻞamaﻋ ٌﻞiﻣAaﻋ Áﻞamaﻋ
Figure 4.4: Typing final vowelized connecting characters

CHAPTER 5
Bi-directional Support
ﻦyﻫAﺠﺗﻻا CAtﺨﺗ ﻒyﻛ
:xاwﻧwﺑألAﻗ
يCAþþþþþþþþþþbﻟا ﻖþþþþþþþþþþﻟAﺨﻟا ﻪﺟو ﻚﻟ@ﺑ duOﻗاو AhþþþþþþþþþþþþþþþþþþþþlﻗAnﺑ ﺄbﻌﺗﻻو مwþþþþþþþþþþþþþþþþþþþþlﻌﻟا @ﺧ
CAnlﻟ دwþþþþþþþþþþﻌﻟا ﻞﺧو CAþþþþþþþþþþm“ﻟا ÃﻦﺟAþþþþþþþþþþﻓ rþþþþþþþþþþþþþm› Ahﻟ CAþþþþþþþþþþþþþﺠJﺄﻛ مwþþþþþþþþþþþþþlﻌﻟا نإ
This chapter describes the Bi-directional capabilities. Unless, something specific to
Arabic script texts is not working with the combination of the standard (and some less stan-
dard) L
A
T
EX classes and styles by using the current macros from , or
, the decision is taken to use actually as it as is. It was tested with standard
L
A
T
EX2 classes. The syntax is the standard one as you will see.
5.1. Global formatting parameters
Some formatting parameters may be seen as global in a document (some times in a chapter
or a part) like the table of contents, the list of figures, the list of tables, and the page numbering
styles.
That means for example in the case of page numbers that we should not mix Arabic digits
page numbers with Indo-Arabic digits! This holds true more generally with the as all.
They should depend on a global prevailing direction for the whole document. We have either
an Arabic document that contains Latin (or other Left-to-Right scripts) texts or the converse. So,
we should ensure that the proper disposition for the heading is taken.
For the table of contents, the list of figures and the list of tables. They should appear in a
uniform way even if they contain Arabic (Right-to-Left) and Latin (Left-to-Right) entries. If no
thing is done due to the mechanism that inserts a language switching command in the
table of contents whenever such a command appeared in the test, the tables should appear in
mixed directions if you have mixed Latin and Arabic sectioning commands
Our vision is that the global direction of the document should dominate. For example in
the case of the table of contents, consider Arabic or Farsi and English [sub]sections or chapters
that appear in the text of the document in two different contexts (Arabic and Farsi from Right-
to-Left and Latin from Left-to-Right) with different formatting! In the table of contents, if the
prevailing language (the table of contents (TOC) language) is Arabic or Farsi, all the entries,
Arabic or Farsi and Latin, should appear from Right-to-Left with sections and page numbers
in the right format, while the text of the heading will of course still remain typeset with Latin
characters if it was not Arabic or Farsi! And conversely for an English table of contents or any
Latin (Left-to-Right) language.
30

The system 31
Other formatting features may be seen as semi-global or just local(?!) like the position of
the for example whose position should depend on the page language context as
it happened while preparing this user guide (where English dominates) while in some pages
where only Arabic footnotes had to be issued and it would have been certainly inappropriate
to get a on the left of the page! The same holds for the list of figures and the list
of tables.
Other (semi-)global parameters for a document may also exist. They are not all dealt with
in this version. We are still discovering them as we use the system more and more. The users
interaction is very important to cover them all in future versions!
5.2. Sectioning commands
Usual L
A
T
EX control sequences for sections headings
,
,
,
,
,
[ ]
get typeset with the default direction in effect. That is if you have selected the Arabic language,
any sectioning command that will be issued will be typeset from Right-to-Left with the appro-
priate choice of font, size of characters, etc. And if you have selected a language that uses some
Left-to-Right script, the sectioning commands will be typeset from Left-to-Right with the usual
formatting. Sections, subsections, chapters & co. all share the same counters that will be incre-
mented whenever such a command is issued independently of the Language context where it
was typed.
Proper formatting of the table of contents according to the TOC language is done automati-
cally by and you have not to worry about it.
In the case where the you want a Left-to-Right language chapter and you are in a Latin
context (you have typed for example), a new chapter command
like
is issued. While if in an Arabic or Farsi context, we should declare a chapter as in
TﻣErﻟا ه@ﻫ لAmﻌtFا Tyfyﻛ
or ﯽﻟﺎﻌﺗﻪﻤﺴﺑ
The table of contents,list of figures and list of tables should be typeset, as usual, with the com-
mands , and respectively. Their respective
captions will be typeset in the main direction (and language), what we may call the TOC lan-
guage, in effect where the above commands are placed. You have to issue a complementary
command in your preamble somewhere after loading with the command

32 ﻲﺑrﻌﻟا مA\ﻧ
In the place you should specify some valid language of course like
. If such a command was not given in the preamble, the system will
suppose that the is the main language , that is the
last language specified with .
What happens actually is that, an Arabic section entry, for example, will appear from Right-
to-Left with Indo-Arabic digits for the numbers while a Left-to-Right Latin section entry will
appear from Left-to-Right with Arabic digits for the numbers, etc. This is normal because the
package issues language switching control sequences like
in the three tables auxiliary files whenever such a command appears in the T
EX document!
Other global parameter besides tables, that should use the main language context include
the page numbering scheme and the headings.
An other element of style that seems semi-global and merits more attention and reflexion is
“footnotes”. In a page where only Right-to-Left text (for example Arabic) appears, all footnotes
and the footnote rule should appear on the right and similarly for a page where only Left-to-
Right text (for example English) appears, all footnotes and the footnote rule should appear on
the left, without any consideration for the global direction of text. The problem is when both
Right-to-Left and Left-to-Right footnotes should appear on the same page or when a page with
an Arabic paragraph or two appear on the top and the rest of the text is in Latin on the bottom
and a Right-to-Left footnote should be issued, how should we proceed?
5.3. Displayed Material. Lists environments
Concerning displayed material, we shall begin by showing first some examples of how it
looks like to use the different list environments.
The environment. The syntax to use an environment is the same as with
standard Latin texts you are used to in L
A
T
EX except that you have to issue a
or command to switch to Arabic or Farsi. The four levels of
an Arabic environment, for example, looks like:
. ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
: ﻲlﻳ Amﻋ أrqﻧ dqﻓ ‹AyRAﻳrﻟا ﻲﻓ ﻲmlﻌﻟا بrﻌﻟا „اrtﻟ AnRrﻌﺗ اÐإ
بAsﺤﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ
مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ
يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ
يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ
بAsﺤﻟا باwﺑأ
ﻦyﺋdtbmlﻟ Aﻫdﺋاwﻓو بrSﻟاو ﻊmﺠﻟا قrV
Tbsnﻟا „wﺤﺑ
ﻦﻳﺄWﺨﻟا TqﻳrV
‹Afkﻟا TqﻳrV
ةrﻗ ﻦﺑا Tﻳr\ﻧو TﺑAﺤtmﻟا داdﻋﻷا ‹Aﻳr\ﻧ

The system 33
‹Ayﻟاwtmﻟا
‹ﻻwhﺠmﻟا —اrﺨtFا
HkﻌﻟAﺑ ﻞmﻌﻟا TqﻳrV
rbﺠﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ
TFdnhﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ
‹A“l“mﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ
The four levels of a Farsi environment are the same. So, there is no need to rewrite
them all. we provide a little humoristic example in Farsi entitled Credit is Dead, whose transla-
tion (always from the Persian studies site at the university of Texas) is:
قازﺮﻟاﻮﻫ
دﺮﻣﻪﯿﺴﻧ
ﯽﺑﺎﺴﺣﺪﺑشاﺮﺨﻟدﻪﺛدﺎﺣﺮﺛاردﻢﯿﻧﺎﺳرﯽﻣعﻼﻃاﻪﺑﻪﻠﯿﺳوﻦﯾاﻪﺑ
ﺖﺷﺬﮔردﻪﯿﺴﻧ
ﻦﺘﺷاﺪﻧﺖﻠﻋﻪﺑ
نورﺎﻗﺞﻨﮔ
بﻮﯾاﺮﺒﺻ
حﻮﻧﺮﻤﻋ
ﺎﻤﺷیرودﺖﻗﺎﻃ
ﻢﯾروﺬﻌﻣﯽﺘﺳدﻪﺟووﻪﯿﺴﻧندادزا
ﻪـــــــــــــــــــﻧﺎﮕﯿﺑﻪـــــــــــــــــــﻠﻣﺎﻌﻣرد ﻪـــــــــــــــــــﻧﺎﮕﯾﯽﺘـــــــــــــــــــﺳودرد

34 ﻲﺑrﻌﻟا مA\ﻧ
The environment. The syntax to use an environment is also the
same as with standard Latin texts you are used to in L
A
T
EX. And there too, you have to use a
or . The four levels of an Arabic
environment, for example, looks like:
. ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
: ﻲlﻳ Amﻋ أrqﻧ dqﻓ ‹AyRAﻳrﻟا ﻲﻓ ﻲmlﻌﻟا بrﻌﻟا „اrtﻟ AnRrﻌﺗ اÐإ
بAsﺤﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ .)1(
مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ .ا
يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ .ب
يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ .—
بAsﺤﻟا باwﺑأ 1
ﻦyﺋdtbmlﻟ Aﻫdﺋاwﻓو بrSﻟاو ﻊmﺠﻟا قrV ا
Tbsnﻟا „wﺤﺑ ب
ﻦﻳﺄWﺨﻟا TqﻳrV —
‹Afkﻟا TqﻳrV د
ةrﻗ ﻦﺑا Tﻳr\ﻧو TﺑAﺤtmﻟا داdﻋﻷا ‹Aﻳr\ﻧ 2
‹Ayﻟاwtmﻟا 3
‹ﻻwhﺠmﻟا —اrﺨtFا .د
HkﻌﻟAﺑ ﻞmﻌﻟا TqﻳrV .ه
rbﺠﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ .)2(
TFdnhﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ .)3(
‹A“l“mﻟا ﻲﻓ بrﻌﻟا r›ﺂﻣ .)4(
While the four levels of a Farsi environment looks like this. We use the same
Arabic text as the above example of enumeration, supposing it’s Farsi.
.ﻢﯿﺣﺮﻟاﻦﻤﺣﺮﻟاﷲاﻢﺴﺑ
:ﯽﻠﯾﺎﻤﻋأﺮﻘﻧﺪﻘﻓتﺎﯿﺿﺎﯾﺮﻟاﯽﻓﯽﻤﻠﻌﻟابﺮﻌﻟاثاﺮﺘﻟﺎﻨﺿﺮﻌﺗاذإ
بﺎﺴﺤﻟاﯽﻓبﺮﻌﻟاﺮﺛﺂﻣ .(۱)
مﺎﻗرﻷاعاﻮﻧأوﻢﯿﻗﺮﺘﻟامﺎ[ﻧ .ا
یﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓ .ب
یﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓ .پ
بﺎﺴﺤﻟاباﻮﺑأ ۱
ﻦﯿﺋﺪﺘﺒﻤﻠﻟﺎﻫﺪﺋاﻮﻓوبﺮﻀﻟاوﻊﻤﺠﻟاقﺮﻃ ا
ﻪﺒﺴﻨﻟاثﻮﺤﺑ ب
ﻦﯾﺄﻄﺨﻟاﻪﻘﯾﺮﻃ پ

The system 35
تﺎﻔﻜﻟاﻪﻘﯾﺮﻃ ت
هﺮﻗﻦﺑاﻪﯾﺮ[ﻧوﻪﺑﺎﺤﺘﻤﻟاداﺪﻋﻷاتﺎﯾﺮ[ﻧ ۲
تﺎﯿﻟاﻮﺘﻤﻟا ۳
تﻻﻮﻬﺠﻤﻟاجاﺮﺨﺘﺳا .ت
ﺲﻜﻌﻟﺎﺑﻞﻤﻌﻟاﻪﻘﯾﺮﻃ .ث
ﺮﺒﺠﻟاﯽﻓبﺮﻌﻟاﺮﺛﺂﻣ .(۲)
ﻪﺳﺪﻨﻬﻟاﯽﻓبﺮﻌﻟاﺮﺛﺂﻣ .(۳)
تﺎﺜﻠﺜﻤﻟاﯽﻓبﺮﻌﻟاﺮﺛﺂﻣ .(۴)
You must have noticed the, for the moment, we use the same form for the counters of the
second and fourth levels of the enumerate environment. This should be fixed in the next version
according to what is done in the standard Arabic literature. The same are used for Farsi with
the exception that extended Arabo-Indic digits are used instead of Arabo-Indic digits.
Description environment. Concerning the environment, the syntax is also
standard. All you have to do is to precede it with a or .
It looks like:
مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ : مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ
ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ
عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو
مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا
ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا مA\ﻧ مAﻗCﻷا عاwﻧأو ﻢyﻗrtﻟا
مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ : يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ
مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا
مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا
مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا
مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا مA\nﻟا Aﻳاzﻣو rfOﻟا ةrkﻓ يrKﻌﻟا
يrKﻌﻟا
ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ : يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ
ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا
rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا
ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا
ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا
يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا ﻞSﻓ يrKﻌﻟا rskﻟا عاrtﺧا ﻲﻓ بrﻌﻟا
If we use the same Arabic text as the above example of description, supposing it’s Farsi.
مﺎﻗرﻷاعاﻮﻧأوﻢﯿﻗﺮﺘﻟامﺎ[ﻧمﺎﻗرﻷاعاﻮﻧأوﻢﯿﻗﺮﺘﻟامﺎ[ﻧمﺎﻗرﻷاعاﻮﻧأوﻢﯿﻗﺮﺘﻟامﺎ[ﻧ : لوا ﺖﻤﺴﻗ
عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ
ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا
36 ﻲﺑrﻌﻟا مA\ﻧ
مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو
مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا مﺎ[ﻧ مﺎﻗرﻷا عاﻮﻧأو ﻢﯿﻗﺮﺘﻟا
ﻢﯿﻗﺮﺘﻟامﺎ[ﻧ
ﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓ : مود ﺖﻤﺴﻗ
ﺮﻔﺼﻟاهﺮﻜﻓ یﺮﺸﻌﻟامﺎ[ﻨﻟا ﺎﯾاﺰﻣوﺮﻔﺼﻟا هﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣو
ﺮﻔﺼﻟاهﺮﻜﻓ یﺮﺸﻌﻟامﺎ[ﻨﻟا ﺎﯾاﺰﻣوﺮﻔﺼﻟا هﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣو
ﺮﻔﺼﻟاهﺮﻜﻓ یﺮﺸﻌﻟامﺎ[ﻨﻟا ﺎﯾاﺰﻣوﺮﻔﺼﻟا هﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟا مﺎ[ﻨﻟاﺎﯾاﺰﻣو
یﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣوﺮﻔﺼﻟاهﺮﻜﻓیﺮﺸﻌﻟامﺎ[ﻨﻟاﺎﯾاﺰﻣو
ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ یﺮﺸﻌﻟا ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ : مﻮﺳ ﺖﻤﺴﻗ
بﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟا
ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ یﺮﺸﻌﻟا ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ یﺮﺸﻌﻟا ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ
بﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟا
ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ یﺮﺸﻌﻟا ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ بﺮﻌﻟا ﻞﻀﻓ یﺮﺸﻌﻟا ﺮﺴﻜﻟا عاﺮﺘﺧا ﯽﻓ
یﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟاﺮﺴﻜﻟاعاﺮﺘﺧاﯽﻓبﺮﻌﻟاﻞﻀﻓیﺮﺸﻌﻟا
5.4. More Displayed Material
Quotations. Concerning quotations there is nothing special neither, except that it is typeset
from Right-to-Left of course. Of course, you type it like you do for Latin text with L
A
T
EX. Here is
a little example.
Yhtnﻣ ﻪﻧود Hyﻟ ي@ﻟا , Ymﺣﻷا zﻌﻟAﺑ Ptﺨmﻟا , YmFﻻا ﻪmFAﺑ دrfnmﻟا ü dmﺤﻟا . . .
ﺖmﺗو , ﻪmFا كCAbﺗ , Amﻋ Amﻌﻧ ﻪﺋAyﻟوا Ylﻋ ﻎbFاو , Amlﻋو TmﺣC ﺊJ ﻞﻛ ﻊFو , Yﻣrﻣ هءاCوﻻو
اdmﺤﻣ AﻧdyF نا dhJاو , ﻪmlﻗ نwkﻳو نAﻛ Amﺑ ىrﺟو , ﻪmkﺣ ﺖmﺟو , ﻪmﻌﻧ ﺖmﻋو , ﻪmlﻛ
هdﻳاو , نAﻳدﻻا rﺋAF Ylﻋ هrh\yﻟ ىdhﻟا ﻦﻳdﺑ ﻪlFCا ,ﻪﻟwFCو هdbﻋ ﻲJrqﻟا ﻲmJAhﻟا ﻲﺑrﻌﻟا ﻲﻣﻻا ﻲbnﻟا
نA›dﺤﻟاو ﻪyﻟا ryyﻐtﻟا قrWﺗ ﻦﻣ ﻪ\fﺣ ﻦmRو , نAﻣEﻻا ﺐﻗAﻌﺗ Ylﻋ ةrmtsmﻟا ةdﻟAﺨﻟا ةzﺠﻌmﻟا نآrqﻟAﺑ
. . . اdﺑاو Amﺋاد ﻪlﻫا wﻫ Amﻛو , ءادا Tqﺤﻟو , ARC ﻪﻟ نwkﺗ ةﻼ} ﻪylﻋ ﻢlFو üا Yl} ,
And as we did above, we use a Farsi text about “Hurricane Rita” which is nearing the coasts
of the southern states of the US, is again plunging the residents of the southern states of the US like
Louisiana, Texas and Florida into horror.
ﺮﮕﯾد رﺎﺑ ،دﻮﺷﯽﻣ ﻚﯾدﺰﻧ ﺎﻜﯾﺮﻣآ ﯽﺑﻮﻨﺟ یﺎﻫﺖﻟﺎﯾا ﻞﺣاﻮﺳ ﻪﺑ ﻪﻛ « ﺎﺘﯾر » نﺎﻓﻮﻃ . . .
.دﺮﺑوﺮﻓﺖﺸﺣوردار«اﺪﯾرﻮﻠﻓوساﺰﮕﺗ،ﺎﻧﺎﯾﺰﯿﺋﻮﻟ»ﺮﯿ[ﻧﺎﻜﯾﺮﻣآﯽﺑﻮﻨﺟیﺎﻫﺖﻟﺎﯾانﺎﻨﻛﺎﺳ
ﺶﯿﭘ یﺪﻨﭼ « ﺎﻨﯾﺮﺗﺎﻛ » رﺎﺒﮔﺮﻣ نﺎﻓﻮﻃ ﻪﻜﻧآ زا ﺲﭘ :دﺮﻛ مﻼﻋا ناناﯽﺳ ﯽﻧﻮﯾﺰﯾﻮﻠﺗ ﻪﻜﺒﺷ
» و نﺎﺌﻟرواﻮﯿﻧ نﻮﭼ ﺖﻟﺎﯾا ﻦﯾا رد ﻊﻗاو یﺎﻫﺮﻬﺷ و ﺎﻧﺎﯾﺰﯿﺋﻮﻟ ﺮﯿ[ﻧ ﺎﻜﯾﺮﻣآ ﯽﺑﻮﻨﺟ یﺎﻫﺖﻟﺎﯾا

The system 37
ﻪﻘﻄﻨﻣﻦﯾانﺎﻨﻛﺎﺳیﺮﮕﯾدیﻮﻗوكﺎﻧﺮﻄﺧنﺎﻓﻮﻃنﻮﻨﻛا،دﺮﻛناﺮﯾوارﺎﻬﻧآوﺪﯾدرﻮﻧردار«ژورنﻮﺗﺎﺑ
. . ..ﺖﺳاهدﺮﺑوﺮﻓﺖﺸﺣوردار
5.5. Footnotes
Footnotes in Arabic and Farsi are also supported. The footnote text and footnote rule appear
on the right side of the page as they should, like in the example below.
One problem with mixing Arabic Right-to-Left scripts with Latin ones is that the
commands issued in a mixed-script environments have to share the same separator line which
depends on the current language when the page is output. So you have to choose a direction for
your footnotes when you are typing. For example when you are in an Arabic page try to issue a
footnote and inside use the control sequence to get Latin text instead of switching the
language back and forth.
ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
ﻒyWﻟ Aﻳ ﻢhlﻟا ﻚﻧwﻋ
‹AﻓARإ ﻦﻣ هEAﺠﻧإ ﻢﺗ Aﻣ ﻢ\ﻌﻣ ﻊﻣ لAmﻌtFﻼﻟ ﻞﺑAﻗ ﻪﻧﻷ ,Tﻧوrmﻟا ﻦﻣ rybﻛ Cdqﺑ ﻊtmtﻳو ﻻwmﺤﻣ ﻪﻧwkﺑ zymtﻳ مA\nﻟا ا@ﻫ
Tmlkﻟا ﻲﻓ فوrﺤﻟا لAkJأ dﻳdﺤtﻟ ﻲﺟCAﺧ –ﻟAﻌﻣ يأ Yﻟإ —Atﺤﻳ ﻻ ﻪﻧأ Yﻟإ TﻓARإ . )1(ﺦyﺗ ﻢﻟAﻋ ﻲﻓ ةdﻋAsﻣ –ﻣاrﺑو
.
:ﻪfyﻟﺄﺗ ا@ﻫو ﻖlﺤﻟا ﻦﻣ Ahﺟrﺨﻣ Cdﻗ Ylﻋ AhﻌRwﻓ ,„ ,‹ ,ب ,أ ﻞylﺨﻟا ﺐlﻗ ...
,و ,م ,ب ,ف ,ن ,ل ,C ,Ð ,„ ,_ ,‹ ,د ,ط ,E ,x ,Q ,| ,M ,— ,ك ,ق ,غ ,خ ,ﻫ ,ح ,ع
.) üا TmﺣC þ يrObﻟا dmﺣأ ﻦﺑ ﻞylﺨlﻟ ﻦyﻌﻟا بAtﻛ Tﻣdqﻣ ﻦﻣ ()2(.ةzmﻫ þ ي ,أ
And some Farsi footnotes too:
ﻢﯿﺣﺮﻟاﻦﻤﺣﺮﻟاﷲاﻢﺴﺑ
ﻒﯿﻄﻟﺎﯾﻢﻬﻠﻟاﻚﻧﻮﻋ
ﺞﻣاﺮﺑوتﺎﻓﺎﺿإﻦﻣهزﺎﺠﻧإﻢﺗﺎﻣﻢ[ﻌﻣﻊﻣلﺎﻤﻌﺘﺳﻼﻟﻞﺑﺎﻗﻪﻧﻷ،ﻪﻧوﺮﻤﻟاﻦﻣﺮﯿﺒﻛرﺪﻘﺑﻊﺘﻤﺘﯾوﻻﻮﻤﺤﻣﻪﻧﻮﻜﺑﺰﯿﻤﺘﯾمﺎ[ﻨﻟااﺬﻫ
.ﻪﻤﻠﻜﻟاﯽﻓفوﺮﺤﻟالﺎﻜﺷأﺪﯾﺪﺤﺘﻟﯽﺟرﺎﺧﺞﻟﺎﻌﻣیأﻰﻟإجﺎﺘﺤﯾﻻﻪﻧأﻰﻟإﻪﻓﺎﺿإ.(۳(ﺦﯿﺗﻢﻟﺎﻋﯽﻓهﺪﻋﺎﺴﻣ
|rﻓ Ahtﻓrﻌﻣو ,ﻦﻳdﻟا ﻦﻣ Tyﺑrﻌﻟا Tﻐlﻟا Hfﻧ نأ ﻢlﻋاو( : )ﻢyqtsmﻟا طاrOﻟا ءAStﻗا( ﻪﺑAtﻛ ﻲﻓ Tymyﺗ ﻦﺑا مAﻣﻹا لwqﻳ . TyﺑrﻌﻟAﺑ TﻟAﺣإ ه@ﻫ)1(
.)ﺐﺟاو whﻓ ﻪﺑ ﻻإ ﺐﺟاwﻟا ﻢtﻳ ﻻ Aﻣو ,Tnsﻟاو بAtkﻟا ﻢhﻓ ﻲﻓ ﺐﺟاو
نأ يأ ,Ahﺑاrﻋإ Tyfyﻛو ,‹Amlkﻟا rﺧاوأ XbRو ,Tlmﺠﻟا ﻞﺧاد Tmlﻛ ﻞﻛ TfyZو dﻳdﺤtﺑ wﺤnﻟا dﻋاwﻗ Ptﺨﺗ . TyﺑrﻌﻟAﺑ ىrﺧأ TﻟAﺣإ ه@ﻫو)2(
ﻞkJ ryﻐtﻳ ﻻ يأ( Tynbﻣ Ahﻧأ ”yﺣ ﻦﻣ وأ Tlmﺠﻟا ﻦﻣ Ahﻌﻗwﻣ ryﻐtﺑ Aﻫrﺧآ ﻞkJ ryﻐtﻳ يأ( Tﺑrﻌﻣ Ahﻧأ ”yﺣ ﻦﻣ Tyﺑrﻌﻟا Tmlklﻟ r\nﺗ wﺤnﻟا dﻋاwﻗ
Ptﺨﻳ ﻢlﻋ whﻓ( )Pqnﻟا وأ ةدAﻳzﻟAﺑ ryﻐﺗ ﻦﻣ Ahylﻋ أrWﻳ Aﻣو Tyﺑrﻌﻟا Tmlkﻟا Tynbﺑ Ptﺨﻳ ي@ﻟا ,فrOﻟا ﻢlﻋ ﻦyﺑو ﻪnyﺑ ﻖﻳrfﺗ ا@ﻫو )Ahﻌﻗwﻣ ryﻐtﺑ Aﻫrﺧآ
Aﻫrﺧآ ﻞkJ ﻲﻓ ﻪﻟ ﻞﺧد ﻻو ﻢlkﻟا Tynﺑأ مA\nﺑ
ضﺮﻓﺎﻬﺘﻓﺮﻌﻣو،ﻦﯾﺪﻟاﻦﻣﻪﯿﺑﺮﻌﻟاﻪﻐﻠﻟاﺲﻔﻧنأﻢﻠﻋاو):(ﻢﯿﻘﺘﺴﻤﻟاطاﺮﺼﻟاءﺎﻀﺘﻗا)ﻪﺑﺎﺘﻛﯽﻓﻪﯿﻤﯿﺗﻦﺑامﺎﻣﻹالﻮﻘﯾ.ﻪﯿﺑﺮﻌﻟﺎﺑﻪﻟﺎﺣإهﺬﻫ(۳(
.(ﺐﺟاوﻮﻬﻓﻪﺑﻻإﺐﺟاﻮﻟاﻢﺘﯾﻻﺎﻣو،ﻪﻨﺴﻟاوبﺎﺘﻜﻟاﻢﻬﻓﯽﻓﺐﺟاو

38 ﻲﺑrﻌﻟا مA\ﻧ
:ﻪﻔﯿﻟﺄﺗاﺬﻫوﻖﻠﺤﻟاﻦﻣﺎﻬﺟﺮﺨﻣرﺪﻗﻰﻠﻋﺎﻬﻌﺿﻮﻓ،ث،ت،ب،أﻞﯿﻠﺨﻟاﺐﻠﻗ...
ـی،أ،و،م،ب،ف،ن،ل،ر،ذ،ث،ظ،ت،د،ط،ز،س،ص،ض،ش،ج،ك،ق،غ،خ،ﻫ،ح،ع
.(ﷲاﻪﻤﺣرـیﺮﺼﺒﻟاﺪﻤﺣأﻦﺑﻞﯿﻠﺨﻠﻟﻦﯿﻌﻟابﺎﺘﻛﻪﻣﺪﻘﻣﻦﻣ)(۴(.هﺰﻤﻫ
ﺪﻋاﻮﻗنأیأ،ﺎﻬﺑاﺮﻋإﻪﯿﻔﯿﻛو،تﺎﻤﻠﻜﻟاﺮﺧاوأﻂﺒﺿو،ﻪﻠﻤﺠﻟا ﻞﺧاد ﻪﻤﻠﻛ ﻞﻛ ﻪﻔﯿﻇو ﺪﯾﺪﺤﺘﺑ ﻮﺤﻨﻟا ﺪﻋاﻮﻗ ﺺﺘﺨﺗ.ﻪﯿﺑﺮﻌﻟﺎﺑﻰﺮﺧأﻪﻟﺎﺣإهﺬﻫو(۴(
ﻞﻜﺷ ﺮﯿﻐﺘﯾ ﻻ یأ) ﻪﯿﻨﺒﻣ ﺎﻬﻧأ ﺚﯿﺣ ﻦﻣ وأ ﻪﻠﻤﺠﻟا ﻦﻣ ﺎﻬﻌﻗﻮﻣ ﺮﯿﻐﺘﺑ ﺎﻫﺮﺧآ ﻞﻜﺷ ﺮﯿﻐﺘﯾ یأ) ﻪﺑﺮﻌﻣ ﺎﻬﻧأ ﺚﯿﺣ ﻦﻣ ﻪﯿﺑﺮﻌﻟا ﻪﻤﻠﻜﻠﻟ ﺮ[ﻨﺗ ﻮﺤﻨﻟا
ﻢﻠﻋﻮﻬﻓ)(ﺺﻘﻨﻟاوأهدﺎﯾﺰﻟﺎﺑ ﺮﯿﻐﺗﻦﻣﺎﻬﯿﻠﻋأﺮﻄﯾ ﺎﻣوﻪﯿﺑﺮﻌﻟاﻪﻤﻠﻜﻟاﻪﯿﻨﺒﺑ ﺺﺘﺨﯾیﺬﻟا،فﺮﺼﻟاﻢﻠﻋ ﻦﯿﺑوﻪﻨﯿﺑﻖﯾﺮﻔﺗاﺬﻫو(ﺎﻬﻌﻗﻮﻣﺮﯿﻐﺘﺑﺎﻫﺮﺧآ
ﺎﻫﺮﺧآﻞﻜﺷﯽﻓﻪﻟﻞﺧدﻻوﻢﻠﻜﻟاﻪﯿﻨﺑأمﺎ[ﻨﺑﺺﺘﺨﯾ

CHAPTER 6
Localisation
فﻼtﺧاو zﻳAmﺗ
:ﻢﺠﻌﻟاTyﻣﻼﺑTﻓوrﻌmﻟاﻪtyﻣﻻﻲﻓﻲﺋاrﻐWﻟالAﻗ
ﻞþþþþþþþþskﻟAﺑ ءrmﻟا يrﻐﻳو ﻲﻟAþþþþþþþþﻌmﻟا ﻦﻋ ﻪþþþþþþþþþþþþþbﺣA} ﻢﻫ ﻲn“ﻳ Tþþþþþþþþþþþþþﻣﻼsﻟا ﺐﺣ
لzþþþþþþtﻋاو wﺠﻟا ﻲﻓ AþþþþþþmlF وأ |Cﻷا ﻲﻓ Aþþþþþþþþþþþþþþþþqfﻧ @ﺨﺗAﻓ ﻪþþþþþþþþþþþþþþþþyﻟإ ﺖﺤnﺟ نﺈﻓ
ﻞþþþþþþþþþþþmﺤﻟا ةCاد Aþþþþþþþþþþþﻣwﻳ HmKﻟا حrbﺗ ﻢﻟ Ynﻣ غwþþþþþþþþlﺑ ىوﺄmﻟا فrJ ﻲﻓ نAþþþþþþþþﻛ wﻟ
لdþþþþþþþþþþþþþþþþþþþþtﻌmﺑ —wﻌﻣ ﻖﺑAþþþþþþþþþþþþþþþþþþþþWﻳ ﻞﻫو ﻢhﺑ@ﻛ xAþþþþþþþþþþþnﻟا dnﻋ ﻚþþþþþþþþþþþﻗd} نﺄJو
لwþþþþþþþþþﺨﻟاو CAþþþþþþþþþOﻧﻷا Yﻟإ ﻪyﻓ —Aþþþþþþþþþtﺤﻳ ﻻو ﻪþþþþþþþþþþþþylﻋ YKﺨﻳ ﻻ TﻋAþþþþþþþþþþþþnqﻟا ﻚlﻣ
ﻞþþþþþþþþþþþþþþþþqtnﻣ ryﻏ ﻞþþþþþþþþþþþþþþþþ\ﺑ ﺖﻌmF ﻞhﻓ Aþþþþþþþþþþþþþþþhﻟ ‹Ab› ﻻ Cاdﺑ ءAþþþþþþþþþþþþþþþqbﻟا wﺟrﺗ
In this chapter, we will see some of the main issues that should be addressed in a
language package, both for Arabic and Farsi.
6.1. Arabic and Farsi captions
The Arabic and Farsi captions used actually are summarized in the Table 6.1 on page 40).
Those that are not defined yet are replaced with stars.
6.2. Arabic and Farsi dates
The names of the months used in each language are summarized in Table 6.2 on page 41.
The Arabic form is just an Arabic form of the Western month used in the middle east. That is
the Arabic date is just, the standard one expressed in Arabic:
Today is December 16, 2006
Today in Arabic is 2006 لوﻷا نwﻧAﻛ 16
The Farsi date, that uses Jalali calendar, is different. The Jalali calendar is the official one used
in Iran, it’s a solar calendar with its own leap years!
The code used is the one developed by the FarsiT
EXﻚﺗﯽﺳرﺎﻓteam, we just rewrote the names
of the months to be usable with correctly:
39

40 ﻲﺑrﻌﻟا مA\ﻧ
Command English TyﺑrﻌﻟAﺑ ﯽﺳرﺎﻓ
Preface ﻞﺧdﻣ ***
References ﻊﺟاrmﻟا ﻊﺟﺮﻣ
Abstract Pﺨlﻣ هﺪﯿﻜﭼ
Bibliography CدAOmﻟا ﻪﻣﺎﻧبﺎﺘﻛ
Chapter بAbﻟا ﻞﺼﻓ
Appendix ﻖﺤlmﻟا ﺖﺳﻮﯿﭘ
Contents xrhfﻟا تﺎﺟرﺪﻨﻣﺖﺳﺮﻬﻓ
List of Figures لAkJﻷا TmﺋAﻗ لﺎﻜﺷاﺖﺴﯿﻟ
List of Tables لواdﺠﻟا TmﺋAﻗ لواﺪﺟﺖﺴﯿﻟ
Index xrhfﻟا ﯽﯾﺎﺒﻔﻟاﺖﺳﺮﻬﻓ
Figure ﻞkJ ﻞﻜﺷ
Table لوdﺟ لوﺪﺟ
Part ﻢsqﻟا ﺶﺨﺑ
encl ‹Aqﻓrmﻟا ***
cc Yﻟإ Thﺟwﻣ Tﺨsﻧ ***
To Yﻟإ ***
Page Tﺤf} ***
see ﻊﺟاC ***
see also ASﻳأ ﻊﺟاC ***
Proof نAﻫrﺑ ***
Glossary xwﻣAﻗ ***
Table 6.1: Captions in Arabic and Farsi
Today is December 16, 2006
Today in Farsi is ۱۳۸۵رذآ۲۵
You can access the Arabic and Farsi dates even if not in an Arabic or Farsi document using
the control sequences and respectively.
You can also access the names of the Arabic and Farsi months using the control sequences
{month_number} and {month_number} where is of course
a number between 1 and 12.
Notice that the current number order in the Jalali Calendar is not at the same order in the
Western usual Gregorian calendar. Just compare the name of the month given by the Farsi date
command seen above and
that gives ﺪﻨﻔﺳا

The system 41
Month Arabic name in Arabic name in Jalali Calendar
the Middle East North Africa Local Official in Iran
1ﻲﻧA“ﻟا نwﻧAﻛ rﻳAnﻳ ﻦﯾدروﺮﻓ
2طAbJ rﻳاrbﻓ ﺖﺸﻬﺒﯾدرا
3CاÐآ xCAﻣ دادﺮﺧ
4نAsyﻧ ﻞﻳrﺑا ﺮﯿﺗ
5CAﻳأ يAﻣ دادﺮﻣ
6ناrﻳzﺣ ﻪyﻧwﻳ رﻮﯾﺮﻬﺷ
7Ewmﺗ Ewyﻟwﻳ ﺮﻬﻣ
8بآ ﺖKﻏ نﺎﺑآ
9لwlﻳأ rbntJ رذآ
10 لوﻷا ﻦﻳrKﺗ rﺑwtﻛا ید
11 ﻲﻧA“ﻟا ﻦﻳrKﺗ rbﻧwﻧ ﻦﻤﻬﺑ
12 لوﻷا نwﻧAﻛ rbmFد ﺪﻨﻔﺳا
Table 6.2: Arabic and Farsi month names
6.3. The Arabi numeration system
The old numerals used in medieval Arabic texts known in Arabic as ﻞmﺠﻟا بAsﺣis also
supported. It is widely used even these days to enumerate items in Arabic texts, so we need it to
“arabize” the environment (You may see Table 6.3). The Farsi documents, we could
see seem to use just a Farsi form of the counter, that is the Farsi Alphabet in order. You can
use it to write numbers in notation using the control sequence {number} .
The result is different according to the context: Arabic or Farsi!
The control sequence is equivalent in the Farsi case to
and in all other cases to . And the two are completely different!
As it may be wanted, the notation can also be used with the control sequence
to get page numbers in notation, like {abjad} .
The Arabic case. In the Arabic language case, you can use the control sequence
to write numbers between 1 and 1999. You may use also the control sequence {number}
that would produce Arabic abjad notation in all cases. The version with an additional letter cap-
ital , is just in case you have some doubts.
You may use it like in to produce ﻊ\ﻏ .
If you use a number that is greater or equal to 2000, the control sequence
will return the argument written in Arabo-Indic, as with for example, to
get 2568 .
The coding of the macros that produce abjad numerals profited a lot from similar one from
the Greek package that supports . Many thanks to whom developed it!

42 ﻲﺑrﻌﻟا مA\ﻧ
Value Value Value Value
numeral numeral numeral numeral
ا1ي10 ق100 غ1000
ب2ك20 C200 — —
—3ل30 M300 ﻊ\ﻏ 1970
د4م40 ‹400
ه5ن50 „500
و6x60 خ600
E7ع70 Ð700
ح8ف80 |800
ط9Q90 _900
Table 6.3: Arabic numerals
The Farsi case. The Farsi documents, we could see seem to use just a Farsi form of the
counter, that is the Farsi Alphabet in order. The additional characters are added where it
seems appropriate, nevertheless, the two letters w¯
aw وand h¯
aه(If we assimilate the Farsi one
to its Arabic counter part) have a reversed order comparing to the Arabic alphabet order!
You can use it to write numbers between 1 and 32 using the control sequence, if you are in a
Farsi context, like in to produce ص. Otherwise
you will have to use the control sequence , this will work in all cases too.
If you use a number that is greater or equal to 33, the control sequence will
return the argument written in Extended Arabo-Indic, as with for example,
to get ۳۶ .
Value Value Value Value
numeral numeral numeral numeral
ا1د10 ط19 م28
ب2ذ11 ظ20 ن29
پ3ر12 ع21 و30
ت4ز13 غ22 ه31
ث5ژ14 ف23 ی32
ج6س15 ق24 — —
چ7ش16 ك25 ۳۶ 36
ح8ص17 گ26
خ9ض18 ل27
Table 6.4: Farsi numerals

The system 43
Figure 6.1: How Mathematics are written in the Farsi editor
6.4. Farsi mathematics
Farsi mathematics are in fact Left-to-Right mathematics with Farsi digits and operators
names in Farsi like in:
ﺪــــﺣ
n
۱
n۰
or
ﺪــــﺣ
x/۱۰ sin x۱
۴۵ ۱
To write formulae like these with , one had to use Farsi boxes to protect Farsi operator
names and digits. For operator names this is the usual way of FarsiT
EX to whom Farsi users are
used to, We suppose, so it will just seem usual. But with FarsiT
EX, digits in mathematical mode
were automatically typeset in Farsi.
We add with this version 1.1 of Arabi this functionality, i.e., when the users switch to the
Farsi language mode, he/she will gets automatically Farsi digits in mathematical mode, and the
normal behavior, i.e. Arabic digits will be used when he/she exits from Farsi (see the following
two figures from the paper [1] by Esfahbod and Pournader).
For example, if you type or inside a Farsi context you will get x۲۴ or
y۵۶, and if the control sequence stands for the limit defined by
ﺪــــﺣ
We should get in displayed equations things like these.
This is the normal behavior in a Farsi context

44 ﻲﺑrﻌﻟا مA\ﻧ
Figure 6.2: And how they should appear once typeset
gives
ﺪــــﺣ
x/۱۰ sin x۱
۴۵ ۱
If for some reason you want Arabic digits inside mathematical mode in a Farsi context, just
type
and you will get
ﺪــــﺣ
x/sin x
And you can reverse again to Farsi digits by typing
to get
ﺪــــﺣ
x/۱۰ sin x۱
۴۵ ۱
The user has control on these two possibilities, and can choose the one that fits him/her.
We have two control sequences that can be used anywhere in the text. The control sequence
switches to Farsi digits in Mathematical mode, while
restores the normal behavior.
We could easily add the possibility to allow typing Arabic and Farsi letters inside mathe-
matical formulae, but Arabic and Farsi words shall not be displayed in Right-to-Left and hence

The system 45
will appear incorrect because -T
EX does not allow , , and in math-
ematical mode!
At this stage, we do not want to introduce in Arabi a reversing macro à la Knuth and McKay.
Using a Farsi for that purpose in not really a problem since it will be done just once when
defining the operator.
6.5. Transliteration signs and standards
comes with a very experimental module that produces a transliteration of .
No counter part has been done for Farsi yet! We hope that it will be useful to people who study
Arabic.
When texts are in general not fully vowelized, the transliteration cannot be expected to
be correct. Moreover, when writing using some 8-bit input encoding ( , or
) there is absolutely no way to distinguish between long vowels ايوand the letters alif,
yaa and waw. Neither, it is possible to write correctly the hamza when on ali f ,w¯
aw, or y¯
a(See
also page 24).
In the case we develop enough the ASCII input encoding of , this module might be
fully functional!
To use it, just load the package it as any other package, and type Arabic text in 8
bits in a Latin context, that is you will have to write using Arabic characters without issuing a
command that switches to the Arabic language to get it to work. And you have not to type any
particular command!
1abw ¯
al l ¯
a¯
alm ry يrﻌmﻟا ءﻼﻌﻟا wﺑأ 1
2wl ¯
a tat
.ayr, i ¯
d¯
a m¯
a n¯
a ibuN n b¯
aAbﻌﻧ ﺐﻋAﻧ Aﻣ اÐإ ,ryWﺗ ﻻو 2
3matnuN mub¯
arakuN كCAbﻣ ﻦtﻣ 3
4h
.ˇ
g mbrwr Cوrbﻣ –ﺣ 4
Table 6.5: A little example of transliteration
6.6. Special characters
We define now some special characters that may be rendered using .
1. defines the control sequence that works both in Farsi and Arabic modes to
print the symbol used to specify the name of GOD
¯
all ¯
ah ﷲا Tﻟﻼﺠﻟا ﻢFإ.
For the moment, we did not provide the Arabic fonts with this symbol yet, so if the
font (in general, and this applies for now for ALL Arabic fonts) has no symbol ﷲ, it
just prints the word üا using the font .

46 ﻲﺑrﻌﻟا مA\ﻧ
2. defines the control sequence in Farsi mode to print the Iranian currency
symbol ﷼. If the font has no symbol , it just prints the symbol from the font
which has one for sure!
3. defines also the control sequence in both Arabic and Farsi modes to
print the Arabic decimal separator ٫. There too, if the font has no symbol Arabic decimal
separator, it just prints the Arabic decimal separator symbol from the font which
has.
For the moment, no macro has yet been implemented to manage automatically this
symbol. This will be done in a near future. If you need it, you should type it by hand.

CHAPTER 7
Features
ﻲﺑrﻌﻟا ‹Ay}wOﺧ
7.1. The fonts
With , we can use, in addition to (normal T
EX) fonts in format, Arabic fonts
in True Type and Postscript format too.
We made the choice to choose only good quality fonts that may be freely available to the users.
An exception is made for Microsoft Windows Arabic fonts that come with the system1, since we
suppose that many users of the Arabic script may have them and would certainly want to use
them. Some were made by well known fonts editors and are really of a good quality. Moreover,
these fonts contain in general enough characters to write the two scripts that interest us here!
Concerning the names of the fonts to use, we follow the standard naming scheme used by
L
A
T
EX. You can think of and the old changed now to .
That means that we use for each existing font , we provide two commands. The first
one has the form and takes as an argument the text that that follows like:
The second one has the form and takes no argument! It will apply to all the text that
that follows:
In the documentation below, we will mention only the form. The other can
be deduced from the explained scheme.
7.2. Available Arabic fonts
The others used, actually, come from the GNU Arabic True type fonts distributed by
with and without their Arabic version of Linux. They can be downloaded freely on the net from
the home page. We also may use the Omega project font for writing Arabic.
The font is, unfortunately, subdivided in three parts, and the first one that contains Arabic lan-
guage specific glyphs does not contain the parentheses, the exclamation sign, the dollar sign,
the guillemots and the quotes. But it contains all the needed vowels, you may use it if you will
not use these signs. The fact that the glyphs needed for Farsi are in two different physical fonts
mean than no ligatures can be used unless we make virtual fonts.
1The font for the moment is , from the Arabic fonts that come with Windows!
47

48 ﻲﺑrﻌﻟا مA\ﻧ
In a next version of we will try to add support for Farsi language also using this font
and manage to get all the needed glyphs!
Unfortunately, Microsoft fonts will not be included with the distribution, you are sup-
posed to have them on your system or download them freely from Microsoft Homepage. But of
course, TeX fonts metrics and Font descriptions files are available with the distribution ready
to be used! If you want to use them in a Type 1 format with , you should convert them
yourself, as the author did, using one of the many available tools! And of course make the
appropriate changes in the
L
A
T
EX arranges files in three families:
1. The Roman ones used for the main text,
2. the family that simulates text written on a typewriter machine (this
is in general a font) and a
3. family. And these families are subdivided in different shapes like bold,italic
and SMALL CAPS.
We tried to make a choice as to which font use for each of these categories. There are two
main constraints:
1. First, the classical Arabic typography ignores such subdivision. We have some classical
fonts like naskhi,thuluth,reqaa, etc.
2. Second, the fonts actually available at the disposition of the author are either free or non
free, while he can distribute only the free ones!
So, we made a little choice of what font should occupy what position in this scheme imposed
by L
A
T
EX. Nevertheless, you have always the possibility to rearrange the fonts according to your
taste, needs and what fonts you have! An other remark is that we did not make slanted ones
from the ones we have already, this is possible and should be done in a next revision.
We provide the user who wants to typeset Arabic with a package with three op-
tions that represent three categories in which we have already made such a choice, and which
constitutes a template that can be easily used and adapted to your needs. Just create a file
copy one of these macros to it, modify it and load it whenever you want.
1. First, we have the option that uses only Arabeyes free fonts, which logically should
be the default to get the system running from the beginning!
2. Then, we have for Arabic Microsoft core that uses only Microsoft fonts, which
may be used if you like the fonts, but it’s not really the best one. Courier in Arabic is
not really a regal for the eyes, it has no kerning at all and the spacing seems correct. It
is definitely not the Latin font you know!
3. Of course, the third choice, that uses as its name means both Arabeyes free fonts
and Arabic Microsoft ones. The font used as the Roman counter part with is a little
bit heavy comparing to a font like Traditional Arabic!
Free download of the Arabic font pack from Microsoft ( ). Click the download
button (marked ﻞymﺤﺗ) to the left of the filename
The GNU Arabeyes fonts are distributed in both True Type format and Type 1 Postscript
( ) format converted by the author!

The system 49
Roman (n) (n) (n)
b/bx, sl/it, sc b/bx, sl/it, sc b/bx, sl/it, sc
Almohanad nice (N) Sindibad (S)
almateen, dimnah, nada graph, N, N S, S, S
Traditional Arabic (TA) Arial (A) Simplified Arabic(SA)
TA bold, TA, Andalus A bold, A, Andalus SA bold, SA, SA
Traditional Arabic (TA) nice (N) Simplified Arabic(SA)
TA bold, dimnah, nada graph, N, N SA bold, SA, SA
Table 7.1: The three font choices for Arabic
The following table (Table 7.2 on page 50) presents the fonts that are already available and
may be used with no problem with the system to write Arabic.
7.3. Available Farsi fonts
The following table (Table 7.3 on page 51) presents the fonts that are already available and
may be used with no problem with the system to write Farsi.
The same remark for Microsoft fonts, said in the former section, applies here too! The font
Farsi simple in its two forms is also available with the Arabic fonts pack available freely on their
site!
We use also some GNU fonts from the project.
More fonts will be added in a next release!
As with Arabic, in Farsi too, we provide the user with with a package with two
options that represent two categories, and which constitutes a template that can be easily used to
adapt it to your needs. Just create a file copy one of these macros to it and modify
it and load it whenever you want.
1. First, we have that uses only FarsiWeb free fonts, which logically should be the
default to get the system running from the beginning.
2. Then, we have for Arabic Microsoft core that uses only Microsoft fonts, which
may be used if you like the fonts. the Farsi simple font is really nice and looks like a
Nastaliq font. A similar free font (and others fonts) will be added in the next release! It
is used in this user guide as the Roman default font for Farsi.
7.4. How to get Outline fonts for free
If you want Outline fonts from existing ones, easily as a feature.
The in a Postscript font has just to be changed from the default filled (0) to outlined
(2). You have to add the text to the file , as in the following
example.

50 ﻲﺑrﻌﻟا مA\ﻧ
Latin Font Name Command Arabic Name A Little Sample
MicroSoft
Traditional Arabic يdylqﺗ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Traditional Arabic Bold دwFأ يdylqﺗ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Simplified Arabic Xsbﻣ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Simplified Arabic Bold دwFأ Xsbﻣ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Courier ﻲﻳCwﻛ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Courier Bold دwFأ ﻲﻳCwﻛ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Arial (Times) لAﻳCأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Arial (Times) Bold دwFأ لAﻳCأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Andalus Hﻟdﻧأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Arabeyes Project
Tholuth ”l“ﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Yermook كwﻣryﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Mashq ﻖKmﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Hor rﺤﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Battar CAtbﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Granada TVAﻧrﻏ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Kayrawan ناوryqﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Dimnah Tnﻣد ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Sindibad دAﺑdnF ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Graph فاrﻛ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Nice HﻳAﻧ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Almohanad dnhmﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Almothnna Yn“mﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Almateen ﻦytmﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Petra ءاrtbﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Nada ىdﻧ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Cortoba TbVrﻗ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Ostorah ةCwWFأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Furat ‹اrfﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Salem ﻢﻟAF ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Shado ﻞZ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Metal نdﻌﻣ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Tarablus HlﺑاrV ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Khalid dﻟAﺧ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Sharjah TﻗCAKﻟا ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Hani ﻲﻧAﻫ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Ouhod dﺣأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Rehan نAﺤﻳC ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Omega Arabic font
Omega Arabic Bold دwFأ Akyﻣوأ ﺐﺗAkﻟا Tylﺣ Xﺨﻟا ﻦsﺣ
Table 7.2: The fonts actually available with Arabic

The system 51
Latin Font Name Command Arabic Name A Little Sample
MicroSoft
Farsi Simple Bold دﻮﺳأﯽﺳرﺎﻓ ﺐﺗﺎﻜﻟاﺔﯿﻠﺣﻂﺨﻟاﻦﺴﺣ
Farsi Simple Outline فﻮﺠﻣ ﯽﺳرﺎﻓ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Simplified Arabic ﻂﺴﺒﻣ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Simplified Arabic Bold دﻮﺳأ ﻂﺴﺒﻣ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Traditional Arabic یﺪﯿﻠﻘﺗ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Traditional Arabic Bold دﻮﺳأ یﺪﯿﻠﻘﺗ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Arial (Times) لﺎﯾرا ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Arial (Times) Bold دﻮﺳأ لﺎﯾرا ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Andalus Hﻟﺪﻧأ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
FarsiWeb Project
Nazli ﯽﻟزﺎﻧ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Nazli Bold دﻮﺳأ ﯽﻟزﺎﻧ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Nazli Outline
Nazli Bold Outline
Titr Bold ﺮﺘﯿﺗ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Titr Bold Outline
Homa ﺎﻤﻫ ﺐﺗﺎﻜﻟا ﺔﯿﻠﺣ ﻂﺨﻟا ﻦﺴﺣ
Table 7.3: The fonts actually available with Farsi
Roman (n) (n) (n)
b/bx, sl/it, sc b/bx, sl/it, sc b/bx, sl/it, sc
Nazli (N) Homa (H) Nazli bold (Nb)
Titr, N, N H, H, H Nb, Nb, Nb
Farsi Simple (FS) Arial (A) Simplified Arabic(SA)
FS out, FS, FS A bold, A, Andalus SA bold, SA, SA
Table 7.4: The two font choices for Farsi
For the font , for example. You must make a copy of the file into ,
create the appropriate , just like , and add a definition of the new
in the file like
What makes the Magic happens is of course the following line, (the first one is here just to
guide you, you must enter a line similar to the second one), in .

52 ﻲﺑrﻌﻟا مA\ﻧ
Figure 7.1: Searching PDF files
7.5. Search and copy PDF files
The package by V. Volovich makes the PDF files generated by both searchable
and copyable in acrobat reader and other compliant PDF viewers, for texts encoded in the sup-
ported font encodings. For the moment, the version that exists on CTAN supports only the Latin
and cyrillic encodings , , , and .
Thanks to this package for whom we wrote the needed files and
for the and encodings that are respectively used by Arabic and Farsi with . So that
now, when using the engine, you can search and copy the generated PDF files.
To get this features, you have to call package before any other package that may load
font encodings. This includes of course! The best place is just after the
control sequence, for e.g.
This will load the required cmap files with the in the PDF file to be
generated. It works for Type 1 fonts, and also for Type 3 fonts with recent versions of .

The system 53
Figure 7.2: Arabic characters in the Bookmarks side bar
7.6. Arabic characters in the bookmarks sidebar
Now we can have Arabic characters (This includes Farsi too of course) in the bookmarks
sidebar, when using . The bookmarks are stored in the file created by .
Of course this is done automatically, no postprocessing is needed, but you have to use the
encoding for the Arabic characters.
You have also to call the file for the moment until its contents is added to the
standard file that works with the option of . Notice that
is still not supported yet but you can use it if your main document direction is Left-to-Right, as
you can see with the documentation.
7.7. Arabic and Farsi Poetry within
This section applies to both Farsi and Arabic, so Arabic refers to the text not the language
unless the word “language” is explicited.
To write poetry, we use the same idea we proposed once to K. Lagally who implemented it
using T
EX, in the verses package for ArabT
EX. It consists in defining two lengths, one for the size

54 ﻲﺑrﻌﻟا مA\ﻧ
for a half verse and the second for the space separating the two half verses, and to spread each
half verse in a box with the first dimension and separating them with a space (or a connector
contained in a box) of width the second dimension.
In ArabT
EX there is a command that takes two arguments, a legal width and
an Arabic text to be spread. Unlike Latin text, spreading Arabic text for a given width does
not mean adding a space but lengthening the keshida character (in fact the connections between
connected characters!) In ArabT
EX, the keshida is a rule that will get the desired length on de-
mand. With all existing modern (postscript and True type) fonts, there is a glyph (with some
fixed width depending on the font of course) that may be used as a keshida. So defining a
macro like in ArabT
EX will not be so easy since we have to put keshidas one af-
ter the other with no space between so that the final length of the text to be spread will get
exactly the desired length. We will certainly get a desired length by stacking characters (with
fixed widths). The idea, that was stolen from the macros to typeset borders, a part of
the package of van der Goot, was to get overlapping keshidas if necessary so that the
final width of the gets exactly the desired one. And we get a with the
same syntax that does exactly that, only the constraint is that you have to type some keshida to
get to work.
The following commands
ﻢþyﺣrﻟا ﻦþmﺣrﻟا ﻪþlﻟا ﻢþsﺑ
ﻢþyﺣrﻟا ﻦþmﺣrﻟا ﻪþlﻟا ﻢþsﺑ
ﻢþyﺣrﻟا ﻦþmﺣrﻟا ﻪþlﻟا ﻢþsﺑ
ﻢþyﺣrﻟا ﻦþmﺣrﻟا ﻪþlﻟا ﻢþsﺑ
give the following result:
ﻢþþþþþþþþþþþþþþyﺣrﻟا ﻦþþþþþþþþþþþþþþmﺣrﻟا ﻪþþþþþþþþþþþþþþlﻟا ﻢþþþþþþþþþþþþþþsﺑ
ﻢþþþþþþþþþþþþþþþþyﺣrﻟا ﻦþþþþþþþþþþþþþþþþmﺣrﻟا ﻪþþþþþþþþþþþþþþþþlﻟا ﻢþþþþþþþþþþþþþþþþsﺑ
ﻢþþþþþþþþþþþþþþþþþþþþþþþþþþyﺣrﻟا ﻦþþþþþþþþþþþþþþþþþþþþþþþþþþmﺣrﻟا ﻪþþþþþþþþþþþþþþþþþþþþþþþþþþlﻟا ﻢþþþþþþþþþþþþþþþþþþþþþþþþþþsﺑ
ﻢþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþyﺣrﻟا ﻦþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþmﺣrﻟا ﻪþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþlﻟا ﻢþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþþsﺑ
To typeset Arabic or Farsi poetry with , you have to load first the package, then
choose the right dimensions for the half verse and the connector as in
{75mm}{5mm}
Then just write the verses of poetry in two part almost like in ArabT
EX, the difference is a
capital instead of a lowercase
ﻪþﺑ ﺖﻌmF نإ , لﺄfﺑ ﻦﺣrfﺗ ﻻ Aþbﻌﻧ ﺐﻋAﻧ Aﻣ اÐإ , ryWﺗ ﻻو
Aþhlﻣﺄﺗ ءاrF ﻦﻣ ﻊ\ﻓأ ﺐWﺨﻟAﻓ Aþbﻋrﻟا rmSﺗ نأ ﻦﻣ rsﻳأ rﻣﻷاو
...
To get for example:

The system 55
Aþþþþþþþþþþþþþþbﻌﻧ ﺐþþþþþþþþþþþþþþﻋAﻧ Aﻣ اÐإ , rþþþþþþþþþþþþþþyWﺗ ﻻو ﻪþþþþþþþþþþþﺑ ﺖþþþþþþþþþþþﻌmF نإ , لﺄþþþþþþþþþþþfﺑ ﻦþþþþþþþþþþþﺣrfﺗ ﻻ
Aþþþþþþþþbﻋrﻟا rþþþþþþþþmSﺗ نأ ﻦþþþþþþþþﻣ rþþþþþþþþsﻳأ rþþþþþþþþﻣﻷاو Aþþþþþþþþþþþhlﻣﺄﺗ ءاrF ﻦþþþþþþþþþþþﻣ ﻊþþþþþþþþþþþ\ﻓأ ﺐþþþþþþþþþþþWﺨﻟAﻓ
Aþþþþþþþþþþþþþþbﻌ} Aﻣ نAﻫ , ﺢyﺤ} ﻞqﻋ دAþþþþþþþþþþþþþþsﻓ ﻪþþþþþþþþþþþþþþþþﺟEAmﻳ ﻻ , اrþþþþþþþþþþþþþþþþkﻓ ‹rkfﺗ اÐإ
You may also use the macro that gives you the possibility to add a character
or something small whose width that does not exceed the reserved dimension to act as an or-
nament in the middle, like:
Ahﺗrtﻓ Hfnﻟا YWﻋأ ﺢ} نإ ﺐlﻟAﻓ * Abﻌﻟ Aﻫdﺟ YmFو , ‹wmﺗ Ytﺣ
...
To get:
Aþþþþþþþþþþþþþþþþþbﻌﻟ Aﻫdﺟ YmFو , ‹wþþþþþþþþþþþþþþþþþmﺗ Ytﺣ *Aþþþþþþþþþþþþþþþþþhﺗrtﻓ Hfnﻟا YWﻋأ ﺢþþþþþþþþþþþþþþþþþ} نإ ﺐlﻟAﻓ
Aþþþþþþþþþþþþbﻌﻟ ﺖþþþþþþþþþþþþhbJأ , ﺖþþþþþþþþþþþþﻗو ‹ﻻAyﺧ ﻻإ *Aþþþþþþþþþþþþhbﻋﻼﻣ ﻲﻓ , يداwþþþþþþþþþþþþﻐﻟا ﻲﻧاwþþþþþþþþþþþþﻐﻟا Aﻣو
Aþþþþþþþþþþþþþþþþþþbﻌﺗ اrﻓAﺣ ‹داEو , باrþþþþþþþþþþþþþþþþþþtﻟا Yﻟإ *ﻪþþþþþþþþþþþþþþþþþþþlﻣAﺣ ﻢsﺟ ﺖnﻋ ﻢsﺠﻟا ةدAþþþþþþþþþþþþþþþþþþþﻳE
7.8. T
E
X4ht support
Documents written using L
A
T
EX have a similar form to documents used on the world
wide web. They both markup languages with similar structures.
There are many tools that are used to convert T
EX/L
A
T
EX documents to HTML. They are
quite different and do not have similar capabilities. If you are interested you should get a look
at The L
A
T
EX Web Companion, [19] by Goosen et al.
These can be divided into two classes:
1. Systems that parse the file themselves.
2. Systems that use T
EX as the file parser.
In fact, they all do their own parsing, except T
EX4ht. It is the only one that uses T
EX as the parser.
The first category will certainly have a lot of trouble to understand and reproduce correctly all
the commands a user may use and this certainly the case of new systems like . This makes
T
EX4ht a serious option that cannot be easily discarded. And indeed, it did not took more than
few lines of T
EX Code and the creation of appropriate hyperfont files for to get supported
by T
EX4ht!
With this version 1.1 of , we added the necessary files to add the possibility to convert
files to and easily using T
EX4ht of E. Gurari. Get a look to
. It is still experimental, just like the whole at this stage,
but seems to work quite well on the examples we tried till now. support will be a part of
future T
EX4ht distributions.
A little description of how to get files from L
A
T
EX files follows.
Notice first that until some official version of T
EX4ht is released, we will provide some files
that do that. The way professor Gurari does with T
EX4ht is certainly the best as he know his
system better any one else.

56 ﻲﺑrﻌﻟا مA\ﻧ
CAhnﻟا HmJ
ﻢykﺤﻟا ﻖyﻓwﺗ
ﻢykﺤﻟا ﻖyﻓwﺗ
- TﻳCdnkFﻹا ( ﻢykﺤﻟا ﻖyﻓwﺗ dﻟwmﻟ Tﻳwﺌmﻟا ىrﻛ@ﻟAﺑ ﻲﺑrﻌﻟا ﻢﻟAﻌﻟا ﻞftﺤﻳ ,rhKﻟا ا@ﻫ ﻲﻓ
.) ةrﻫAqﻟا
Yﻟوأ ﻦﻣ ةdﺣاو ﺐﺗAﻛ whﻓ ;Tyﺑrﻌﻟا Tyﻋاdﺑﻹا TﺑAtkﻟا CwWﺗ TWﻳrﺧ Ylﻋ ةzymtﻣ TﻧAkmﺑ ﻢykﺤﻟا ﻲ\ﺣ dﻗو
dqnﻟا ryﻳAﻌmﺑ TﺠRAﻧ Tyﺑrﻋ Tyﺣrsﻣ لوأ ﺐﺗAﻛ - ASﻳأ - wﻫو , حوrﻟا ةدwﻋ :Tyﺑrﻌﻟا ‹Aﻳاوrﻟا
ﻒySﻟا ناwnﻌﺑ ةrkbﻣ ﻦF ﻲﻓ ﻪﺗAyﺣrsﻣ Yﻟوأ ﺐtﻛ dﻗ ﻢykﺤﻟا نAﻛ ,Ahlbﻗو . ﻒhkﻟا ﻞﻫأ :”ﻳdﺤﻟا
.ﻲﻧAWﻳrbﻟا لﻼtﺣﻻا dR ةCw› نAﺑإ ﻚﻟÐو , ﻞyq“ﻟا
Ayﺑدأ Asnﺟ ﻲﺑrﻌﻟا ﻢﻟAﻌﻟا ﻲﻓ حrsmﻟا ﻞﻌﺟ ﻦﻣ ﻪﻧﺄﺑو , r}Aﻌmﻟا يrOmﻟا حrsmﻟا HFﺆﻣ ﻪﻧﺄﺑ ﻢykﺤﻟا ﻒ}و
حوC Ahyﻓ Erbﻳ نأ Ylﻋ Qrﺣو ,Tﻧوrmﻟاو rsyﻟAﺑ Tyﺣrsmﻟا ﻪﻟAmﻋأ Tﻐﻟ ﺖmsﺗا dﻗو . Aﻗwﻣrﻣ
...
and ﻲﺗ Lﺗإ Cwﻓ ﺦﺗ و ﻲﺑrﻌﻟا
Figure 7.3: and input
If you want this functionality, you should of course install the T
EX4ht package if it is not
yet installed on your system. First we thought to distribute the needed files ourselves, and the
user would have to copy all these files (hyperfont files and a file among others).
These files should have been removed when you would install an official version of T
EX4ht that
supports , that should be more up-to-date certainly, to avoid any clash or misuse! But since
there is a possibility to get the last version of the T
EX4ht distribution from the web at
, this seems us not necessary. The

The system 57
Figure 7.4: The file as shown in a web browser
link points to the last changes to T
EX4ht, including possibly, additions that are not yet described
in this documentation. Just just download that version and update your T
EX4ht files.
How to produce a file from a input file
We will proceed by a small example that looks like the following figure 7.3 (see the file
):
Then, just issue this command in a shell (where is replaced by your
of course):
For UTF-8 compilations, however, as pointed out by Gurari, one should use commands like the
following
T
EX4ht will call L
A
T
EX to compile your L
A
T
EX file three (3) times to resolve all L
A
T
EX possible
cross references (more may be needed some times, you are the only one who can decide) and

58 ﻲﺑrﻌﻟا مA\ﻧ
Figure 7.5: The file with a slightly modified CSS
then calls the programs and in a final stage to generate the corresponding
file with possibly images to be embedded in it and a cascading style sheet file
.
This looks like Figure 7.4 on page 57 on a Web browser.
You can change the layout of your HTML file by adding cascading style sheet ( ) directives
in a configuration file (see the T
EX4ht documentation please) to customize your output. Here
(see Figure 7.5) is what we get with the former example by adding just few lines that will be
added to .

CHAPTER 8
Some compatibility issues
ىrﺧﻷا مErﻟا ﻊﻣ مﻼF ﻲﻓ ﻪKﻳAﻌﺗو ﻲﺑrﻌﻟا Tﻧوrﻣ
We will see now some packages that were tested to work with with (may be) no prob-
lems!
8.1. and
Concerning, Postscript, the system works perfectly well with the macros and we
found really no problem! You may get a look at different figures used in this user guide pro-
duced using . Get a look at Figure 8.1 on page 59.
א א
﴾دﺎﻀﻟﺍ ﺔﻐﻟ﴿
ﻰﺳﺭﺎﻓ
©
C
w
א
א
א
Figure 8.1: and
The two figures were produced with the following standard code:
59

60 ﻲﺑrﻌﻟا مA\ﻧ
Tﻐlﻟا
Tyﺑrﻌﻟا دASﻟا Tﻐﻟ
ﻪlﻫأ اwﻧw}و ﻢlﻌﻟا اwﻛCدأ
ﻪlyﺠbﺗ ﻦﻋ دAﺣ لwhﺟ ﻦﻣ يدCwﻟا ﻦﺑا
and Hkﻳاrtsﺑ و ﻲﺑrﻌﻟا
Figure 8.2: and input

The system 61
8.2. and
works also fine with Donald Arseneau’s package. You must have noticed the
figure on page 21. For fun, we have developed a new paragraph shape with the form
of a . See Figure 8.3 on page 61.
ﻦmﺣrﻟا üا ﻢsﺑ
ي@ﻟا ü dmﺤﻟا TﻧAﻋﻹا ﻪﺑو ﻢyﺣrﻟا
ﻢﻫrsﻳو ﻻzﻧ ﻦynﻣﺆmﻟا هدAbﻌﻟ xودrfﻟا Tnﺟ ﻞﻌﺟ
اwklsﻓ AﻫاwF او@ﺨtﻳ ﻢlﻓ Ahyﻟإ Tl}wmﻟا TﺤﻟAOﻟا لAmﻋﻸﻟ
ﻢhnkFأو ﻢhqlﺨﻳ نأ ﻞbﻗ ﻢhﻟ Ahqlﺧ ﻼﻟÐ Ahyﻟإ Tl}wmﻟا ﻞybsﻟا
نAﺤtﻣﻻا Cاد Yﻟإ ﻢhﺟrﺧأو هCAkmﻟAﺑ Ahfﺣو ﻢﻫ dﺟwﻳ نأ ﻞbﻗ AﻫAﻳإ
ةdﻣ بrRو ﻪylﻋ موdqﻟا مwﻳ Ahﻟwﺧد دAﻌyﻣ ﻞﻌﺟو ﻼmﻋ ﻦsﺣأ ﻢhﻳأ ﻢﻫwlbyﻟ
Ylﻋ rWﺧ ﻻو ﺖﻌmF نÐأ ﻻو ‹أC ﻦyﻋ ﻻAﻣ ﻢhﻋدوأو ﻼﺟأ ﻪﻧود TyﻧAfﻟا ةAyﺤﻟا
rObﻟا TﻳؤC ﻦﻣ @fﻧأ ﻲﻫ ﻲtﻟا ةryObﻟا ﻦyﻌﺑ AﻫwnﻳAﻋ Ytﺣ ﻢhﻟ Aﻫﻼﺟو rKﺑ ﺐlﻗ
ryﺧ نAsﻟ Ylﻋ rKbﻟا ryﺧ ﻲhﻓ ﻪﻟwFC نAsﻟ Ylﻋ Ahyﻓ ﻢhﻟ dﻋأ Amﺑ ﻢﻫrKﺑو
dmﺤﻟاو ,ﻻwﺣ Ahnﻋ نwﻐbﻳ ﻻ Ahyﻓ ﻦﻳdﻟAﺧ ﻢhﻧwkﺑ ىrKbﻟا ﻢhﻟ ﻞmﻛو ryKbﻟا
ﻦﻳrKbﻣ ﻞFrﻟا ”ﻋAﺑو ﻼFC Tkﺋﻼmﻟا ﻞﻋAﺟ |Cﻷاو ‹اوAmsﻟا rVAﻓ ü
A“bﻋ ﻢhqlﺨﻳ ﻢﻟ @ﻏ ﻞFrﻟا dﻌﺑ Tﺠﺣ üا Ylﻋ xAnlﻟ نwkﻳ ﻼﺌﻟ ﻦﻳC@nﻣو
ﺐWﺨﻟ ﻢﻫﺄyﻫو ﻢy\ﻋ rﻣﻷ ﻢhqlﺧ ﻞﺑ ﻼmﻫ ﻢhlfﻐﻳ wﻟو ىdF ﻢhﻛrtﻳ ﻢﻟو
ﻪﺑC ىwF ﻎbﻳ ﻢﻟو ﻲﻋاdﻟا بAﺟأ ﻦmﻟ ه@hﻓ ﻦﻳCاد ﻢhﻟ rmﻋو ﻢysﺟ
AFأC Ahﺑ ﻊﻓrﻳ ﻢﻟو ﻪﺗwﻋد ﺐﺠﻳ ﻢﻟ ﻦmﻟ ه@ﻫو ﻻdﺑ ﻢﻳrkﻟا
rysyﻟAﺑ هدAbﻋ ﻦﻣ ﻲRC ي@ﻟا ü dmﺤﻟاو ﻼﻣأ Ahﺑ ﻖlﻌﻳ ﻢﻟو
ﻢhylﻋ |Aﻓأو ﻞﻟzﻟا ﻦﻣ ry“kﻟا ﻦﻋ ﻢhﻟ EوAﺠﺗو ﻞmﻌﻟا ﻦﻣ
نأ ﻪbtﻛ ي@ﻟا بAtkﻟا ﻦmRو Tmﺣrﻟا ﻪsfﻧ Ylﻋ ﺐtﻛو Tmﻌnﻟا
Tﺠﺣ ةwﻋdﻟAﺑ ﻢhmﻌﻓ مﻼsﻟا Cاد Yﻟإ هدAbﻋ Aﻋد ﻪbSﻏ ﺖqbF ﻪtmﺣC
ا@hﻓ ﻼSﻓو ﻪnﻣو Tmﻌﻧ ءAJ ﻦﻣ ﻖyﻓwtﻟاو TﻳاdhﻟAﺑ Pﺧو ﻻdﻋو ﻢhylﻋ ﻪnﻣ
ﻪlﻟاو ءAKﻳ ﻦﻣ ﻪyﺗﺆﻳ ﻪlSﻓ ﻚﻟÐو ﻢykﺤﻟا zﻳzﻌﻟا wﻫو ﻪtmkﺣو ﻪﻟdﻋ
هdbﻋ ةدAhJ ﻪﻟ ﻚﻳrJ ﻻ هdﺣو üا ﻻإ ﻪﻟإ ﻻ نأ dhJاو ﻢy\ﻌﻟا ﻞSfﻟا وÐ
ﻊmWﻣ ﻻو ﻪtmﺣCو ﻪlSﻓ ﻦyﻋ TﻓrV ﻪﺑ Ynﻏ ﻻ ﻦﻣو ﻪtﻣأ ﻦﺑأو هdbﻋ ﻦﺑاو
dmﺤﻣ نأ dhJاو ﻪﺗrfﻐﻣو هwfﻌﺑ ﻻإ CAnﻟا ﻦﻣ ةAﺠnﻟاو TnﺠﻟAﺑ Ewfﻟا ﻲﻓ ﻪﻟ
ﻦymﻟAﻌlﻟ TmﺣC ﻪlFCأ ﻪqlﺧ ﻦﻣ ﻪﺗryﺧو ﻪyﺣو Ylﻋ Tnyﻣأو ﻪﻟwFCو هdbﻋ
نAmﻳﻸﻟ ﻪ“ﻌﺑ ﻦyﻌmﺟأ دAbﻌﻟا Ylﻋ Tﺠﺣو ﻦykﻟAslﻟ Tﺠﺤﻣو ﻦylﻣAﻌlﻟ ةوdﻗو
ﻪﺗARrﻣ ﻲﻓو AyﻟAﺗ ﻪﺑAtkﻟو AﻳدAﻫ Tqylﺨlﻟو Ayﻋاد مﻼsﻟا Cاد Yﻟإو AﻳدAnﻣ
ﻦﻣ ةrtﻓ ﻦyﺣ Ylﻋ ﻪlFCأ AyﻫAﻧ rknmﻟا ﻦﻋو اrﻣآ فوrﻌmﻟAﺑو AyﻋAF
ﻪtﻋAV دAbﻌﻟا Ylﻋ |rtﻓاو ﻞbsﻟا ﺢRوأو قrWﻟا مwﻗأ Yﻟإ ﻪﺑ ىdhﻓ ﻞFrﻟا
.هryﻗwﺗو هzﻳzﻌﺗو ﻪtbﺤﻣو
Figure 8.3: . and the package II
8.3. and
is compatible with the package by Tan-
tau [24], that provide “similar” features to . Of course, it does not accept raw PostScript

62 ﻲﺑrﻌﻟا مA\ﻧ
as does and may lack some other functionalities provided by packages that use Post-
Script through to do PostScript programming and calculations. For now, T
EX can do
some calculations, but nothing similar to PostScript of course!
ﻦyﺧdtﻟا
The main advantage of over seems to be the possibility to use any T
EX engine,
including .
The documentation of 1.0 was prepared with the help of . The file was
converted to PostScript using . And the PostScript resulting file was finally converted to
using Ghostscript.
This scheme, unfortunately, will end in a PDF file that cannot be searched or copied except
if we use fonts with glyphs that contain Unicode information. This is not the case of Arabeyes
fonts for the current version. This is a drawback that can be overcome using files for the
LAE and LFE font encodings and the package.
For this version 1.1 of , the documentation was prepared differently. We tried to use
instead of whenever possible, just to be able to use and hence to be able to
use the package and finally get a PDF file where Arabic and Farsi text can be searched and
copied!
1. When some functionality was provided by both and with a
similar quality, we used . This is the case for example of colored boxes
with text inside.
2. When some functionality was provided only by , or some pack-
age that used it, we generated corresponding encapsulated PostScript files
and converted them to to use them with .
3. And finally, we used with and the images output by .
That way, also works for us, and our Arabic and Farsi text is search-
able and can be copied!
8.4. and or gymnastics
If you are a L
A
T
EX user that needs Arabic or Farsi, you may have already used the system
ArabT
EX by Prof K. Lagally, personally, I did and I liked it. Cheers!
In the sequel Arabic means Arabic or Farsi. If you used either Windows , or
or Unicode input encodings to write your Arabic text with ArabT
EX, you will have no
problem to use your documents with since it supports these encodings.

The system 63
Tyﺑrﻌﻟا فوrﺤﻟا لAmﻌtFا TyﻧAkﻣإ ﺢytﻳ مA\ﻧ ﻲﺑrﻌﻟا TﻣEC
مA\ﻧ لAmﻌtFAﺑ dﺣاو dntsﻣ ﻲﻓ ﺐnﺟ Yﻟإ Abnﺟ Tynyﺗﻼﻟاو
ÐAtFﻷا هrktﺑا ي@ﻟا فوrﺤﻟا ﻒyfOtﻟ T
EX> ﺦyﺗ <
ﻒyfOﺗ ﻞﺟأ ﻦﻣ دCwfﻧAtF TﻌﻣAﺟ ﻦﻣ > ‹wnﻛ dﻟAﻧود <
Ylﻋ ,ءAymykﻟاو ءAﻳzyfﻟاو ‹AyRAﻳrﻟAﻛ( Tymlﻌﻟا ‹اdntsmﻟا
ﻲmlﻌﻟا ﻊmtﺠmﻟا فrOﺗ ﺖﺤﺗ ﻪﻌRوو )rOﺤﻟا ﻻ لA“mﻟا ﻞybF
. ﻞﺑAqﻣ نود
TyﻧAkﻣإ TﻓARإ ﻞﺟأ ﻦﻣ TﻌRاwtﻣ TmﻫAsﻣ ﻲﺑrﻌﻟا TﻣEC
Aﻣ ﻞﻛ لﻼﻐtFﻻ ﺦyﺗ مA\ﻧ ﻊﻣ )ﯽﺳرﺎﻓ و ﻲﺑrﻋ(ﻦytﻐlﻟا لAmﻌtFا
QwOnﻟا ﻒyfOﺗ ﻲﻓ ‹AyﻧAkﻣإ ﻦﻣ rﺧاzﻟا ﻢﻟAﻌﻟا ا@ﻫ ﻪﻳwtﺤﻳ
rKnﺑ مwqﺗ ﻲtﻟا TymﻟAﻌﻟا ‹Aﺌyhﻟاو ‹AsFﺆmﻟا CAytﺧا ﻪtlﻌﺟ
. هrFﺄﺑ ﻢﻟAﻌﻟا ﻲﻓ Tymlﻌﻟا „wﺤbﻟا
Cdqﺑ ﻊtmtﻳو ﻻwmﺤﻣ ﻪﻧwkﺑ zymtﻳ مA\nﻟا ا@hﻓ , Tﻳاdbﻟا @nﻣو
هEAﺠﻧإ ﻢﺗ Aﻣ ﻢ\ﻌﻣ ﻊﻣ لAmﻌtFﻼﻟ ﻞﺑAﻗ ﻪﻧﻷ , Tﻧوrmﻟا ﻦﻣ rybﻛ
ﻻ ﻪﻧأ Yﻟإ TﻓARإ ! Aﻫr“ﻛأ Aﻣو ةdﻋAsﻣ –ﻣاrﺑو ‹AﻓARإ ﻦﻣ
ﻲﻓ فوrﺤﻟا لAkJأ dﻳdﺤtﻟ ﻲﺟCAﺧ –ﻟAﻌﻣ يأ Yﻟإ —Atﺤﻳ
. Tmlkﻟا
نﺎﻌﺘﺴﻤﻟاﷲاو
and ﻒﺠﺑ و ﻲﺑrﻌﻟا
Figure 8.4: and
If you were using the ArabT
EX encoding, or you need a functionality that is not yet
implemented in or that ArabT
EX does better, but you are interested in getting your Arabic
text typeset with , either for the available fonts, or just because you need to write your text
on some with for example. . .
Then, you have always the possibility to use your ArabT
EX with in your documents
since is fully compatible with ArabT
EX. You can get a look at the following example.
Nevertheless, you must not use the and symbols in your text. They are used in Arabi to
get the left and right Arabic double quotes!
There is only a little thing you have to bear in mind. ArabT
EX supports Windows ,
and Unicode encodings as well as the Mac Arabic encoding. There is only
one thing one should know. ArabT
EX does not use the standard for that. It has its own
macros.

64 ﻲﺑrﻌﻟا مA\ﻧ
So, when you want to use 8-bit Arabic or Farsi text in some format, , for example
in both arabtext environments and outside with , a clash will occur, both and
ArabT
EX complaining! While you can use the environment with ASCII input encoding
without any problem!
The solution to this apparent problem is the following easy trick. Remember that ArabT
EX
uses the control sequence
where is either or for Windows , for , or
for . See the ArabT
EX documentation for the details!
While, to switch between different encodings, uses the control sequence
So the solution is just to issue, at the beginning of you document either
or
to hide Arabic characters you may type to ArabT
EX.
And before any environment, type a command like
you may use or any other input encoding that does not support Arabic characters so
that any Arabic character you may type inside the environment will be invisible to
and L
A
T
EX2 in general. And just inside issue a command
of course you have to use the encoding you are using to type Arabic characters instead of
.
And after the environment, type a command like
or any input encoding other than you may use!
Get a look at the Examples 8.5 on page 65 and 8.6 on page 66.
But don’t forget after to deactivate ArabT
EX Arabic input encoding and activate that of the
package :
The following text is produced in an environment with the options
and and . Some special characters input with two ASCII
characters in ArabT
EX and few verses from Hyqﻟا ئrﻣا Tqlﻌﻣare typeset.

The system 65
As an example the following text with using :
TﻣEC ﻦﻣ لA“ﻣ
Xﺨﻟا ^ﺣﻻ
gives the following result:
Xﺨﻟا^ﺣﻻ TﻣECﻦﻣلA“ﻣ
And now the following code with ArabT
E
X using the same :
TﻣEC ﻦﻣ لA“ﻣ
Xﺨﻟا ^ﺣﻻ
gives the following result:
¡mÌ'@
¡kB ArabT
EX
éÓ
PP
áÓ ÈA
JÓ
and ﺦﺗ بrﻋ و ﻲﺑrﻌﻟا
Figure 8.5: and ArabT
EX side by side
8.5. from the package
A modified version of version 1.4 that works from Right-to-Left. Unfortunately,
no comment is given to indicate where the changes were made to the original file.
It works well and may produce text for at most 5 columns.
We typeset an example with respectively 3 and 4 columns! Text in 5 columns looks too ugly
in our case because the is too small and hyphenation is forbidden in modern Arabic!
This should work better for larger pages! This works also better with fonts whose characters are

66 ﻲﺑrﻌﻟا مA\ﻧ
¯
a h
–t
¯d
¯šˇ
g s
.d
.˙
g h
.t
.z
.
h
¨
h
.
X
H p ø
b-ism al-l¯
ah wa-’l-h
.md li-ll¯
ah wa-’ls
.l¯
ah wa-’s-sl¯
am l¯
a rs¯
ul al-l¯
ah.
. é
<Ë@ Èñ
P ú
Ϋ ÐC
Ë@
ð
èC
Ë@
ð é
<Ë
YÒmÌ'@
ð é
<Ë@ ÕæAK.
mu allaqatu ¯
amr¯
a al-qays
®Ë@ ZøQÓ@
é
®
Ê
ª
Ó
qif¯
a nbki mn d
¯ikr¯
a h
.bybin wamanzili bsiqt
.i ’l-liw¯
a bayna ’d-dah
–¯
uli fah
.awmali
É
Óñ
m
¯
.Èñ
k
Y Ë@
á
K.ø
ñ
Ê Ë@ ¡
®
.È
Q
Ó
ð I
.
J.k ø
Q »
X
á Ó ½
J.K A
®
.
¯
fat¯
ud
.ih
.a f-al-miqr¯
ati lam ya fu rasmuh¯
a lm¯
a nasaˇ
gath¯
a mn ˇ
ganwbin wšam ali
È
A ÖÞ
ð H
.ñJ
k
.
á Ó A
î
D
j
.
A
ÜÏA
ê
ÖÞ
P
.
ª
K
Õ
Ë
è
@
Q
® ÖÏA ¯
.
l
ñ
J
¯
.
tr¯
a ba ara ¯
al ar ¯
ami f¯
a aras
.¯
atih¯
a wqy ¯
anih¯
a k annahu h
.abbu fulfuli
É
®
.Ê
¯
.
I
.
k
é
K
A¿ A
î
E
A
ª J
¯ð A
î
E
A
Q
« ú
¯
.Ð
@
P
B@
Q
ª
K.ø
Q
K
k anny ˙
gad¯
ata ¯
albayni yawma tah
.ammal¯
u ld¯
a samur¯
ati ¯
alh
.ayyi n¯
aqifu h
.and
.li
É
J
k
.
¯
AK
ú
mÌ'@
H
@
Q
ÖÞø
Y Ë @ñ
Ê
Ò
m
'
Ðñ
K
á
J.Ë@
è@
Y
« ú
G
A¿
wq¯
ufan bih¯
a s
.ah
.by al¯
a mat
.iyyahum, yqwlwn l¯
athlik as¯
a’n wtaˇ
gammali
É
Ò
m.
'ð
úæ
@ ½ Ê
î
EB
àñ Ëñ
®K
,Ñ
î
D¢
Óú
Î
« ú
æ
.m
A
îE
.A
¯
.ñ
¯ð
wa- inna šif¯
a¯
ı abratun muhar¯
aqatun fhl nda rasmin d¯
arisin mn ma wali
È
ñ ª
Ó
á Ó
P
@
X Õ
æ
P
YJ «
É ê ¯
.
é
¯@
Q
ê
Ó
è
Q.
« ú
G
A
®
.
à@
ð
kd abka mn ummi ’l-h
.uwayrit
¯i qablh¯
a wˇ
g¯
aratih¯
a umma ’r-rab¯
abi bi-m asali
É
A Öß.H
.A
K.
Q Ë@
Ð
@ A
î
E
PA
g
.ð A
êÊ
J.
¯
H
Q
K
ñ
mÌ'@
Ð
@
á Ó
½ K.
@Y »
inside ﻲﺑrﻌﻟا XFو ﻦﻣ ﺦﺗ بrﻋ
Figure 8.6: ArabT
EX at work inside Arabi
more or less the same height and width. For example, with Arabic, this works better with
than with !
ةﻼOﻟا ﻦVاwﻣ ﻲﻓ ﻢ› dﺋاwfﻟاو ﻢkﺤﻟا
Cاdqﻣ ﻲﻓ مﻼkﻟا ﻢ› AhﻟAﺤﻣو ﻪylﻋ
ﻪyﻓ ﻢlﻌﻟا ﻞﻫأ فﻼtﺧاو Ahnﻣ ﺐﺟاwﻟا
rbﺨﻣو ﻒﻳzmﻟا ﻒyﻳzﺗو ﺢﺟاrﻟا ﺢyﺟrﺗو
بC ü dmﺤﻟاو ﻪf}و قwﻓ بAtkﻟا
ﻦﻋأو rsﻳ بC ﻒﻟﺆmﻟا Tﻣdqﻣ .ﻦymﻟAﻌﻟا
لAﻗ ﻢlFو ﻪﻟآو dmﺤﻣ Ylﻋ üا Yl}و
ﻲﻓ دrﻓ بAtﻛ wﻫو باwﺑأ Tsmﺧ wﻫو
هdﺋاwﻓ ةr“ﻛ ﻲﻓ ﻪl“ﻣ Yﻟإ ﻖbsﻳ ﻢﻟ هAnﻌﻣ
ﻲﻓ ةدCاwﻟا ”ﻳدAﺣﻷا ﻪyﻓ Anyﺑ AhﺗCاzﻏو
ﻦﻣ Ahﺤyﺤ}و ﻪylﻋ مﻼsﻟاو ةﻼOﻟا
Ahﻟwlﻌﻣ ﻲﻓ Aﻣ Anyﺑو Ahﻟwlﻌﻣو Ahnsﺣ
ا@ﻫ CاrFأ ﻢ› AyﻓAJ AﻧAyﺑ ﻞlﻌﻟا ﻦﻣ
ﻦﻣ ﻪylﻋ ﻞmtJا Aﻣو ﻪﻓrJو ءAﻋdﻟا
Yl}و ﻦﻋأو rsﻳ بC ﻒﻟﺆmﻟا Tﻣdqﻣ
ﺦyKﻟا لAﻗ ﻢlFو ﻪﻟآو dmﺤﻣ Ylﻋ üا
wﺑأ ﻦﻳdﻟا HmJ Tﻣﻼﻌﻟا ﻢﻟAﻌﻟا مAﻣﻹا
بwﻳأ ﻦﺑ rkﺑ ﻲﺑأ ﻦﺑ dmﺤﻣ üا dbﻋ
üا ﻪmﺣC TﻳEwﺠﻟا مAﻣإ ﻲlbnﺤﻟا ﻲﻋCzﻟا
ﻞSﻓ ﻲﻓ مAhﻓﻷا ءﻼﺟ ﻪtymF بAtﻛ ا@ﻫ
مAﻧﻷا ryﺧ dmﺤﻣ Ylﻋ مﻼsﻟاو ةﻼOﻟا

The system 67
dﺋاwfﻟاو ﻢkﺤﻟا ﻦﻣ ﻪylﻋ ﻞmtJا Aﻣو
AhﻟAﺤﻣو ﻪylﻋ ةﻼOﻟا ﻦVاwﻣ ﻲﻓ ﻢ›
Ahnﻣ ﺐﺟاwﻟا Cاdqﻣ ﻲﻓ مﻼkﻟا ﻢ›
ﺢﺟاrﻟا ﺢyﺟrﺗو ﻪyﻓ ﻢlﻌﻟا ﻞﻫأ فﻼtﺧاو
قwﻓ بAtkﻟا rbﺨﻣو ﻒﻳzmﻟا ﻒyﻳzﺗو
.ﻦymﻟAﻌﻟا بC ü dmﺤﻟاو ﻪf}و
Yﻟإ ﻖbsﻳ ﻢﻟ هAnﻌﻣ ﻲﻓ دrﻓ بAtﻛ wﻫو
ﻪyﻓ Anyﺑ AhﺗCاzﻏو هdﺋاwﻓ ةr“ﻛ ﻲﻓ ﻪl“ﻣ
مﻼsﻟاو ةﻼOﻟا ﻲﻓ ةدCاwﻟا ”ﻳدAﺣﻷا
Ahﻟwlﻌﻣو Ahnsﺣ ﻦﻣ Ahﺤyﺤ}و ﻪylﻋ
AﻧAyﺑ ﻞlﻌﻟا ﻦﻣ Ahﻟwlﻌﻣ ﻲﻓ Aﻣ Anyﺑو
ﻪﻓrJو ءAﻋdﻟا ا@ﻫ CاrFأ ﻢ› AyﻓAJ
ﻦﻳdﻟا HmJ Tﻣﻼﻌﻟا ﻢﻟAﻌﻟا مAﻣﻹا ﺦyKﻟا
rkﺑ ﻲﺑأ ﻦﺑ dmﺤﻣ üا dbﻋ wﺑأ
TﻳEwﺠﻟا مAﻣإ ﻲlbnﺤﻟا ﻲﻋCzﻟا بwﻳأ ﻦﺑ
ءﻼﺟ ﻪtymF بAtﻛ ا@ﻫ üا ﻪmﺣC
Ylﻋ مﻼsﻟاو ةﻼOﻟا ﻞSﻓ ﻲﻓ مAhﻓﻷا
باwﺑأ Tsmﺧ wﻫو مAﻧﻷا ryﺧ dmﺤﻣ
ةﻼOﻟا ﻦVاwﻣ ﻲﻓ ﻢ›
مﻼkﻟا ﻢ› AhﻟAﺤﻣو ﻪylﻋ
Ahnﻣ ﺐﺟاwﻟا Cاdqﻣ ﻲﻓ
ﻪyﻓ ﻢlﻌﻟا ﻞﻫأ فﻼtﺧاو
ﻒyﻳzﺗو ﺢﺟاrﻟا ﺢyﺟrﺗو
بAtkﻟا rbﺨﻣو ﻒﻳzmﻟا
بC ü dmﺤﻟاو ﻪf}و قwﻓ
.ﻦymﻟAﻌﻟا
ةﻼOﻟا ﻲﻓ ةدCاwﻟا ”ﻳدAﺣﻷا
Ahﺤyﺤ}و ﻪylﻋ مﻼsﻟاو
Anyﺑو Ahﻟwlﻌﻣو Ahnsﺣ ﻦﻣ
ﻞlﻌﻟا ﻦﻣ Ahﻟwlﻌﻣ ﻲﻓ Aﻣ
ا@ﻫ CاrFأ ﻢ› AyﻓAJ AﻧAyﺑ
ﻞmtJا Aﻣو ﻪﻓrJو ءAﻋdﻟا
dﺋاwfﻟاو ﻢkﺤﻟا ﻦﻣ ﻪylﻋ
ءﻼﺟ ﻪtymF بAtﻛ ا@ﻫ üا
ةﻼOﻟا ﻞSﻓ ﻲﻓ مAhﻓﻷا
ryﺧ dmﺤﻣ Ylﻋ مﻼsﻟاو
باwﺑأ Tsmﺧ wﻫو مAﻧﻷا
هAnﻌﻣ ﻲﻓ دrﻓ بAtﻛ wﻫو
ةr“ﻛ ﻲﻓ ﻪl“ﻣ Yﻟإ ﻖbsﻳ ﻢﻟ
ﻪyﻓ Anyﺑ AhﺗCاzﻏو هdﺋاwﻓ
rsﻳ بC ﻒﻟﺆmﻟا Tﻣdqﻣ
dmﺤﻣ Ylﻋ üا Yl}و ﻦﻋأو
مAﻣﻹا ﺦyKﻟا لAﻗ ﻢlFو ﻪﻟآو
ﻦﻳdﻟا HmJ Tﻣﻼﻌﻟا ﻢﻟAﻌﻟا
ﻦﺑ dmﺤﻣ üا dbﻋ wﺑأ
ﻲﻋCzﻟا بwﻳأ ﻦﺑ rkﺑ ﻲﺑأ
ﻪmﺣC TﻳEwﺠﻟا مAﻣإ ﻲlbnﺤﻟا
8.6. and
It works fine too with the package by Timothy Van Zandt, the creator of PSTricks,
that may produce many normal (small) pages with parts of the text to be “glued” together to get
a larger one. Look, beginning from the next page, at the following small example that spreads
on 8 pages as you can see on the next page (a landscape page made of the 8 produced pages
stacked, in a disposition, besides each other) and whose code follows on the page after.


The system 69
TﻗrKﻣ ‹Amlﻛ
ءAmﻧو Hfnlﻟ Tyﻛzﺗ ةAﻛzﻟاو , rbkﻟا ﻦﻋ ﻢkﻟ Ahﻳznﺗ ةﻼOﻟاو , كrKﻟا ﻦﻣ ﻢkﻟ اryhWﺗ نAmﻳﻹا üا ﻞﻌﺠﻓ ...
, Tlmlﻟ AﻣA\ﻧ AntﻋAVو , بwlqlﻟ Aqysnﺗ لdﻌﻟاو , ﻦﻳdlﻟ اdyyKﺗ –ﺤﻟاو , Qﻼﺧﻺﻟ Atyb“ﺗ مAyOﻟاو , قErﻟا ﻲﻓ
rﺟﻷا بAﺠytFا Ylﻋ Tﻧwﻌﻣ rbOﻟاو , قAfnﻟاو rfkﻟا ﻞﻫﻷ ﻻÐو مﻼFﻺﻟ اzﻋ دAhﺠﻟاو Tﻗrfﻟا ﻦﻣ AﻧAﻣأ AntﻣAﻣإو
مAﺣCﻷا Tl}و , Xﺨsﻟا ﻦﻣ TﻳAﻗو ﻦﻳdﻟاwﻟا rﺑو , TﻣAﻌlﻟ TﺤlOﻣ rknmﻟا ﻦﻋ ﻲhnﻟاو فوrﻌmﻟAﺑ rﻣﻷاو ,
ﻞyﻳAkmﻟا Tyﻓwﺗو , ةrfﻐmlﻟ ASﻳrﻌﺗ C@nﻟAﺑ ءAﻓwﻟاو , ءAﻣdlﻟ Anqﺣ QAOqﻟاو , دdﻌﻟا ﻲﻓ ةAmnﻣو rmﻌﻟا ﻲﻓ ةﺄsnﻣ
, Tnﻌlﻟا ﻦﻋ AﺑAﺠﺣ ف@qﻟا بAntﺟاو , Hﺟrﻟا ﻦﻋ Ahﻳznﺗ rmﺨﻟا ﻦﻋ ﻲhnﻟاو , Tsﺨblﻟ اryyﻐﺗ ﻦﻳEاwmﻟاو
ﻢtﻧأو ﻻإ ﻦﺗwmﺗ ﻻو ﻪﺗAqﺗ ﻖﺣ üا اwqﺗAﻓ , TyﺑwﺑrﻟAﺑ ﻪﻟ A}ﻼﺧإ كrKﻟا üا مrﺣو , Tfﻌlﻟ AﺑAﺠﻳا Tﻗrsﻟا كrﺗو
... ءAmlﻌﻟا هدAbﻋ ﻦﻣ üا YKﺨﻳ Amﻧﺈﻓ ﻪnﻋ ﻢﻛAhﻧو ﻪﺑ ﻢﻛrﻣأ Amyﻓ üا اwﻌyVأو , نwmlsﻣ
{ { ) ﻪﻟآو ﻪylﻋ üا Yl} ( dmﺤﻣ ﺖnﺑ TmVAﻓ ءاrﻫzﻟا}}
}}
$$
{minipage}}
{Poster}
and rtFwﺑ و ﻲﺑrﻌﻟا
Figure 8.7: and coding









CHAPTER 9
with X
E
T
E
X
ﺦﺗيE و ﻲﺑrﻌﻟا
specific support for the X
E
T
EX engine
and its documentation are under prepara-
tion. Nevertheless, You can use with
X
E
T
EX as it is a T
EX engine that has the four
primitives needed and used by to do
Right-to-Left and Left-to-Right writing.
X
E
T
EX1is a T
EX system by Jonathan Kew that began with Mac OS X on modern Apple Mac
machines and which exists now for Linux and Windows flavored machines is a T
EX typesetting
engine that natively handles the Unicode character set and modern intelligent and includes -T
EX
extensions. It produces an extended format that is transformed by a like utility to
.
X
E
T
EX simplifies languages support greatly, it can work with Asian, Middle Eastern, in-
cluding the languages that use the Arabic script like Arabic and Farsi and other traditionally
“difficult” languages just as readily as with European languages.
According to the system on which it runs, it uses modern font technologies provided by today’s
operating systems and text layout services to quote Jonathan Kew.
It uses OpenType or/and Apple Advanced Typography (AAT) layout features (for example,
for the Arabic script case, using appropriate tables all the contextual analysis and diacritics
placement in the font) in modern fonts to support complex nonLatin writing systems.
uses too the idea used by X
E
T
EX that consists on relying on the font to do, for the
example of languages that use the Arabic script, the contextual analysis (shaping) and reserves
T
EX macros to formatting and localization of L
A
T
EX captions.
We are actually working on making also X
E
T
EX compliant, It will use X
E
T
EX capabilities
to handle fonts and Unicode text with the actual formatting and localization macros.
1The name X
E
T
EX was inspired by the idea of a Mac OS X extension (hence the ‘X’ prefix) to -T
EX; and as one of
its intended uses is for bidirectional scripts such as Hebrew and Arabic, the name was designed to be reversible. Thee
name is pronounced as if it were written zee-T
EX.
70

APPENDIX A
package components
ﻲﺑrﻌﻟا TﻣEC ‹Aﻳwtﺤﻣ
ﻢﻌnﻟا ﻊﻣ ﻞymﺠﻟا rﻛ@ﻟا ﻚﻟ ﻢﻳdﺗ Ahﻧﺈﻓ ماrkﻟا قﻼﺧﺄﺑ ﻚylﻋ
The system provides the following packages and files for the Arabic script support:
1.1. Main Package files
This is the Language Definition File for the Arabic language that supports
the system. It defines all the language specific macros like Arabic captions (the
names of the table of contents, list of figures, list of tables, .. . ), The Arabic form of the
date, etc.
This is the Language Definition File for the Farsi language that supports the
system. It defines all the Language specific macros for Farsi too like Farsi cap-
tions. It defines also the Farsi form of the date, etc.
This file contains the script specific definitions shared both by Arabic and
Farsi.
This file contains the specific definitions of the font names used by to
typeset Arabic.
This package defines two macros and for acti-
vating and deactivation vowelization from being rendered in the output, even if it has
been typed in the source file. They can be called anywhere in the text, the number of
times they are needed. They work both for Arabic and Farsi.
This package defines a set of macros for formatting Arabic and farsi poetry.
It’s an immediate rewriting of the package from ArabT
EX by K. Lagally in
such a way to get both packages working within , so that ArabT
EX may still be used
with . It contains also a macro that spreads a given text to some de-
clared dimension provided that at least a keshida character has been typed somewhere
in that text. Otherwise, it will just insert space between words to get the desired width
as with Latin text.
This package provides the experimental Arabic transliteration module that
renders transliteration of Arabic text if Arabic text is typed without any language switch-
ing command, just inside the Latin text. (It’s a test version and may change).
This configuration file for . If you want to customize ,
please DO NOT hack into the code, copy this file into a directory searched by T
EX,
preferably a personal one on multi-user systems, and customize it as you like.
But be careful. If you exchange your documents with colleagues using a different
TeX installation, it is best not to have a file, and add instead the customiza-
tion commands to the preamble of your documents after and have been
loaded.
71

72 ﻲﺑrﻌﻟا مA\ﻧ
This configuration file adds Arabic and Farsi to the “declared” options of
.
1.2. Input encoding files
Arabic input encoding definition files that are used with the system are:
,These definition files provide Arabic input encodings for the
norms and MS Windows . See § 4.2 on page 23 for more.
,These files are the support ones for the standard
package. See also § 4.2 on page 23 for more.
1.3. Font encoding files
The Local font definitions files are:
contains the actual , related font definition files
and commands that provide Arabic font switching are defined in .
contains the actual , related font definition files
and commands that provide Arabic font switching are defined in .
Both are not final and may/will change in next versions.
1.4. Specific files to access Fonts
The necessary information for mapping real fonts names, encodings
and T
EX fonts names.
contains Postscript Vector Encodings related to the names of glyphs
given by Manufacturers in their respective fonts. There are so much, that one can be-
lieve hardly in standardisation! The names of the encoding files used by Arabic begin
with and the names of those used by Farsi begin with .
The font description files for the many fonts used by the system.
Files added with version 1.1
1.5. TeX4ht support files
This file contains the necessary corrections and changes in the spe-
cific T
EX code to avoid problems with T
EX4ht.
This are the hyperfont files for T
EX4ht that map glyphs contained in the real fonts
to their equivalent in specific code pages for use with .
1.6. CMap translation files
This is the CMap translation file for the Local Arabic Encoding used by for
the package to be able to search and copy Arabic text in files.
And this is the CMap translation file for the Local Farsi Encoding used by
for the package to be able to search and copy Farsi text in files.
A file, with the necessary additions that should be added to the definition
file used by , to get Arabic and Farsi on the bookmarks side bar, as
in this document.
A change file in text format, with the last changes to the package.

APPENDIX B
Final Note
مﻼkﻟا rﺧآ
2.1. Acknowledgment
I would like to thank all the people who encouraged me and supported me during the
development of this package. I mention especially my wife and my little daughter. This package
is a project done by the author, who is a mathematician, at his spare time for which he receives
nothing else than the satisfaction to see it working!
The package used many ideas and codes from many people. We tried to mention every
one where this is due. We apologize if any are missing. Please contact me and I will correct the
situation.
Finally, I wish especially to thank the numerous users who sent messages. Their feed back
is essential to guide the direction it may take in the future.
2.2. Shortcomings, Desiderata
:ﻲbntmﻟاﺐyWﻟاwﺑألAﻗ
مAþþþþþþþþþþþþþþþþþþþþþþþmtﻟا Ylﻋ ﻦﻳCدAqﻟا Pqnﻛ Aþþþþþþþþþþþþþþþþbyﻋ xAnﻟا بwyﻋ ﻲﻓ Cأ ﻢﻟو
Here are some of the Basic things/work that still may need to be done. This wish list order
will not necessarily be respected and mat change with time.
1. Complete the missing Farsi captions (The Arabic ones have been completed!)
2. Make the slanted forms of available fonts
3. Tune the headers and clean up more the language specific commands
4. Enable the Arabic script in mathematical formulae.
5. Work on a more elaborated and comprehensive guide for .
6. Think to a linguistic ligature for üا to get it automatically (if not too time and font
space consuming) and add some more aesthetical ligatures from the fonts that have the
appropriate glyphs!
7. Add Code as input encoding for Farsi? or some other standard more widely
used.
8. Fine tune the Arabic typography!
9. Fine tune the vowelization and remove the “ ” used to force the final form when vocal-
izing!
10. Adapt fully for use with an input encoding;???
73

74 ﻲﺑrﻌﻟا مA\ﻧ
2.3. License
ﻢyﺣrﻟا ﻦmﺣrﻟا üا ﻢsﺑ
] Yﺑrqﻟا ﻲﻓ ةدwmﻟا ﻻإ اrﺟأ ﻪylﻋ ﻢkﻟﺄFأ ﻻ ﻞﻗ [
This package is copyrighted to its author. It is author-maintained and can be redistributed
under the terms of the L
A
T
EX Project Public License (LPPL). You can find it in at
.
This system is distributed in the hope that it will be useful, but WITHOUT ANY WAR-
RANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PAR-
TICULAR PURPOSE.
2.4. Bugs and Error Reporting
For known error and bugs, see .
Please do not request updates from me directly, primary distribution will be through the
archives. Nevertheless, to report any problems or bugs, or if you have any comment, please
contact the author
YOUSSEF JABRI
يrﺑAﺠﻟاﻒFwﻳ
either by e-mail at or at the address:
École nationale des sciences appliquées,
Box 696, 60000 Oujda,
Morocco
Notice that the author does not have Internet access at home deliberately and we do not
consult our mail box every day, so if you don’t get an answer quickly, please be patient.
Copies of materials that use are welcome for the author’s collection.

APPENDIX C
Changes
‹اdﺠtsﻣ
3.1. Version 1.1
New features.
*) Arabic in the bookmarks sidebar. Now we can have Arabic in the book-
marks sidebar, when using (stored in the file created
by ). This is done by calling and passing the
option unicode to , although is still not fully sup-
ported yet.
*) We support now the cmap package that [The package is in-
tended to make the PDF files generated by pdflatex searchable and
copyable in Acrobat reader and other compliant viewers.]
Usage: Just put the line at the beginning of your
preamble, and it will pre-load the needed translations for the
fonts used in the document.
We provide a file and so that now Arabi
files can use search and copy-n-paste with Arabic text.
*) In Farsi contexts, Digits (0, 1, . . . , 9) are written with the extended
Indo-Arabic (Farsi) digits. This behavior can be changed to the usual
one and back using the two control sequences and
.
*) Now, the Arabi works T
EX4ht to convert L
A
T
EX document to . It is
still experimental but seems to work pretty well! See the documenta-
tion for more.
Changes to existing material.
*) Changed some control sequences to more standard forms and less
problematic ones, (request made during TUG 2006)
( is used to write the Polish character Ł)
*) Added also new commands:
(like )
(like )
75

76 ﻲﺑrﻌﻟا مA\ﻧ
*) Only the following Farsi fonts from the Farsiweb project are Free
(GPL): ( , , , ). The others should be ’ed
in their next release. Thank you R. Pournader. I modified the free fonts
Notices to say they are , as suggested by Pournader, and removed
the non free ones from Arabi.
Corrections and improvements.
*) Completed the Arabic captions,Farsi cations are still incomplete
*) All filenames changed to lowercase and made the necessary modifica-
tions to files to reflect this change!
*) Corrected some typos reported by some users (Thank you Juan and
Ja‘far rfﻌﺟ, United Kingdom). Now, the content of the users guide has
been modified a little more.
*) Now the parentheses around equations numbers appear correctly. It
works with standard classes article, report and book (with or without
amsmath package) and with ams[*] classes. Nevertheless the user still
should pass the option to the class he/she is using! (reported
by Mamoun Elkheir ryﺨﻟا نwﻣAﻣ, Sudan)
3.2. Version 1.0
First released on July 2006.

Bibliography
[1] B. Esfahbod and R. Pournader, FarsiT
EX and the Iranian T
EX Community, TUGboat, 22(3), 2003.
[2] J. Braams. , a multilingual style-option system for user with L
A
T
EX’s standard doc styles. TUGboat, 12(2) 291–301,
1992.
[3] J. Braams. An update on the system. TUGboat, 14(1) 60–61, 1993.
[4] M. Goossens, F. Mittelbach, and A. Samarin. The L
A
T
EX Companion. Addison-Wesley, Reading, MA, USA, 1994.
[5] Y. Haralambous, Towards the revival of traditional Arabic typography. . . through T
EX, Proceedings of the
EuroT
EX92 conference, Prague, 1992
[6] Y. Haralambous, Typesetting the Holy Qur’¯
an with T
EX, Proceedings of the 2nd International Conference on Multi-
lingual Computing (Latin and Arabic script), Durham, 1992.
[7] A. Hoenig. T
EX Unbound: Strategies for Fonts, Graphics, and More. Oxford University Press, 1998.
[8] D.E. Knuth. The T
EXbook. Addison-Wesley, Reading, MA, USA, 1986.
[9] D.E. Knuth. The book. Addison-Wesley, Reading, MA, USA, 1986.
[10] D.E. Knuth. Virtual Fonts: More Fun for Grand Wizards. TUGboat, 11(1), 13–23, April 1990.
[11] Peter R. Wilson, A Brief Guide to L
A
T
EX Tools for Web Publishing, March 2000.
[12] D.E. Knuth and P. MacKay. Mixing Right-to-Left texts with Left-to-Right texts, TUGboat, 8(1), 14–25, (1987).
[13] A. Lakhdar-Ghazal, Caractères arabes diacritiques selon l’ASV-CODAR (pour imprimer les langues arabes), Institut
d’Études et de Recherches pour l’Arabisation, Rabat, 1993.
[14] K. Lagally, ArabT
EX— Typesetting Arabic with Vowels and Ligatures, Proceedings of the EuroT
EX92 conference,
Prague, 1992
[15] K. Lagally, ArabT
EX Arabic and Hebrew. (Draft) User Manual Version 4.00, March 11, 2004.
[16] L. Lamport. L
A
T
EX: A Document Preparation System: User’s Guide and Reference Manual. Addison-Wesley, Reading,
MA, USA, second edition, 1994.
[17] P. MacKay, Typesetting problem scripts, BYTE 11, 21986, 201–218.
[18] The FarsiT
EX Project at
[19] M. Goosen and S. Rahtz with E. Gurari, R. Moore, and R. Sutor, The L
A
T
EX Web Companion, Addison-Wesley, 1999.
[20] Institute of Standards and Industrial Research of Iran at
[21] Free download of the Arabic font pack from Microsoft ( ).
[22] Fabrice Popineau, Affichez vos documents L
A
T
EX sur le Web avec T
EX4ht, Cahiers GUTenberg 37–38, December
2000, 5–43 (French, PDF).
[23] T
EX4ht web site:
The last version of the distribution can be downloaded from:
[24] Till Tantau, The TikZ and PGF Packages. Manual for version 1.10, October 26, 2006
[25] X
E
T
EX web site and mailing list
[26] The Unicode Standard at
77

Index
ArabT
EX, 62
ConT
EXt, 11
ﻪﻨﻣدوﻪﻠﯿﻠﻛ, 17
FarsiT
EXﻚﺗﯽﺳرﺎﻓ, 39
L
A
T
EX, 11
Fonts, 47
T
EX--X
E
T, 12
X
E
T
EX, 12
, 11, 23
, 9
, 25
, 25
, 41
, 55
Arabic decimal separator ٫, 46
, 26
, 25
, 25
, 42
, 20, 54
, 26
, 25
, 54
, 23, 31
, 70
, 40
ﷲا , 45
, 40, 41
, 44
, 40
Arabic date, 40
, 12
, 12
{otherlanguage}, 25
, 12
, 12
, 44
, 40
, 30
Farsi Jalali date, 40
, 28
, abjad, 41
﷼, 45
, 25
ArabT
EX, 64
, 20
, 25
, 25
, 25
, 25
-L
A
T
EX, 12
-T
EX, 12
, 72
, 23, 72
, 72
package, 48
option, 48
option, 48
option, 48
package, 49
option, 49
option, 49
, 59
, 71
, 30, 71
, 72
, 30, 71
, 71
, 71
, 48
, 71
, 72
, 72
, 30, 71
, 64
, 23
, 72
, 72
, 22, 72
, 72
, 72
, 22, 72
, 72
package, 54
v1.4, 64
, 48
, 71
package, 54
78

The system 79
, 67
, 49
, 72
, 72
, 59
, 71
package, 45
, 51
package, 62
, 62
, 47
, Windows Arabic encoding, 23
, 58
, 55
, Unicode Arabic encoding, 23
, ISO standard Arabic encoding, 23
, 22
, 22
shapepar, 59
, 49
, 12
, 19
numerals, ﻞmﺠﻟا بAsﺣ, 40
environment, 62
, 62
, 52
, 52
AAT, 70
Apple Advanced Typography, 70
Arabic, 11
Arabic alphabet, 15
Arabic captions, 39
Arabic date, 39
Arabic decimal separator ٫, 46
Arabic fonts, 47
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Arabeyes , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Microsoft , 49
Arabic fonts, Omega Project , 49
Arabic fonts, Omega Project , 49
Arabic Kaf, ك, 19
Arabic language, 15
Arabic script, 14
Arabic Yeh, ي, 19
Arabo-Indic digits, 25
ASCII input encoding, 73
Braams, 11
Breaking ligatures, 27
Cascading style sheet, 58
Compatibility, 11
CP 1256, 22
Dîndapirak script, 17
Dari, 16
Description environment, 35
Enumerate environment, 33
Extended Arabo-Indic digits, 25
Farsi, 11, 16
Farsi Alphabet, 41
Farsi captions, 39
Farsi date, 39
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, FarsiWeb , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49
Farsi fonts, Microsoft , 49

80 ﻲﺑrﻌﻟا مA\ﻧ
Farsi fonts, Microsoft , 49
Footnotes, 37
Gaf, گ, 18
Global formatting parameters, 30
Goot, van der, 54
Gurari E., 55
Hafez ﻆﻓﺎﺣ, 20
Hyperfont files, 55
Input encoding, 23
ISO 8859-6, 22
Itemize environment, 32
Jalali calendar, 39
Jeh, ژ, 18
Keheh, 19
Keshida, 54
Kew, Jonathan, 70
Lagally K., 62
Ligature, 27
Linux, 12
Mac OS X, 12
MikT
EX, 12
NT
EX, 12
naskhi, 48
Nastaliq font, ﻖﯿﻠﻌﺘﺴﻧﻂﺧ, 17
Omega project, 47
OpenType, 70
Outline fonts, How-to, 49
Package
, 62
Pahlavi script, 17
Peh, پ, 18
Persian, 16
Persian Kaf, ك, 19
Persian Yeh, ی, 19
Plain T
EX, 11
Poetry, Arabic and Farsi, 20
Postscript Fonts, 47
Quotations, 36
reqaa, 48
Roman, 48
Sample input text, 25
Sample output text, 25
Sans Serif, 48
Sectioning commands, 31
Tajik, 16
Tatweel, 54
Tcheh, چ, 18
teT
EX, 12
thuluth, 48
Transliteration, 45
True Type Fonts, 47
Type Writer Type, 48
Unicode, 22
UNIX, 12
UTF-8, 22
Virtual fonts, 47
Vocalization, 28
Volovich V., 51
Vowelization, 28
Windows, 12
Zero Width Non-Joiner, 19


ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
ryﺨﺑ ﻢtﻧأو مAﻋ ﻞﻛ .ةdﻳdﺠﻟا Tﻳدﻼymﻟا Tnsﻟا TbFAnmﺑ ﻲﺑrﻌﻟا Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺎﻨﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻞﻳﺮﺑﺍ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺱﺭﺎﻣ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﻳﺍﺮﺒﻓ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻪﻴﻧﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﻱﺎﻣ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007

ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻧﻮﻧ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺖﺸﻏ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺟد
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺯﻮﻴﻟﻮﻳ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺑﻮﺘﻛﺍ
ﻦﻴﻨﺛﻹﺍ
ﺀﺎﺛﻼﺜﻟﺍ
ﺀﺎﻌﺑﺭﻷﺍ
ﺲﻴﻤﺨﻟﺍ
ﺔﻌﻤﺠﻟﺍ
ﺖﺒﺴﻟﺍ
ﺪﺣﻷﺍ
ﺮﺒﻨﺘﺷ
ﻲﺑrﻌﻟا مA\ﻧ Tﻳdﻫ
cﻲﺑrﻌﻟا مA\ﻧ 2007