Fehler in der Kanalliste

Wünsche, Anträge, Fehlermeldungen
bruno71
Interessierter
Interessierter
Beiträge: 84
Registriert: Freitag 25. Dezember 2009, 12:03

Fehler in der Kanalliste

Beitrag von bruno71 »

Wenn ich in der Kanalliste bin und ein Bouquet auswähle wo ein Umlaut z.B. ein "Ö" im Bouquetnamen drin vorkommt, bleiben beim Verlassen der Liste noch die zwei punkte vom "Ö" sichtbar. :gruebel:

Mfg bruno71
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Kann ich bestätigen. Ist mir bis jetzt nur nie aufgefallen, da ich keine Bouquets mit großgeschriebenen Umlauten habe. Es sieht so aus, als würde die Berechnung der nötigen Höhe für die Kopfzeile nicht hinhauen. In Zeile 273 von channellist.cpp wird nämlich die Höhe mittels

Code: Alles auswählen

g_Font[SNeutrinoSettings::FONT_TYPE_MENU_TITLE]->getHeight();
berechnet. Liefert diese Methode vielleicht falsche Werte? Das müsste uns an anderen Stellen eigentlich auch auf die Füße fallen. :gruebel:
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Es handelt sich um einen Umlaut. In Neutrino-HD wird so etwas erst gar nicht erst angezeigt,
wenn das mit einem Editor reingefummelt wurde. Sollte man eventuell auch hier unterdrücken.
Kann aber auch am neueren Freetype liegen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Wenn ich mir den Code zur Berechnung der Texthöhe von Zeile 241 bis 261 in fontrenderer.cpp angucke, sieht es für mich so aus, als wären da tatsächlich noch nie große Umlaute berücksichtigt worden. Es wird dort mit den Maßen von "M" und "g" gearbeitet. Ä, Ö und Ü sind aber höher als M.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Gaucho316 hat geschrieben:Wenn ich mir den Code zur Berechnung der Texthöhe von Zeile 241 bis 261 in fontrenderer.cpp angucke, sieht es für mich so aus, als wären da tatsächlich noch nie große Umlaute berücksichtigt worden. Es wird dort mit den Maßen von "M" und "g" gearbeitet. Ä, Ö und Ü sind aber höher als M.
Da sollte im Normalfall schon passen. Möglicherweise ist aber durch das neuere Freetype nur die Y-Achse um 1,2 Pixel nach oben gewandert.
Müsste man nochmal mit einem älteren CVS Stand vergleichen.
Umlaute im Benutzemenü passen aber, da bleiben keine Reste stehen.
Die Höhenberechnung im Fontrenderer anzupassen, vergrößert wahrscheinlich den Zeilenabstand im ganzen Neutrino.

Edit:

Das Beste wird es sein, in der jeweiligen aufrufenden Funktion, den y-Wert 2 Pixel nach unten zu schieben.
Da fällt mir ein, dass man den überall verteilten PaintHead-code, genau wie bei ::Paintbutton, mal zentralisieren könnte.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Ich habe jetzt mal den JtG-Snap vom 02.05.2012 mit dem alten Freetype und den Snap vom 27.06.2012 mit dem neuen Freetype verglichen. Wie man in den angehängten Screenshots sehen kann, ragen in der Kopfzeile die Umlautpunkte oben hinaus. Die Buchstaben und die Kopfzeile selbst sind 1 Pixel höher. Das Problem ist, dass die Umlautpunkte dabei anders gerendert werden. Wenn man die Schriftgröße für Menütitel auf 29 stellt, passt es wieder und die Höhen sind wie früher. Vielleicht sollte man diese Größe als Standardwert nehmen und gut ist.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Der Patch sollte für unterschiedliche Schriftgrößen unproblematisch sein.

lower_font_baseline_for_channellist_bouquetlist_header_2012_07_25_2319.diff
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

So geht's natürlich auch. Dann muss aber die Uhrzeit in der Kanalliste auch um 2 Pixel nach unten wandern, damit die mit dem Bouquetnamen auf einer Linie bleibt. Das sieht sonst dämlich aus. Ich frage mich allerdings, warum die Schrift mit dem neuen Freetype überhaupt größer gerendert wird. War das vielleicht früher falsch oder ist es jetzt? :gruebel:
Mourice

Re: Fehler in der Kanalliste

Beitrag von Mourice »

Hi,

eigentlich müsste auch der Bouquet-Editor (bedit) noch angepasst werden.

Dabei ist mir aufgefallen, das bei der Einstellung "abgerundete Ecken" oben noch eine "Linie" erscheint.

Ich finde leider nicht, wo die herkommt. Im Unter-Menü "Hinzufügen Sender" ist alles korrekt.
Nur in der Haupt-Seite und dem Untermenü "Auswahl des Bouquets" ist diese komische "Linie".

Vielleicht kann mir jemand einen "Tipp" geben.

MfG
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

@Gaucho316

Ich passe den Patch an.


@Mourice

Am Bouqueteditor bin ich dran. Die Linie
war wahrscheinlich der Hack für den Hintergrund
der Umlaute.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fehler in der Kanalliste

Beitrag von seife »

Wäre es nicht besser (zwar hacky, aber...) wenn der Fontrenderer einfach nicht ausserhalb seines Bereiches malen würde? Dann wären halt schlimmstenfalls die Umlautpunkte halb abgeschnitten oder so, aber man müsste nicht an 10000 Stellen nachbessern.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Malt er denn ausserhalb seines Bereichs?
Ich tippe auf einen Rundungsfehler, denn bei unterschiedlichen
Fontgrössen rutscht die Baseline einfach um 1 Pixel nach oben
bzw nicht nach unten.
Erst dann passt es nicht mehr.
Mourice

Re: Fehler in der Kanalliste

Beitrag von Mourice »

Hi,

habe es gefunden ... ist im paintFoot dieses "paintHLine ...".

MfG
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Das sollte es gewesen sein. Den ersten kleineren Patch habe ich nochmal angepasst.
Der 2. betrifft den Bouqueteditor und ist etwas größer. Da habe ich gleich noch einen
Bug gefixt. UTFtoLatin bei Umlauten geht nämlich nicht. Ich weiss aber konkret auch
nicht, ob dass bei ausländischen Schriftarten so passt. Also nochmal drüberschauen.

lower_font_baseline_for_channellist_bouquetlist_header_2012_07_26_1838.diff

small_gui_rework_bouqueteditor_2012_07_26_1838.diff
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Sollten wir nicht konsequenterweise auch an allen anderen Stellen, an denen der Schrifttyp FONT_TYPE_MENU_TITLE gerendert wird, 2 Pixel addieren? In CMenuWidget wird bspw. immer nur 1 Pixel addiert und in CStringInput gar nichts.
GetAway hat geschrieben:Der 2. betrifft den Bouqueteditor und ist etwas größer. Da habe ich gleich noch einen
Bug gefixt. UTFtoLatin bei Umlauten geht nämlich nicht. Ich weiss aber konkret auch
nicht, ob dass bei ausländischen Schriftarten so passt. Also nochmal drüberschauen.
Die Umwandlung ist an der Stelle tatsächlich falsch. Die Bouquetnamen werden in der Bouquet-Verwaltung nur in Latin1 benutzt.
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Fehler in der Kanalliste

Beitrag von GetAway »

Gaucho316 hat geschrieben:Sollten wir nicht konsequenterweise auch an allen anderen Stellen, an denen der Schrifttyp FONT_TYPE_MENU_TITLE gerendert wird, 2 Pixel addieren? In CMenuWidget wird bspw. immer nur 1 Pixel addiert und in CStringInput gar nichts.
Ja, sollte man und ich habe auch nichts dagegen, wenn das jemand macht. ;)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:Sollten wir nicht konsequenterweise auch an allen anderen Stellen, an denen der Schrifttyp FONT_TYPE_MENU_TITLE gerendert wird, 2 Pixel addieren? In CMenuWidget wird bspw. immer nur 1 Pixel addiert und in CStringInput gar nichts.
Hier nun der Patch für die restlichen Stellen. Zusätzlich habe ich dafür gesorgt, dass die Header-Icons immer vertikal zentriert werden. Das war nicht überall der Fall. Ansonsten sieht das an einigen Stellen irgendwie dämlich aus.

Neutrino: lower font baseline for headers and vertically center header icons
Link entfernt, da Patch im CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Fehler in der Kanalliste

Beitrag von seife »

Wäre es nicht besser, das im fontrenderer zu fixen? Weil entweder gibt der jetzt die falsche Höhe zurück oder sein Nullpunkt stimmt nicht oder irgend sowas.

Jetzt überall wieder 2 abzuziehen, weil der Fontrenderer seinen Nullpunkt um 2 verschoben hat, halte ich irgendwie für unelegant.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

seife hat geschrieben:Wäre es nicht besser, das im fontrenderer zu fixen? Weil entweder gibt der jetzt die falsche Höhe zurück oder sein Nullpunkt stimmt nicht oder irgend sowas.
Wenn du oder jemand anders weiß, wie, hat sicher niemand etwas dagegen. Ich blicke da aber nicht durch und wäre auch mit der Verschiebelösung zufrieden.
seife hat geschrieben:Jetzt überall wieder 2 abzuziehen, weil der Fontrenderer seinen Nullpunkt um 2 verschoben hat, halte ich irgendwie für unelegant.
Es gibt übrigens auch jetzt schon Stellen, an denen der Wert um 1 oder 3 Pixel verschoben wird.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Fehler in der Kanalliste

Beitrag von Gaucho316 »

Wenn niemand eine bessere Lösung auf Lager hat, würde ich sagen, dass die drei Patches aus diesem Thread ins CVS können.

Ich habe eine Frage zu den Methoden Font::RenderString(...) und Font::getRenderWidth(...). In den Zeilen 474 und 598 von fontrenderer.cpp wird jeweils vor der Bitverschiebung 32 addiert. Kann mir jemand sagen, wozu das gut sein soll? In Neutrino-HD wird das auch nicht gemacht.
Mourice

Re: Fehler in der Kanalliste

Beitrag von Mourice »

Hi,

funktioniert problemlos.

Ist auf jeden Fall schon mal eine Lösung ... meiner Meinung nach kann es eingecheckt werden.

Die "Super-Lösung" kann man ja auch noch später ...

MfG
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fehler in der Kanalliste

Beitrag von rhabarber1848 »

committed:
GetAway hat geschrieben:lower_font_baseline_for_channellist_bouquetlist_header_2012_07_26_1838.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3534
GetAway hat geschrieben:small_gui_rework_bouqueteditor_2012_07_26_1838.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3535
http://article.gmane.org/gmane.comp.vid ... x.scm/3536
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Fehler in der Kanalliste

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:neutrino_lower-font-baseline-for-headers_2012-08-01_1927.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3537
http://article.gmane.org/gmane.comp.vid ... x.scm/3538
bruno71
Interessierter
Interessierter
Beiträge: 84
Registriert: Freitag 25. Dezember 2009, 12:03

Re: Fehler in der Kanalliste

Beitrag von bruno71 »

Jetzt besteht aber wieder das Problem, dass bei langen Bouquetnamen der Satname überlagert wird. Ich dachte das Problem mit der Überlagerung war mal behoben. :gruebel:

Bild

Mir ist auch noch aufgefallen, dass wenn ich Bouquets in der Bouquetverwaltung mit der gelben Taste markiere und dann verschiebe, das Bild flackert. Ich dachte das war früher nicht der Fall.
Mourice

Re: Fehler in der Kanalliste

Beitrag von Mourice »

bruno71 hat geschrieben:Jetzt besteht aber wieder das Problem, dass bei langen Bouquetnamen der Satname überlagert wird. Ich dachte das Problem mit der Überlagerung war mal behoben. :gruebel:
Jaja ... irgendwann geht auch mal der Platz aus ... Das Fenster kann man halt nicht grösser machen als den Fernseher.
... Mein Nachname passt bei mir hier zu Hause auch nicht in das "Klingel-Schild" ... und wer benutzt schon ein Bouquet "Öffentlich rechtliche usw." oder schaut den Mist auch noch ... :D

bruno71 hat geschrieben:Mir ist auch noch aufgefallen, dass wenn ich Bouquets in der Bouquetverwaltung mit der gelben Taste markiere und dann verschiebe, das Bild flackert. Ich dachte das war früher nicht der Fall.
Bei mir mit dem neuesten Stand "flackert" nichts ...

MfG

PS: und nur mal so ... ich habe überhaupt nichts mit SAT in der Bouquet-Verwaltung beim Namen ...
Zuletzt geändert von Mourice am Mittwoch 15. August 2012, 20:54, insgesamt 1-mal geändert.