I can't find a reliable source for such a rule in the case of rivers,
but there are these statements:
« Or les noms de rivières, sauf erreur, sont féminins, tandis que les
noms de fleuves sont masculins.
- Faux. / Noms de fleuves féminins : la Charente, la Garonne, la Loire,
la Meuse, la Seine, la Somme, la Tamise, la Vistule, la Volga etc. /
Noms de rivières masculins : l'Ain, l'Allier, l'Arc, le Cher, le Doubs,
le Drac, l'Escaut, l'Inn, le Loir, le Lot, le Main, le Verdon etc. » -
<
http://projetbabel.org/forum/viewtopic.php?t=7942>
This is an assertion that there is such a rule, opposed by a list of
many exceptions.
« Les noms de rivières et de fleuves sont, selon l'usage, de l'un ou
l'autre genre. La Meuse - le Rhône. EN CAS DE DOUTE : UNE VERIFICATION
DANS LE DICTIONNAIRE S'IMPOSE ! » (emphasis is in the source) -
<
https://www.francaisfacile.com/exercices/exercice-francais-2/exercice-francais-23922.php>
Rivers can be either gender, according to usage. If in doubt, check in a
dictionary.
(Broadly speaking, un fleuve is a river that discharges into the sea,
une rivière one that discharges into a larger river.)
We're on safer ground for letters of the alphabet:
« Genre des noms des lettres de l'alphabet. Autrefois, on distinguait
entre les voyelles, qu'on faisait du féminin /(une a, une i)/, et les
consonnes, qu'on considérait comme du masculin quand leur prononciation
ne commence pas par une voyelle : /un d, un p/, et comme du féminin dans
le cas contraire : /une s, une f/, etc. Il existe aujourd'hui une
heureuse tendance à la simplification dans le sens du masculin : /un a,
un c, un h, un f, un r, un t, un y/, etc. » - Colin, 'Dictionnaire des
difficultés du français' (Le Robert), 1993.
In the past, vowels, and consonants whose pronunciation starts with a
vowel, were considered feminine, and other consonants masculine. Now
(i.e. thirty years ago) the tendency is to consider all letters to be
masculine.