The basics of the code are quite simple.
The below defines the information for the MAX7219 to display a character.
PROGMEM const unsigned char CH[] = {
...
...
}
For each character 7 bytes are used; for now it's not relevant what it means. The PROGMEM indicates that the data is stored in program memory so it does not eat away RAM.
You can have a look at http://www.asciitable.com/ and try to find a resemblence in the sequence of the characters.
The first 32 (0..31, 0x00..0x1F) ascii characters are non-printable. The function printCharWithShift() checks for this and does nothing (returns immediately) if one of those characters is detected.
Else it subtracts 32 from the value of the character (e.g. capital L is represented by the value 76 and 32 is subtracted from it (result 44). You now go back to CH and start counting; the first 'row' is 0 and you count to 44. What do you find?
The function now makes a copy (using memcpy_P) of the 7 bytes that it found into a small byte array called buffer; memcpy_P is a special version of memcpy that copies from PROGMEM instead of normal (RAM) memory/]]. Using writeSprite(), the data is written to the MAX7219.
I can not explain in detail the rest of the code of that function; I do not have the MAX7219 nor the library. You can analyze the library to see what is happening; the library will consist of one or more .h and .cpp (or .c) files. You will mostly be interested in the .cpp/.c files as they define what a function does. Use a decent editor (e.g. notepad++ under windows, vi under linux); grep (linux) or grepWin (Windows) can also be useful to look for functions in the library.
The function printStringWithShift() loops through the text that you passed as an argument (pointer to character array, *s) and for each character in the text calls printCharWithShift(). By incrementing the pointer, it will pass the next character.
So initially s will point to the first space in " LOL "; after s++ it will point to the first 'L' and so on.
As you might know, C-strings are nul ('\0', 0 (see the ascii table)) terminated. The function will stop calling printCharWithShift() once it detects that s points to the (a) nul character.
That should do for now
For full understanding, you need to analyze the library and need the datasheet of the MAX7219.