[Patch] fontname aus dem fontfile holen
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
[Patch] fontname aus dem fontfile holen
Hallo,
0001-improve-font-file-handling.patch
Das holt den Fontnamen aus dem Fontfile, anstatt ihn fest mit anzugeben. Das macht es z.B. möglich (auch wenn es nicht unbedingt sinnvoll ist..) unterschiedliche fonts für Regular, Bold und Italic anzugeben.
Später wird es damit ein leichtes sein, eine extra kommandozeilenoption für einen LCD-Font zu übergeben (typischerweise sind gute LCD-Fonts nicht wirklich für den Framebuffer geeignet und andersrum).
Der einzige Nachteil ist, dass sich die Aufrufsyntax an der Kommandozeile ändert, aber da ist in der usage-Nachricht schon mit geändert.
Der Code ist im tripledragon-experimental repo seit langem ohne Probleme im Einsatz.
Meinungen?
0001-improve-font-file-handling.patch
Das holt den Fontnamen aus dem Fontfile, anstatt ihn fest mit anzugeben. Das macht es z.B. möglich (auch wenn es nicht unbedingt sinnvoll ist..) unterschiedliche fonts für Regular, Bold und Italic anzugeben.
Später wird es damit ein leichtes sein, eine extra kommandozeilenoption für einen LCD-Font zu übergeben (typischerweise sind gute LCD-Fonts nicht wirklich für den Framebuffer geeignet und andersrum).
Der einzige Nachteil ist, dass sich die Aufrufsyntax an der Kommandozeile ändert, aber da ist in der usage-Nachricht schon mit geändert.
Der Code ist im tripledragon-experimental repo seit langem ohne Probleme im Einsatz.
Meinungen?
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Patch] fontname aus dem fontfile holen
Auf der Dbox2 kommt beim Kompilieren das:
lcdd.cpp: In member function `bool CLCD::lcdInit(const char*, const char*, const char*)':
lcdd.cpp:194: error: 'class LcdFontRenderClass' has no member named 'getFamily'
lcdd.cpp:203: error: 'class LcdFontRenderClass' has no member named 'getFamily'
lcdd.cpp:214: error: 'class LcdFontRenderClass' has no member named 'getFamily'
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
vorher "cvs up" und "make tuxbox_libs" gemacht?
die LcdFontRenderClass hat heute nämlich ein getFamily bekommen
die LcdFontRenderClass hat heute nämlich ein getFamily bekommen
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Patch] fontname aus dem fontfile holen
Nein, mache ich natürlich sofort Sorry for the noise...seife hat geschrieben:vorher "cvs up"
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
ist mir auch passiert
"cvs up" allein reicht auch nicht, weil tuxbox_libs ja schon gebaut ist, aber die neuen Header und liblcddisplay installiert werden müssen
"cvs up" allein reicht auch nicht, weil tuxbox_libs ja schon gebaut ist, aber die neuen Header und liblcddisplay installiert werden müssen
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Patch] fontname aus dem fontfile holen
Ich baue immer von Anfang an alles neu durch, um solche Probleme zu vermeiden.seife hat geschrieben:"cvs up" allein reicht auch nicht, weil tuxbox_libs ja schon gebaut ist
Nur habe ich den letzten CVS-checkout wenige Minuten vor Deinem Posting gemacht,
sodass ich Deinen commit nur knapp verpasst habe
Kurze off-topic-Frage: Hast Du etwas dagegen, wenn ich diesen Patch für die Dbox2
einchecke? http://thread.gmane.org/gmane.linux.kernel/945376
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Nö.rhabarber1848 hat geschrieben:Kurze off-topic-Frage: Hast Du etwas dagegen, wenn ich diesen Patch für die Dbox2
einchecke? http://thread.gmane.org/gmane.linux.kernel/945376
Wobei es IMHO unnötige Arbeit ist (und dazu führt, dass alle den kernel und in Folge alles andere inklusive toolchain komplett neu bauen ), weil der Fall den der Patch fixt ist extrem schwierig zu treffen und der Patch ist auch schon im 2.4er kernel git, also beim nächsten 2.4er update, das dann bestimmt auch für die dbox nachgezogen wird, mit drin.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: [Patch] fontname aus dem fontfile holen
Ein Standard-CVS-Image wird durch diesen Patch nicht beeinträchtigt,seife hat geschrieben:Der Code ist im tripledragon-experimental repo seit langem ohne Probleme im Einsatz.
somit spricht imho nichts gegen einen commit.
Den Kernel-Patch verfolge ich nicht weiter, wobei, ich habe soeben
einen binutils-version bump committed
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
ok. Ich warte noch auf kommentare von imagebauern, weil sich die Kommandozeilensyntax ändert.
Hast du auch mal versucht, einen anderen font zu laden? Sollte nun einfacher sein, weil man den Namen nicht mehr wissen muss. Einfach "neutrino --font 0 /tmp/font.ttf" reicht nun.
Und wegen der VFAT geschichte: der bug war sehr obskur. Das Dateisystem muss auf eine bestimmte Weise kaputt sein, dann muss die kaputte datei auf besondere Weise geschrieben werden, dann knallts. Das Szenario ist auf der dbox eher unwahrscheinlich (Datenbankfiles auf VFAT). Und da der Fix irgendwann automatisch kommt, wäre das wirklich nur Beschäftigungstherapie
Wg. binutils: ich mach einfach keine updates von /cdk
Hast du auch mal versucht, einen anderen font zu laden? Sollte nun einfacher sein, weil man den Namen nicht mehr wissen muss. Einfach "neutrino --font 0 /tmp/font.ttf" reicht nun.
Und wegen der VFAT geschichte: der bug war sehr obskur. Das Dateisystem muss auf eine bestimmte Weise kaputt sein, dann muss die kaputte datei auf besondere Weise geschrieben werden, dann knallts. Das Szenario ist auf der dbox eher unwahrscheinlich (Datenbankfiles auf VFAT). Und da der Fix irgendwann automatisch kommt, wäre das wirklich nur Beschäftigungstherapie
Wg. binutils: ich mach einfach keine updates von /cdk
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [Patch] fontname aus dem fontfile holen
was spricht dagegen das einzuchecken ?
edit. reverten kann man es ja immer noch
edit. reverten kann man es ja immer noch
Zuletzt geändert von mb405 am Sonntag 4. Juli 2010, 10:47, insgesamt 1-mal geändert.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Ich warte noch auf rückmeldungen von den Image-Meistern. Schliesslich ändert sich die Syntax der Kommandozeile.
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [Patch] fontname aus dem fontfile holen
checks ein, und schreib das man tuxbox_libs mit neu bauen muss.
dann kommen schon die meldungen.
liegt wohl an der fehlenden lib ich hab nur die neue neutrino mal starten wollen
dann kommen schon die meldungen.
Code: Alles auswählen
[LCDFONT] initializing core...
[LCDFONT] adding font /share/fonts/12.pcf.gz...OK (Fix12/Regular)
[LCDFONT] adding font /share/fonts/14B.pcf.gz...OK (Fix14/Bold)
[LCDFONT] adding font /share/fonts/15B.pcf.gz...OK (Fix15/Bold)
[LCDFONT] Intializing font cache...
[LCDFONT] FTC_Face_Requester (Fix15/Bold)
[LCDFONT] FTC_Face_Requester (Fix12/Regular)
[LCDFONT] FTC_Face_Requester (Fix14/Bold)
[neutrino] [neutrino] box_Type: 1
[neutrino] [FONT] initializing core...
[neutrino] [FONT] Intializing font cache, using max. 4MB...
[neutrino] [FONT] adding font /share/fonts/micron.ttf... ok
[neutrino] SetupFonts filename: /share/fonts/micron.ttf fontname: Micron
[neutrino] [FONT] adding font /share/fonts/micron_bold.ttf, failed: 1
*** glibc detected ***
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [Patch] fontname aus dem fontfile holen
nee sorry mein fehler
die micron_bold gabs nicht hehe
geht also ganz sauber.
kann man trotsdem starten lassen, auch mit fehlender schriftart ? dann eben ne andere nehmen ??
die micron_bold gabs nicht hehe
Code: Alles auswählen
[LCDFONT] initializing core...
[LCDFONT] adding font /share/fonts/12.pcf.gz...OK (Fix12/Regular)
[LCDFONT] adding font /share/fonts/14B.pcf.gz...OK (Fix14/Bold)
[LCDFONT] adding font /share/fonts/15B.pcf.gz...OK (Fix15/Bold)
[LCDFONT] Intializing font cache...
[LCDFONT] FTC_Face_Requester (Fix15/Bold)
[LCDFONT] FTC_Face_Requester (Fix12/Regular)
[LCDFONT] FTC_Face_Requester (Fix14/Bold)
[neutrino] [neutrino] box_Type: 1
[neutrino] [FONT] initializing core...
[neutrino] [FONT] Intializing font cache, using max. 4MB...
[neutrino] [FONT] adding font /share/fonts/micron.ttf... ok
[neutrino] SetupFonts filename: /share/fonts/micron.ttf fontname: Micron
[neutrino] [FONT] adding font /share/fonts/micron_bold.ttf... ok
[neutrino] [FONT] adding font /share/fonts/micron_italic.ttf... ok
[neutrino] [FONT] FTC_Face_Requester (Micron/ Bold)
[neutrino] [FONT] FTC_Face_Requester (Micron/Regular)
[neutrino] [FONT] FTC_Face_Requester (Micron/ Italic)
kann man trotsdem starten lassen, auch mit fehlender schriftart ? dann eben ne andere nehmen ??
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Könnte man. Allerdings ist es so, wenn ein Font explizit angegeben ist, dann muss der halt auch da sein.mb405 hat geschrieben:kann man trotsdem starten lassen, auch mit fehlender schriftart ? dann eben ne andere nehmen ??
Und wenn kein font angegeben wird, ist "micron", "micron_bold", "micron_italic" halt fest vorgegeben.
Wenn du dir die 50kb für micron_bold und micron_italic sparen willst, dann starte neutrino halt mit "neutrino --font 0 /share/fonts/micron.ttf", dann wird bold und italic emuliert.
Ich würde da jetzt nicht zuviel Logik in einen Fallback-Mechanismus stecken, der dann im Zweifelsfall auch nur verwirrt...
Man könnte allerdings ordentlich abbrechen, anstelle einfach nur zu crashen
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Ich habe es jetzt mal eingecheckt. Im wiki war "--font" auch nicht dokumentiert, also ist es eh keine öffentliche API
-
- Tuxboxer
- Beiträge: 2331
- Registriert: Donnerstag 24. März 2005, 21:52
Re: [Patch] fontname aus dem fontfile holen
jo. ich hab die fonts seit jeher aus dem share ins var und wieder zurück verlinkt. yadi hat das glaube mal gemacht.
is ne feine sache, so kann man einfach den link im var löschen und durch seinen favorisierten font ersetzen.
deswegen hatte ich den fehler, weil der link wech war
danke fürs einchecken in der wärme
is ne feine sache, so kann man einfach den link im var löschen und durch seinen favorisierten font ersetzen.
deswegen hatte ich den fehler, weil der link wech war
danke fürs einchecken in der wärme
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: [Patch] fontname aus dem fontfile holen
doch doch, muss dann geändert werdenseife hat geschrieben:Im wiki war "--font" auch nicht dokumentiert, also ist es eh keine öffentliche API
Neutrino:Customizing#OSD-Schriftart
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
bei der Suche nach "font" wurde es nicht gefunden, "--font" fand auch nix.
Ausserdem bin ich offensichtlich zu blöd, das zu bearbeiten.
Im Quellcode steht nur aber "customizing_osdfont" ist per suche wieder nicht auffindbar.
Ausserdem bin ich offensichtlich zu blöd, das zu bearbeiten.
Im Quellcode steht nur
Code: Alles auswählen
=OSD-Schriftart=
{{customizing_osdfont}}
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: [Patch] fontname aus dem fontfile holen
Für "font" hab' ich grad was angelegt, damit man es findet.seife hat geschrieben:bei der Suche nach "font" wurde es nicht gefunden, "--font" fand auch nix.
Ausserdem bin ich offensichtlich zu blöd, das zu bearbeiten.
Im Quellcode steht nuraber "customizing_osdfont" ist per suche wieder nicht auffindbar.Code: Alles auswählen
=OSD-Schriftart= {{customizing_osdfont}}
{{customizing_osdfont}} ist eine Vorlage, die du unterhalb des Quellcodes zusammen mit weiteren Vorlagen findest, mehr ist das nicht. Dort kann man die Vorlage auswählen und wie jeden anderen Artikel auch bearbeiten.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: [Patch] fontname aus dem fontfile holen
Habe gerade festgestellt, dass bei der Übernahme anderer Sprachen, welche andere Schriften verwenden z.B. Russisch, Griechisch etc. die Schriftart nicht übernommen wird. Das OSD ist dann voll zerschossen. Erst nach Neustart passt es. Das Gleiche gilt auch im umgekehrten Fall, also wenn man z.B Griechisch eingestellt hat und wechselt auf deutsch, englisch etc. dann wird die Schriftart auch nicht geändert nur dass es hier halt nicht so schlimm aussieht, weil ja der Schriftsatz umfangreicher ist und nichts fehlt, aber man erkennt es. Vor diesem Commit http://cvs.tuxbox-cvs.sourceforge.net/t ... &r2=1.1029 gings noch. Die die Menütitel werden zudem übrigens auch nicht auf die Sprache angepasst der Bug war scheinbar aber schon vorher, ist aber eine andere Geschichte.
Edit: Hab mal ein Bild gemacht, sieht nicht gut aus:
Hier wurde von deutsch auf griechisch gewechselt.
Edit: Hab mal ein Bild gemacht, sieht nicht gut aus:
Hier wurde von deutsch auf griechisch gewechselt.
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Ich vermute, dass das dasselbe Problem ist wie mit dem scansettings-Menü vor ein paar Wochen. Die Menüklassen sind einfach terminally broken, da ist ohne viel Arbeit nichts dran zu machen.
Für's Erste (bis das mal "jemand" fixt, LOL) würde ich nach Sprachwechsel einfach neutrino neustarten.
Für's Erste (bis das mal "jemand" fixt, LOL) würde ich nach Sprachwechsel einfach neutrino neustarten.
Re: [Patch] fontname aus dem fontfile holen
Vorschlag: Kann man denn nicht ganz auf eine UTF-Schrift setzen? Die ist zwar größer aber immer noch kleiner, als wie bisher zwei zusammen und das Schriftbild würde immer passen, egal zu welcher Sprache. Etwas Code könnte dadurch wahrscheinlich auch noch aufgeräumt werden, wenn man den Aufwand mit dem Umschalten für verschiedene Schriften weglassen kann.
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: [Patch] fontname aus dem fontfile holen
Sieht aber nicht so aus, weil die Einträge ja korrekt sind, nur die Schrift passt nicht. Damals war der Text daneben, was definitiv an den Menüklassen liegt.seife hat geschrieben:Ich vermute, dass das dasselbe Problem ist wie mit dem scansettings-Menü vor ein paar Wochen...
Ich bin auch nur drauf gestoßen, weil ich an den Menüs weiter aufgeräumt habe und garade an den Spracheinstellungen zu Werke war. Ich dachte erst, dass da etwas daneben ging, weils einfach nicht wollte, aber nachdem ich die Revisionen zurückverfolgt hatte, gings dann wieder vor dem 4.7.10. Sollte das Menüzeugs mal aufgeräumt sein, könnte sich das aber auch von alleine erledigen, aber wo der Hund begraben ist, wäre schon mal gut zu wissen. Neustart ist aber wirklich nur die Brechstange.seife hat geschrieben:da ist ohne viel Arbeit nichts dran zu machen.
Für's Erste (bis das mal "jemand" fixt, LOL) würde ich nach Sprachwechsel einfach neutrino neustarten.
Wenn man's ganz schnell machen will, gehts möglicherweise so. Ist aber nur eine andere Brechstange. Gespart ist da aber nichtsVorschlag: Kann man denn nicht ganz auf eine UTF-Schrift setzen? Die ist zwar größer aber immer noch kleiner, als wie bisher zwei zusammen und das Schriftbild würde immer passen, egal zu welcher Sprache.
Code: Alles auswählen
Index: localize.cpp
===================================================================
RCS file: /cvs/tuxbox/apps/tuxbox/neutrino/src/system/localize.cpp,v
retrieving revision 1.56
diff -u -r1.56 localize.cpp
--- a/localize.cpp 18 Feb 2009 17:48:53 -0000 1.56
+++ b/localize.cpp 9 Aug 2010 21:44:52 -0000
@@ -289,7 +289,7 @@
(strcmp(locale, "russkij") == 0) ||
(strcmp(locale, "utf8") == 0)
/* utf8.locale is a generic name that can be used for new locales which need characters outside the ISO-8859-1 character set */
- ) ? UNICODE_FONT : ISO_8859_1_FONT;
+ ) ? UNICODE_FONT : UNICODE_FONT/*ISO_8859_1_FONT*/;
}
const char * CLocaleManager::getText(const neutrino_locale_t keyName) const
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: [Patch] fontname aus dem fontfile holen
Ok. Der Menüpunkt 4 hatte mich verwirrt, aber das ist wohl nur ne fehlende locale...
-
- Administrator
- Beiträge: 2675
- Registriert: Donnerstag 28. September 2006, 19:18
Re: [Patch] fontname aus dem fontfile holen
Ja betrifft auch alle anderen Fenster wie Infobar, EpG usw...seife hat geschrieben:Ok. Der Menüpunkt 4 hatte mich verwirrt, aber das ist wohl nur ne fehlende locale...