Implementation
List<Pixel> characterPixels(String target){
if(target.isEmpty) return [Pixel.empty()];
bool hasLetter = target.contains(RegExp(r'[a-zA-Z]'));
return target.split('').map<Pixel>((char){
return switch(char){
'0'=>hasLetter ? Slim8Number0.pixel : DT16Number0.pixel,
'1'=>hasLetter ? Slim8Number1.pixel : DT16Number1.pixel,
'2'=>hasLetter ? Slim8Number2.pixel : DT16Number2.pixel,
'3'=>hasLetter ? Slim8Number3.pixel : DT16Number3.pixel,
'4'=>hasLetter ? Slim8Number4.pixel : DT16Number4.pixel,
'5'=>hasLetter ? Slim8Number5.pixel : DT16Number5.pixel,
'6'=>hasLetter ? Slim8Number6.pixel : DT16Number6.pixel,
'7'=>hasLetter ? Slim8Number7.pixel : DT16Number7.pixel,
'8'=>hasLetter ? Slim8Number8.pixel : DT16Number8.pixel,
'9'=>hasLetter ? Slim8Number9.pixel : DT16Number9.pixel,
// '6'=>SlimNumber6.pixel,'7'=>SlimNumber7.pixel,'8'=>SlimNumber8.pixel,'9'=>SlimNumber9.pixel,
'K'=>K16.pixel,'U'=>U16.pixel,'I'=>I12.pixel, 'A'=>A12.pixel, 'P'=>P16.pixel, 'R'=>R16.pixel,
'O'=>O16.pixel, 'D'=>D16.pixel, 'B'=>B14.pixel, 'S'=>S16.pixel, 'G'=>G16.pixel, 'E'=>E16.pixel, 'V'=>V16.pixel, 'Y'=> Y16.pixel, 'J'=>J14.pixel, 'Q'=>Q16.pixel,
'a'=>a14.pixel, 'o'=>o12.pixel, 'b'=>b12.pixel, 'd'=>d12.pixel, 'm'=>m14.pixel, 'r'=>r6.pixel, 'y'=>y12.pixel, 'j'=>j10.pixel, 'q'=>q12.pixel,
'e'=>e12.pixel, 'u'=>u12.pixel, 't'=>t10.pixel, 'c'=>c12.pixel, 'h'=>h12.pixel, 'p'=>p12.pixel, 'v'=>v10.pixel,
'i'=>i6.pixel, 'x'=>x12.pixel, 'l'=>l6.pixel, 's'=>s12.pixel, 'k'=>k12.pixel, 'w' => w14.pixel,
'Z'=>Z16.pixel, 'z'=>z10.pixel, 'X' => X16.pixel, 'W' => W16.pixel,
'L'=>L10.pixel, 'C'=>C16.pixel, 'n'=>n12.pixel, 'g'=>g10.pixel, 'f'=>f10.pixel, 'F'=>F16.pixel, 'H'=>H16.pixel,'T'=>T16.pixel, 'M'=>M16.pixel, 'N'=>N16.pixel,
':'=>hasLetter ? Colon6.pixel : DT16Colon.pixel,
','=>hasLetter ? Comma6.pixel : DT16Comma.pixel,
'.'=>hasLetter ? Dot6.pixel : DT16Dot.pixel,
'-'=>hasLetter ? Hyphen6.pixel : DT16Hyphen.pixel, '—'=>Dash6.pixel, '_'=>Underline6.pixel,
'('=>OpenParenthesis6.pixel, '['=>OpenBracket6.pixel, '{'=>OpenCurlyBracket6.pixel,
')'=>CloseParenthesis6.pixel, ']'=>CloseBracket6.pixel, '}'=>CloseCurlyBracket6.pixel,
' '=>Blank6.pixel,
//// 上标数字
'⁰'=>Sup6Number0.pixel, '¹'=>Sup6Number1.pixel, '²'=>Sup6Number2.pixel, '³'=>Sup6Number3.pixel,
'⁴'=>Sup6Number4.pixel, '⁵'=>Sup6Number5.pixel, '⁶'=>Sup6Number6.pixel, '⁷'=>Sup6Number7.pixel,
'⁸'=>Sup6Number8.pixel, '⁹'=>Sup6Number9.pixel,
//// 下标数字
'₀'=>Sub6Number0.pixel, '₁'=>Sub6Number1.pixel, '₂'=>Sub6Number2.pixel, '₃'=>Sub6Number3.pixel,
'₄'=>Sub6Number4.pixel, '₅'=>Sub6Number5.pixel, '₆'=>Sub6Number6.pixel, '₇'=>Sub6Number7.pixel,
'₈'=>Sub6Number8.pixel, '₉'=>Sub6Number9.pixel,
_=>Unknown16.pixel
};
}).toList();
}