A few days ago, a friend and I were discussing how every "rule" of English spelling or pronunciation has an exception, and every exception has an exception as well. Then I brought up the rule of a ph cluster equaling an f sound (as in phonetic, elephant, morph, etc.) as a pronunciation rule that didn't have any exceptions I could think of. Is this a true hard-and-fast rule or does it have some exceptions as well? I'm not counting abbreviations such as pH scale.
The exceptions come in two categories:
- Greek words that were originally pronounced with an "f" — diphtheria, diphthong, ophthalmology, phthisis — but have come to be pronounced with a "p" by no process I understand.
- Compound words — uphold, saphead, peephole — that are just a word ending in "p" run up against a word beginning with an "h".
Neither of those really feel like exceptions: mispronunciations that have become accepted and two words being treated as one.
Then there is aphelion. Arguably, that's a compound word and a mistake. By analogy with apogee and apastron, it should be apohelion: "apo" ("from") + "helion" ("sun").
Several people brought up "Stephen", which is often pronounced like "Steven". Eh, I think we should play with Scrabble rules: no proper names.
Finally, there is an example that will really blow your minds: phthalate. The ph- is silent.
The following words come to mind:
- "Stephen" - A masculine given name pronounced /ˈstiːvən/. e.g. Stephen Crane, the writer; Stephen of Blois, king of England.
- "Stephens City" - A small town in Virginia, USA, pronounced /ˈstiːvənz/
I might add words such as "uphold" (a junction of two words), "nephew" (which can be pronounced /'ne.viu/ in the U.K.), and ophthalmic, ophthalmology, etc, (which can be pronounced with an "f" sound too.) I don't think these would answer the OP, though.
EDIT - While I was writing my answer, the word "Stephen" was added to one of the answers.
Ones that haven't been mentioned:
I took this further and ran the following fairly simple command in Linux that tries to solve this problem, I've commented each part of the command on the right in the interest of readability:
look . | grep ph | # List words and filter out ones with ph. while read word ; do # Set variable $word to each word. espeak -qx "$word" | # Print phonetic pronounciation of the word. grep -q f || # If it doesn't have an f sound in it, echo "$word" # then print the word. done
Note that these results aren't perfect, its based on the phonetic information that the espeak program contains and also some slightly flawed logic that excludes words that have an 'f' in them. Like flophouse. I'd have to write a more sophisticated program to get better results.
Another interesting thing you can do is calculate is the number of ph words overall vs. the list above. There are 12,148 words in the dictionary I'm using with 'ph' in them and there are 87 words above. So only about 0.72% of ph words are not pronounced with an 'f' sound.