From 05e7306bf9218c7835334eea543e61b0dfbacd9b Mon Sep 17 00:00:00 2001 From: Sven Peter Date: Fri, 12 Feb 2021 22:27:39 +0100 Subject: [PATCH] fb console: add Source Code Pro font This font is licensed under the OFL-1.1 License and copyright: Copyright 2010-2019 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. Signed-off-by: Sven Peter --- 3rdparty_licenses/LICENSE.OFL-1.1 | 93 ++++++++++++++++++++++++++++++ Makefile | 6 +- README.md | 5 ++ font/README.md | 3 + font/SourceCodePro-Bold.ttf | Bin 0 -> 138268 bytes font/font.bin | Bin 0 -> 12160 bytes font/font_retina.bin | Bin 0 -> 48640 bytes font/makefont.sh | 27 +++++++++ src/fb.c | 3 + 9 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 3rdparty_licenses/LICENSE.OFL-1.1 create mode 100644 font/README.md create mode 100644 font/SourceCodePro-Bold.ttf create mode 100644 font/font.bin create mode 100644 font/font_retina.bin create mode 100755 font/makefont.sh diff --git a/3rdparty_licenses/LICENSE.OFL-1.1 b/3rdparty_licenses/LICENSE.OFL-1.1 new file mode 100644 index 00000000..9efccbc0 --- /dev/null +++ b/3rdparty_licenses/LICENSE.OFL-1.1 @@ -0,0 +1,93 @@ +Copyright 2010-2019 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. + +This Font Software is licensed under the SIL Open Font License, Version 1.1. + +This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/Makefile b/Makefile index c3a17b6e..102c9156 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,7 @@ OBJECTS := \ chickens.o \ dart.o \ exception.o exception_asm.o \ - fb.o \ + fb.o font.o font_retina.o \ heapblock.o \ kboot.o \ main.o \ @@ -122,6 +122,10 @@ build/%.o: build/%.bin @echo " BIN $@" @$(OBJCOPY) -I binary -B aarch64 -O elf64-littleaarch64 $< $@ +build/%.bin: font/%.bin + @echo " CP $@" + @cp $< $@ + build/main.o: build/build_tag.h src/main.c -include $(DEPDIR)/* diff --git a/README.md b/README.md index df6c4eb3..362974b8 100644 --- a/README.md +++ b/README.md @@ -102,3 +102,8 @@ the public domain ([CC0](3rdparty_licenses/LICENSE.CC0)). m1n1 embeds portions of [PDCLib](https://github.com/DevSolar/pdclib), which is in the public domain ([CC0](3rdparty_licenses/LICENSE.CC0)). +m1n1 embeds the [Source Code Pro](https://github.com/adobe-fonts/source-code-pro) font, which is +licensed under the [OFL-1.1](3rdparty_licenses/LICENSE.OFL-1.1) license and copyright: + +* Copyright 2010-2019 Adobe (http://www.adobe.com/), with Reserved Font Name 'Source'. All Rights Reserved. Source is a trademark of Adobe in the United States and/or other countries. +* This Font Software is licensed under the SIL Open Font License, Version 1.1. diff --git a/font/README.md b/font/README.md new file mode 100644 index 00000000..a16e403b --- /dev/null +++ b/font/README.md @@ -0,0 +1,3 @@ +These fonts have been generated with + makefont.sh 8 16 12 SourceCodePro-Bold.ttf font.bin + makefont.sh 16 32 25 SourceCodePro-Bold.ttf font_retina.bin diff --git a/font/SourceCodePro-Bold.ttf b/font/SourceCodePro-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dd00982d4952a7f6b7725fafc1e648128fb250ef GIT binary patch literal 138268 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 literal 0 HcmV?d00001 diff --git a/font/font.bin b/font/font.bin new file mode 100644 index 0000000000000000000000000000000000000000..17f83385e8ca6d2f1efd50ffc716d716bb6246da GIT binary patch literal 12160 zcmd5?X+TuRvaUe{K~W4UC`5&TVk8NAxlfH6NpO4DB}On21HtPS!ZlH^n&1*4Ch_VM z5fmdDqDCaH7!ehWs2Ehl6@?(8xZtoUFbcymGYoaB`V8;IEedDy-ur&^cTRVos_t{T ztEy`T;Qu?kaIP3)fBc8w9_TCB28RnaDSAV&#Rr`PFU5m`y{ke5%PSNO*di1A0#w(* zDRc$MxduNqSOWaKA3_R9_NXz?ce*?sfBf{efXT7kH%PSfN&hNvP=sD@u zxiJtE^Lg6F6#zZ2+#GBng!OZ}P%sh{5ov3;2VRCHw>queHtjNW>IE)2rDK|^?#ccm zOH1D6+H3K&d;DxkHT^}t=?fB`Dtu^igJ3+@28r0_eg=%8)H`f0b zm1q7`VplJC)r;8ZFpF{#GTWdhvuQi@GF5;pn*;QNRvv@#V~>}p!O+fq{#Rl3k+aYj zjYXz>F{KvmMa8sgG8+KX)RGGcigY^D?IVx_uH%t`#O_@1!i^6bm+vLJ2wJw_- zLE7C}XYW~p3kJaeoCw2la>8g_0K;&0(G2_oobXc^j1vG-m7kp}X$9bzs>vSMWNlAA zFfgK07@8O*3I_N?HVq8K8-aak7cdq-DX)n&EtV+je(ee1R2)9H`XW6{PA5?>EL@w? z^DN9{kB0m&w2adS5Lq6=WAlUi!f2s?CU=kpi_pBP^W;cdB`%v?sIekhX0AEK{7Da> ziuFRz3Ax2&V7ma!qxV0cCTjj|y(_ehD%EC<<969d#uS#}+fdDHU9zQsd85j%n0R2r zJnPcb*5vmX2f)SC)3f5jYy1F|i08y*^NZ~)m)6t4is0a2vfXKyBw3lY)we#U%hCSt zWFUD4>hc**f?lQJUnn)*piOwO=F+g{tNrgM%_EdmJ1M@|px>}0r9D{dg!hL*xZ`SF zoEf}>*G7flbm)%DpbLHtkWex8M0>Z-rP*hwd$Y7xs-|bbbSZn-Pqp-tZ=SQ7siO#BtoGrp zYjCHv_dZ4FUF-J_S;KZLtZan+{h#F|r+vsP! zQY63gC;H#swC@1Smul$y!&|uz_#if?AjU z$G8Wo2oq?TdBC|({v>!$Wd*jek+5Q~Lq=|4GqqG9FkZrO#&>tOtSX%wbc zc3PY8z`7)9>n^op{cYMbYZNiaZWk2A#rQIDe_TW%2*9$2jupwo**7{IA;0J-?4%FO z#sxzs<5oCY-wqU|Wn$q{uV%vmvA*EDmf(Qt0f#B@a==|}R_Q&632TA)$eW8O4syU9 zV2(+|=^t&we~I?{>nT`}ixvxS)up)utjDvfbBBYy{)#D(SsjDl2+8B{Tft74Wy-M$ z#Nqky8(-3HU0zss>ObUa=lHtn*qd~$!ILY>Yg~zA$Of+#+!2!n+u|X?6LBT+$(5>V zXJV{Ql@_MFF(~;(j|5Pv$OAeOE4z2MBavLs0ip8VxN(D-Z&N`K{pfv(=K`fVIb{m# zp9heFi-UvdeWq|QLP)_^o!P;1yIQcX5BtggX_xv@l`OQ4zE{271{BBfP;|aM#oh-g z1Oy1eAX5j2cJL{FLa#ak-p2UWV~I`9U_u0E3SQb=UY$seQzi!Ca`3^~6z@FFr@q-E z>iPXVtzGIbQ@z+nh~vO2coQBDb|G;i4N?8mxv`(vpY)t;Y~lIQdKx)z-brRc)YI6> z1h!#Muq`_gSzAbEXYQT4i?na#!kzZp$Mo)rUDWBO#9Pj)=s4((HF$!AyCW7M`CWIs z(zWIsa|}eHkKitKxw7paB%@@uU!0c&2M+;yj<8(r^ywV67ZzbCjMl4Kq}CJbt`Due zPK-YtJ5tCTh_lqpuU&Q2F}nhAKLg7hfCpyMiVFk}!~qg3V@HVl@9V}3o^v%u@S<6F z1uwR)mKc5@mW@8AYjY?8*|wx+ty1R(e)tvH{%}}|W9Ynb5Wd2(U{B|+Nw^folKr(R z=6-Zea8Iwz87o^m*dgj~ZL}cHn6jPDH+JObEHROIpZ!eo1JsUqz7uik@Yl&NaXX`t zWsl&g^It{tA1mg+M9hCb_~Js!NrZuAiE2@<){W+W4$DN|(mYSId=d|%TVhpClZQjb zwf@E`Q}SmgrY2I3gZ*C*{GK?@;T!V%)Q)(jEphS!`Yhb8IH#5TTd{Tdm?pw5t6u;TnYCI9zk=7x)O*UCTK8J^APJD{FsSOtwJVuSV++idtQ( zb4YerCZ^DwN8mazxm?@%mnu5(4a0pH!a@&YDSL(%Sy;j6?CH3QmLIe(&M`Tu>q&NL zA`BrrAs1_L6xh_AhOXNEFqeN(*i>(ymq}84=u_|mmc9$~#8GPuSw_a=>r+%Vzo_R8 zPOeT2~8M^2%VyGecwExiJq7hP*UwNhwbasY#N?#yoaY^g}{f&3Wm8 zFj>5}q~g~mDQ@g+AIfHy4xD(H$*eR+B-$rwUdrRdTiPC2SZ;)K9?Sj{U~0`Ur(MBV z4AvrVLiX{Qcwek)coTP!J16{IOS_IC|1crRkyp;SpuRJcL@Zc3<2d%A?VhI6<5aNM zC3T-fHrfr31!WV%Dpl4zW|?rtEkc4bZZ`0#Ox0QwaK`eGljLu>eIVIK=6A?eI%7fb zB?`!$@w@BgbZj&_tk;!1Jlq4|IBuQ0)0*-gM}&%3@E1u{25y>vgnX85oJy70%P8t+ z8ZyiOU><*`>?m>9x{`%wiKo!nnA-#BS7~M^-Q5Mh5ktV;qDW?AqepU0$x`|m=I*uW ztH}Y3Kz)5ZWxPgUtecx#N3c-VES$214#=)a>hismx0em`n2OpolH!l?Qzw9_*hiB= z;jaVp(%>_?_z?Kx=jz4UII8-ivSd5f75VX6Jof;U>FBWxc@Nlj}d>cukT8t?#rE$Da3b zegPHF>N0$W@au{?`dbAfXceUv#qWAF4O2hAbd;vE<2n2+`OmADtA7tt+SBICPs(qS zrlEzJE6s_<>~N15=kGZT|4!$tJ#+bwQFd6|aGHA1IV^{cgv6)Kvr0N}JM`D@e%>6P z+a5@(Xb|=4Ir*SqO87s6mm#O&$X{U6KY3r6?NFEdh#F%SQTfLUR#wcS984s}7hfgr zjuX!-pUKA5&9aj)k63q4haWXjhsEU1r|0^-H-!72)9l)g@Q(OkU&uQ*YldJrR=RN5x7EI^B$9XX2 z0TxnyH@vm1g3pPo)!9MJM#da6vTf_OK_}f-_>l7e`yZI?E21>3H@;UBM#{{}bMOsT z8iiMkteeH%&V&vv!_ekX<;ysIR~f9rsbw3|Pr)?Yw>RVV4-~dnOs~>>4($=0%aIa? zMuw9*-6VwNeuDEK#*=WxF?`7X^Rm2wwR@U0}RryryRg^BWve0gEv@KZ3lDu z^NBBd(m9~PIq@o~v91i$(6$5!)77+RepQOtrybMruLic7Ja4X*jWfLdDGxTnZ#Cvx zlQ{dra%UpT3tA3S6!Cb-&(Do=MU2I=)zKe|_En0VVZ-kOc7nofyfJ^XQrgjopw9J*erxTzlg6o=OB7@LCKo5lhQsE z2~zmO_)4#2YFYUse+PKU@Sd#rD-oQ~pJ~^lc#9~KL}(*Ii=rr_ ztQm|kjite0m>FjK&369ZbC>72zj+mJ|F^`<`F!TN_j~WT_xIfWoOADeMuuzKNTgF z>V^G7{cYSTfsVJZ0(Ro}cUU+TIMu@IfWNYE*oM^gH7tBZd)GxqMz#&k~kW^>qH|w_es1Sz6zoup5IFRHc<*ZXNlgD_*tT@@N6R*E-^aS z5_pyp-6e4YqKWWKBC0QOP#*P#r!VCNNnH5&yK5jImnw>m?ue;P=|T*m<>ozZ@GhHe#Mlx)5qI(q*ViAoI;v_XUcoX#zMY#`a zipShmmy3Mm(gKR|D%>CAG7m*l@(b6S6nC6bO|V2w>ERyJB5z8L*NJi`-ZStE+Fx4Y zl|-@ZxvjQ@Vh-5fS3_L}G|S=ikq;M9(L(gjkQv6^VFIeoks*0^ngCJy$r$jc`A5iJ zRAdzbiZMgCoVoSj{F^9?vn&yhh(q7+!E+Ty*W{Fvj;Zb!^i&kXbBmk~Ag)?N2LhSd z&>z>25c%Uxy35e@8F@G}@+SG>p*$j|aOGrjDP*2 z)BevM@oa7-T1RFc9;s)9kU9dnfnJoaRp#f^TAx!~*xTeOi+~EdXpuNauZreGorJh5 zn)U_z6UKOLqTV9(S4s;PA{n#Q4Mgol{RHZVM9b+=*gQ%vB}BcKInze6hmB*eq8lSU zN1ipHV7cYrIgz=mzfJw0}kpC79{@JFfPhiBOl4cA-c39i~ifZKmZ! zgCP^lQwYNw1CwZPu)zUI$bH9ELJXTR<8B1L!N1mCh+=3G2%!-S>2!T@57F5`Q4yh^ z93@I@xlsxjcO$ZXlQeWuA`fJ?0l;CR9ZPsL2f4L@yDV6YWSsPT72(UnKkGC@5E{I3 zqVgVn4QZMqMb+11GtO=q5h5zTv>hF|Akb(Cf1|B}&O(*UwD7CI(=0q0c#?$&13zxz z{Q5$EeZbE{9TlM4#HY4be^; zm(Hc^;&#AKMEBSjOV=73m%{we!VY*0IR;n(zFUZ9SymTAXZ+E}!$;sq}y zXfwj=*B{9yd+>|)S(Mk+<`_hDs)8MWm4B{{t9vLX%no>mXo`)|A~81h$6Q<04v3Uf zz8mr(k=-2yGW4q6cgd(5Dh(EyhuqXcU=eC#;oxk_Eo0$sL_b+jtc5mWVJN$2mGCM9 z1CZMoEBZ~MJ%KJp_e{Okg`(B*tj-pMNOGGOyaK@l8t+xAH|TXQyola+@MEZ}HMClY zYvqhmkLdWqgLH7=aiY3ls<|=`s|i!y%9=7!owr#y%Xqtv$s&MF5Yg^<9EH(IG}1&@ zPovNMS5umqkv^rElA_cB`b0DIKUN>U2FDx`N9E+^XEG{uf3F5gl{3Qz%V)+~YMgAAXFPRD-mu(G{Xy&z=bWfo?YyAn3+JHMn*TD2) zlu0hK?{AD3yQOdZ1Jq4hz=1W)d%a&k)XnAhc|MO06mf9lD5A6*94IPh(XSR1V#1?^ zlZ~k!IsSR@gD!gfo5Y1~VGW=LT5QYM%Bs7jGOXU8a^*c(4nS;MP?R5+W`pKQOW#9^Jm- zu-?%*{AD$e(W{9LUn?5ILhw1`iaA7VsP96Q!%AaUXh(i<{jdo0hTroHxPC+#YayBD^GAu?z}EQ_%$K#S(_%Y8VSC9e-(BW$nlSL7ZArt@$Yb{8|PU zJh#sKIh1IM9X1=v6%4Kh!&>u)*f%IB=zEKw(`~qfI2g1MzYmA|NsxMd`F!ajFu#7m zqPlPFPfgxF+E~m+so_sCYF2xiYfc9JAgd*0D}7Ky)IxB|bCQY4597tWN;L zUWWmU9U$ZFwf7Jvf};`V&|RroSU2Pg)=tfRqgmP7&tcWdE{kX^BZhc+5e?9J6fIO5 zoPXcthttyz%)g0a3n=+*LzSeug&)o}illS@T?_97+myMDNl_w811+d(wV{KF)<{@#>PS-%!}P6L@2+BA>^1Jn=+X6e-@i` zSH63lsZG5Fcw;`?J|FImmS~8{H9Wkstek!r*>)`r!G5ugN8#YcGqYz5x=IJWp!4(S z<$*UB6^)P_eoxP6Sgh(;Oxb6OTKPci_BwNj4o2-bzU_6AYcX(b_{t|_z1pa3_zb{( zKET*X(3E#KGge-wVa8(&LG9m*O-fnbxaKAhRG) zv{bPnfYVRyO4prnT&Za5%~Gves|*^hpUg)+I)lApxhLnp(MQei12O#jry!7G>oW(s zhhCj2h9~4_5tH;t$%@>7++YvGWnJGF=MrCp+Y(qNgv`ks{zZ@%>yEzhT8DfEGf8LR zHx+zxN3IkS(r;(*SPM2#0}cRfHu6VE#Ll#&9|zewq2eqEPdU}A3XxkXe}vnkLdwda zA0GZQ5sTA?`s36mt9_cvouM2xE>*y6?=9SF9zHhY(n}BrTqJxT{;{rSs3G3ZviFF= z=rfMA0H&pAV8hGqKGr!c!t(W*1xq5k1s1*elzV1m384034bDVDvFZT$K4^qSMG@ zj&BWoKV0++nozFPBgt@w00(pXFrk5-V8*7uF*@@A1V3(HoapQ~YyRNUVF+w1v3fwv z(1$#NI3VPRInz<^_zU&QwciQ$e{n>mL!2EGuNGMU*GoY3j+yW8`ZV5i;?rAYY~kZ# zYT#1a-!Jv=UrZfc$vn-rq((M%3z&aDCI5a)eysLujP!+kT5ikSrnGoB(?9eT?*IN_ z_58`m0IzgKB3RsZ=(-*Dk$EV3q={1MSC3M~7qE*bbDUcr4o zur&F_8;gKRQ`{`2Pc9_+!V2L9YM?D@-cVcc=EwQ>`!A5)e?;fcFF$VZu}iLr_&>5K z4EVho@E-L-ycl5wBb8zr?XWdDHlSxsP^MGK&@39wzw3H8`@k32_Bz?hx8WAB?6!ud z@32&idN$7*YKKnte67f4I2D?N=D2Z)pcR7J;3z^ zbxw`xutcJD4|W=VmiEd~zk%o(=4_QK?~J!2dQT<%n%;nC0cB}R?{s;j?l67H(bqr! zNdm2hx<@n~$~!BSL>mMyUebf2b}Hqpc{Z7G6QZts90clE0%NH8-Edqx(^r&8VjRjB z6W+pUy%%F;`r>)WuMs8$%3IIzVh>xA+W(UIOZP@ACIio=?22$4!Vg$o0l{BT-T)^S zo@!?(Z+_#TvfX#;38#@U7<{AI%Far{?`6DS&q)?=ZM*9)<9Q?o#o6x^M$`c$y2c53 zMk?n|I~YCSLs*9mE|pE$H)7H?M{s)K#D?ElzAUH+2BCkWmT_xOk{?X5-FbiKG@A>Q zVW1*k*3)-JU{Juj6oJj|Wf_m@Jv%u$8B*b1#x>>3sYgxVp%#7$_#1ssl&>7DgIxe! zV>YJ~>oCcLi2K0aL*fYd?iCC1RO?O~_;gQ}@df080SL-Dy=7_*Sz?7bEcG@HV4Ri8 z1B{OF!pZn0;Zx@)xGWbaEcha*G`JWHyIgh!C%*XYFzHGI4981Ke_c)|4vv3W&Kr#5 zzW914+B=bT29sZHjKZ%i%m&C*8-IrP#3ZiyOFRX8Qk0I*OoliCdQ@WxVDt5H@ww=^ zdblI3pi%AVQE92W$Cc6L9tPcsDe+Dj@R~w+e!y6+rpvl_oSgO@PkFwvh>(W6+HwN8 z3DB7u5I+LAA6!G2yS?`DFgp;BV?*!ciysI4kcoub0r)!$2PPmu&Q0~zgwr3GR`l#J z?p)4Yk`ES1O)2sX{a~t;bf&Y;=h~T3=Tde~;_h1DNa|CW2fuk-OXCuA^(1zYb>U!j z%unifqbuF^B{)v8J)YwsDf)Z@ceIP;JpH4E`BLCH8-I%gC7kp^VEp2{4<+SU6GbKgjr;`0t0}w+keF zZt6!bgcpPL9-u#081vf|cRpN85>K~^U;U)Ax46Ie`}jin=a1L#SJM0UltkkG-ubbe zS3&UibK4)|SZ&bgpx?!hs|uD=2B$X@sY!n!tnwcytJnSg-^c3rls@@qe(yr>W5>&v zDo_ufyH^~~I=-r-E_7+0N|_c*m8Lk`S0p8bF$XW;$)nr%{NfCYXQCS9th3?lQ)2XU zh#tdG(<)$lecuMn2~je`kKw_ze#*wMB&XY$Uj~wCxpLTdX8y^*Pr-$vDKRViC#t$w ztUy4*bM5Itlb z?@N#Kzu$$*lRsXSpa4DH3P_Npz7P(mD+vcI6u+*j$iEFMOD$HV1M;UUY;6j+3UpSf zc7|-HjF&p~<2^%GN5sE!;FENk)fFKgNL4UJnl}(opx^Xo>!ysG1O1PKo!b#9g^tOYC zQ&yQQdd$K1q|i9p*W1B;SI`-nKG?xS*o4<^l!Hf>&!r^)7aSZRHo_E%eFFXa2&HL0Wmr3*XxHw!arj#FS+*;mIH2mR0@cQqh z2j=c=<5KC~nAJ%cUy#~fm$k*xUo+yCwJ;@TO^s=S3UD{r&;@=jHe0z&?#^?X#Q!Oa04VV8^4Pj zAgU{VY!E0ndi|7-Y)2tPc(mGSH0gGCPfJ0#wr_K(nwQdk4@ zO~DlfxZIC;=e7mhIdI#-b2{;yAS6nB62~plrAgXS7uE8_~y5C?C^8B{cjJC((D?pFxU(-oN`8mC1jw7>i1Q#sOr zQXCO0IXt8jKSdy#>L^bDhBksBd)ci9isl(I!#xAE0YJ3krUAuWr+Iw)@R)^sA%9N> z-nb0sLA)*;b^%_)ah2D#W2X!-zemxZ5&mfV9^U~!3p^ICro-I7{3fvE#}uQ@{}o4l ze=_U%h9Sz{0G5J8JZ-wvLQbQ9gp0CX4e?ysf5UZ^^#tx|)!OBbt)g73O zWs}`M4YPc~f*|kn4S?GnF3TBh;C6@0dgcdkUxdr@Bi|Fxd#!Us7CuVBa)LDcAr7Pr zh(6{#&~iu@Og{I1aVq=tw+~8g6;yDZ&!b)*mBr61MkneJsBfq4N$b){d1^6|5s{158iatX05isodGjLKVho7wXqc?1XVi`?X@L6DK zz?%na&|fl@ILGn{1P3VwG(o&T&q06d%E59&C=#A)<#DxijxJzSCK;BqYACcn=1tx( z8Hwtc1&r#J=QxT&)yb?PKfjkCM_7MEye7r;A+oOgqM(?S#`ug2P<6-S^EHpTy^S!m z4CohUe!W5BI~6ycMNcCj(TP_7yaRnn6Tc$*QhYIu(IZatDlk^zP&D*ZAASiXE?0+u?4#(jYMm`J!if&Z8C zrC8UBHqsceB+(mX`PO0Z| zM}T{z3manc_*n~Q2=)6JBbr4!O{2iA$3BPD!}#A}bVr)Ovpkh0%L*=q4J;Xuqtn|Jt$s*qdJ3cUp@^C`arMHNlcagwealU^S5vxqL z4$nC6e?KLzhB)AkXs~VKTY(lq9Q?$B{1IS}UTst`R;NKW!=1+JtOJXj^!@-9Upbv< zCujv*?Uf{c)dVE2!T#cAD`g4xr19g%7etq3cXHw`C*1#pHfybjh;$=&Tp(>ERap~Tr5??_amz!-mtjN3cO;I-N)$f3sVNcN153o`?(ZNCCCAuJtF`J|6!|kjw#93VH59$lMwTy2L zmr_~4(f5#-N-uo`J0PbQ{-a_%$CtI_1xR8JyMn0^zNO%r!tr%3REMQ|UlitjRYRQq zv2GjF&#Y=HgBb6XRqT#=eo>GamC6(#6$4 zhlK~yQ?^BD4XpB7UEil=k0`a<)PJm0E1_x8v4?7g_TGLy=N^o)o{D_|LroCY6=W0!^cre68~{~U^Wppli$NK}d%!7A`Vc(}tKJT4|PZp_05S7h-5XFv>IEunmH z{x`vQrgv!PJv#mkxGapA--CUgxFZ>iV_#YPMh0(0Jc~O9&j;pxN8aG!{CmQU?|5~8 zY#K-$Z~z`nvV2WA2762RQ{}z-y#&vm!9I9lg^@`i{WmpGeafEH#Gi)h^$ZCTP)5?81$qJ$PjefAv<0()gxJy1^YSD_%_u2CTIu@WDK^;DO)4i;)PckD<6W__ z9EAVj5o-)+9|N1@?EcfR{ceT+3)MiWaofy@;tBK`3~)n?F=6L?I0wf)QZ{X>qt5AJ zJ#T?gD#iaW@ZO7KBXH#O>-QVc522+XC1jPBzuXB6yrh@Ziv+=d4LW9o*abK$(6VhE zW32Uo`MRFsRL|pJPK=K~wClrOatEp_`n4wB{}GR+(NSzqNy45Z=9AYsIAjb$+RFbe zpr)5+uw_|Z-gC%VGVGC&(3$0V#7YNcN<2K1GA8vROM{`ar9Tn{{yPd zKH`askVc25sEL_siJiuUXRL{nb(2mG-mmq4g!YZKgDyNSOon#nwP51ck6~)3$~+_#u58VV^_Y=q=xGr$dza3v}xeNJp z4K(HB{h{x~Tk?PI037lL70UkwqnET^ayawwlGeJgelum`W0h40K3~yLU*F?leX>jC zE?B|yY9k3p^FCi+xKrV>s8tGXX}GK5ZqxQ(0UdqodE#Hz=^up47J@o(Pu}U~FMj}G zAdbdy(tPiSFOV-el6k~=f5}w%xY!!N_>cGL8=0Q;d2^Wrn6Ms$vZOS{SknpK|6%-l z`+pzkc(ecaqlM46|Hu7<^JD(|;l85rzAm9XAb(1OlJ)x^BUxJ$g6>sk@xf6D&PcD#~&Kf(Jy zJMQV{VAWErGOKunNB%#t%H;}tLV-Gm|G>56Xl}}6E*>jX!B6GjDZd9J@o+}EJ~=** zlBf0TGgWT5FsAM9Rd2?rQdLxy#dy9|Z;WUDh1klv(0eg8;Q!E<30X-yrtoSG;)y^~ z?m}r{dJ`ad7p(gF|E|Ci5C_{-y@!1h%AAn^CKeTui$$0Ezh?Fh(^U3C%f*ZV!rsmPYgj(9R+Kj`dKL80ejYk;SA z-ddOjHx%w)jd@+>ZEN#;gMs_v@Xwd}_hFx<{deB_865dOd_Kq!zn|6zlJ3>q~^)8Ui&%%Za1M70!&XuNdECZh*q8sX&O}mw0RO|s4w}s^W zVodYr zgm<}k0qd*}49M9*eDQ3mcmP#hsTdldDgM73JuI35w`_sOBmCi@)}jQwy#`Vgy;%!B zoFKxntP!(l4*htulr#DNd%eDa`p`LatnK*aS-8e|oN6F%qNTu3pm)$2e2f4K(Inv8 zkPZF7$%q~RuEw5u;th6q-r~;`;L9Mqrpa?>98^dbUjw6M_2HN{+z2G|--&j*O87?M z``l9gYXVhZu{@T?;sFR2pS+ga+#7sFWAW*5$o$n+v=HsMEv$dw7;+l$xO+N_MLqrB zh&V|rbeuRasQnk<8N zFcp9{R)ssi=#X5%yuk*F#wW5* zuKJe)uYAu)lwVVKE^U51l+S-8V-lbPy#K1GEym}$1_p`hCsBuYJFw_>a8Ga`FZT4A zvz+s{C1|g!0Njealdo~O!!TRqI$M9D*e-DA%6CW}38uDyhQ^-EB(_+08-ZC?1&UE&=@dBZE*--063h||_534Eu zes4d@JGW!3T%zTV_vNYC8h=pHy5&)xmZsGE9pq1BSrkp=PTmOrl|SibQ9OUj*P;{h zU$wdcapVbhk^E@zH#hU`Fiq9gV11x|28y6@5DF|j8=Fp}I#qPyV<^Xw9y#zNr8sfy zIZC;Hb^vmNsN&LoqJ}P#-zs<3f5?hmvBvY+RY|;2V2g^tsk;BtBC2m!UH)zl>t{s|a&=Pr>eK22zE9(`z$Hd-^Q#XCHT-BJxNg{-vAY*s NCQEQr0hjah{{VhWP(%O# literal 0 HcmV?d00001 diff --git a/font/makefont.sh b/font/makefont.sh new file mode 100755 index 00000000..37235fad --- /dev/null +++ b/font/makefont.sh @@ -0,0 +1,27 @@ +#!/bin/bash +width=$1 +height=$2 +size=$3 +fontfile=$4 +outfile=$5 +shift 5 + +( +for ord in $(seq 32 126); do + printf "\\x$(printf %x $ord)\\n" +done +) | convert \ + -page ${width}x$((height*95)) \ + -background black \ + -fill white \ + -antialias \ + -font $fontfile \ + -density 72 \ + -gravity north \ + -pointsize $size \ + $* \ + -define quantum:format=unsigned \ + -depth 8 \ + label:\@- \ + -crop ${width}x$((height*95)) \ + gray:$outfile diff --git a/src/fb.c b/src/fb.c index 3b65f7c0..b2c79068 100644 --- a/src/fb.c +++ b/src/fb.c @@ -14,6 +14,9 @@ static int logo_w, logo_h; extern char _binary_build_bootlogo_128_bin_start[0]; extern char _binary_build_bootlogo_256_bin_start[0]; +extern u8 _binary_build_font_bin_start[]; +extern u8 _binary_build_font_retina_bin_start[]; + void fb_init(void) { fb = (void *)cur_boot_args.video.base;