Test mit Ascender:
Code
Aug 07 15:01:10 [vdr] [8848] GetFontAscender font: VDRPT Sans:Regular height: 42 asc: 38 desc: -12
Aug 07 15:01:10 [vdr] [8848] GetFontAscender calculated ascender: 2432 (38)
Aug 07 15:01:10 [vdr] [8848] GetFontAscender font: VDRPT Sans:Regular height: 16 asc: 14 desc: -4
Aug 07 15:01:10 [vdr] [8848] GetFontAscender calculated ascender: 896 (14)
Aug 07 15:01:10 [vdr] [8848] fontHeight: 50 fontAscender: 2432 (38) fontSecsHeight: 18 fontSecsAscender: 896 (14) topSecs: 24
bei 40% passt genau!
[Blockierte Grafik: http://i.imgur.com/gp3oRLE.png]
Und 70% auch:
Code
Aug 07 15:02:12 [vdr] [8848] GetFontAscender font: VDRPT Sans:Regular height: 42 asc: 38 desc: -12
Aug 07 15:02:12 [vdr] [8848] GetFontAscender calculated ascender: 2432 (38)
Aug 07 15:02:12 [vdr] [8848] GetFontAscender font: VDRPT Sans:Regular height: 29 asc: 26 desc: -8
Aug 07 15:02:12 [vdr] [8848] GetFontAscender calculated ascender: 1664 (26)
Aug 07 15:02:12 [vdr] [8848] fontHeight: 50 fontAscender: 2432 (38) fontSecsHeight: 34 fontSecsAscender: 1664 (26) topSecs: 12
[Blockierte Grafik: http://i.imgur.com/uApyFCM.png]
Baserender macht:
und displayreplay:
Code
void cFlatDisplayReplay::UpdateInfo(void) {
cString cutted;
bool iscutted = false;
//int fontAscender = GetFontAscender(Setup.FontOsd, fontHeight); // Im 64er Format
//int fontSecsAscender = GetFontAscender(Setup.FontOsd, fontSecs->Height()); // Im 64er Format
int fontAscender = GetFontAscender(Setup.FontOsd, Setup.FontOsdSize); // Im 64er Format
int fontSecsAscender = GetFontAscender(Setup.FontOsd, Setup.FontOsdSize * Config.TimeSecsScale * 100.0); // Im 64er Format
int topSecs = (fontAscender - fontSecsAscender) / 64;
dsyslog("fontHeight: %d fontAscender: %d (%d) fontSecsHeight: %d fontSecsAscender: %d (%d) topSecs: %d", fontHeight, fontAscender, fontAscender/64, fontSecs->Height(), fontSecsAscender, fontSecsAscender/64, topSecs);
Alles anzeigen
Manchmal steckt der Fehler im Detail... Aber weitere Tests sollten noch gemacht werden
Die aktuellen Dateien:
verschiedene Schriftgrößen auf einer Höhe ausrichten?