?
Versteh ich nicht. Allein nur der Text ist für mich schon eindeutig:
Note to subclassers: Since many of these methods form closed, mutually recursive loops, you must take care that you implement at least one of the methods in each such loop to prevent infinite recursion when your subclass is used.
Das macht doch auch Sinn. Bei manchen Fonts ist es für dich geiler, das eine anzugeben, bei anderen das andere. Je nachdem was du implementierst, funktioniert der Rest dann automatisch. Wenn es nicht performant ist, overridest du alle Methoden. Die Methoden abstract zu machen ist aber hierfür keine Option, denn du sollst ja ne default-Implementierung haben.
Dass das Ding nicht out-of-the-box funktioniert, liegt bei abstrakten Klassen irgendwie auf der Hand. o_O
Das was in der Dokumentation steht könnte als Workaround gelten - mehr aber auch nicht.
Workaround um was? Du implementierst doch hier gerade deine eigene Font-Metrik und netterweise hast du schon mal vordefinierte Methoden, die aus einem Teil der Angaben den Rest berechnen, in der Hoffnung, dass es dir genehm sein könnte. Erinnert mich irgendwie an Template Method... zwar sind die Methoden nicht abstrakt aber in ihrer Grundform nicht brauchbar.