@@ -4,7 +4,7 @@ use core::{
4
4
fmt:: { self , Write } ,
5
5
ptr,
6
6
} ;
7
- use font8x8 :: UnicodeFonts ;
7
+ use noto_sans_mono_bitmap :: { get_bitmap , get_bitmap_width , BitmapChar , BitmapHeight , FontWeight } ;
8
8
use spinning_top:: Spinlock ;
9
9
10
10
/// The global logger instance used for the `log` crate.
@@ -68,7 +68,7 @@ impl Logger {
68
68
}
69
69
70
70
fn newline ( & mut self ) {
71
- self . y_pos += 8 + LINE_SPACING ;
71
+ self . y_pos += 14 + LINE_SPACING ;
72
72
self . carriage_return ( )
73
73
}
74
74
@@ -103,25 +103,24 @@ impl Logger {
103
103
if self . x_pos >= self . width ( ) {
104
104
self . newline ( ) ;
105
105
}
106
- if self . y_pos >= ( self . height ( ) - 8 ) {
106
+ const BITMAP_LETTER_WIDTH : usize =
107
+ get_bitmap_width ( FontWeight :: Regular , BitmapHeight :: Size14 ) ;
108
+ if self . y_pos >= ( self . height ( ) - BITMAP_LETTER_WIDTH ) {
107
109
self . clear ( ) ;
108
110
}
109
- let rendered = font8x8:: BASIC_FONTS
110
- . get ( c)
111
- . expect ( "character not found in basic font" ) ;
112
- self . write_rendered_char ( rendered) ;
111
+ let bitmap_char = get_bitmap ( c, FontWeight :: Regular , BitmapHeight :: Size14 ) . unwrap ( ) ;
112
+ self . write_rendered_char ( bitmap_char) ;
113
113
}
114
114
}
115
115
}
116
116
117
- fn write_rendered_char ( & mut self , rendered_char : [ u8 ; 8 ] ) {
118
- for ( y, byte) in rendered_char. iter ( ) . enumerate ( ) {
119
- for ( x, bit) in ( 0 ..8 ) . enumerate ( ) {
120
- let alpha = if * byte & ( 1 << bit) == 0 { 0 } else { 255 } ;
121
- self . write_pixel ( self . x_pos + x, self . y_pos + y, alpha) ;
117
+ fn write_rendered_char ( & mut self , rendered_char : BitmapChar ) {
118
+ for ( y, row) in rendered_char. bitmap ( ) . iter ( ) . enumerate ( ) {
119
+ for ( x, byte) in row. iter ( ) . enumerate ( ) {
120
+ self . write_pixel ( self . x_pos + x, self . y_pos + y, * byte) ;
122
121
}
123
122
}
124
- self . x_pos += 8 ;
123
+ self . x_pos += rendered_char . width ( ) ;
125
124
}
126
125
127
126
fn write_pixel ( & mut self , x : usize , y : usize , intensity : u8 ) {
0 commit comments