Sinclair ZX Spectrum 8x8 glyphs scripted by dpla: """"""""'""'""""""""'"""'"""""" PART I. In order to NARROW this system (ROM) font a basic filter was applied (without subsampling): 1. triple each character, that is: x-1, x and x+1 2. double these triplets, that is: left and right 3. delete 1 column/2= make 4x8 left & right chrs. See my related Png and notice 2 px of h. padding. (\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\) Now that your narrowed 'sextuplets' are computed, combine them all (w/o extra boolean operation)... Mix| c1 c2 c3 c4 c5 c6 ---+------/\------/\------/\------/\------/\----- l1 | A=11 .. B=12 .. C=13 .. D=14 .. E=15 .. F=16 l2 | [na] :: G=22 .. H=23 .. I=24 .. J=25 .. K=26 l3 | [na] :: [na] :: L=33 .. M=34 .. N=35 .. O=36 l4 | [na] :: [na] :: [na] :: P=44 .. Q=45 .. R=46 l5 | [na] :: [na] :: [na] :: [na] :: S=55 .. T=56 l6 | [na] :: [na] :: [na] :: [na] :: [na] :: U=66 15 mixes are visible copies thus are not applied; the order of overlaid layers does not count then. THERE ARE 21 MIXES IN ALL: 'A-U' as listed above; you can preview them via the 21 UDG characters... Pseudo duplicates occur into brackets from x+/-1: aligned (A)/P (B)/M /R (D)/Q H/(O) I/ L/(U) where '()' is objective and alas '<>' subjective, and character #128 (copyright sign) variates btw. Total widths (in px) are factually the following: 3 in AU, 4 in BGLMPST, 5 in CDHINOQR & 6 in EFJK; while the perceived ones look like the following: 3 in AGILNPSU, 4 in BHJMOQT, 5 in CEKR & 6 in DF, because of "T", "Y", "_", #128 & the wide blocks; a narrower lowercase is in BCFMRT except for "q". A COMPOSITE FONT may be done out of these styles, by picking the glyphs from the exact code points, into a final grid of 3x8, 4x8, 5x8 or 6x8 pixels. + Verify that no glyph repeats in a SAFE 0x20-7F. =#####################DPLA######################= PART II. And if you needed even more font styles? ..#Mix A_B_C_D_E_F_G_H_I_J_K_L_M_N_O_P_Q_R_S_T_U_ 001 _A AABACADAEAFAGAHAIAJAKALAMANAOAPAQARASATAUA 022 _B 01BBCBDBEBFBGBHBIBJBKBLBMBNBOBPBQBRBSBTBUB 042 _C 02[]CCDCECFCGCHCICJCKCLCMCNCOCPCQCRCSCTCUC 061 _D 03[][]DDEDFDGDHDIDJDKDLDMDNDODPDQDRDSDTDUD 079 _E 04[][][]EEFEGEHEIEJEKELEMENEOEPEQERESETEUE 096 _F 05[][][][]FFGFHFIFJFKFLFMFNFOFPFQFRFSFTFUF 112 _G 06[][][][][]GGHGIGJGKGLGMGNGOGPGQGRGSGTGUG 127 _H 07[][][][][][]HHIHJHKHLHMHNHOHPHQHRHSHTHUH 141 _I 08[][][][][][][]IIJIKILIMINIOIPIQIRISITIUI 154 _J 09[][]()[]()[][][]JJKJLJMJNJOJPJQJRJSJTJUJ 166 _K 10[][][]()[][][][][]KKLKMKNKOKPKQKRKSKTKUK 177 _L 11[][][][][][][][][][]LLMLNLOLPLQLRLSLTLUL 187 _M 12[][][][][]()[][][][][]MMNMOMPMQMRMSMTMUM 196 _N 13[][][][]()[]()[][][][][]NNONPNQNRNSNTNUN 204 _O 14[][][][][][][][][]()[][][]OOPOQOROSOTOUO 211 _P 15[][][][][][][][]()[][][][][]PPQPRPSPTPUP 217 _Q 16[][][][][][][][][][][][][][][]QQRQSQTQUQ 222 _R 17[][][][][][][][][][]()[][][][][]RRSRTRUR 226 _S 18[][][][][][][][][][][]()[][][][][]SSTSUS 229 _T 19[][][][][][][][][][][][][][][][][][]TTUT 231 _U 20[][][][][][][][][][][][][][][][][][][]UU \V/-============================================- 001=AA 002=BA 003=CA 004=DA 005=EA 006=FA 007=GA, 008=HA 009=IA 010=JA 011=KA 012=LA 013=MA 014=NA, 015=OA 016=PA 017=QA 018=RA 019=SA 020=TA 021=UA, 022=BB 023=CB 024=DB 025=EB 026=FB 027=GB 028=HB, 029=IB 030=JB 031=KB 032=LB 033=MB 034=NB 035=OB, 036=PB 037=QB 038=RB 039=SB 040=TB 041=UB 042=CC, 043=DC 044=EC 045=FC 046=GC 047=HC 048=IC 049=JC, 050=KC 051=LC 052=MC 053=NC 054=OC 055=PC 056=QC, 057=RC 058=SC 059=TC 060=UC 061=DD 062=ED 063=FD, 064=GD 065=HD 066=ID 067=JD 068=KD 069=LD 070=MD, 071=ND 072=OD 073=PD 074=QD 075=RD 076=SD 077=TD, 078=UD 079=EE 080=FE 081=GE 082=HE 083=IE 084=JE, 085=KE 086=LE 087=ME 088=NE 089=OE 090=PE 091=QE, 092=RE 093=SE 094=TE 095=UE 096=FF 097=GF 098=HF, 099=IF 100=JF 101=KF 102=LF 103=MF 104=NF 105=OF, 106=PF 107=QF 108=RF 109=SF 110=TF 111=UF 112=GG, 113=HG 114=IG 115=JG 116=KG 117=LG 118=MG 119=NG, 120=OG 121=PG 122=QG 123=RG 124=SG 125=TG 126=UG, 127=HH 128=IH 129=JH 130=KH 131=LH 132=MH 133=NH, 134=OH 135=PH 136=QH 137=RH 138=SH 139=TH 140=UH, 141=II 142=JI 143=KI 144=LI 145=MI 146=NI 147=OI, 148=PI 149=QI 150=RI 151=SI 152=TI 153=UI 154=JJ, 155=KJ 156=LJ 157=MJ 158=NJ 159=OJ 160=PJ 161=QJ, 162=RJ 163=SJ 164=TJ 165=UJ 166=KK 167=LK 168=MK, 169=NK 170=OK 171=PK 172=QK 173=RK 174=SK 175=TK, 176=UK 177=LL 178=ML 179=NL 180=OL 181=PL 182=QL, 183=RL 184=SL 185=TL 186=UL 187=MM 188=NM 189=OM, 190=PM 191=QM 192=RM 193=SM 194=TM 195=UM 196=NN, 197=ON 198=PN 199=QN 200=RN 201=SN 202=TN 203=UN, 204=OO 205=PO 206=QO 207=RO 208=SO 209=TO 210=UO, 211=PP 212=QP 213=RP 214=SP 215=TP 216=UP 217=QQ, 218=RQ 219=SQ 220=TQ 221=UQ 222=RR 223=SR 224=TR, 225=UR 226=SS 227=TS 228=US 229=TT 230=UT 231=UU. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In this second step of mixes, the DUPLICATES ARE: {002=007&022&027.003=012&042&051.004=016&061&073. _005=019&079&093.006=021&096&111.008=023&028&032& _046&047.009=024&029&036&064&066.010=025&030&039& _081&084.011=026&031&041&097&101.013=043&052&055& _069&070.014=044&053&058&086&088.015=045&054&060& _102&105.033=048&065.034=049&082.035=050&098.017= _062&074&076&090&091.018=063&075&078&106&108.037= _067&083.038=068&099.056=071&087.057=072&103.020= _080&094&095&109&110.040=085&100.059=089&104.077= _092&107.113=117&127&131.114=121&141&148.115=124& _154&163.116=126&166&176.118=128&132&135&144&145. _119=129&133&138&156&158.120=130&134&140&167&170. _122=142&149&151&160&161.123=143&150&153&171&173. _136=146&157.137=147&168.125=155&164&165&174&175. _139=159&169.152=162&172.178=181&187&190.179=184& _196&201.180=186&204&210.182=188&191&193&198&199. _183=189&192&195&205&207.185=197&202&203&208&209. _194=200&206.212=214&217&219.213=216&222&225.215= _218&220&221&223&224.227=228&229&230}=175_REMOVED ||||||||||||||||||||||||||||||||||||||||||||||||| I.e. 56 unique mixes in the following temp. list: 001=AA 002=BA 003=CA 004=DA 005=EA 006=FA 008=HA, 009=IA 010=JA 011=KA 013=MA 014=NA 015=OA 017=QA, 018=RA 020=TA 033=MB 034=NB 035=OB 037=QB 038=RB, 040=TB 056=QC 057=RC 059=TC 077=TD 112=GG 113=HG, 114=IG 115=JG 116=KG 118=MG 119=NG 120=OG 122=QG, 123=RG 125=TG 136=QH 137=RH 139=TH 152=TI 177=LL, 178=ML 179=NL 180=OL 182=QL 183=RL 185=TL 194=TM, 211=PP 212=QP 213=RP 215=TP 226=SS 227=TS 231=UU. vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv After renaming the prefixes above, you'd get now: <01=AA 02=BA 03=CA 04=DA 05=EA 06=FA 07=HA 08=IA> <09=JA 10=KA 11=MA 12=NA 13=OA 14=QA 15=RA 16=TA> <17=MB 18=NB 19=OB 20=QB 21=RB 22=TB 23=QC 24=RC> <25=TC 26=TD 27=GG 28=HG 29=IG 30=JG 31=KG 32=MG> <33=NG 34=OG 35=QG 36=RG 37=TG 38=QH 39=RH 40=TH> <41=TI 42=LL 43=ML 44=NL 45=OL 46=QL 47=RL 48=TL> <49=TM 50=PP 51=QP 52=RP 53=TP 54=SS 55=TS 56=UU> ///////////////////////////////////////////////// 01AA 02BA 03CA 04DA 05EA 06FA 07HA 08IA 09JA 10KA 11MA 12NA 13OA 14QA 15RA 16TA 17MB 18NB 19OB 20QB 21RB 22TB 23QC 24RC 25TC 26TD 27GG 28HG 29IG 30JG 31KG 32MG 33NG 34OG 35QG 36RG 37TG 38QH 39RH 40TH 41TI 42LL 43ML 44NL 45OL 46QL 47RL 48TL 49TM 50PP 51QP 52RP 53TP 54SS 55TS 56UU once 'compacted'... Memory, when storing ALL the glyphs uncompressed: 1. charset 0x20-8f= 112*56*8= 50176 /1024= 49 KiB ditto as 6 bits= 112*56*6= 37632 /1024= 36.75 KiB 2. charset 0x20-7F= 96*56*8= 43008 /1024 = 42 KiB ditto as 6 bits= 96*56*6 = 32256 /1024 = 31.5 KiB 3- to 6-bit encodings are feasible with x offset. => Limiting your styles may spare the short RAMs. 0 to 2 REPLICATIONS between the three main steps: 01AA=A11=1 02BA=B12 03CA=C13 04DA=D14 05EA=E15 06FA=F16 07ha 08ia 09ja 10ka 11ma 12na 13oa 14qa 15ra 16ta 17mb 18nb 19ob 20qb 21rb 22tb 23qc 24rc 25tc 26td 27GG=G22=2 28HG=H23 29IG=I24 30JG=J25 31KG=K26 32mg 33ng 34og 35qg 36rg 37tg 38qh 39rh 40th 41ti 42LL=L33=3 43ML=M34 44NL=N35 45OL=O36 46ql 47rl 48tl 49tm 50PP=P44=4 51QP=Q45 52RP=R46 53tp 54SS=S55=5 55TS=T56 56UU=U66=6 (a-t: unique) "16-chr text info" at the end of the 57 charsets: 01=1: x-1 c1 w3 02=12+11 MIX w4 03=13+11 MIX w5 04=14+11 MIX w5 05=15+11 MIX w6 06=16+11 MIX w6 07=23+11 MIX w5 08=24+11 MIX w5 09=25+11 MIX w6 10=26+11 MIX w6 11=34+11 MIX w5 12=35+11 MIX w6 13=36+11 MIX w6 14=45+11 MIX w6 15=46+11 MIX w6 16=56+11 MIX w6 17=34+12 MIX w5 18=35+12 MIX w6 19=36+12 MIX w6 20=45+12 MIX w6 21=46+12 MIX w6 22=56+12 MIX w6 23=45+13 MIX w6 24=46+13 MIX w6 25=56+13 MIX w6 26=56+14 MIX w6 27=2: x-1 c2 w4 28=23+22 MIX w5 29=24+22 MIX w5 30=25+22 MIX w6 31=26+22 MIX w6 32=34+22 MIX w5 33=35+22 MIX w6 34=36+22 MIX w6 35=45+22 MIX w6 36=46+22 MIX w6 37=56+22 MIX w6 38=45+23 MIX w6 39=46+23 MIX w6 40=56+23 MIX w6 41=56+24 MIX w6 42=3: _x_ c1 w4 43=34+33 MIX w4 44=35+33 MIX w5 45=36+33 MIX w5 46=45+33 MIX w5 47=46+33 MIX w5 48=56+33 MIX w5 49=56+34 MIX w5 50=4: _x_ c2 w4 51=45+44 MIX w5 52=46+44 MIX w5 53=56+44 MIX w5 54=5: x+1 c1 w4 55=56+55 MIX w4 56=6: x+1 c2 w3 ZX=Spectrum: w8 You won't need a third pass of fusion, hopefully! A-Z GROUPS OF STYLES =>=>=>=>=>=>=>=>=>=>=>=>=>=> Group titles: trivial, even fanciful description. Abbreviations: Center, Edges, Left, Right, Width. [Narrowed] width(px): ~(5), Super~(4), Hyper~(3). Cropped: 1 or 2 columns of pixels were wiped off. Extra weights & strikes: mentioned in the titles. <<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> a. Original W6~ ...............................ZX __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ _ b. ShiftedAlike W6~ ...........................06 c. Narrowed ShiftedAlike W5~ ...............03,52 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ d. SuperNarrowed W4~ ....................02,43,55 e. Cropped1_R&L Light W3~ ......01,50,54;27,42,56 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ f. HyperNarrowed W3~ .......................29,44 <<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> g. Bold W6~ ...................................24 h. Narrowed Bold W5~ .......................17,49 i. SuperNarrowed Bold W4~ .....................38 << Semi*Bold: >> >> >> >> >> >> >> >> >> >> >> >> j. Cropped1_R&L SemiHyperBold_L&R W5~ ......20;40 k. Cropped2_E SemiHyperBold_L&R W4~ ........35;33 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ l. SemiSuperBold_L&R W6~ ...................26;19 m. Cropped1_R&L SemiSuperBold_L&R W5~ ......14;34 n. Narrowed SemiSuperBold_L&R W5~ ..........23;39 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ o. SemiBold_L&R W6~ ........................15;13 p. Cropped2_R&L SemiBold_L&R W4~ .....04,51;28,45 q. Narrowed SemiBold_L&R W5~ .........11,53;07,47 r. SuperNarrowed SemiBold_L&R W4~ ....08,46;32,48 <<<*STRIKE:>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> s. DoubleStrike_L&R W6~ ....................16;10 t. Cropped1_R&L DoubleStrike_L&R W5~ .......05;31 u. Narrowed DoubleStrike_L&R W5~ ...........12;36 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ v. Narrowed DoubleBoldStrike_L&R W5~ .......18;41 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ w. TripleStrike_L&R W6~ ....................21;25 _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ x. TripleStrike_C W6~ .........................22 y. Cropped1_R&L TripleStrike_C W5~ .........09;37 z. Cropped2_E TripleStrike_C W4~ ..............30 Have fun in resuming this (4-day & free) project! dpla 2018 1014 ->18