mirror of
https://github.com/sayyadirfanali/Myna.git
synced 2026-01-11 14:30:26 +01:00
54 lines
1.5 KiB
Perl
Executable File
54 lines
1.5 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use warnings;
|
|
|
|
my $symbols = [
|
|
{ "pos" => 200, "sym" => "->" },
|
|
{ "pos" => 400, "sym" => "=>" },
|
|
{ "pos" => 600, "sym" => "~>" },
|
|
{ "pos" => 800, "sym" => "<>" },
|
|
{ "pos" => 1000, "sym" => "=~" },
|
|
{ "pos" => 1200, "sym" => "<\$>" },
|
|
{ "pos" => 1400, "sym" => "<*>" },
|
|
{ "pos" => 1600, "sym" => ">>=" },
|
|
];
|
|
|
|
my $fonts = [
|
|
{ "pos" => 100, "name" => "Cascadia-Mono-Regular" },
|
|
{ "pos" => 200, "name" => "Source-Code-Pro-Regular" },
|
|
{ "pos" => 300, "name" => "Dejavu-Sans-Mono" },
|
|
{ "pos" => 400, "name" => "JetBrains-Mono-Regular" },
|
|
{ "pos" => 500, "name" => "Iosevka" },
|
|
{ "pos" => 600, "name" => "Ubuntu-Mono" },
|
|
{ "pos" => 700, "name" => "Fira-Mono-Regular" },
|
|
{ "pos" => 800, "name" => "Liberation-Mono" },
|
|
{ "pos" => 900, "name" => "Roboto-Mono-Regular" }
|
|
];
|
|
|
|
sub f {
|
|
my ($x, $s, $c, $a) = @_;
|
|
return join(" ",
|
|
"-pointsize 64",
|
|
"-fill " . $c . " ",
|
|
(map { "-font \"$_->{name}\" -annotate +$x+$_->{pos} \"$s\"" } $fonts->@*),
|
|
"-fill " . $a . " -font \"Myna-Regular\" -annotate +@{[$x + 10]}+1000 \"$s\"",
|
|
);
|
|
}
|
|
|
|
system (join(" ",
|
|
"magick",
|
|
"-size 2000x1200 xc:black",
|
|
"-gravity northwest",
|
|
join (' ', map { f($_->{pos}, $_->{sym}, "white", "cyan") } $symbols->@*),
|
|
quotemeta($ARGV[0])
|
|
));
|
|
|
|
system (join(" ",
|
|
"magick",
|
|
"-size 2000x1200 xc:white",
|
|
"-gravity northwest",
|
|
join (' ', map { f($_->{pos}, $_->{sym}, "black", "crimson") } $symbols->@*),
|
|
quotemeta($ARGV[1])
|
|
));
|