From c3564ef7d2122acaf3558c968a66033737237f79 Mon Sep 17 00:00:00 2001 From: Fisch Date: Sun, 25 Feb 2024 14:01:53 +0100 Subject: [PATCH] font to nodered --- fontconverter/fontconverter.py | 69 ++++++++++++++----- imagegenerator/chicken.png | Bin 0 -> 5577 bytes imagegenerator/egg.xcf | Bin 0 -> 3388 bytes imagegenerator/egg_c.png | Bin 0 -> 669 bytes imagegenerator/egg_c.txt | 78 ++++++++++++++++++++++ imagegenerator/egg_l.png | Bin 0 -> 668 bytes imagegenerator/egg_l.txt | 78 ++++++++++++++++++++++ imagegenerator/egg_r.png | Bin 0 -> 667 bytes imagegenerator/egg_r.txt | 78 ++++++++++++++++++++++ imagegenerator/numbers/generatenumbers.sh | 2 +- 10 files changed, 286 insertions(+), 19 deletions(-) create mode 100644 imagegenerator/chicken.png create mode 100644 imagegenerator/egg.xcf create mode 100644 imagegenerator/egg_c.png create mode 100644 imagegenerator/egg_c.txt create mode 100644 imagegenerator/egg_l.png create mode 100644 imagegenerator/egg_l.txt create mode 100644 imagegenerator/egg_r.png create mode 100644 imagegenerator/egg_r.txt diff --git a/fontconverter/fontconverter.py b/fontconverter/fontconverter.py index d012657..dc3d77e 100644 --- a/fontconverter/fontconverter.py +++ b/fontconverter/fontconverter.py @@ -7,22 +7,46 @@ done = False persistance=False fps=10 +color_checkerboardA=(250,250,250) +color_checkerboardB=(200,200,200) +color_bg=(255,255,255) +color_text=(0,0,0) -pixelsize=8 +exportImages=True +exportImageFolder="imageexport/" + +pixelsize=32 + + +if exportImages: + pixelsize=1 + color_checkerboardA=(0,0,0) + color_checkerboardB=(0,0,0) + color_bg=(0,0,0) + color_text=(255,255,255) #fontname="font_normal" #font = pygame.font.Font("Minecraftia-Regular.ttf", fontsize*pixelsize); #fontsize=8 #pixelsW=6 -#pixelsH=8 +#pixelsH=8KeyboardInterrupt + #offset=(0,0) -fontname="font_large" -fontsize=16 -pixelsW=9 -pixelsH=8*2 -offset=(0,8) -font = pygame.font.Font("Sweet16mono.ttf", fontsize*pixelsize); # https://github.com/kmar/Sweet16Font +#fontname="font_large" +#fontsize=16 +#pixelsW=9 +#pixelsH=8*2 +#offset=(0,1) +#font = pygame.font.Font("Sweet16mono.ttf", fontsize*pixelsize); # https://github.com/kmar/Sweet16Font + + +fontname="font_small" +fontsize=10 +pixelsW=3 +pixelsH=8 +offset=(0,2) +font = pygame.font.Font("pzim3x5.ttf", fontsize*pixelsize); # https://www.fonts4free.net/pixelzim-3x5-font.html @@ -33,6 +57,8 @@ ascii = asciioffset + + file = open("output.txt", "w") # write mode @@ -42,7 +68,7 @@ file.write("const uint8_t "+fontname+"_offset="+str(asciioffset)+";\n"); #file.write("uint8_t "+fontname+"["+str(asciiend-asciioffset+1)+"]["+str(pixelsW)+"];\n") file.write("const uint"+str(pixelsH)+"_t "+fontname+"["+str(asciiend-asciioffset+1)+"]["+str(pixelsW)+"]= {\n") -screen.fill((255, 255, 255)) +screen.fill(color_bg) screencleared=False @@ -56,17 +82,17 @@ while not done: if not screencleared or not persistance: screencleared=True - screen.fill((255, 255, 255)) + screen.fill(color_bg) for y in range(pixelsH): for x in range(pixelsW): - color=(250,250,250) + color=color_checkerboardA if (x+y)%2==0: - color=(200,200,200) + color=color_checkerboardA pygame.draw.rect(screen, color, pygame.Rect(pixelsize*x, pixelsize*y, pixelsize, pixelsize)) - text = font.render(chr(ascii), True, (0, 0, 0)) - screen.blit(text,(0+offset[0],-pixelsize*2+offset[1])) + text = font.render(chr(ascii), True, color_text) + screen.blit(text,(0+offset[0]*pixelsize,-pixelsize*2+offset[1]*pixelsize)) print("ascii="+str(ascii)+" char="+chr(ascii)) ''' @@ -85,7 +111,7 @@ while not done: string8="" for y in range(pixelsH): readcolor = screen.get_at(((int)(pixelsize*x+pixelsize/2),(int)(pixelsize*y+pixelsize/2))) - if (readcolor==(0,0,0)): + if (readcolor==color_text): int8number+=pow(2,y) string8+='1' else: @@ -105,12 +131,19 @@ while not done: + pygame.display.flip() + + if exportImages: + exportrect=pygame.Rect(0,0,pixelsW,pixelsH) + sub = screen.subsurface(exportrect) + pygame.image.save(sub, exportImageFolder+str(ascii)+".png") + + clock.tick(fps) + + ascii+=1 if (ascii>asciiend): done=True - - pygame.display.flip() - clock.tick(fps) file.write("};") file.close() diff --git a/imagegenerator/chicken.png b/imagegenerator/chicken.png new file mode 100644 index 0000000000000000000000000000000000000000..47df79ca65a2a02b73e2cf52181152317ae08a60 GIT binary patch literal 5577 zcmeHKdsq`!77uE9BdA3|MTY>2t9ggKN<;_&vJjwviV7>kWCA03IT=WhZb7IB+A8>L zEmg}ytpX}&7o=)i0c8aNS6#&i)E9~?tzxx^*1Z#u$JVv$_ig_(-B2slI zgc>m=g<@>Gx^>Bhd!Dx0?ThN>nB}gm#j8Hud+EDHzdnomSB&Tj+1cmB&W{h;`kkFA zbgX>d`?t^2TY~B)PxnXGv=;W>oRAQ5uDh%;zjViqYh6eFQFdkOk2J|mouLo8?$HjN zEV!Uwyt?J!ui-?9Co+-F!2j|PpUnt%y?3+_U0L*8arr`a$*Bhwrx?v!q%2qFKg$o_ z;!NzO9*wzXb<#oR9nieMeMaNvvPrd-c9OJPT*p=7ox3}XbGNWn*PHSyoi07lluX%b zNWI1>k2{ceJ4?TO9cF%Qlt)NL3FfltzH{Tfi!t$!|hXMX3t^ieC5R0HplbVK7V|ysjfa@`Vab;P?z#X z=ZRa!l~vOUZOSvM8@IQdS1!pHH9>-Rjz&<;Z-j22jCLJrN-MFRAlA;Q;w(&w+!dE! zb>zD%>ot2St8Q+KboZ5(3vzl7t-4)}O|M|@WzJpON6Ay-Tr9Jlm8-HYZHbjy5e+oHV11YUoon6a z&3qw-*2V)?Ca zYn+ybWmxW!nQgntj!T`MH~0E^Xf>|;ZnZ;v-cHw5Q)8z(PAsZ@;C$wKZE&6^^-r=2 z(a)2)d-p6mTObf-H4{O5P8QE9DOjGEef#69&a-iPOw0q1P0_`PGLMDDVLyAFi!NCv z_u^~LaNot(%C~)e?qR@`2&`wx#p^RZ*I=hzzPb?mMEvMtNm7`2$GODK_w5d+;mu#Q z7S>PL#BsV=Y<}?6mznjQ?zT#(e*3%_b2E3Yy>dZA+O(V2d+R$47W2nBEyy<8-3pm! ze&{y#i_nxwxP7(r{^`qaq~Xe)eRkld#_h@G%cGakn*E3g4trY~cP?K2@ICpn%Yj;Sxa%*boi$r^f z9x4y`tR0{7S!Zi+O6OKd<@44_S=lqN4NA7pp_wyK|(kn0g(o@QA zj{RY4Ps20wr(d3VR?7XUFWX0a+oxNZ5qBh=UPYmpeS}FQ;WCNjWj=x|Eck1_IOxQ@ zsdY;urLAi+U81J4qh{I^7Osn^qegqGS1oV}p+C=@VJBO&wy0yV?kD76SI70zeOdb; z%MUXI?+Iod3CevDY)y;z7IdGiNn2lI$Oxa!IweH6P}@FX{@6q;4rS&Nv* z=KYd?ui~_}pl7U&Hz%=pd{3=!JgfbC+@><~%kg33R=+#H=mXdL72l_>tz5kKK)txv zX7nPpM?>+$lZl;S=6ZcXXvaBymhe0=0& z&3jAI`ksUo9iLuoz-uOns`pSR_5~QIkJ0iF5u#PoVTCpxr5n{cP(LXYZy%!$Mv_nh ziboSLjhOml&2cJ(Da6!;UUH^fCqWajpcOb8xgsnob zjb3CFQ%$@g@Jx0ysE`RlB#Eif@^DC^#Zib$=hB%psS!(IQ|DSk-nc?3itrB@pa3l~ zHIX26A_l`?FwhMgx)x7hu!KS(gUM#F*))Kl=~FcXY@})QZX`uNhd-)Ea7;&FS`9>U z!tvT1{5xIGw^%LlDB z`T-Szo(vvVmPq+#ulv-R3(hJilv75=I!tk*8Whg?tp66BIL8b^$?eqkmD*K&9{RhswKVXA^ ztrkxm=06f$-rwpkNh-`F6$F{efCxtV<=4Y0sKT@bK*#=l8` zN8=GbA7lWkdp>-pchx z3cL~cZFK$LdP+nIp8vG9v>X&Z@QLKdL=dK;K@oCv`9~((A~(d znX$wt1$0^vGP%^^&M0Ra_nE?y6B9v~Ga-#8Bw96ji=qs?twRQkNQB5&`-LmVP68lI z=IfBekB@oOS{wY2e}buLhTQhH$%zp#OpDUaI literal 0 HcmV?d00001 diff --git a/imagegenerator/egg.xcf b/imagegenerator/egg.xcf new file mode 100644 index 0000000000000000000000000000000000000000..81e555865f83a95f23df953a026c2d63f185e0c9 GIT binary patch literal 3388 zcmeHKOK;Oa5Z<`XqfP=PP!5R0LP1K9f@1noxNxWtpsK)MNE64kl-QBuLVGGVB<}Dh z;J}$5zy&UFMR4bFKth5GlKIBFTh=0|QIXmrWuozXJ2Si9o&B=exL$w2x7uBPuVLE^ zvI?Cc0C@sE0nKFaI0-GRJdVGR0-u7K&^+|C#0Kmv^c%G7V(5B1==U8zLYvVbm6gzG zMNWs`_o5Acs%9JJb=?{d3=)^@5T8}&`!i@4{vH=H5$2)f;&6Y(Tp!vdz0 zY0jEt9*KtWL)h#`VGAFGExr{t^;ET|wP%}rF4>SA8dT>PdXDh52Y6yHpya3IX^COj zc@3Y{u%%(H;i8618ZK-2I553W3GF$(o5sH=F$}vvIEKK^X;^WE`eGRJr- zV#enYIdB=TWc;0q@1SQ&*>kp|De`EpY8~o*)V*@k^CKs8!%e?aUkwJHL*BhAPdNuw z`3k)Zvfs+nS~M|67$>P|AE<4BA_zKWPDD_@q`S=o>%t6#)Ovcat!T2$c8`|^# zh4l1g(Iod>YbZiX(&x{JSV2FRRSrV=t1|vljdABtNWY+wzQ!hVAkx>yJ?2Xq>1iA3 zxHh;XEDm^pmp8 zayaNGa}aeH0-NkiTnlT+YO)q literal 0 HcmV?d00001 diff --git a/imagegenerator/egg_c.png b/imagegenerator/egg_c.png new file mode 100644 index 0000000000000000000000000000000000000000..a60eaaf7ff7543547d9159eac19cd1856f6a4a2f GIT binary patch literal 669 zcmV;O0%HA%P)000mO1^@s6UI&8S0004mX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ$^8=f*n*GGE^rEqN0vc#UfZJZG~1HOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4P#J2)x2NQwVT3N2zhIPS;0dyl(!fKV$j)odFFRLwFH z(TJGNtco445HN^t^kGI~rXEW!rrU6^NipZjz4C|Q#MK9P8i>4rtTK|H-_ z>74h8gRCGa#OK6g23?T&k?XR{Z=CZE3p_Juq!RPQL1HoA!g336_Voz|AXJ%nz_jdHz^PS+Fxw@V+82f1?pAX{yw(t`U&8F2ClTGzgz=mKS{4P zwa^jJyA51iH#K<=xZD8-o^;8O9LY~p$mM|dGy0|s(0>bbt+~B5_Hp_Eq^PUq8{ps& z7|m1my2raaTYLNWOryUaq<3<=sm)X600006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=mHrGB{kMam6`wm02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004DKL_t(o!|j-{5`ZuWLle&b|7Dz2+cn~a@$kJlDT z012m+Ltzt{_j-{utO`^GX0<+0Y@8F$0|j;Y?fjD z6qaK1X|oJ#16W^PIHj>?%&ZPDwfT@3{-SvTrgr(C&kZ#p0dpPw00000NkvXXu0mjf DYFHQ2 literal 0 HcmV?d00001 diff --git a/imagegenerator/egg_c.txt b/imagegenerator/egg_c.txt new file mode 100644 index 0000000..a035ce7 --- /dev/null +++ b/imagegenerator/egg_c.txt @@ -0,0 +1,78 @@ +msg.payload="\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000111111000\ +0000011000000100\ +0001100000000010\ +0010000111000001\ +0100011000000001\ +0100100000000001\ +0100000000000001\ +0100000000000001\ +0100000000000001\ +0010000000000001\ +0001100000000010\ +0000011000000100\ +0000000111111000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +"; +return msg; \ No newline at end of file diff --git a/imagegenerator/egg_l.png b/imagegenerator/egg_l.png new file mode 100644 index 0000000000000000000000000000000000000000..660fa901db26238a9b71085176325691f3eefdd6 GIT binary patch literal 668 zcmV;N0%QG&P)000mO1^@s6UI&8S0004mX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ$^8=f*n*GGE^rEqN0vc#UfZJZG~1HOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4P#J2)x2NQwVT3N2zhIPS;0dyl(!fKV$j)odFFRLwFH z(TJGNtco445HN^t^kGI~rXEW!rrU6^NipZjz4C|Q#MK9P8i>4rtTK|H-_ z>74h8gRCGa#OK6g23?T&k?XR{Z=CZE3p_Juq!RPQL1HoA!g336_Voz|AXJ%nz_jdHz^PS+Fxw@V+82f1?pAX{yw(t`U&8F2ClTGzgz=mKS{4P zwa^jJyA51iH#K<=xZD8-o^;8O9LY~p$mM|dGy0|s(0>bbt+~B5_Hp_Eq^PUq8{ps& z7|m1my2raaTYLNWOryUaq<3<=sm)X600006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=mHrGCJsz)FMR+202y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{004AJL_t(o!|j+c4!|%70}bl`zf7l2B_f?{rS_N!T`mF= z01D1lE_MM`@4Jc!!|FhFU{>esq#CHltj@UK!kV6000mO1^@s6UI&8S0004mX+uL$Nkc;* zaB^>EX>4Tx04R}tkv&MmKpe$iQ$^8=f*n*GGE^rEqN0vc#UfZJZG~1HOfLO`CJjl7 zi=*ILaPVWX>fqw6tAnc`2!4P#J2)x2NQwVT3N2zhIPS;0dyl(!fKV$j)odFFRLwFH z(TJGNtco445HN^t^kGI~rXEW!rrU6^NipZjz4C|Q#MK9P8i>4rtTK|H-_ z>74h8gRCGa#OK6g23?T&k?XR{Z=CZE3p_Juq!RPQL1HoA!g336_Voz|AXJ%nz_jdHz^PS+Fxw@V+82f1?pAX{yw(t`U&8F2ClTGzgz=mKS{4P zwa^jJyA51iH#K<=xZD8-o^;8O9LY~p$mM|dGy0|s(0>bbt+~B5_Hp_Eq^PUq8{ps& z7|m1my2raaTYLNWOryUaq<3<=sm)X600006VoOIv0RI600RN!9r;`8x010qNS#tmY zE+YT{E+YYWr9XB6000McNliru=mHrGCId3xQ@{WK02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{0047IL_t(o!|j+c4!|G`#4b_)|K)V*)F9}DRqjS6WZI)pj0_)2QM;UwYW|8K@(B?0inO&sI{|1JeG9i;XWS9T|002ovPDHLkV1lEi B88rX^ literal 0 HcmV?d00001 diff --git a/imagegenerator/egg_r.txt b/imagegenerator/egg_r.txt new file mode 100644 index 0000000..a3e1ad2 --- /dev/null +++ b/imagegenerator/egg_r.txt @@ -0,0 +1,78 @@ +msg.payload="\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000111111000\ +0000011000000110\ +0001100000000001\ +0010000111000001\ +0100011000000001\ +0100100000000001\ +0100000000000001\ +0100000000000001\ +0100000000000001\ +0010000000000001\ +0001100000000010\ +0000011000000100\ +0000000111111000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +0000000000000000\ +"; +return msg; \ No newline at end of file diff --git a/imagegenerator/numbers/generatenumbers.sh b/imagegenerator/numbers/generatenumbers.sh index f72faf3..7491c26 100644 --- a/imagegenerator/numbers/generatenumbers.sh +++ b/imagegenerator/numbers/generatenumbers.sh @@ -5,6 +5,6 @@ while [ $i -ne 10 ] do echo "$i" - python ../generate.py retrostyle_isolated/$i.png -f nodered -o $i.txt + python ../generate.py pzim3x5/$i.png -f nodered -o $i.txt i=$(($i+1)) done