📄 r2d_font.ml
字号:
open Freetype
open Lcd
open Coding
open Ptset
type metrics ={ascent:int;
descent:int;
leading:int;
max_width:int;
max_height:int;
underline:int;
max_char_size:int
}
type glyph_metrics =
{
glyph_index:int;
width:int;
height:int;
x_advance : int;
y_advance : int;
x_org : int;
y_org : int
}
type font =
{
framebuffer : number list ;
global_metrics : metrics ;
local_metrics : glyph_metrics list;
transcodage : Ptset.t
}
let ti_chars =
[|
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x00;
0x00;
0x00;
0x00;
0x00;
0x00;
0x00;
0x00;
0x4F;
0x00;
0x00;
0x00;
0x00;
0x07;
0x00;
0x07;
0x00;
0x00;
0x14;
0x7F;
0x14;
0x7F;
0x14;
0x00;
0x24;
0x2A;
0x7F;
0x2A;
0x12;
0x00;
0x23;
0x13;
0x08;
0x64;
0x62;
0x00;
0x36;
0x49;
0x55;
0x22;
0x50;
0x00;
0x00;
0x05;
0x03;
0x00;
0x00;
0x00;
0x00;
0x1C;
0x22;
0x41;
0x00;
0x00;
0x00;
0x41;
0x22;
0x1C;
0x00;
0x00;
0x14;
0x08;
0x3E;
0x08;
0x14;
0x00;
0x08;
0x08;
0x3E;
0x08;
0x08;
0x00;
0x00;
0x50;
0x30;
0x00;
0x00;
0x00;
0x08;
0x08;
0x08;
0x08;
0x08;
0x00;
0x00;
0x60;
0x60;
0x00;
0x00;
0x00;
0x20;
0x10;
0x08;
0x04;
0x02;
0x00;
0x3E;
0x51;
0x49;
0x45;
0x3E;
0x00;
0x00;
0x42;
0x7F;
0x40;
0x00;
0x00;
0x42;
0x61;
0x51;
0x49;
0x46;
0x00;
0x21;
0x41;
0x45;
0x4B;
0x31;
0x00;
0x18;
0x14;
0x12;
0x7F;
0x10;
0x00;
0x27;
0x45;
0x45;
0x45;
0x39;
0x00;
0x3C;
0x4A;
0x49;
0x49;
0x30;
0x00;
0x01;
0x71;
0x09;
0x05;
0x03;
0x00;
0x36;
0x49;
0x49;
0x49;
0x36;
0x00;
0x06;
0x49;
0x49;
0x29;
0x1E;
0x00;
0x00;
0x36;
0x36;
0x00;
0x00;
0x00;
0x00;
0x56;
0x36;
0x00;
0x00;
0x00;
0x08;
0x14;
0x22;
0x41;
0x00;
0x00;
0x14;
0x14;
0x14;
0x14;
0x14;
0x00;
0x00;
0x41;
0x22;
0x14;
0x08;
0x00;
0x02;
0x01;
0x51;
0x09;
0x06;
0x00;
0x3E;
0x41;
0x5D;
0x55;
0x1E;
0x00;
0x7E;
0x11;
0x11;
0x11;
0x7E;
0x00;
0x7F;
0x49;
0x49;
0x49;
0x36;
0x00;
0x3E;
0x41;
0x41;
0x41;
0x22;
0x00;
0x7F;
0x41;
0x41;
0x22;
0x1C;
0x00;
0x7F;
0x49;
0x49;
0x49;
0x41;
0x00;
0x7F;
0x09;
0x09;
0x09;
0x01;
0x00;
0x3E;
0x41;
0x49;
0x49;
0x3A;
0x00;
0x7F;
0x08;
0x08;
0x08;
0x7F;
0x00;
0x00;
0x41;
0x7F;
0x41;
0x00;
0x00;
0x20;
0x40;
0x41;
0x3F;
0x01;
0x00;
0x7F;
0x08;
0x14;
0x22;
0x41;
0x00;
0x7F;
0x40;
0x40;
0x40;
0x40;
0x00;
0x7F;
0x02;
0x04;
0x02;
0x7F;
0x00;
0x7F;
0x04;
0x08;
0x10;
0x7F;
0x00;
0x3E;
0x41;
0x41;
0x41;
0x3E;
0x00;
0x7F;
0x09;
0x09;
0x09;
0x06;
0x00;
0x3E;
0x41;
0x51;
0x21;
0x5E;
0x00;
0x7F;
0x09;
0x19;
0x29;
0x46;
0x00;
0x26;
0x49;
0x49;
0x49;
0x32;
0x00;
0x01;
0x01;
0x7F;
0x01;
0x01;
0x00;
0x3F;
0x40;
0x40;
0x40;
0x3F;
0x00;
0x1F;
0x20;
0x40;
0x20;
0x1F;
0x00;
0x3F;
0x40;
0x38;
0x40;
0x3F;
0x00;
0x63;
0x14;
0x08;
0x14;
0x63;
0x00;
0x07;
0x08;
0x70;
0x08;
0x07;
0x00;
0x61;
0x51;
0x49;
0x45;
0x43;
0x00;
0x00;
0x7F;
0x41;
0x41;
0x00;
0x00;
0x02;
0x04;
0x08;
0x10;
0x20;
0x00;
0x00;
0x41;
0x41;
0x7F;
0x00;
0x00;
0x04;
0x02;
0x01;
0x02;
0x04;
0x00;
0x40;
0x40;
0x40;
0x40;
0x40;
0x00;
0x00;
0x00;
0x03;
0x05;
0x00;
0x00;
0x20;
0x54;
0x54;
0x54;
0x78;
0x00;
0x7F;
0x44;
0x44;
0x44;
0x38;
0x00;
0x38;
0x44;
0x44;
0x44;
0x44;
0x00;
0x38;
0x44;
0x44;
0x44;
0x7F;
0x00;
0x38;
0x54;
0x54;
0x54;
0x18;
0x00;
0x08;
0x7E;
0x09;
0x09;
0x00;
0x00;
0x08;
0x54;
0x54;
0x54;
0x3C;
0x00;
0x7F;
0x08;
0x04;
0x04;
0x78;
0x00;
0x00;
0x44;
0x7D;
0x40;
0x00;
0x00;
0x20;
0x40;
0x44;
0x3D;
0x00;
0x00;
0x7F;
0x10;
0x28;
0x44;
0x00;
0x00;
0x00;
0x41;
0x7F;
0x40;
0x00;
0x00;
0x7C;
0x04;
0x78;
0x04;
0x78;
0x00;
0x7C;
0x08;
0x04;
0x04;
0x78;
0x00;
0x38;
0x44;
0x44;
0x44;
0x38;
0x00;
0x7C;
0x14;
0x14;
0x14;
0x08;
0x00;
0x08;
0x14;
0x14;
0x14;
0x7C;
0x00;
0x7C;
0x08;
0x04;
0x04;
0x00;
0x00;
0x48;
0x54;
0x54;
0x54;
0x24;
0x00;
0x04;
0x3F;
0x44;
0x44;
0x00;
0x00;
0x3C;
0x40;
0x40;
0x20;
0x7C;
0x00;
0x1C;
0x20;
0x40;
0x20;
0x1C;
0x00;
0x3C;
0x40;
0x30;
0x40;
0x3C;
0x00;
0x44;
0x28;
0x10;
0x28;
0x44;
0x00;
0x0C;
0x50;
0x50;
0x50;
0x3C;
0x00;
0x44;
0x64;
0x54;
0x4C;
0x44;
0x00;
0x08;
0x36;
0x41;
0x41;
0x00;
0x00;
0x00;
0x00;
0x77;
0x00;
0x00;
0x00;
0x00;
0x41;
0x41;
0x36;
0x08;
0x00;
0x02;
0x01;
0x02;
0x04;
0x02;
0x00;
0x00;
0x0C;
0x14;
0x14;
0x0C;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
0x7F;
0x7F;
0x7F;
0x7F;
0x7F;
0x00;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -