Seite 4 von 6

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Fr 11. Feb 2022, 19:42
von BPanther
Ist Dir dabei auch aufgefallen, daß ein "Ä" größer als ein "S" ist? Denn das ist der Grund für das rutschen der Zeile. Die sind schlicht zu dicht aneinander bei Dir wie es aussieht. Das passt ja bereits ohne Umlaut in der 2. Zeile nicht richtig zur Startzeit von der Höhe her. Daher: Kleinere Schrift wählen oder Zeilenabstand vergrößern bis es passt.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Fr 11. Feb 2022, 20:00
von BPanther
Noch nen Tip: Wenn Du den Hintergrund der Zeilen z.B. auf ein dunkles grau für die Tests änderst, dann siehst Du auch die Zeilenhöhen und wo der Text wirklich innerhalb dessen positioniert wird. Das macht das Anpassen wesentlich einfacher.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Fr 11. Feb 2022, 20:03
von thc09
Nene, das ist perfekt von der Höhe.

Wohlgemerkt, Grundlinie.

D.h. der strich vom kleinen p läuft über die Grundlinie nach unten raus. So soll das sein. Auch bei j z.b.

Nur rutschen alle Zeichen unter die Grundlinie sofern ein ÄÜÖ auftaucht. Das ist nicht richtig.
Die sollten dann über die Oberlänge rauslaufen.
Genau wie kleine Umlaute über die mittellänge hinauslaufen.

So wie Hier : ÄApjaä

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Fr 11. Feb 2022, 20:24
von BPanther
Die Hintergrundfarbe anzupassen um die eigentliche Zeile sichtbar zu machen würde Dir zeigen, daß das bei Dir nicht passt. Wahrscheinlich die Schrift oben oder mittig in der Zeile positioniert und nicht unten, was bei größeren Zeichen eine Art "herunterrutschen" dann logischerweise bewirkt. Würde man alles klein schreiben oder es gäbe nur Punkte, wäre die wahrscheinlich noch höher. Sieht man sogar auch schon im ersten der beiden Bilder das auch da schon die Höhe zur Zeit davor nicht passt, also schon ohne Umlaute. Aber wie Du meinst, dann kann ich Dir leider auch nicht weiterhelfen.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Sa 12. Feb 2022, 13:31
von thc09
Die Idee mit der Hindergrundfarbe ist gut, da fehlt mir dann bcolor.
Aber der "Kasten" ist schon so groß testweise ...

Ansonsten ist das mit der Position schon ne gute Idee, geht in die richtige Richtung.
Das mit den punkten, auch .

Die Schrift wird wirklich oben positioniert.
Nur kann man das nicht ändern , imho .

Da schrieb und fragte ich ja schon was Center da genau tun soll. Erzeugt hier nicht nachvollziehbare Effekte.

Das wäre aber der einzige Befehl der da greifen könnte (da wäre dann die Frage Center von wo ?)
Da dürfte dann auch ein hopsen entstehen.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Sa 12. Feb 2022, 19:07
von BPanther
Das hast Du falsch verstanden mit der anderen Farbe. Nur den Hintergrund der Textzeilen ändern, nicht den kompletten Hintergrund. Dann sieht man auch wo die anfangen und enden, und man sieht auch, daß Du die Schrift oben in der Zeile hast statt mittig. Denn genau das verursacht bei dir das Verschieben nach unten bei Großbuchstaben oder nach oben bei "g" oder y".
IMG_20220212_190302.jpg

Wie man sieht, bei mir sind die Texte auch oben positioniert in den Zeilen, bei Datum und Laufzeit rechts oben gut zu sehen, da unten mehr Platz in der eigentlichen Zeile ist. Du brauchst aber bei Dir "mitte", damit oben und unten entsprechend der Ausgleich stattfinden kann und das nicht verrutscht, da es sonst zur Zeit links nicht passt.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Sa 12. Feb 2022, 21:25
von thc09
Ne, ich hab das schon verstanden mit dem Hintergrund. Krieg ich nicht gebacken.
Kann an den Layern liegen vielleicht.

Müsste ich nochmal das Original benutzen, ev. gehts damit.

Prinzipiell iss das jetzt aber sicher klein genug.

Es gibt scheinbar keine möglichkeit das zu erreichen was ich mir vorstelle.

Wie schon geschrieben, bliebe da wohl nur center und das erzeugt nicht den Effekt den ich mir wünsche.

Code: Alles auswählen

/* load properties */
		property_load(section, "expression", "Samsung", &Image->value);
		property_load(section, "size", "0", &Image->size);
		property_load(section, "font", NULL, &Image->font);
		property_load(section, "fcolor", "ff0000", &Image->fcolor);
		property_load(section, "update", "100", &Image->update);
		property_load(section, "reload", "0", &Image->reload);
		property_load(section, "visible", "1", &Image->visible);
		property_load(section, "inverted", "0", &Image->inverted);
		property_load(section, "center", "0", &Image->center);
		property_load(section, "width", "0", &Image->_width);
		property_load(section, "height", "0", &Image->_height);
		property_load(section, "align", "C", &Image->align);
Aussehen tut das testweise jetzt so, hab kein Display z.zt.

Code: Alles auswählen

# --- PNG (1024x600) --- #

Display PNG_standard {
	driver 'Image'
	format 'PNG'
	font '15x30'
	size '1024x600'
	pixel '1+0'
	gap '0x0'
	border 1
	basecolor '0fc000'
	foreground 'cfcfcf'
	background '2f4f4f00'
	halfground 'cccc0000'
}

Layout PNG_standard {
Layer 4 {
           X1.Y1 'S_BACKGROUND'
}
	Layer 3 {
        X300.Y001	  'S_START'     
        X450.Y001	  'S_END'
        X292.Y120     'S_TTF-EPG-NOW'  # 300
    	X450.Y120     'S_TTF-EPG-NEXT'
        
}

} 

Code: Alles auswählen

Widget S_START {
	class		'Truetype'
	font		file::readline('/tmp/lcd/font', 1)
	fcolor		'cfcfcf'
	size		35
	height		38
        width		100
	align		'L'
	expression	file::exist('/tmp/lcd/menu') == 1 ? '' : file::readline('/tmp/lcd/start', 1)
	update		1000
	reload		1
}

Widget S_END {
	class		'Truetype'
	font		file::readline('/tmp/lcd/font', 1)
	fcolor		'cfcfcf'
	size		    35
	height		38
	width		100
	align		'L'
expression	file::exist('/tmp/lcd/menu') == 1 | file::readline('/tmp/lcd/event', 2) le '' ? '' : file::readline('/tmp/lcd/end', 1)
	update		1000
	reload		1
}

Widget S_TTF-EPG-NOW {
	class		'Truetype'
	expression	file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : file::readline('/tmp/lcd/event', 1) 
	font		file::readline('/tmp/lcd/font', 1)
	fcolor		'cfcfcf'
	update		3000
	reload		1
	inverted	0
	size		35
	width		800
	height		60
 #   center    1
	align		'L'
}

Widget S_TTF-EPG-NEXT {
	class		'Truetype'
#	expression	file::exist('/tmp/lcd/menu') == 1 ? file::readline('/tmp/lcd/menu', 1) : (file::readline('/tmp/lcd/event', 2) le '' ? '' : substr(file::readline('/tmp/lcd/event', 2)))
	expression	file::exist('/tmp/lcd/menu') == 1 ? '' : file::readline('/tmp/lcd/event', 2)
	font		file::readline('/tmp/lcd/font', 1)
	fcolor		'cfcfcf'
	update		3000
	reload		1
	inverted	0
	size		20
	width		800
	height		180#60
        center 1 
	align		'L'
}

Nachtrag:

Wenn da bei dir jetzt nicht Hawei sondern HÄwei stehen würde, was passiert dann (Nur interessant wenn du ne feste Fontgröße hast)

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: So 13. Feb 2022, 07:01
von BPanther
Ich schaue mir das morgen nach der letzten Nachtschicht mal in Ruhe an mit Deiner Konfig, allerdings direkt als "Samsung" und nicht PNG.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 06:25
von BPanther
Zunächst nochmal kurz was zum align.

class TTF: kennt R/L/C für rechts, links und zentrieren
class Text: kennt R/L/C/M/A für rechts, links, zentrieren, marquee und automatisch sowie PC, PL und PR für scrollen_zentrieren, scrollen_links und scrollen_rechts.

Dann zum sichtbarmachen der Zeilen/Platzhalter. Das geht recht einfach indem man den Hintergrund deaktiviert. Dann zeigt das Samsung komischerweise grau statt schwarz an, jedoch nicht als PNG, da bleibt er schwarz. Den gesuchten Effekt bekommt man leider nur so hin, nicht als Hintergrundbild.

TTF wird immer "oben" in der Zeile dargestellt statt unten. Am besten zu sehen, wenn man in der event nur Punkte benutzt, die stehen in der Zeile oben. Würden die richtigerweise mittig positioniert, würde das auch mit den Buchstaben wie Ä oder g passen, da die ja jeweils oben (Ä) oder unten (g) ausbrechen.
IMG_20220214_055516.jpg

Allerdings kann man das Problem auch recht einfach beheben. Mach die Zeit nicht einzeln, sondern koppel diese mit an den EPG-Text. So ist der Mittelpunkt die Zeitangabe.

Code: Alles auswählen

expression	file::readline('/tmp/lcd/start', 1) . '  ' . file::readline('/tmp/lcd/event', 1)
Leerzeichen nach Bedarf einstellen.

Dann kommt sowas bei raus.
IMG_20220214_061700.jpg
IMG_20220214_061930.jpg
Wenn Du dich damit auch nicht anfreunden kannst, dann ist das wohl Pech, anders geht es wohl nicht.

Übrigens, das Bild von Dir aus Wikipedia berücksichtigt nicht die Akzenthöhe. Dies ist aber in der DIN 16507-2 der Fall.
aufmacher_DIN.jpg

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 09:43
von TangoCash
Naja das geht schon:
lcd4linux1.png
lcd4linux2.png

Allerdings hab ich dazu ein paar kleine Änderungen im lcd4linux gemacht.
Kann das gerne einchecken, dann müssen halt die Layouts ein wenig angepasst werden,
da die Schrift nun immer zentriert wird (von der Höhe her, deswegen gibt es eine bottomline) und max. Höhe ( Äp) berücksichtigt wird, sowohl bei autosize (size=0) , als auch bei größenvorgabe (size = xx )

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 10:06
von BPanther
TangoCash hat geschrieben: Mo 14. Feb 2022, 09:43da die Schrift nun immer zentriert wird (von der Höhe her) und max. Höhe ( Äp) berücksichtigt wird, sowohl bei autosize (size=0) , als auch bei größenvorgabe (size = xx )
Hmm, finde ich aber nicht gut, denn wenn ich eine Größe angebe, dann sollte die auch schon benutzt werden. Oder meinst Du das anders?

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 10:13
von TangoCash
Klar wird die Größe berücksichtigt.
Allerdings nun von Ä(höchster Pixel) bis p (niedrigster Pixel) , und die Schrift wird dann auf der errechneten bottomline gerendert. (siehe screenshot mit den punkten)

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 14:27
von BPanther
Schonmal angetestet und TC hat noch weiter daran gebastelt. Ist nur noch eine "Kleinigkeit" zu korrigieren. Und er hatte auch die gleiche Idee wie ich schon länger zwecks Rahmen als Hilfe für die Position bzw. den Bereich des TTF Textes. :drinking:

Auf dem Bild habe ich mal einige aktiviert.
lcd4linux_3.png

So kann man auch als PNG damit arbeiten und testen, was vorher nicht funktioniert hatte.

Wer einen Rahmen als Hilfestellung benötigt, der trägt

debugborder 'RRGGBB'

in die lcd4linux.conf mit in die entsprechende Sektion ein. RRGGBB sind die Farben, also z.B. FFFF00 ergibt gelb, FF0000 rot und so weiter.

Für einen ersten Test des TTF-Textes habe ich mal die ARM Version angehangen, also für die VU+4K, HD51, Bre4ZE, H7 - setzt natürlich eine bereits vorhandene Installation von LCD4LINUX vorraus. LCD4Linux abschalten und die ausgepackte Datei entweder nach /var/bin kopieren und die vorhandene Datei ersetzen. Dann kann LCD4Linux wieder gestartet werden.

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 19:24
von thc09
Erstmal spezielles Danke an @TC ... :anbeten:
Auch an Cheffe hier :D , für Geduldd und Mühe ..

Wird das dann "eingecheckt" und somit Grundlage oder wird es ein Special bleiben ?

Re: Samsung 10 Zoll (lcd4linux)

Verfasst: Mo 14. Feb 2022, 19:47
von TangoCash
Wie BP schon schrub, da sind noch ein paar unschönheiten drin, die mach ich noch weg, und dann check ich es ein.

Edit: ist im git