Added converting ANSI to a binary format, and custom font rendering
This commit is contained in:
142
app/Classes/Fonts/Thick.php
Normal file
142
app/Classes/Fonts/Thick.php
Normal file
@@ -0,0 +1,142 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Fonts;
|
||||
|
||||
use App\Classes\Font;
|
||||
|
||||
class Thick extends Font
|
||||
{
|
||||
|
||||
protected const FONT = [
|
||||
'a' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdc,0xdc,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'b' => [
|
||||
[0xdc,0x20,0x20,0x20],
|
||||
[0xdb,0xdf,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'c' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdf,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'd' => [
|
||||
[0x20,0x20,0xdc,0x20],
|
||||
[0xdb,0xdf,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'e' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdc,0x20],
|
||||
],
|
||||
'f' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0xdc,0x20,0x20],
|
||||
[0xdb,0x20,0x20,0x20],
|
||||
],
|
||||
'g' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
[0xdc,0xdc,0xdb,0x20],
|
||||
],
|
||||
'h' => [
|
||||
[0xdc,0x20,0x20,0x20],
|
||||
[0xdb,0xdf,0xdb,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
],
|
||||
'i' => [
|
||||
[0xdc,0x20],
|
||||
[0xdc,0x20],
|
||||
[0xdb,0x20],
|
||||
],
|
||||
'j' => [
|
||||
[0x20,0x20,0xdc,0x20],
|
||||
[0x20,0x20,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'k' => [
|
||||
[0xdc,0x20,0xdc,0x20],
|
||||
[0xdb,0xdc,0xdf,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
],
|
||||
'l' => [
|
||||
[0xdc,0x20,0x20,0x20],
|
||||
[0xdb,0x20,0x20,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'm' => [
|
||||
[0xdc,0xdc,0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0x20,0x20,0x20,0xdb,0x20],
|
||||
],
|
||||
'n' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
],
|
||||
'o' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'p' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0xdf,0xdf,0x20],
|
||||
],
|
||||
'q' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdf,0xdf,0xdb,0x20],
|
||||
],
|
||||
'r' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0x20,0xdf,0x20],
|
||||
[0xdb,0x20,0x20,0x20],
|
||||
],
|
||||
's' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0xdb,0xdc,0xdc,0x20],
|
||||
[0xdc,0xdc,0xdb,0x20],
|
||||
],
|
||||
't' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0x20,0xdb,0x20,0x20],
|
||||
[0x20,0xdb,0x20,0x20],
|
||||
],
|
||||
'u' => [
|
||||
[0xdc,0x20,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'v' => [
|
||||
[0xdc,0x20,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20],
|
||||
[0xdf,0xdc,0xdf,0x20],
|
||||
],
|
||||
'w' => [
|
||||
[0xdc,0x20,0x20,0x20,0xdc,0x20],
|
||||
[0xdb,0x20,0xdb,0x20,0xdb,0x20],
|
||||
[0xdb,0xdc,0xdb,0xdc,0xdb,0x20],
|
||||
],
|
||||
'x' => [
|
||||
[0xdc,0x20,0xdc,0x20],
|
||||
[0xdf,0xdb,0xdf,0x20],
|
||||
[0xdb,0xdf,0xdb,0x20],
|
||||
],
|
||||
'y' => [
|
||||
[0xdc,0x20,0xdc,0x20],
|
||||
[0xdb,0xdc,0xdb,0x20],
|
||||
[0xdc,0xdc,0xdb,0x20],
|
||||
],
|
||||
'z' => [
|
||||
[0xdc,0xdc,0xdc,0x20],
|
||||
[0x20,0xdc,0xdf,0x20],
|
||||
[0xdb,0xdc,0xdc,0x20],
|
||||
],
|
||||
];
|
||||
}
|
203
app/Classes/Fonts/Thin.php
Normal file
203
app/Classes/Fonts/Thin.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
|
||||
namespace App\Classes\Fonts;
|
||||
|
||||
use Illuminate\Support\Collection;
|
||||
|
||||
use App\Classes\Font;
|
||||
|
||||
final class Thin extends Font
|
||||
{
|
||||
protected const FONT = [
|
||||
'a' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xda,0xc4,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'b' => [
|
||||
[0xc3,0xc4,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'c' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0x20],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'd' => [
|
||||
[0xda,0xc4,0xb4],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'e' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0xc4,0xd9],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'f' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0xc4,0x20],
|
||||
[0xc0,0x20,0x20],
|
||||
],
|
||||
'g' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'h' => [
|
||||
[0xc2,0x20,0x20],
|
||||
[0xc3,0xc4,0xbf],
|
||||
[0xc1,0x20,0xc1],
|
||||
],
|
||||
'i' => [
|
||||
[0xfe],
|
||||
[0xc2],
|
||||
[0xc1],
|
||||
],
|
||||
'j' => [
|
||||
[0x20,0x20,0xc2],
|
||||
[0x20,0x20,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'k' => [
|
||||
[0xc2,0x20,0xc2],
|
||||
[0xb3,0x2f,0xbf],
|
||||
[0xc1,0x20,0xc1],
|
||||
],
|
||||
'l' => [
|
||||
[0xc2,0x20,0x20],
|
||||
[0xb3,0x20,0x20],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'm' => [
|
||||
[0xda,0xc4,0xc2,0xbf],
|
||||
[0xb3,0x20,0xb3,0xb3],
|
||||
[0xc1,0x20,0x20,0xc1],
|
||||
],
|
||||
'n' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc1,0x20,0xc1],
|
||||
],
|
||||
'o' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'p' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc3,0xc4,0xd9],
|
||||
],
|
||||
'q' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc0,0xc4,0xb4],
|
||||
],
|
||||
'r' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x20,0x20],
|
||||
[0xc1,0x20,0x20],
|
||||
],
|
||||
's' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
't' => [
|
||||
[0xc2,0x20,0x20],
|
||||
[0xc5,0xc4,0x20],
|
||||
[0xc1,0xc4,0xd9],
|
||||
],
|
||||
'u' => [
|
||||
[0xda,0x20,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'v' => [
|
||||
[0xda,0x20,0xbf],
|
||||
[0xb3,0x20,0xb3],
|
||||
[0x20,0x56,0x20],
|
||||
],
|
||||
'w' => [
|
||||
[0xda,0x20,0x20,0xbf],
|
||||
[0xb3,0xb3,0x20,0xb3],
|
||||
[0xc0,0xc1,0xc4,0xd9],
|
||||
],
|
||||
'x' => [
|
||||
[0xda,0x20,0xbf],
|
||||
[0x20,0x58,0x20],
|
||||
[0xc0,0x20,0xd9],
|
||||
],
|
||||
'y' => [
|
||||
[0xda,0x20,0xbf],
|
||||
[0xc0,0xc4,0xb4],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'z' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xda,0x2f,0xd9],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'1' => [
|
||||
[0xda,0xbf,0x20],
|
||||
[0x20,0xb3,0x20],
|
||||
[0xc4,0xc1,0xc4],
|
||||
],
|
||||
'2' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xda,0xc4,0xd9],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'3' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0x20,0xc4,0xb4],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'4' => [
|
||||
[0xda,0x20,0xbf],
|
||||
[0xc0,0xc4,0xb4],
|
||||
[0x20,0x20,0xd9],
|
||||
],
|
||||
'5' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'6' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc3,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'7' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0x20,0xda,0xd9],
|
||||
[0x20,0xc1,0x20],
|
||||
],
|
||||
'8' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc3,0xc4,0xb4],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'9' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xc0,0xc4,0xb4],
|
||||
[0x20,0x20,0xd9],
|
||||
],
|
||||
'0' => [
|
||||
[0xda,0xc4,0xbf],
|
||||
[0xb3,0x2f,0xb3],
|
||||
[0xc0,0xc4,0xd9],
|
||||
],
|
||||
'#' => [
|
||||
[0x5f,0x7c,0x7c,0x5f],
|
||||
[0xc4,0xb3,0xb3,0xc4],
|
||||
[0x20,0x20,0x20,0x20],
|
||||
],
|
||||
'!' => [
|
||||
[0xb3],
|
||||
[0xb3],
|
||||
[0xfe],
|
||||
],
|
||||
];
|
||||
}
|
Reference in New Issue
Block a user