• Great! Glad you got it sorted! You can do msb:true when creating Graphics which might help you?

    It's possible that you could read the data with vertical_byte:true in one graphics, then blit to another Graphics with msb:true (and maybe rotation?) if you wanted something faster?

  • It could help for lsb to msb conversion but there is at least one other issue: there is no Graphics.createArrayBuffer format that would produce something that Graphics.setFontCustom would consume. Or at least I did not find one. The one with vertical_byte:true is the most similar (=uses columns) and is what the fontchip natively uses too but it is not the same, setFontCustom requires all bytes of first column first, while with vertical_byte:true it is not like that, there second byte contains pixels from second column. while setFontCustom wants in second byte pixels 8-15 of first column. So this is the longest operation here, switching order of same (column pixel) bytes around. So something like vertical_line instead of vertical_byte would be it.

    As for rotation, yes maybe this could do it after all in one extra step, render it from first one with vertical_byte to second one (already done in post #4 - the single bitmap with all letters, this rotates columns into rows) but also setup rotation on destination (so rows are written back to columns in correct order.) Not sure when the rotation is applied - if the bytes are indeed stored rotated or when later reading pixels from it, will check.

    Anyway the biggest issue for me was to understand format of data that Graphics.setFontCustom accepts, the rest is more clear now. There is even arm native library for this fontchip in some github procects (e.g. here or here) so I could use it to get all fonts out of it and with proper encoding. As maybe there are more fonts there than documented at https://github.com/RichardBsolut/GT24L24­A2Y

About

Avatar for fanoush @fanoush started