I'm upgrading my ST7920 "library", so letters can have variable width, for better visual appearance.
For this purpose, I plan to have single, screen-wide bit array, in which I will write the corresponding bits from the characters.
For this I will need the following

take say bits 2 to 5 from some byte variable and write them into bits 5 to 8 of bit array.
How should I?
One way I see is to make a loop, which will read bit by bit and write it bit by bit. But this is time consuming, and I believe, there should be faster ways to do this?
I know that I can do something like this buf[5]=char.1 which will write bit 1 of char variable into 5th position into buf array. But what about more "wide", several bit operations?