Pairing Arabic and Latin type is one of the few genuinely difficult craft problems in regional design, and it is routinely solved by picking whichever Arabic font came with the software. Here is a practical method for doing it properly.
Why it is hard
The two scripts were not designed to sit together. Arabic is cursive and connected, with letterforms that change according to position. Its visual weight distributes horizontally along a baseline that behaves differently from the Latin one, and its ascenders and descenders occupy different proportions of the em.
Set an Arabic face at the same point size as its Latin counterpart and it will almost always look smaller, lighter and less confident. Match them by point size and you have mismatched them optically, which is the error in most bilingual material produced in this region.
A working method
Match optical size, not point size. Expect to set Arabic between 105% and 120% of the Latin size depending on the pairing, and establish that ratio once as a rule in your type scale rather than adjusting by eye every time.
Match apparent weight. A Latin Bold frequently pairs with an Arabic Semibold or Medium rather than Bold, because Arabic strokes read heavier at equivalent nominal weights.
Respect the baseline. Arabic sits differently; a shared baseline grid usually needs a per-script offset to stop mixed-script lines looking broken.
Choose families designed together where possible. A growing number of type foundries now release genuinely matched Arabic and Latin companions, and using one removes most of these problems at source.
Set line height independently. Arabic generally needs more leading than Latin at the same size to avoid diacritics colliding with the line above.
Layout, not just type
RTL is not a mirror-flip. Some elements mirror: reading order, navigation, list markers, progress indicators. Others do not: logos, media playback controls, numerals in most contexts, and any diagram whose meaning depends on real-world direction.
Mixed-direction content is where most implementations break. A price in Latin numerals inside an Arabic sentence, a Latin brand name in an Arabic headline, an email address in an Arabic form field. Test these specifically; they are where the bugs live.
Finally, design the Arabic version first for at least one key screen. Designing in Latin and adapting afterwards guarantees the Arabic is a compromise, every time.
The takeaway
Bilingual typography done well is invisible; done badly it signals, to half your audience, that they were an afterthought. It is a small amount of craft for a large amount of credibility.