TuxTxt Font 2004-10-24
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
-
- Semiprofi
- Beiträge: 1470
- Registriert: Donnerstag 14. März 2002, 07:14
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
-
- Einsteiger
- Beiträge: 106
- Registriert: Dienstag 17. August 2004, 18:29
Er meinte sicher den split mode (VT-Vollbild, geteilt mit TV und Topmenu oder nur mit TV). Der wird (noch) nicht gespeichert, und viele 16:9 Benutzer werden sicher den letzteren als Default bevorzugen (was die Alternative zur Speicherung wäre).
(Ich denke, die Einstellung des Transparenz-Mode dagegen brächte wenig.)
Nachteil am Speichern des split mode wäre vielleicht bei einigen (wie mir), daß dann sehr oft gespeichert würde, was auf die Lebensdauer der Flashes ginge. Ich bin zwar immernoch der Meinung, daß das bei modernen Flashes eigentlich kaum mehr eine Rolle spielen sollte (solange es max. wenige Schreibzugriffe am Tag wären), die Flashes in meiner Box scheinen mich aber gerade eines besseren belehren zu wollen...
(Ich denke, die Einstellung des Transparenz-Mode dagegen brächte wenig.)
Nachteil am Speichern des split mode wäre vielleicht bei einigen (wie mir), daß dann sehr oft gespeichert würde, was auf die Lebensdauer der Flashes ginge. Ich bin zwar immernoch der Meinung, daß das bei modernen Flashes eigentlich kaum mehr eine Rolle spielen sollte (solange es max. wenige Schreibzugriffe am Tag wären), die Flashes in meiner Box scheinen mich aber gerade eines besseren belehren zu wollen...
-
- Tuxboxer
- Beiträge: 5873
- Registriert: Samstag 23. Februar 2002, 22:46
Wieso der ist doch dann ebenso im 16:9 Modus wenn man diesen vorher bei Text einstellst.Er meinte sicher den split mode (VT-Vollbild, geteilt mit TV und Topmenu oder nur mit TV). Der wird (noch) nicht gespeichert, und viele 16:9 Benutzer werden sicher den letzteren als Default bevorzugen (was die Alternative zur Speicherung wäre).
Ich bin mit der Darstellung jetzt jedenfalls sehr zufrieden. Der Untertitel bei Premiere funktioniert jetzt auch.
Super Arbeit.
Gruß Gorcon
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
Sorry für die Verwirrung, ich dachte, ich hätte mich klar ausgedrückt.
Also, bei meinem Loewe sieht der Videotext nach einem Tastendruck (T) so aus:
LoeweTxt 16:9 Text/Bild
Bei TuxTxt wird der VT immer erst im Vollbild angezeigt und erst nach 2xMinustaste kommt der Split-Screen.
Das muss ja gar nicht jedes mal ins Flash gespeichert werden, eine Option im Setup würde reichen.
Also, bei meinem Loewe sieht der Videotext nach einem Tastendruck (T) so aus:
LoeweTxt 16:9 Text/Bild
Bei TuxTxt wird der VT immer erst im Vollbild angezeigt und erst nach 2xMinustaste kommt der Split-Screen.
Das muss ja gar nicht jedes mal ins Flash gespeichert werden, eine Option im Setup würde reichen.
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
Hallo Leute,
Ich habe neue Binaries von Tuxtxt online gestellt:
- Einige Fehler bzgl. der Anpassung der Spaltenbreite behoben (könnte auch Auswirkungen auf die Lesbarkeit haben).
- Wenn in einer Seite die 1. Spalte leer ist (Ist bei 99 % der Seiten der Fall), werden nur 39 Spalten angezeigt (kann auch die Lesbarkeit erhöhen).
- rolandm's Anpassungen bzgl. dem variablen TTFWIDTHFACTOR eingebaut.
Damit kann dann jeder mal andere Fonts ausprobieren.
(Für den Original-Font gilt der Wert 4)
Als kleine Anregung:
Ich habe einen Freeware-Font entdeckt, der bei mir ganz gut aussieht:
http://www.blau-weissoedingen.de/dreambox/tuxtxt.ttf
(Es fehlen allerdings einige Sonderzeichen)
Um ihn zu verwenden muss in /var/tuxbox/config/tuxtxt/tuxtxt2.conf TTFWidthFactor 2 gesetzt werden.
Viel Spasss damit,
dbluelle
Ich habe neue Binaries von Tuxtxt online gestellt:
- Einige Fehler bzgl. der Anpassung der Spaltenbreite behoben (könnte auch Auswirkungen auf die Lesbarkeit haben).
- Wenn in einer Seite die 1. Spalte leer ist (Ist bei 99 % der Seiten der Fall), werden nur 39 Spalten angezeigt (kann auch die Lesbarkeit erhöhen).
- rolandm's Anpassungen bzgl. dem variablen TTFWIDTHFACTOR eingebaut.
Damit kann dann jeder mal andere Fonts ausprobieren.
(Für den Original-Font gilt der Wert 4)
Als kleine Anregung:
Ich habe einen Freeware-Font entdeckt, der bei mir ganz gut aussieht:
http://www.blau-weissoedingen.de/dreambox/tuxtxt.ttf
(Es fehlen allerdings einige Sonderzeichen)
Um ihn zu verwenden muss in /var/tuxbox/config/tuxtxt/tuxtxt2.conf TTFWidthFactor 2 gesetzt werden.
Viel Spasss damit,
dbluelle
-
- Einsteiger
- Beiträge: 204
- Registriert: Dienstag 12. März 2002, 07:40
Hallo dbluelle,
leider bekomme ich mit deiner dBox2-Version folgenden Fehler:
Das Plugin startet deshalb nicht und hinterlässt das LCD-Display in einem undefinierten Zustand.
Steffi
leider bekomme ich mit deiner dBox2-Version folgenden Fehler:
Code: Alles auswählen
undefined symbol: tuxbox_get_vendor
Steffi
-
- Interessierter
- Beiträge: 27
- Registriert: Dienstag 25. Mai 2004, 20:31
I cannot find this version in CVS. When is it checked in?dbluelle hat geschrieben:Hallo Leute,
Ich habe neue Binaries von Tuxtxt online gestellt:
- Einige Fehler bzgl. der Anpassung der Spaltenbreite behoben (könnte auch Auswirkungen auf die Lesbarkeit haben).
- Wenn in einer Seite die 1. Spalte leer ist (Ist bei 99 % der Seiten der Fall), werden nur 39 Spalten angezeigt (kann auch die Lesbarkeit erhöhen).
- rolandm's Anpassungen bzgl. dem variablen TTFWIDTHFACTOR eingebaut.
Damit kann dann jeder mal andere Fonts ausprobieren.
(Für den Original-Font gilt der Wert 4)
Als kleine Anregung:
Ich habe einen Freeware-Font entdeckt, der bei mir ganz gut aussieht:
http://www.blau-weissoedingen.de/dreambox/tuxtxt.ttf
(Es fehlen allerdings einige Sonderzeichen)
Um ihn zu verwenden muss in /var/tuxbox/config/tuxtxt/tuxtxt2.conf TTFWidthFactor 2 gesetzt werden.
Viel Spasss damit,
dbluelle
Peter
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
@Steffi
Die Funktion tuxbox_get_vendor steht auch so im CVS drin, sollte also auch in jedem Image definiert sein
Da ich selber nicht auf der DBox testen kann, kann ich dir leider auch nicht sagen, woran es kliegt
Eventuell weiss rolandm hier Rat?
@Pli
I've send the code to AlexW a week ago, but he hasn't checked in yet
If you want to play with it, here is the diff:
Wenn das einer der anderen Devs liest, kann er es ja einchecken
dbluelle
Die Funktion tuxbox_get_vendor steht auch so im CVS drin, sollte also auch in jedem Image definiert sein
Da ich selber nicht auf der DBox testen kann, kann ich dir leider auch nicht sagen, woran es kliegt
Eventuell weiss rolandm hier Rat?
@Pli
I've send the code to AlexW a week ago, but he hasn't checked in yet
If you want to play with it, here is the diff:
Code: Alles auswählen
diff -Naur -w orig/tuxtxt.c ok/tuxtxt.c
--- orig/tuxtxt.c 2004-10-24 13:55:28.000000000 +0200
+++ ok/tuxtxt.c 2004-10-30 16:07:22.000000000 +0200
@@ -409,7 +409,19 @@
{
memset(lfb, color, 2*var_screeninfo.xres*var_screeninfo.yres);
}
-
+void SetPosX(int column)
+{
+#if CFGTTF
+ int abx = (displaywidth)/(((displaywidth)%(40-nofirst))+1);// distance between 'inserted' pixels
+ PosX = StartX;
+ int i;
+ for (i = 0; i < column-nofirst; i++)
+ PosX += fontwidth+(((PosX-sx) / abx) < ((PosX+fontwidth-sx) /abx) ? 1 : 0);
+// PosX = StartX + (column-nofirst)*fontwidth + ((column-nofirst)*fontwidth/abx);
+#else
+ PosX = StartX + (column-nofirst)*fontwidth;
+#endif
+}
void plugin_exec(PluginParam *par)
{
@@ -442,7 +454,7 @@
ey = atoi(par->val);
}
- if (vtxtpid == -1 || fb == -1 || lcd == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
+ if (vtxtpid == -1 || fb == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
{
printf("TuxTxt <Invalid Param(s)>\n");
return;
@@ -691,6 +703,8 @@
showhex = ival & 1;
else if (1 == sscanf(line, "OverlayTransparency %x", &ival))
tr1[transp2-1] = tr2[transp2-1] = ival & 0xFFFF;
+ else if (1 == sscanf(line, "TTFWidthFactor %d", &ival))
+ TTFWIDTHFACTOR = ival;
}
fclose(conf);
}
@@ -721,18 +735,19 @@
#if CFGTTF
/* calculate font dimensions */
+ displaywidth = (ex-sx);
fontheight = (ey-sy) / 25;
fontwidth = fontwidth_normal = (ex-sx) / 40;
- fontwidth_topmenumain = (ex-sx) * 3 / 4 / 40;
- fontwidth_topmenusmall = (ex-sx - 40*fontwidth_topmenumain) / TOPMENUCHARS;
- fontwidth_small = (ex-sx) / 2 / 40;
+ fontwidth_topmenumain = (TV43STARTX-sx) / 40;
+ fontwidth_topmenusmall = (ex- TV43STARTX) / TOPMENUCHARS;
+ fontwidth_small = (TV169FULLSTARTX-sx) / 40;
ymosaic[0] = 0; /* y-offsets for 2*3 mosaic */
ymosaic[1] = (fontheight + 1) / 3;
ymosaic[2] = (fontheight * 2 + 1) / 3;
ymosaic[3] = fontheight;
/* center screen */
- StartX = sx + (((ex-sx) - 40*fontwidth) / 2);
+ StartX = sx; //+ (((ex-sx) - 40*fontwidth) / 2);
StartY = sy + (((ey-sy) - 25*fontheight) / 2);
typettf.font.face_id = (FTC_FaceID) TUXTXTTTF;
@@ -1056,6 +1071,7 @@
fprintf(conf, "SwapUpDown %d\n", swapupdown);
fprintf(conf, "ShowHexPages %d\n", showhex);
fprintf(conf, "OverlayTransparency %X\n", tr1[transp2-1]);
+ fprintf(conf, "TTFWidthFactor %d\n", TTFWIDTHFACTOR);
fclose(conf);
}
}
@@ -2069,19 +2085,19 @@
switch (inputcounter)
{
case 2:
- PosX = StartX + 8*fontwidth;
+ SetPosX(8);
RenderCharFB(Number | '0', black<<4 | white);
RenderCharFB('-', black<<4 | white);
RenderCharFB('-', black<<4 | white);
break;
case 1:
- PosX = StartX + 9*fontwidth;
+ SetPosX(9);
RenderCharFB(Number | '0', black<<4 | white);
break;
case 0:
- PosX = StartX + 10*fontwidth;
+ SetPosX(10);
RenderCharFB(Number | '0', black<<4 | white);
break;
}
@@ -2421,7 +2437,7 @@
zoommode = 0;
PosX = StartX;
PosY = StartY + 24*fontheight;
- for (byte = 0; byte < 40; byte++)
+ for (byte = 0; byte < 40-nofirst; byte++)
RenderCharFB(catchmenutext[menulanguage][byte], catchmenutext[menulanguage][byte+40]);
zoommode = oldzoommode;
@@ -2617,7 +2633,7 @@
if (pc_old_row || pc_old_col) /* not at first call */
{
/* restore pagenumber */
- PosX = StartX + pc_old_col*fontwidth;
+ SetPosX(pc_old_col);
if (zoommode == 2)
PosY = StartY + (pc_old_row-12)*fontheight*((zoom>>10)+1);
@@ -2643,8 +2659,8 @@
zoommode = 1;
CopyBB2FB();
}
+ SetPosX(catch_col);
- PosX = StartX + catch_col*fontwidth;
if (zoommode == 2)
PosY = StartY + (catch_row-12)*fontheight*((zoom>>10)+1);
@@ -2731,8 +2747,9 @@
fw = fontwidth_topmenumain;
fh = fontheight;
tw = TV43WIDTH;
+ displaywidth= (TV43STARTX -sx);
#if CFGTTF
- StartX = sx + (((ex-sx) - (40*fw+2+tw)) / 2); /* center screen */
+ StartX = sx; //+ (((ex-sx) - (40*fw+2+tw)) / 2); /* center screen */
#endif
tx = TV43STARTX;
ty = TV43STARTY;
@@ -2746,6 +2763,7 @@
ty = TV169FULLSTARTY;
tw = TV169FULLWIDTH;
th = TV169FULLHEIGHT;
+ displaywidth= (TV169FULLSTARTX-sx);
}
#if CFGTTF
@@ -2786,9 +2804,10 @@
#endif
#if CFGTTF
+ displaywidth= (ex -sx);
fontwidth = fontwidth_normal;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
- StartX = sx + (ex-sx - 40*fontwidth) / 2; /* center screen */
+ StartX = sx; //+ (ex-sx - 40*fontwidth) / 2; /* center screen */
#else /* !TTF */
type0.font.pix_width = type1.font.pix_width = type2.font.pix_width = fontwidth_normal;
type0.font.pix_height = type1.font.pix_height = type2.font.pix_height = fontheight+2;
@@ -2890,10 +2909,12 @@
int factor;
unsigned char *sbitbuffer;
+ int abx = (displaywidth)/(((displaywidth)%(40-nofirst))+1);// distance between 'inserted' pixels
+ int curfontwidth = fontwidth+(((PosX-sx) / abx) < ((PosX+fontwidth-sx) /abx) ? 1 : 0);
if (Char == 0xFF) /* skip doubleheight chars in lower line */
{
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
}
@@ -2913,8 +2934,8 @@
if ((Attribute & 0x300) &&
((Char&0xA0) == 0x20))
{
- int w1 = fontwidth / 2;
- int w2 = fontwidth - w1;
+ int w1 = curfontwidth / 2;
+ int w2 = curfontwidth - w1;
int y;
Char = (Char & 0x1f) | ((Char & 0x40) >> 1);
@@ -2933,7 +2954,7 @@
Char >>= 2;
}
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
}
@@ -2949,8 +2970,8 @@
{
case 0x00:
case 0x20:
- FillRect(PosX, PosY + yoffset, fontwidth, factor*fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0x23:
case 0x24:
@@ -2974,80 +2995,80 @@
Char = nationaltable7b[national_subset][Char-0x7B];
break;
case 0x7F:
- FillRect(PosX, PosY + yoffset, fontwidth, factor*ascender, fgcolor);
- FillRect(PosX, PosY + yoffset + factor*ascender, fontwidth, factor*(fontheight-ascender), bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, factor*ascender, fgcolor);
+ FillRect(PosX, PosY + yoffset + factor*ascender, curfontwidth, factor*(fontheight-ascender), bgcolor);
+ PosX += curfontwidth;
return;
case 0xE0: /* |- */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
DrawVLine(PosX, PosY + yoffset +1, fontheight -1, fgcolor);
- FillRect(PosX +1, PosY + yoffset +1, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset +1, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE1: /* - */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
- FillRect(PosX, PosY + yoffset +1, fontwidth, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
+ FillRect(PosX, PosY + yoffset +1, curfontwidth, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE2: /* -| */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
- DrawVLine(PosX + fontwidth -1, PosY + yoffset +1, fontheight -1, fgcolor);
- FillRect(PosX, PosY + yoffset +1, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset +1, fontheight -1, fgcolor);
+ FillRect(PosX, PosY + yoffset +1, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE3: /* | */
DrawVLine(PosX, PosY + yoffset, fontheight, fgcolor);
- FillRect(PosX +1, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE4: /* | */
- DrawVLine(PosX + fontwidth -1, PosY + yoffset, fontheight, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- PosX += fontwidth;
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset, fontheight, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE5: /* |_ */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
DrawVLine(PosX, PosY + yoffset, fontheight -1, fgcolor);
- FillRect(PosX +1, PosY + yoffset, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE6: /* _ */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE7: /* _| */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
- DrawVLine(PosX + fontwidth -1, PosY + yoffset, fontheight -1, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset, fontheight -1, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE8: /* Ii */
- FillRect(PosX +1, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- for (Row = 0; Row < fontwidth/2; Row++)
+ FillRect(PosX +1, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ for (Row=0; Row < curfontwidth/2; Row++)
DrawVLine(PosX + Row, PosY + yoffset + Row, fontheight - Row, fgcolor);
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
case 0xE9: /* II */
- FillRect(PosX, PosY + yoffset, fontwidth/2, fontheight, fgcolor);
- FillRect(PosX + fontwidth/2, PosY + yoffset, (fontwidth+1)/2, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth/2, fontheight, fgcolor);
+ FillRect(PosX + curfontwidth/2, PosY + yoffset, (curfontwidth+1)/2, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xEA: /* ° */
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth/2, fontwidth/2, fgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth/2, curfontwidth/2, fgcolor);
+ PosX += curfontwidth;
return;
case 0xEB: /* ¬ */
- FillRect(PosX, PosY + yoffset +1, fontwidth, fontheight -1, bgcolor);
- for (Row = 0; Row < fontwidth/2; Row++)
- DrawHLine(PosX + Row, PosY + yoffset + Row, fontwidth - Row, fgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset +1, curfontwidth, fontheight -1, bgcolor);
+ for (Row=0; Row < curfontwidth/2; Row++)
+ DrawHLine(PosX + Row, PosY + yoffset + Row, curfontwidth - Row, fgcolor);
+ PosX += curfontwidth;
return;
case 0xEC: /* -- */
- FillRect(PosX, PosY + yoffset, fontwidth, fontwidth/2, fgcolor);
- FillRect(PosX, PosY + yoffset + fontwidth/2, fontwidth, fontheight - fontwidth/2, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, curfontwidth/2, fgcolor);
+ FillRect(PosX, PosY + yoffset + curfontwidth/2, curfontwidth, fontheight - curfontwidth/2, bgcolor);
+ PosX += curfontwidth;
return;
case 0xED:
case 0xEE:
@@ -3070,11 +3091,12 @@
#if DEBUG
printf("TuxTxt <FT_Get_Char_Index for Char %x \"%c\" failed\n", Char, Char);
#endif
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
}
+ typettf.font.pix_width = (FT_UShort) curfontwidth * TTFWIDTHFACTOR - 2;
#ifndef DREAMBOX
if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit, NULL)) != 0)
#else
@@ -3083,10 +3105,10 @@
{
#if DEBUG
printf("TuxTxt <FTC_SBitCache_Lookup: 0x%x> c%x a%x g%x w%d h%d x%d y%d\n",
- error, Char, Attribute, glyph, fontwidth, fontheight, PosX, PosY);
+ error, Char, Attribute, glyph, curfontwidth, fontheight, PosX, PosY);
#endif
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
}
@@ -3098,7 +3120,7 @@
int f; /* runningh counter for zoom factor */
Row = factor * (ascender - sbit->top);
- FillRect(PosX, PosY + yoffset, fontwidth, Row, bgcolor); /* fill upper margin */
+ FillRect(PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
p = lfb + PosX + (yoffset + PosY + Row) * var_screeninfo.xres; /* running pointer into framebuffer */
for (Row = sbit->height; Row; Row--) /* row counts up, but down may be a little faster :) */
@@ -3138,9 +3160,9 @@
}
#if 1
- for (Bit = fontwidth - sbit->width - sbit->left; Bit > 0; Bit--) /* fill rest of char width */
+ for (Bit = curfontwidth - sbit->width - sbit->left; Bit > 0; Bit--) /* fill rest of char width */
#else
- for (Bit = fontwidth - sbit->width; Bit > 0; Bit--) /* fill rest of char width */
+ for (Bit = curfontwidth - sbit->width; Bit > 0; Bit--) /* fill rest of char width */
#endif
{
for (f = factor-1; f >= 0; f--)
@@ -3152,9 +3174,9 @@
}
Row = ascender - sbit->top + sbit->height;
- FillRect(PosX, PosY + yoffset + Row*factor, fontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
+ FillRect(PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
- PosX += fontwidth;
+ PosX += curfontwidth;
}
else /* yoffset<0: LCD */
@@ -3491,7 +3513,6 @@
/* char message_9[] = "ã Seite 100 existiert nicht! äé"; */
memcpy(&message_1[24], versioninfo, 4);
-
/* reset zoom */
zoommode = 0;
@@ -3600,9 +3621,11 @@
/* update lcd */
UpdateLCD();
+
/* update page or timestring */
if (transpmode != 2 && pageupdate && page_receiving != page && inputcounter == 2)
{
+
/* get national subset */
if (auto_national)
{
@@ -3624,6 +3647,24 @@
return;
}
+ /* display first column? */
+ nofirst = 1;
+ for (row = 1; row < 24; row++)
+ {
+ if (page_char[row*40] != ' ' && page_char[row*40] != 0x00 && page_char[row*40] != 0xFF && page_atrb[row*40] != (black <<4 | black)) {nofirst = 0; break;}
+ }
+#if CFGTTF
+ fontwidth = fontwidth_normal = (ex-sx) / (40-nofirst);
+ fontwidth_topmenumain = (TV43STARTX-sx) / (40-nofirst);
+ fontwidth_topmenusmall = (ex- TV43STARTX - TOPMENUINDENTDEF) / TOPMENUCHARS;
+ fontwidth_small = (TV169FULLSTARTX-sx) / (40-nofirst);
+ switch(screenmode)
+ {
+ case 0: fontwidth = fontwidth_normal ; displaywidth= (ex -sx);break;
+ case 1: fontwidth = fontwidth_topmenumain; displaywidth= (TV43STARTX -sx);break;
+ case 2: fontwidth = fontwidth_small ; displaywidth= (TV169FULLSTARTX-sx);break;
+ }
+#endif
if (transpmode || (boxed && !screenmode))
{
ClearBB(transp);
@@ -3637,7 +3678,7 @@
{
PosX = StartX;
- for (col = 0; col < 40; col++)
+ for (col = nofirst; col < 40; col++)
RenderCharBB(page_char[row*40 + col], page_atrb[row*40 + col]);
PosY += fontheight;
@@ -3649,7 +3690,7 @@
else if (transpmode != 2 && zoommode != 2)
{
/* update timestring */
- PosX = StartX + 32*fontwidth;
+ SetPosX(32);
PosY = StartY;
for (byte = 0; byte < 8; byte++)
@@ -3672,13 +3713,23 @@
else
yoffset = var_screeninfo.yres;
+#if CFGTTF
+ int abx = (displaywidth)/(((displaywidth)%(40-nofirst))+1);// distance between 'inserted' pixels
+ int width = displaywidth /4;
+#else
+ int width = ((40-nofirst)*oldfontwidth)/4;
+#endif
- PosX = StartX + column*oldfontwidth;
+ PosX = StartX + column*width;
PosY = StartY + 24*fontheight;
if (boxed)
{
+#if CFGTTF
+ FillRect(PosX, PosY+yoffset, displaywidth, fontheight, transp);
+#else
FillRect(PosX, PosY+yoffset, 40*oldfontwidth, fontheight, transp);
+#endif
return;
}
@@ -3692,8 +3743,8 @@
fontwidth = oldfontwidth * 10 / (l+1);
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
}
- FillRect(PosX, PosY+yoffset, 10*oldfontwidth, fontheight, Attrib >> 4);
- PosX += ((10*oldfontwidth) - (l*fontwidth))/2; /* center */
+ FillRect(PosX, PosY+yoffset, width+(displaywidth%4), fontheight, Attrib >> 4);
+ PosX += ((width) - (l*fontwidth+l*fontwidth/abx))/2; /* center */
for (p = adip[linkpage]; *p; p++)
RenderCharBB(*p, Attrib);
fontwidth = oldfontwidth;
@@ -3744,9 +3795,9 @@
next_100 = toptext_getnext(next_10, 1, 0);
showlink(0, prev_100, red<<4 | white);
- showlink(10, prev_10, green<<4 | black);
- showlink(20, next_10, yellow<<4 | black);
- showlink(30, next_100, blue<<4 | white);
+ showlink(1, prev_10, green<<4 | black);
+ showlink(2, next_10, yellow<<4 | black);
+ showlink(3, next_100, blue<<4 | white);
if (bttok && screenmode == 1) /* TOP-Info present, divided screen -> create TOP overview */
{
@@ -3757,6 +3808,8 @@
int attr;
#if CFGTTF
+ int olddisplaywidth = displaywidth;
+ displaywidth = fontwidth_topmenusmall*(40-nofirst);
fontwidth = fontwidth_topmenusmall;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
#else /* !TTF */
@@ -3849,6 +3902,7 @@
RenderClearMenuLineBB(line, attrcol, attr);
}
#if CFGTTF
+ displaywidth = olddisplaywidth;
fontwidth = fontwidth_topmenumain;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
#else /* !TTF */
@@ -3916,6 +3970,7 @@
unsigned char *topdst = dst;
screenwidth = TV43STARTX;
+
topsrc += screenwidth;
topdst += screenwidth;
for (i = 0; i < 25*fontheight; i++)
@@ -3953,6 +4008,7 @@
static int init_lcd = 1, old_cached_pages = -1, old_page = -1, old_subpage = -1, old_subpage_max = -1, old_hintmode = -1;
int x, y, subpage_max = 0, update_lcd = 0;
+ if (lcd == -1) return; // for Dreamboxes without LCD-Display (5xxx)
/* init or update lcd */
if (init_lcd)
{
diff -Naur -w orig/tuxtxt.h ok/tuxtxt.h
--- orig/tuxtxt.h 2004-10-24 13:55:12.000000000 +0200
+++ ok/tuxtxt.h 2004-10-30 16:09:44.000000000 +0200
@@ -55,15 +55,15 @@
#endif
#define CFGTTF 1
-#define TUXTXTCONF CONFIGDIR "/tuxtxt/tuxtxt.conf"
+#define TUXTXTCONF CONFIGDIR "/tuxtxt/tuxtxt2.conf"
/* fonts */
#define TUXTXT0 FONTDIR "/tuxtxt0.fon" /* G0 8+16pt */
#define TUXTXT1 FONTDIR "/tuxtxt1.fon" /* G1 8+16pt */
#define TUXTXT2 FONTDIR "/tuxtxt2.fon" /* NS 8+16pt */
#if CFGTTF
-#define TUXTXTTTF "/var/tuxtxt/TuxTxt.ttf" /* TTF */
+#define TUXTXTTTF "/var/tuxtxt/tuxtxt.ttf" /* TTF */
#else
#define TUXTXT0R "/var/tuxtxt/tuxtxt0r.fon" /* G0 12pt */
#define TUXTXT1R "/var/tuxtxt/tuxtxt1r.fon" /* G1 12pt */
@@ -82,8 +82,8 @@
#if CFGTTF
int fontheight, fontwidth, fontwidth_normal, fontwidth_small, fontwidth_topmenumain, fontwidth_topmenusmall, ascender;
int ymosaic[4];
-#define TTFWIDTHFACTOR 4 /* FIXME: otherwise too much space btw chars */
-
+int TTFWIDTHFACTOR = 4; /* FIXME: otherwise too much space btw chars */
+int displaywidth;
#define fontwidth_small_lcd 8
#else
#define fontheight 20
@@ -94,18 +94,24 @@
#define fontwidth_topmenusmall 8
#endif
+#if CFGTTF
+#define TV43STARTX 540 //(StartX + 2 + (40-nofirst)*fontwidth_topmenumain + (40*fontwidth_topmenumain/abx))
+#define TV169FULLSTARTX 360 //(StartX + (40-nofirst)*fontwidth_small + ((40-nofirst)*fontwidth_small/abx))
+#define TVENDX ex
+#else
#define TV43STARTX (StartX + 2 + 40*fontwidth_topmenumain)
+#define TV169FULLSTARTX (StartX + 2 + 40*fontwidth_small)
#define TVENDX (StartX + 40*fontwidth_normal)
+#endif
#define TVENDY (StartY + 25*fontheight)
#define TV43WIDTH 144 /* 120 */
#define TV43HEIGHT 116 /* 96 */
#define TV43STARTY (TVENDY - TV43HEIGHT)
-#define TV169FULLSTARTX (StartX + 2 + 40*fontwidth_small)
-#define TV169FULLSTARTY 25
+#define TV169FULLSTARTY 0
#define TV169FULLWIDTH 320
#define TV169FULLHEIGHT 576
-#define TOPMENUSTARTX TV43STARTX
+#define TOPMENUSTARTX TV43STARTX+2
#define TOPMENUENDX TVENDX
#define TOPMENUSTARTY StartY
#define TOPMENUENDY TV43STARTY
@@ -115,7 +121,7 @@
#define TOPMENUINDENTGRP 1
#define TOPMENUINDENTDEF 2
#define TOPMENUSPC 0
-#define TOPMENUCHARS (TOPMENUINDENTDEF+12+TOPMENUSPC+3+5)
+#define TOPMENUCHARS (TOPMENUINDENTDEF+12+TOPMENUSPC+4)
/* 1: blk-1, grp-1, grp+1, blk+1 */
/* 2: blk-1, grp+1, grp+2, blk+1 */
@@ -379,7 +385,7 @@
int page, subpage, lastpage, pageupdate, zap_subpage_manual;
int current_national_subset;
int inputcounter;
-int zoommode, screenmode, transpmode, hintmode, boxed;
+int zoommode, screenmode, transpmode, hintmode, boxed, nofirst;
int catch_row, catch_col, catched_page, pagecatching;
int prev_100, prev_10, next_10, next_100;
int fnc_old, saa_old, screen_mode1, screen_mode2, color_mode, national_subset, auto_national, swapupdown, showhex, menulanguage;
dbluelle
-
- Interessierter
- Beiträge: 27
- Registriert: Dienstag 25. Mai 2004, 20:31
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
Ich habe mich nochmal mit TuxTxt beschäftigt und
ein paar Kleinigkeiten bzgl. der Zeichenbreitenanpassung
(was für ein Wort ) geändert.
Die neue Version (mit den letzten Änderungen aus dem CVS) ist jetzt online.
Hier ist der entsprechende Diff.
Wenn einer der Devs mitliest, kann er das ruhig ins CVS übernehmen oder mir kurz mitteilen, ob da noch Fehler drin sind.
(Den letzten Diff hatte ich an AlexW geschickt, aber er wurde nicht committed und ich weiss leider nicht, warum )
dbluelle
ein paar Kleinigkeiten bzgl. der Zeichenbreitenanpassung
(was für ein Wort ) geändert.
Die neue Version (mit den letzten Änderungen aus dem CVS) ist jetzt online.
Hier ist der entsprechende Diff.
Wenn einer der Devs mitliest, kann er das ruhig ins CVS übernehmen oder mir kurz mitteilen, ob da noch Fehler drin sind.
(Den letzten Diff hatte ich an AlexW geschickt, aber er wurde nicht committed und ich weiss leider nicht, warum )
dbluelle
Code: Alles auswählen
diff -Naur -w orig/tuxtxt.c ok/tuxtxt.c
--- orig/tuxtxt.c 2004-11-25 19:22:14.000000000 +0100
+++ ok/tuxtxt.c 2004-11-27 17:02:10.000000000 +0100
@@ -409,7 +409,20 @@
{
memset(lfb, color, 2*var_screeninfo.xres*var_screeninfo.yres);
}
-
+void SetPosX(int column)
+{
+#if CFGTTF
+ int abx = ((displaywidth)%(40-nofirst) == 0 ? displaywidth+1 : (displaywidth)/(((displaywidth)%(40-nofirst))));// distance between 'inserted' pixels
+// int abx = (displaywidth)/(((displaywidth)%(40-nofirst))+1);// distance between 'inserted' pixels
+ PosX = StartX;
+ int i;
+ for (i = 0; i < column-nofirst; i++)
+ PosX += fontwidth+(((PosX-sx) / abx) < ((PosX+fontwidth+1-sx) /abx) ? 1 : 0);
+// PosX = StartX + (column-nofirst)*fontwidth + ((column-nofirst)*fontwidth/abx);
+#else
+ PosX = StartX + (column-nofirst)*fontwidth;
+#endif
+}
void plugin_exec(PluginParam *par)
{
@@ -442,7 +455,7 @@
ey = atoi(par->val);
}
- if (vtxtpid == -1 || fb == -1 || lcd == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
+ if (vtxtpid == -1 || fb == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1)
{
printf("TuxTxt <Invalid Param(s)>\n");
return;
@@ -691,6 +704,8 @@
showhex = ival & 1;
else if (1 == sscanf(line, "OverlayTransparency %x", &ival))
tr1[transp2-1] = tr2[transp2-1] = ival & 0xFFFF;
+ else if (1 == sscanf(line, "TTFWidthFactor %d", &ival))
+ TTFWIDTHFACTOR = ival;
}
fclose(conf);
}
@@ -721,18 +736,19 @@
#if CFGTTF
/* calculate font dimensions */
+ displaywidth = (ex-sx);
fontheight = (ey-sy) / 25;
fontwidth = fontwidth_normal = (ex-sx) / 40;
- fontwidth_topmenumain = (ex-sx) * 3 / 4 / 40;
- fontwidth_topmenusmall = (ex-sx - 40*fontwidth_topmenumain) / TOPMENUCHARS;
- fontwidth_small = (ex-sx) / 2 / 40;
+ fontwidth_topmenumain = (TV43STARTX-sx) / 40;
+ fontwidth_topmenusmall = (ex- TV43STARTX) / TOPMENUCHARS;
+ fontwidth_small = (TV169FULLSTARTX-sx) / 40;
ymosaic[0] = 0; /* y-offsets for 2*3 mosaic */
ymosaic[1] = (fontheight + 1) / 3;
ymosaic[2] = (fontheight * 2 + 1) / 3;
ymosaic[3] = fontheight;
/* center screen */
- StartX = sx + (((ex-sx) - 40*fontwidth) / 2);
+ StartX = sx; //+ (((ex-sx) - 40*fontwidth) / 2);
StartY = sy + (((ey-sy) - 25*fontheight) / 2);
typettf.font.face_id = (FTC_FaceID) TUXTXTTTF;
@@ -1056,6 +1072,7 @@
fprintf(conf, "SwapUpDown %d\n", swapupdown);
fprintf(conf, "ShowHexPages %d\n", showhex);
fprintf(conf, "OverlayTransparency %X\n", tr1[transp2-1]);
+ fprintf(conf, "TTFWidthFactor %d\n", TTFWIDTHFACTOR);
fclose(conf);
}
}
@@ -2069,19 +2086,19 @@
switch (inputcounter)
{
case 2:
- PosX = StartX + 8*fontwidth;
+ SetPosX(8);
RenderCharFB(Number | '0', black<<4 | white);
RenderCharFB('-', black<<4 | white);
RenderCharFB('-', black<<4 | white);
break;
case 1:
- PosX = StartX + 9*fontwidth;
+ SetPosX(9);
RenderCharFB(Number | '0', black<<4 | white);
break;
case 0:
- PosX = StartX + 10*fontwidth;
+ SetPosX(10);
RenderCharFB(Number | '0', black<<4 | white);
break;
}
@@ -2421,7 +2438,7 @@
zoommode = 0;
PosX = StartX;
PosY = StartY + 24*fontheight;
- for (byte = 0; byte < 40; byte++)
+ for (byte = 0; byte < 40-nofirst; byte++)
RenderCharFB(catchmenutext[menulanguage][byte], catchmenutext[menulanguage][byte+40]);
zoommode = oldzoommode;
@@ -2617,7 +2634,7 @@
if (pc_old_row || pc_old_col) /* not at first call */
{
/* restore pagenumber */
- PosX = StartX + pc_old_col*fontwidth;
+ SetPosX(pc_old_col);
if (zoommode == 2)
PosY = StartY + (pc_old_row-12)*fontheight*((zoom>>10)+1);
@@ -2643,8 +2660,8 @@
zoommode = 1;
CopyBB2FB();
}
+ SetPosX(catch_col);
- PosX = StartX + catch_col*fontwidth;
if (zoommode == 2)
PosY = StartY + (catch_row-12)*fontheight*((zoom>>10)+1);
@@ -2719,6 +2736,7 @@
#endif
ClearBB(clearbbcolor);
+
/* set mode */
if (screenmode) /* split */
{
@@ -2726,16 +2744,19 @@
if ( screenmode == 2 && zoommode )
ClearFB(clearbbcolor);
#endif
+
int fw, fh, tx, ty, tw, th;
int sm = 0;
+
if (screenmode==1) /* split with topmenu */
{
fw = fontwidth_topmenumain;
fh = fontheight;
tw = TV43WIDTH;
+ displaywidth= (TV43STARTX -sx);
#if CFGTTF
- StartX = sx + (((ex-sx) - (40*fw+2+tw)) / 2); /* center screen */
+ StartX = sx; //+ (((ex-sx) - (40*fw+2+tw)) / 2); /* center screen */
#endif
tx = TV43STARTX;
ty = TV43STARTY;
@@ -2749,6 +2770,7 @@
ty = TV169FULLSTARTY;
tw = TV169FULLWIDTH;
th = TV169FULLHEIGHT;
+ displaywidth= (TV169FULLSTARTX-sx);
}
#if CFGTTF
@@ -2789,9 +2811,10 @@
#endif
#if CFGTTF
+ displaywidth= (ex -sx);
fontwidth = fontwidth_normal;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
- StartX = sx + (ex-sx - 40*fontwidth) / 2; /* center screen */
+ StartX = sx; //+ (ex-sx - 40*fontwidth) / 2; /* center screen */
#else /* !TTF */
type0.font.pix_width = type1.font.pix_width = type2.font.pix_width = fontwidth_normal;
type0.font.pix_height = type1.font.pix_height = type2.font.pix_height = fontheight+2;
@@ -2893,10 +2916,12 @@
int factor;
unsigned char *sbitbuffer;
+ int abx = ((displaywidth)%(40-nofirst) == 0 ? displaywidth+1 : (displaywidth)/(((displaywidth)%(40-nofirst))));// distance between 'inserted' pixels
+ int curfontwidth = fontwidth+(((PosX-sx) / abx) < ((PosX+fontwidth+1-sx) /abx) ? 1 : 0);
if (Char == 0xFF) /* skip doubleheight chars in lower line */
{
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
}
@@ -2916,8 +2941,8 @@
if ((Attribute & 0x300) &&
((Char&0xA0) == 0x20))
{
- int w1 = fontwidth / 2;
- int w2 = fontwidth - w1;
+ int w1 = curfontwidth / 2;
+ int w2 = curfontwidth - w1;
int y;
Char = (Char & 0x1f) | ((Char & 0x40) >> 1);
@@ -2936,7 +2961,7 @@
Char >>= 2;
}
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
}
@@ -2952,8 +2977,8 @@
{
case 0x00:
case 0x20:
- FillRect(PosX, PosY + yoffset, fontwidth, factor*fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, factor*fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0x23:
case 0x24:
@@ -2977,80 +3002,80 @@
Char = nationaltable7b[national_subset][Char-0x7B];
break;
case 0x7F:
- FillRect(PosX, PosY + yoffset, fontwidth, factor*ascender, fgcolor);
- FillRect(PosX, PosY + yoffset + factor*ascender, fontwidth, factor*(fontheight-ascender), bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, factor*ascender, fgcolor);
+ FillRect(PosX, PosY + yoffset + factor*ascender, curfontwidth, factor*(fontheight-ascender), bgcolor);
+ PosX += curfontwidth;
return;
case 0xE0: /* |- */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
DrawVLine(PosX, PosY + yoffset +1, fontheight -1, fgcolor);
- FillRect(PosX +1, PosY + yoffset +1, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset +1, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE1: /* - */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
- FillRect(PosX, PosY + yoffset +1, fontwidth, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
+ FillRect(PosX, PosY + yoffset +1, curfontwidth, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE2: /* -| */
- DrawHLine(PosX, PosY + yoffset, fontwidth, fgcolor);
- DrawVLine(PosX + fontwidth -1, PosY + yoffset +1, fontheight -1, fgcolor);
- FillRect(PosX, PosY + yoffset +1, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset, curfontwidth, fgcolor);
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset +1, fontheight -1, fgcolor);
+ FillRect(PosX, PosY + yoffset +1, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE3: /* | */
DrawVLine(PosX, PosY + yoffset, fontheight, fgcolor);
- FillRect(PosX +1, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE4: /* | */
- DrawVLine(PosX + fontwidth -1, PosY + yoffset, fontheight, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- PosX += fontwidth;
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset, fontheight, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE5: /* |_ */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
DrawVLine(PosX, PosY + yoffset, fontheight -1, fgcolor);
- FillRect(PosX +1, PosY + yoffset, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX +1, PosY + yoffset, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE6: /* _ */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE7: /* _| */
- DrawHLine(PosX, PosY + yoffset + fontheight -1, fontwidth, fgcolor);
- DrawVLine(PosX + fontwidth -1, PosY + yoffset, fontheight -1, fgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth-1, fontheight-1, bgcolor);
- PosX += fontwidth;
+ DrawHLine(PosX, PosY + yoffset + fontheight -1, curfontwidth, fgcolor);
+ DrawVLine(PosX + curfontwidth -1, PosY + yoffset, fontheight -1, fgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth-1, fontheight-1, bgcolor);
+ PosX += curfontwidth;
return;
case 0xE8: /* Ii */
- FillRect(PosX +1, PosY + yoffset, fontwidth -1, fontheight, bgcolor);
- for (Row = 0; Row < fontwidth/2; Row++)
+ FillRect(PosX +1, PosY + yoffset, curfontwidth -1, fontheight, bgcolor);
+ for (Row=0; Row < curfontwidth/2; Row++)
DrawVLine(PosX + Row, PosY + yoffset + Row, fontheight - Row, fgcolor);
- PosX += fontwidth;
+ PosX += curfontwidth;
return;
case 0xE9: /* II */
- FillRect(PosX, PosY + yoffset, fontwidth/2, fontheight, fgcolor);
- FillRect(PosX + fontwidth/2, PosY + yoffset, (fontwidth+1)/2, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth/2, fontheight, fgcolor);
+ FillRect(PosX + curfontwidth/2, PosY + yoffset, (curfontwidth+1)/2, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
case 0xEA: /* ° */
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- FillRect(PosX, PosY + yoffset, fontwidth/2, fontwidth/2, fgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ FillRect(PosX, PosY + yoffset, curfontwidth/2, curfontwidth/2, fgcolor);
+ PosX += curfontwidth;
return;
case 0xEB: /* ¬ */
- FillRect(PosX, PosY + yoffset +1, fontwidth, fontheight -1, bgcolor);
- for (Row = 0; Row < fontwidth/2; Row++)
- DrawHLine(PosX + Row, PosY + yoffset + Row, fontwidth - Row, fgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset +1, curfontwidth, fontheight -1, bgcolor);
+ for (Row=0; Row < curfontwidth/2; Row++)
+ DrawHLine(PosX + Row, PosY + yoffset + Row, curfontwidth - Row, fgcolor);
+ PosX += curfontwidth;
return;
case 0xEC: /* -- */
- FillRect(PosX, PosY + yoffset, fontwidth, fontwidth/2, fgcolor);
- FillRect(PosX, PosY + yoffset + fontwidth/2, fontwidth, fontheight - fontwidth/2, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, curfontwidth/2, fgcolor);
+ FillRect(PosX, PosY + yoffset + curfontwidth/2, curfontwidth, fontheight - curfontwidth/2, bgcolor);
+ PosX += curfontwidth;
return;
case 0xED:
case 0xEE:
@@ -3073,11 +3098,12 @@
#if DEBUG
printf("TuxTxt <FT_Get_Char_Index for Char %x \"%c\" failed\n", Char, Char);
#endif
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
}
+ typettf.font.pix_width = (FT_UShort) curfontwidth * TTFWIDTHFACTOR - 2;
#ifndef DREAMBOX
if ((error = FTC_SBitCache_Lookup(cache, &typettf, glyph, &sbit, NULL)) != 0)
#else
@@ -3086,10 +3112,10 @@
{
#if DEBUG
printf("TuxTxt <FTC_SBitCache_Lookup: 0x%x> c%x a%x g%x w%d h%d x%d y%d\n",
- error, Char, Attribute, glyph, fontwidth, fontheight, PosX, PosY);
+ error, Char, Attribute, glyph, curfontwidth, fontheight, PosX, PosY);
#endif
- FillRect(PosX, PosY + yoffset, fontwidth, fontheight, bgcolor);
- PosX += fontwidth;
+ FillRect(PosX, PosY + yoffset, curfontwidth, fontheight, bgcolor);
+ PosX += curfontwidth;
return;
}
@@ -3101,7 +3127,7 @@
int f; /* runningh counter for zoom factor */
Row = factor * (ascender - sbit->top);
- FillRect(PosX, PosY + yoffset, fontwidth, Row, bgcolor); /* fill upper margin */
+ FillRect(PosX, PosY + yoffset, curfontwidth, Row, bgcolor); /* fill upper margin */
p = lfb + PosX + (yoffset + PosY + Row) * var_screeninfo.xres; /* running pointer into framebuffer */
for (Row = sbit->height; Row; Row--) /* row counts up, but down may be a little faster :) */
@@ -3141,9 +3167,9 @@
}
#if 1
- for (Bit = fontwidth - sbit->width - sbit->left; Bit > 0; Bit--) /* fill rest of char width */
+ for (Bit = curfontwidth - sbit->width - sbit->left; Bit > 0; Bit--) /* fill rest of char width */
#else
- for (Bit = fontwidth - sbit->width; Bit > 0; Bit--) /* fill rest of char width */
+ for (Bit = curfontwidth - sbit->width; Bit > 0; Bit--) /* fill rest of char width */
#endif
{
for (f = factor-1; f >= 0; f--)
@@ -3155,9 +3181,9 @@
}
Row = ascender - sbit->top + sbit->height;
- FillRect(PosX, PosY + yoffset + Row*factor, fontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
+ FillRect(PosX, PosY + yoffset + Row*factor, curfontwidth, (fontheight - Row) * factor, bgcolor); /* fill lower margin */
- PosX += fontwidth;
+ PosX += curfontwidth;
}
else /* yoffset<0: LCD */
@@ -3494,7 +3520,6 @@
/* char message_9[] = "ã Seite 100 existiert nicht! äé"; */
memcpy(&message_1[24], versioninfo, 4);
-
/* reset zoom */
zoommode = 0;
@@ -3603,9 +3628,11 @@
/* update lcd */
UpdateLCD();
+
/* update page or timestring */
if (transpmode != 2 && pageupdate && page_receiving != page && inputcounter == 2)
{
+
/* get national subset */
if (auto_national)
{
@@ -3627,6 +3654,24 @@
return;
}
+ /* display first column? */
+ nofirst = 1;
+ for (row = 1; row < 24; row++)
+ {
+ if (page_char[row*40] != ' ' && page_char[row*40] != 0x00 && page_char[row*40] != 0xFF && page_atrb[row*40] != (black <<4 | black)) {nofirst = 0; break;}
+ }
+#if CFGTTF
+ fontwidth = fontwidth_normal = (ex-sx) / (40-nofirst);
+ fontwidth_topmenumain = (TV43STARTX-sx) / (40-nofirst);
+ fontwidth_topmenusmall = (ex- TV43STARTX - TOPMENUINDENTDEF) / TOPMENUCHARS;
+ fontwidth_small = (TV169FULLSTARTX-sx) / (40-nofirst);
+ switch(screenmode)
+ {
+ case 0: fontwidth = fontwidth_normal ; displaywidth= (ex -sx);break;
+ case 1: fontwidth = fontwidth_topmenumain; displaywidth= (TV43STARTX -sx);break;
+ case 2: fontwidth = fontwidth_small ; displaywidth= (TV169FULLSTARTX-sx);break;
+ }
+#endif
if (transpmode || (boxed && !screenmode))
{
ClearBB(transp);
@@ -3640,7 +3685,7 @@
{
PosX = StartX;
- for (col = 0; col < 40; col++)
+ for (col = nofirst; col < 40; col++)
RenderCharBB(page_char[row*40 + col], page_atrb[row*40 + col]);
PosY += fontheight;
@@ -3652,7 +3697,7 @@
else if (transpmode != 2 && zoommode != 2)
{
/* update timestring */
- PosX = StartX + 32*fontwidth;
+ SetPosX(32);
PosY = StartY;
for (byte = 0; byte < 8; byte++)
@@ -3675,13 +3720,23 @@
else
yoffset = var_screeninfo.yres;
+#if CFGTTF
+ int abx = (displaywidth)/(((displaywidth)%(40-nofirst))+1);// distance between 'inserted' pixels
+ int width = displaywidth /4;
+#else
+ int width = ((40-nofirst)*oldfontwidth)/4;
+#endif
- PosX = StartX + column*oldfontwidth;
+ PosX = StartX + column*width;
PosY = StartY + 24*fontheight;
if (boxed)
{
+#if CFGTTF
+ FillRect(PosX, PosY+yoffset, displaywidth, fontheight, transp);
+#else
FillRect(PosX, PosY+yoffset, 40*oldfontwidth, fontheight, transp);
+#endif
return;
}
@@ -3695,8 +3750,8 @@
fontwidth = oldfontwidth * 10 / (l+1);
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
}
- FillRect(PosX, PosY+yoffset, 10*oldfontwidth, fontheight, Attrib >> 4);
- PosX += ((10*oldfontwidth) - (l*fontwidth))/2; /* center */
+ FillRect(PosX, PosY+yoffset, width+(displaywidth%4), fontheight, Attrib >> 4);
+ PosX += ((width) - (l*fontwidth+l*fontwidth/abx))/2; /* center */
for (p = adip[linkpage]; *p; p++)
RenderCharBB(*p, Attrib);
fontwidth = oldfontwidth;
@@ -3747,9 +3802,9 @@
next_100 = toptext_getnext(next_10, 1, 0);
showlink(0, prev_100, red<<4 | white);
- showlink(10, prev_10, green<<4 | black);
- showlink(20, next_10, yellow<<4 | black);
- showlink(30, next_100, blue<<4 | white);
+ showlink(1, prev_10, green<<4 | black);
+ showlink(2, next_10, yellow<<4 | black);
+ showlink(3, next_100, blue<<4 | white);
if (bttok && screenmode == 1) /* TOP-Info present, divided screen -> create TOP overview */
{
@@ -3760,6 +3815,8 @@
int attr;
#if CFGTTF
+ int olddisplaywidth = displaywidth;
+ displaywidth = fontwidth_topmenusmall*(40-nofirst);
fontwidth = fontwidth_topmenusmall;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
#else /* !TTF */
@@ -3852,6 +3909,7 @@
RenderClearMenuLineBB(line, attrcol, attr);
}
#if CFGTTF
+ displaywidth = olddisplaywidth;
fontwidth = fontwidth_topmenumain;
typettf.font.pix_width = (FT_UShort) fontwidth * TTFWIDTHFACTOR;
#else /* !TTF */
@@ -3919,17 +3977,18 @@
unsigned char *topdst = dst;
screenwidth = TV43STARTX;
+
topsrc += screenwidth;
topdst += screenwidth;
for (i = 0; i < 25*fontheight; i++)
{
- memcpy(topdst, topsrc, fontwidth_topmenusmall*TOPMENUCHARS);
+ memcpy(topdst, topsrc,screenwidth);
topdst += var_screeninfo.xres;
topsrc += var_screeninfo.xres;
}
}
else if (screenmode == 2)
- screenwidth = TV169FULLSTARTX;
+ screenwidth = TV169FULLSTARTX+sx;
else
screenwidth = var_screeninfo.xres;
@@ -3956,6 +4015,7 @@
static int init_lcd = 1, old_cached_pages = -1, old_page = -1, old_subpage = -1, old_subpage_max = -1, old_hintmode = -1;
int x, y, subpage_max = 0, update_lcd = 0;
+ if (lcd == -1) return; // for Dreamboxes without LCD-Display (5xxx)
/* init or update lcd */
if (init_lcd)
{
diff -Naur -w orig/tuxtxt.h ok/tuxtxt.h
--- orig/tuxtxt.h 2004-10-24 14:55:12.000000000 +0200
+++ ok/tuxtxt.h 2004-11-27 16:05:48.000000000 +0100
@@ -55,15 +55,15 @@
#endif
#define CFGTTF 1
-#define TUXTXTCONF CONFIGDIR "/tuxtxt/tuxtxt.conf"
+#define TUXTXTCONF CONFIGDIR "/tuxtxt/tuxtxt2.conf"
/* fonts */
#define TUXTXT0 FONTDIR "/tuxtxt0.fon" /* G0 8+16pt */
#define TUXTXT1 FONTDIR "/tuxtxt1.fon" /* G1 8+16pt */
#define TUXTXT2 FONTDIR "/tuxtxt2.fon" /* NS 8+16pt */
-#if 0
+#if 1
#if CFGTTF
-#define TUXTXTTTF "/var/tuxtxt/TuxTxt.ttf" /* TTF */
+#define TUXTXTTTF "/var/tuxtxt/tuxtxt.ttf" /* TTF */
#else
#define TUXTXT0R "/var/tuxtxt/tuxtxt0r.fon" /* G0 12pt */
#define TUXTXT1R "/var/tuxtxt/tuxtxt1r.fon" /* G1 12pt */
@@ -82,8 +82,8 @@
#if CFGTTF
int fontheight, fontwidth, fontwidth_normal, fontwidth_small, fontwidth_topmenumain, fontwidth_topmenusmall, ascender;
int ymosaic[4];
-#define TTFWIDTHFACTOR 4 /* FIXME: otherwise too much space btw chars */
-
+int TTFWIDTHFACTOR = 4; /* FIXME: otherwise too much space btw chars */
+int displaywidth;
#define fontwidth_small_lcd 8
#else
#define fontheight 20
@@ -94,18 +94,24 @@
#define fontwidth_topmenusmall 8
#endif
+#if CFGTTF
+#define TV43STARTX (ex - 146) //(StartX + 2 + (40-nofirst)*fontwidth_topmenumain + (40*fontwidth_topmenumain/abx))
+#define TV169FULLSTARTX (sx + (ex - sx)/2) //(StartX + (40-nofirst)*fontwidth_small + ((40-nofirst)*fontwidth_small/abx))
+#define TVENDX ex
+#else
#define TV43STARTX (StartX + 2 + 40*fontwidth_topmenumain)
+#define TV169FULLSTARTX (StartX + 2 + 40*fontwidth_small)
#define TVENDX (StartX + 40*fontwidth_normal)
+#endif
#define TVENDY (StartY + 25*fontheight)
#define TV43WIDTH 144 /* 120 */
#define TV43HEIGHT 116 /* 96 */
#define TV43STARTY (TVENDY - TV43HEIGHT)
-#define TV169FULLSTARTX (StartX + 2 + 40*fontwidth_small)
-#define TV169FULLSTARTY 25
-#define TV169FULLWIDTH 320
-#define TV169FULLHEIGHT 576
+#define TV169FULLSTARTY sy
+#define TV169FULLWIDTH (ex - sx)/2
+#define TV169FULLHEIGHT (ey - sy)
-#define TOPMENUSTARTX TV43STARTX
+#define TOPMENUSTARTX TV43STARTX+2
#define TOPMENUENDX TVENDX
#define TOPMENUSTARTY StartY
#define TOPMENUENDY TV43STARTY
@@ -115,7 +121,7 @@
#define TOPMENUINDENTGRP 1
#define TOPMENUINDENTDEF 2
#define TOPMENUSPC 0
-#define TOPMENUCHARS (TOPMENUINDENTDEF+12+TOPMENUSPC+3+5)
+#define TOPMENUCHARS (TOPMENUINDENTDEF+12+TOPMENUSPC+4)
/* 1: blk-1, grp-1, grp+1, blk+1 */
/* 2: blk-1, grp+1, grp+2, blk+1 */
@@ -379,7 +385,7 @@
int page, subpage, lastpage, pageupdate, zap_subpage_manual;
int current_national_subset;
int inputcounter;
-int zoommode, screenmode, transpmode, hintmode, boxed;
+int zoommode, screenmode, transpmode, hintmode, boxed, nofirst;
int catch_row, catch_col, catched_page, pagecatching;
int prev_100, prev_10, next_10, next_100;
int fnc_old, saa_old, screen_mode1, screen_mode2, color_mode, national_subset, auto_national, swapupdown, showhex, menulanguage;
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
-
- Einsteiger
- Beiträge: 106
- Registriert: Dienstag 17. August 2004, 18:29
Diese und die Font-Dateien (tuxtxt*.fon statt tuxtxt.ttf).
Der TTF-Font ist erst seit 1.64 drin, vor Top-Text mußt Du gar nicht zurückgehen.
Wenn Du Dir aber die Arbeit machen willst, dafür ein neues Image zu bauen (die Files müssen ja ins Flash an die richtige Stelle), kannst Du auch die aktuelle Version neu übersetzen und den Schalter CFGTTF auf 0 setzen.
Oder Du wartest noch, bis ich beide Fonts unterstütze und nach dem installierten Font suche (ich schätz aber, ich werd erst zwischen den Jahren wieder dazu kommen).
Der TTF-Font ist erst seit 1.64 drin, vor Top-Text mußt Du gar nicht zurückgehen.
Wenn Du Dir aber die Arbeit machen willst, dafür ein neues Image zu bauen (die Files müssen ja ins Flash an die richtige Stelle), kannst Du auch die aktuelle Version neu übersetzen und den Schalter CFGTTF auf 0 setzen.
Oder Du wartest noch, bis ich beide Fonts unterstütze und nach dem installierten Font suche (ich schätz aber, ich werd erst zwischen den Jahren wieder dazu kommen).
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
Tja, da kaum Feedback gekommen ist, kann sich auch an der Lesbarkeit nur wenig ändern...Fred Kellner hat geschrieben:Da sich leider an der schlechten Lesbarkeit des TuxTxt auf 16:9 bis heute nichts geändert hat
Ich habe bis heute leider noch von keinem die Positionseinstellungen für Tuxtxt bekommen und zu der Möglichkeit, einen eigenen Font zu verwenden (z.B. http://www.blau-weissoedingen.de/dreambox/tuxtxt.ttf )
hat sich auch noch keiner geäußert .
dbluelle
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
Wieso kein Feedback??
Mein Feedback lautete schon vor Wochen: Zurück zum Fixed Font, alles andere kann nur schlechter sein.
Ich bin selbst Software-Entwickler und kann nicht verstehen, wieso man eine Sache, die perfekt war, so verschlimmbessern musste, dass sie praktisch nicht mehr brauchbar ist.
Ich bekomme jedenfalls tränende Augen (im doppelten Sinne), wenn ich den aktuellen TuxTxt betrachte.
Mein Feedback lautete schon vor Wochen: Zurück zum Fixed Font, alles andere kann nur schlechter sein.
Ich bin selbst Software-Entwickler und kann nicht verstehen, wieso man eine Sache, die perfekt war, so verschlimmbessern musste, dass sie praktisch nicht mehr brauchbar ist.
Ich bekomme jedenfalls tränende Augen (im doppelten Sinne), wenn ich den aktuellen TuxTxt betrachte.
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
So ein "Feedback" ist allerdings wenig hilfreichFred Kellner hat geschrieben:Wieso kein Feedback??
Mein Feedback lautete schon vor Wochen: Zurück zum Fixed Font, alles andere kann nur schlechter sein.
Ich meinte eben ein Feedback in der Form, wie ich es oben schon beschrieben habe:
1.) Das sich mal jemand bequemt, die Tuxtext-Positionseinstellungen hier zu posten.
2.) Das mal jemand ausprobiert, ob es mit anderen TT-Fonts bessere Ergebnisse gibt.
Sie war eben nicht perfekt! (Gerade als Software-Entwickler solltest du wissen, dass es keine perfekte Software gibt )Fred Kellner hat geschrieben:Ich bin selbst Software-Entwickler und kann nicht verstehen, wieso man eine Sache, die perfekt war, so verschlimmbessern musste, dass sie praktisch nicht mehr brauchbar ist.
Wie auch schon mehrfach hier im Forum erklärt, gibt es viele Fernseher, bei denen Tuxtxt mit dem fixed-font nicht vollständig sichtbar war.
Deshalb die Umstellung auf den TT-Font.
Da ich bei mir keine Probleme mit der Lesbarkeit habe, kann ich nur versuchen, mir anhand eures Feedbacks ein Bild von der Lage zu machen und Verbesserungsmöglichkeiten zu finden.
Wenn da aber nichts kommt, kann ich auch nichts machen!
dbluelle
-
- Tuxboxer
- Beiträge: 2614
- Registriert: Montag 20. Mai 2002, 10:49
- Image: JTG-Image [IDE] Version 2.4.4
- Image: (7025SS) Merlin
Ja, das sind diese Dateien.Fred Kellner hat geschrieben:Da sich leider an der schlechten Lesbarkeit des TuxTxt auf 16:9 bis heute nichts geändert hat, noch mal die Frage: Kann man das Plugin durch eine alte Version (vor Top-Text) ersetzen?
Sind es diese beiden Dateien: 01_tuxtxt.cfg und 01_tuxtxt.so ?
Wenn Du noch die alten Versionen hast, kopiere sie einfach per ftp nach /var/tuxbox/plugins . Die 01_tuxtxt.so braucht Ausführrechte.
Per telnet auf die Box, chmod 755 /var/tuxbox/plugins/01_tuxtxt.so
Danach die Box neu starten.
Greetz von DrStoned
Greetz von DrStoned
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
Bei mir war auf zwei normalen 4:3-TVs und auf einem 16:9-TV alles bestens mit dem alten Fixed Font. Dass es da auf "vielen" TVs zu Problemen kommt, kann ich nicht recht glauben.dbluelle hat geschrieben:Wie auch schon mehrfach hier im Forum erklärt, gibt es viele Fernseher, bei denen Tuxtxt mit dem fixed-font nicht vollständig sichtbar war.
Aber egal, ich such mir jetzt ein altes Image und wünsche den deutschen Augenärzten weiter gute Geschäfte mit Neutrino-Usern.
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
-
- Einsteiger
- Beiträge: 106
- Registriert: Dienstag 17. August 2004, 18:29
-
- Interessierter
- Beiträge: 22
- Registriert: Mittwoch 27. Oktober 2004, 13:11
Wenn Du mir erklärst, wie ich diedbluelle hat geschrieben: 1.) Das sich mal jemand bequemt, die Tuxtext-Positionseinstellungen hier zu posten.
2.) Das mal jemand ausprobiert, ob es mit anderen TT-Fonts bessere Ergebnisse gibt.
a) die Positionseinstellungen finde und
b) den TTF-Font tauschen kann,
dann werde ich das gern versuchen und hier meine Ergebnisse posten.
-
- Contributor
- Beiträge: 319
- Registriert: Samstag 29. Mai 2004, 18:49
a) stehen in der neutrino.confFred Kellner hat geschrieben: Wenn Du mir erklärst, wie ich die
a) die Positionseinstellungen finde und
b) den TTF-Font tauschen kann,
dann werde ich das gern versuchen und hier meine Ergebnisse posten.
b) Einfach /var/tuxtxt/tuxtxt.ttf ersetzen und eventuell den TTFWIDTHFACTOR in der tuxtxt.conf anpassen.
Das kannst du aber auch alles selbst herausfinden, wenn du mal kurz eine Seite im Thread zurückblätterst
dbluelle
-
- Neugieriger
- Beiträge: 16
- Registriert: Samstag 10. Januar 2004, 15:59
Und wie mach ich das bei einem Squashfs?Steffi hat geschrieben: Falls du ein JFFS2-Image nutzt (z.B. von DietmarW), ist das Austauschen überhaupt kein Problem. Dann geht das ganz einfach per FTP . Bei einem Image, das die Plugins im Cramfs (z.B. JTG-Image) oder im Squashfs (z.B. Yadi-Image) untergebracht hat, ist es ein wenig komplizierter, aber auch möglich.
Steffi