probleme the font

hi can help me i want to convert font simple to Standard ASCII
exepl :i want change this font

'F', 1, 0, 255, 8,
0, // 0 - 'Empty Cell'
5, 62, 91, 79, 91, 62, // 1 - 'Sad Smiley'
5, 62, 107, 79, 107, 62, // 2 - 'Happy Smiley'
5, 28, 62, 124, 62, 28, // 3 - 'Heart'
5, 24, 60, 126, 60, 24, // 4 - 'Diamond'
5, 28, 87, 125, 87, 28, // 5 - 'Clubs'
5, 28, 94, 127, 94, 28, // 6 - 'Spades'
4, 0, 24, 60, 24, // 7 - 'Bullet Point'
5, 255, 231, 195, 231, 255, // 8 - 'Rev Bullet Point'
4, 0, 24, 36, 24, // 9 - 'Hollow Bullet Point'
5, 255, 231, 219, 231, 255, // 10 - 'Rev Hollow BP'
.......................................
.............................

to Standard ASCII

And where is this font?

I think you are confusing the two things ASCII and a font. They are not connected and so you can't convert into another.

ASCII is a code, a bit pattern, that is used to represents characters. There is no shape information stored in ASCII, so you can't convert shape information into ASCII.

Now there are 256 different characters that can be represented by an 8 bit bit pattern. ASCII is one such correlation. You can change what characters are represented by any 8 bit pattern, but then that set of numbers is no longer ASCII.

So what do you actually want to do?

in attachment

Document.doc (13.6 KB)

i want convert lik this code

Standard ASCII 5x7 fontstatic const unsigned char font PROGMEM = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x3E, 0x5B, 0x4F, 0x5B, 0x3E, 0x3E, 0x6B,

Come on give us a clue please. Fonts are normally two dimensional arrays, here:-

const unsigned char font[]

You have a one dimensional array, so how is it translated into pixels on / off? Is it a row assignment or a column assignment or a simple linear array?

You are giving us very little to go on here. I repeat what are you actually wanting to do?

OK, so there is a small clue here; you are referring to the MD_MAX72XX font file and wish to change it in some way. Why on this planet you would attach a ".doc" file is however, most difficult to comprehend. :roll_eyes:

Well, inconveniently these numbers are in decimal rather than hex but after the first which specifies how many columns follow, each denotes the bit pattern of a column of the character. For example character 124, the vertical bar "|", contains only one column with the hex code 0x77. This as well as the pattern for "y" which contains columns with the MSB set, tells me that the MSB is the bottom-most pixel and the LSB at the top.

The vertical bar has a gap in the middle - as it usually is shown on your keyboard though not necessarily in the font used on your screen(, certainly not on mine!). If you wished to make the bar continuous, you would change the "119" to "127" or 0x7F.

So you can on this basis, alter characters in the font file; you can add or delete columns as necessary as long as you have the correct column count for that character. Note - as demonstrated by the "|" character - that these characters do not include the inter-character space.

Always ensure you keep a copy of Marco's original font file so you can revert any bad errors! :grinning:

All this is documented in the blog post Parola A to Z – Defining Fonts – Arduino++ and in the online documentation (though maybe not as clearly).