Bastelstunde : vt / console

bluescreen

verstört
Moin !

Mal kurz und bündig gefragt !

Gibt es eine Möglichkeit eine bestimmte Schriftart für
den Bootvorgang auszuwählen !

Die Schriftart für den login lade ich via Eintrag in
die rc.conf .

allscreens_flags="-f ter-u32.fnt"

Wäre nett die gleiche Schriftart während des
starts zu haben !

Gruss
:cool:
 
Nein gibt es nicht. Die Schriftart ist hart im Kernel und nicht konfigurierbar. Das ist tatsächlich eine Binärdatei als Array von Hexwerten im Code. Ich habe danach gesehen weil die Standardschrift bei 280 DPI ziemlich anstrengend zu lesen ist.
 
Hi, ich habe mir die Datei
Code:
 /usr/src/sys/dev/vt/fonts/vt_font_default.c
einmal angesehen.

Mit

Code:
xxd -i /usr/share/vt/fonts/vgarom-8x8.fnt

bspw. bekommt man ein C Array das man einfügen könnte.

Code:
unsigned char _usr_share_vt_fonts_vgarom_8x8_fnt[] = {                                                          
  0x56, 0x46, 0x4e, 0x54, 0x30, 0x30, 0x30, 0x32, 0x08, 0x08, 0x00, 0x00,                                       
  0x00, 0x00, 0x02, 0x33, 0x00, 0x00, 0x00, 0x6a, 0x00, 0x00, 0x00, 0x00,                                       
  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,                                       
  0x00, 0x00, 0x00, 0x00, 0x30, 0x78, 0x78, 0x30, 0x30, 0x00, 0x30, 0x00,                                       
  0x6c, 0x6c, 0x6c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x6c, 0x6c, 0xfe, 0x6c,                                       
  0xfe, 0x6c, 0x6c, 0x00, 0x30, 0x7c, 0xc0, 0x78, 0x0c, 0xf8, 0x30, 0x00,                                       
  0x00, 0xc6, 0xcc, 0x18, 0x30, 0x66, 0xc6, 0x00, 0x38, 0x6c, 0x38, 0x76,
.....

Der Kernel lässt sich nach der Änderung auch bauen und booten aber leider habe ich keine Ahnung wie man das "font mapping" erzeugt. Die Console jedenfalls zeigt Zeichen an in der Schrift (vgarom8x8) an, aber leider halt leider nicht korrekt.

vt_fonts_default.c
 
@Yamagi +1

Ich habe Ed Maste's Repo fontsuff gefunden und noch ein wenig andere Webseiten besucht bspw. diesen Blog Artikel Fonts for Microcontrollers um das ganze als Laie mal besser zu verstehen wie Schriften überhaupt dargestellt werden.

Aus /usr/src/sys/dev/vt/vt.h

Code:
/*                                                                                                                                                                                           
  1  * Fonts.                                                                        
  2  *                                                                               
  3  * Remapping tables are used to map Unicode points to glyphs.  They need         
  4  * to be sorted, because vtfont_lookup() performs a binary search.  Each         
  5  * font has two remapping tables, for normal and bold.  When a character         
  6  * is not present in bold, it uses a normal glyph.  When no glyph is             
  7  * available, it uses glyph 0, which is normally equal to U+FFFD.                
  8  */

@Kamikaze
vt_kernel.png


Nach einem

Code:
vidfont

ist alles wieder OK.
 
@bluescreen

Beispiel mit der Schrift Tamsyn 8x16

Code:
mkdir vtfont
cd vtfont
svn checkout svn://svn.freebsd.org/base/head/tools/tools/vt/ .
cd mkkfont
make

Das hier ist das Entscheidende :-)

Code:
cat  /usr/local/share/fonts/tamsyn-font/Tamsyn8x16.fnt | ./mkkfont > tamsyn_font.c
su
....
cp /usr/src/sys/dev/vt/fonts/vt_font_default.c /usr/src/sys/dev/vt/fonts/vt_font_default.c.ORG
cp tamsyn_font.c /usr/src/sys/dev/vt/fonts/vt_font_default.c

Und dann Kernel (neu) bauen. Reboot und hoffentlich :)

Ich hoffe das funktioniert mit dem Link zum Video Tamsyn 8x16 und es ist erkennbar.
 
Zurück
Oben