Qalam is an Arabic-Latin-Arabic transliteration system

Arabic has no capitalization, and hence Arabic script transliterated by Qalam uses capitals to stand for letters that are
different from those denoted by the corresponding lower case character. 
The goal of the Qalam system is to transliterate Arabic script for computer
communication by those literate in the language. 
The main consideration in the design of Qalam is suitability for
transliteration, as well as reverse transliteration, both manually by
humans and automatically by computers.  Qalam also includes several
Arabic script letters used to transliterate other languages *into*
Arabic script.  Finally, Qalam aims to serve all Arabic script
languages, such as Farsi, Urdu, and Ottoman.

   Qalam is a morphological system in the sense that Arabic script
words are transliterated based on spelling and diacritics (the marks
that represent vowels in Arabic), rather than on phonetics.  This
makes it easy to deduce the Arabic script word from its
transliteration (i.e., to transliterate the word back into Arabic
script).  The pronounciation of words, however, can still be deduced
from the transliteration, because the (optional) inclusion of
diacritic marks makes the transliterated word more pronouncable.

    We describe Qalams mapping between Arabic letters and diacritics
to ASCII characters.  Each Arabic letter or diacritic maps into (and
back from) one or two ASCII characters.  The choice is made in order
to approximate, as much as possible, the Arabic pronounciation, while
maintaining the one-to-one morphological correspondence needed for
unambiguousness of reverse transliteration into Arabic script.

   Arabic script letters that do not correspond to Latin sounds are
represented with upper case letters or with two character sequences.
Thus, Qalam uses upper-case ASCII characters to denote Arabic letters
that are different from those denoted by the corresponding lower-case
characters.  This convention deviates from the common practice of
inserting a dot beneath the letter or a dash above it.

   We give below the list of transliterations for Arabic letters and
diacritics, followed by an example and a description of the rules of
 1. Character Mappings:
1.1. Letters:

        alef   aa              zayn    z               qaaf    q
        baa    b               syn     s               kaaf    k
        taa    t               shyn    sh              laam    l
        thaa   th              Saad    S               mym     m
        jym     j               Daad    D               nuwn    n
        Haa    H               Taa    T               haa    h
        khaa   kh              Zaa    Z               waaw    w
        daal    d               `ayn    `               yaa    y
        dhaal   dh              ghayn   gh
        raa    r               faa    f

        taa marbuwTah  t or h
        haa marbuwTah  h

        alef maqSuwrah ae
        hamzat alwaSl   e

1.2. Transliteration Letters:

These are characters used in the Arabic script to represent or
transliterate letters from other languages such as 
English, French, German, etc.

        Egyptian <gym> sound    g       (= Arabic script <k> with bar
                                           or dots, pronounced <gaaf>
                                           or <gym>)
        English "v" sound       v       (= Arabic script <f> with
                                           three dots)
        English "p" sound       p       (= Arabic script <b> with
                                           three dots)
1.3. Diacritics <tashkyl>:

        fatHah          a
        kasrah          i
        Dammah          u
        shaddah         double previous letter
        maddah          ~aa
        sukuwn          -
        tanwyn          N

1.4. Punctuation:

        question mark   ?
        double quotes   <<   >>
        single quotes   <    >
        <faSlah>        ,

2. Examples:

The Qalam transliteration of the first <suwrah> in the <quraan>,
called <alfaatiHa> goes as follows:
                   bismi ellaahi elraHmaani elraHym
                 alHamdu lillaahi rabbi el`aalamyn *
                         alraHmaani elraHym *
                        maaliki yawmi eldyn *
                 iyaaka na`budu waiyaaka nasta`yn *
                   ihdinaa elSiraaTa elmustaqym *
                SiraaTa alladhyna an`amta `alayhim *
                    ghayri elmaghDuwbi `alayhim *
                           walaa alDaalyn *

 Qalam Rules and Conventions:

Transliterate a word by following its Arabic script spelling letter by
letter, as well as any available diacritics (i.e., <tashkyl> or
<Harakaat>), and substituting the specified Latin script.  The only
frequent exception is the <alef> in the definite article <al> (i.e.,
<hamzat alwaSl>), which is better to write as if it is a <fatHah>,
<kasrah> or <Dammah> (<a>, <i> or <u>) as the case may be.

   Diacritics are optional unless they are necessary to disambiguate
the original Arabic script spelling.  For example, the verb <kataba>
may be written <ktb>, because the ambiguity does not affect the
original Arabic script spelling.  On the other hand, <th> may stand
for a <thaa> as in the word <thaabet> or for a <taa> followed by a
<haa> as in <baytahu>, in which case the <fatHa> between the <t> and
the <h> is necessary.

   The <alif> with a <hamzah> transliterates to <a> if the <hamzah>
is above, and to <i> if it is below.  That is, it is treated as if it
is simply a <hamzah> with a <fatHah> or <kasrah>.

   The definite article <al> (equivalent to "the" in English) should
not be separated from the rest of the word by a hyphen; e.g.
<elshams>, meaning "the sun."  Write the <laam> even if it is
silent--<shamsiyah>.  This is a case where literal transliteration is
given precedence over phonetic transliteration to make reverse
transliteration easy.

   Observe word boundaries in the original Arabic, e.g. <`abdalsalaam>
is wrong, but <`abd alsalaam> is right.