Windows-1256 encodes every abstract single letter of the basic Arabic alphabet, not every concrete visual form of isolated, initial, medial, final or ligatured letter shape variants (i.e. it encodes characters, not glyphs).
This allowed French and Arabic text to be intermixed when using Windows 1256 without any need for code-page switching (however, upper-case letters with diacritics were not included).
[1][2][3][4] Unicode is preferred over Windows 1256 in modern applications, especially on the Internet, where the dominant UTF-8 encoding is most used for web pages, including for Arabic (see also Arabic script in Unicode, for complete coverage, unlike for e.g. Windows 1256 or ISO-8859-6 that do not cover extras).
Since the original code page left 9 values (bytes) marked as "NOT USED" in the original specification,[7] these bytes were used later for additional characters needed for the Perso-Arabic script (for the Persian and Urdu languages), plus the euro sign.
The actual forms of the letters inside Arabic words are rendered by a combination of software rules and appropriate font support.