Verhindern von einem nicht schönen Kerning bei der Ausgabe mit DrawText bei einem Ausdruck


  • |  Mod

    Ich gebe Text über DrawText aus.
    Das funktioniert gut, allerdings sehe ich ab und zu ein komisches Kerning.

    Die Grundschriftart, die gewählt wurde war hier Segoe UI. Der Font Mapper macht in dem Fall ein Segoue UI Light daraus.

    Der Ausdruck sieht dann so aus wie an diesem PDF zu sehen. Das Dokument wurde mit dem Microsoft PDF Drucker erzeugt.

    Das komische Kerning ist gleich in der ersten Zeile nach dem Heading bei dem Wort Test zu sehen.

    Der Algorithmus ist trivial ich verringere die Länge des Fließtextes so lange (Binary Search) bis der Text auf die Restseite passt. Rechter und linker Rand sind gegeben. Die Startposition von eben genauso... wird ein Überlauf ausgelöst, macht der Algorithmus einfach mit dem Rest des zu druckenden Textes weiter.

    Letzten Endes wird die ganze Zeit nur DrawText mit DT_CALCRECT aufgerufen und am Ende einfach DrawText mit der gefunden Textlänge...

    Kann man so etwas "verbessern" oder das Kerning verhindern, oder optimieren?
    Liegt das nur am Font, oder liegt es an DrawText, dass ich nicht verwenden sollte?
    Ich weiß, dass es ExtTextOut gibt in dem ich die Abstände selbst manipulieren kann, aber das will ich ja gar nicht... ich möchte nur eine ansehliche Ausgabe wie es WordPad ja auch kann...