13 lines
780 B
Plaintext
13 lines
780 B
Plaintext
FractalChars[rasterSize_,font_,char_String/;1==StringLength[char]]:=
|
|
ReplaceAll[ImageData[ImageCrop[Binarize[Rasterize[Style[char,FontFamily->font],RasterSize->rasterSize]]]],{1->" ",0->char}];
|
|
FractalChars[rasterSize_,font_,word_String]:=FractalChars[rasterSize,font,#]&/@Characters[word];
|
|
|
|
(*And here's the convenience function that ultimately calls DataGrid.*)
|
|
BannerGrid[finalSpacings_,finalBorderWidths_,finalOptions_,charGridder_Function,rasterSize_,text_String]:=
|
|
With[
|
|
{charData=FractalChars[rasterSize,"Courier",text]},
|
|
DataGrid[{1,StringLength@text},finalSpacings,finalBorderWidths,finalOptions,charGridder/@List/@charData]];
|
|
|
|
(*An example banner.*)
|
|
BannerGrid[{0,5},{{1,1},{0,0}},<|"border"->"X"|>,DataGrid[{1,1},{0,0},{{1,1},{0,0}},<||>,#]&,20,"1969"]//AsString
|