Alle Zeichen eines Fonts

Alles rund um die Programmierung mit Qt
Antworten
Mr.Blonde
Beiträge: 10
Registriert: 29. Juli 2010 12:14

Alle Zeichen eines Fonts

Beitrag von Mr.Blonde »

Hallo!

Ich möchte gerne alle Zeichen wissen, die mit einem bestimmten Font dargestellt werden können. Alternativ wäre es auch möglich für eine Menge von Zeichen zu prüfen, ob sie mit einem bestimmten Font darstellbar sind. Den zweiten Ansatz habe ich bisher verfolgt, leider ohne Erfolg, da Qt immer Font-Merging verwendet. Mein Ansatz ist in etwa so:

Code: Alles auswählen

QString test = "Irgendwelche Schriftzeichen"; // Die zu testenden Zeichen
QFont f ( "Sans" );                                        // Der zu testende Font
f.setStyleStrategy( QFont::NoFontMerging );   // Bringts leider nicht :(

QFontMetrics fm ( f );
bool result = true;
for( int i = 0; i < test.size(); ++i ){
    if( ! fm.inFont ( test.at ( i ) ){
        result = false;
    }
}
Result sollte also am Ende noch true sein, wenn alle Zeichen des Strings im gegebenen Font sind... Leider wird wie gesagt das NoFontMerging teilweise ignoriert, wodurch das Ergebnis wertlos ist...

Hat jemand eine Idee wie ich das alternativ lösen kann? Am besten wäre es alle Unicode Definitionen aus der Font-Datei zu erfahren... Kann ich die irgendwie auslesen?

MfG Mr.Blonde
Antworten