I recently had to read up on Arabic typography for a project. This knowledge may come in handy again, so I am writing this note for future me.
Please note that I am not able to actually read any Arabic, so all this is hearsay. If I contradict something other people say, I am probably wrong.
I mostly looked into the Noto font because that was what I had at hand and also I assume that it has decent quality. It was developed by Google, so it is available on most Android phones and on Google Fonts.
Noto coveres many different scripts. For Arabic, it offers 4 different variants:
Example: Noto Kufi Arabic
Kufic is very geometric, with straight lines and right angles. This can look super stylish (wikipedia has some great examples), but is not the best for body text.
From my Latin perspective this feels similar to geometric display fonts or maybe even monospace.
Example: Noto Naskh Arabic
This seems to be the most common variant. Like all Arabic scripts it makes heavy use of ligatures. But other than that, it feels not very different from most body fonts I am familiar with.
Example: Noto Sans Arabic
Noto also contains a "sans" variant. This is a bit weird because it is the only variant that uses a term from Latin typography. This one looks very similar to Naskh. The main difference is the constant line width. I guess the designers wanted to provide two variants for Naskh that work well in combination with serif/sans Latin scripts respectively.
Example: Noto Nastaliq Urdu
This one is mostly used for languages other than Arabic, e.g. Persian or Urdu. It is a cursive font with a "hanging" shape where the words slant downwards. This has the interesting effect that words need more vertical space as they get longer. I do not know of any layouting systems that can handle this well.