Hungarian toponyms can be grouped grammatically according to whether they take the "interior" cases (inessive, illative, and elative) or the "surface" cases (superessive, sublative, and delative) to express static position, movement towards, and movement away, respectively.
The general rule is that words denoting places within Hungary take the surface cases, whereas places outside Hungary take the interior cases. However, there are a number of exceptions. For example:
- Toponyms that end in -n, -ny, and -város take the interior cases. (This rule is simple enough.)
- Places that have native names and that were formerly in Hungary (but no longer due to border adjustments) take the surface cases. (This rule requires rather detailed historical knowledge of the former borders of Hungary and when settlements were founded.)
- Some (but not all) toponyms ending in -m, -i, and -r, and which would otherwise satisfy the general rule or rule #2 above, take the interior cases. (I suppose these are completely arbitrary and must be learned by heart.)
- There are a small number of toponyms (Győr, Pécs, etc.) that can take an entirely different set of cases—neither the surface nor interior ones. (Again, I think these are completely arbitrary.)
Given a Hungarian-language toponym (say, a village located in Hungary and whose name ends in -r), how can I verify whether it takes the surface or the interior cases? Dictionaries don't tend to include toponyms, and those that do (or at least the ones I've checked) don't contain this information. Is there an exhaustive list of all the toponyms that constitute exceptions to the general rule (i.e., all the toponyms within modern-day Hungary that take the interior or other cases, and all the toponyms outside modern-day Hungary that take the surface cases)? Or failing that, is there a Hungarian-language gazetteer that lists the case rule for each entry?