Umlauts in LedMatrix Lib


Is anyone ready to check the Libary LEDMATRIX-MAX7219-MAX7221 to see if the umlauts ö, ä, ü, ß, Ö, Ä, Ü used in Europe are correctly represented?
I experience that these special characters are not output correctly.

On the one hand, the HEX codes in the glcdfont.cpp could be adjusted in the central libary so that all users have some of this customization or you can tell me how to get the hex codes and add these characters locally in my project.
Also, I would be willing to bring the appropriate for me hex codes in the central Libary, but here I also still lack background knowledge, as I adapted a Particle Libary.


The glcdfont.cpp does already contain definitions of German Umlauts - as the comments suggest too. Although not commented Ü is defined in line 168 and ü in 143.
But as with the Beam library I once adapted for you, while the position in the glcdfont.cpp maps to extended ASCII the compiler does not use ASCII encoding for Umlauts. To translate the mapping you’d need either some preprocessing on the string to print or do the remapping in the library.
I’d opt for the former as this can be done in your own code and won’t require any tampering with the library.

The translation would be

char |    ASCII    |      coded  
     |  HEX | DEC  |   HEX  |   DEC
  Ä  |   8e | 142  |  c3 84 | 195 132
  ä  |   84 | 132  |  c3 a4 | 195 164
  Ö  |   99 | 153  |  c3 96 | 195 150
  ö  |   94 | 148  |  c3 b6 | 195 182
  Ü  |   9a | 154  |  c3 9c | 195 156
  ü  |   81 | 129  |  c3 bc | 195 188
  ß  |   e1 | 225  |  c3 9f | 195 159

You need to replace all the coded 2-byte combinations with the respective ASCII value in your string.


Yep, remember me on void Beam :: print (const char * text) …
Hoped that the matrix would behave more easily in the representation of extended ASCII.
I’ll come back to that later.