I don't read Arabic so I didn't want to say anything before, but I think by comparing what the BBC homepage looks like in Camino vs. Safari, I can see the difference, and looking at the stylesheet that page uses, the problem is obvious.
Basically, here's the font list for the BBC, taken from their stylesheet:
font-family: "Simplified Arabic", "Arabic Transparent", "Traditional Arabic", "Arial (Arabic)", "Times New Roman (Arabic)", "AGA Arabesque", "NaskhTT", "Akhbar MT", "Courir New (Arabic)", "Decotype Naskh", "Mudir MT", "Simplified Arabic fixed", "Tahoma (Arabic)", "Andalus", "Monotype Koufi", "Decotype Naskh Extension", "Decotype Naskh Special", "Decotype Naskh Swashed", "Decotype Naskh Variants", "Decotype Naskh Thuluth", "Simplified Arabic backslanted", "Traditional Arabic Backslanted", Arial,Helvetica,sans-serif;
The problem comes way down at the end, where they for some inexplicable reason throw in "Arial" and "Helvetica" as defaults if none of the long list of specific Arabic font variants they've specified exist on the user's system.
The problem is, while Camino apparently knows what do do in this situation (I'm guessing because it's based on the Gecko engine, or has its own font rendering scheme), Safari dutifully uses Arial, which has no Arabic characters in it. What the MacOS does by default in this situation is substitute individual glyphs from a font that does have them.
This would be fine in, say, Japanese, where you have one glyph per letter, and no connection between them. In Arabic, it results in non-functional word spacing, since the language appears to rely on what are in effect a bunch of ligatures to display words properly.
If you remove the errant fonts from your system, Safari will properly default to a font that DOES support proper Arabic rendering, and it looks fine--you're basically forcing it to ignore the bad design of the BBC's css stylesheet.
Here's an alternative workaround that SHOULD work; you can just explicitly tell Safari to use a proper font by overriding with your own personal stylesheet.
This one line of css should more or less take care of it; at least, it appeared to cause the BBC page to render properly to my completely untrained eye:
Code:
body,a,div,td,h1,h2,h3,h4,h5,strong,b,em,i,blockquote {font-family: "Geeza Pro" ! important;}
Basically paste that one line of text into any raw text file (for example, Text Edit with "Make Plain Text" turned on), then save it as YourFileName.css.
Then, go into Safari, under the Advanced preference, and select it for your style sheet. The text on the page will instantly switch to using Geeza Pro (or whatever font you specify), and looking ok. It doesn't do that much damage to the English pages I tried, but you can turn it off instantly by selecting "None Selected".
Safari should probably have a slighly more graceful way of failing than this, but it's not EXACTLY an Apple bug; technically, it's behaving correctly for an app that uses Apple's (very good) completely multilingual text engine.
There's a vaguely related problem that can be caused by trying to use italics in a font that has no italicized variant that I documented a while ago.
Oh, and I'll second the recommendatino for Mellel; I generally just use TextEdit, but if I wanted more and didn't get a free copy of Word with my job, it would be what I use.