GithubHelp home page GithubHelp logo

tchapi / adafruit-gfx-font-customiser Goto Github PK

View Code? Open in Web Editor NEW
80.0 80.0 46.0 99 KB

A little utility to customise pixel fonts for the Adafruit GFX library

Home Page: https://tchapi.github.io/Adafruit-GFX-Font-Customiser/

License: MIT License

HTML 55.78% C 44.22%
adafruit arduino fonts gfx

adafruit-gfx-font-customiser's People

Contributors

charno avatar cmarrin avatar jayeclark avatar marcelrobitaille avatar mengstr avatar mestrode avatar rbasile avatar tchapi avatar thelevelofdetail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

adafruit-gfx-font-customiser's Issues

Editor box improvement: adding Rows/Cols +/- button to the other side of the character

Rows/Cols +/- buttons are adding/removing one row/column on the right/bottom side. I encountered several times the problem, when I had to extend the character on the left or top side. The only way to do so now, is to extend and shift the whole character, pixel by pixel erasing and redrawing it.

As solution I recommend to split the + / - Row button vertically to 2 (horizontally for Cols), to make extension possible the other side. These splits save space and also intuitively gives the user the desired extension direction.

Another, more intuitive GUI solution idea is adding arrow buttons around the character and also the pixel editor area. First set is for extending, second for x/y offset. I always have to try both directions when I offset a character. This would be more intuitive for the user for all 4 controls, but also a lot more difficult to implement.

Reimport of header file looses next-to-last entry

Hi all, thanx for this great utility! I hope it can help me to add german "umlaut" characters (0xc4, 0xd6, 0xdc, 0xdf, 0xe4, 0xf6, 0xfc) to a given font.

Since this seems to be rather complicated, I intend to backup a new header file after each character added, and reimport it before adding the next character. Unfortunately, when reimporting a previously stored header into the form, the next-to-last character gets lost, and the previously added character is displayed at its position, being marked as inprintable.

That means that after having reimported a font with e.g. the 0xc4, the entry for 0xc3, which should be empty, shows the omage of the added 0xc4 character (yet still being marked as inprintable!), and the entry for the 0xc4 character is lost.

Beside the problem, I would like to ask if it a copy-character function could be added - this would come in very handy for special charcters requiring only some pixels being added to an existing character and could help for many (not only german) umlauts.

Thanx a lot in advance!

Can' get it work with fonts created by online "Font Converter"

Hi,
I created a font at http://oleddisplay.squix.ch with the folowing parameters:
Preview Display: TFT 2.4" (240x320)
Font Family: Monospaced
Style: Bold
Size: 11
Library Version: Adafruit GFX Font
and pasted the output to the "Original font file" text input.
Unfortunately nothing happens if i press "Extract".
I also tried it locally. The test fonts are extracted, but not that (and others I created with the online "Font Converter". The format does't look different from that of the test fonts.

Any ideas?

Regards, Thorsten

It takes too long.

Hello ^^
This project is the best.
However, if the content increases
It takes too long.
It seems to stop when there are many glyphs.
Here is what I used.
Why? Is it stopping?

BMHANNAPro8.zip

unescaped \ in comment -> exported file is not valid

Map of characters seems like this:
image

The \ character at the very end of line means "next line to be appended here".
So next line is appended - as a part of commentary.
So character 0x5D is not defined - after 0x5C follows the definition od 0x5E. All subsequent characters are off-by-one and if you try to render last character (0x7e), random data occures.

Compress fonts down to 50-70% and speed-up LCD prints ??

What do you think about XOR compression ?

Real font example with graphics in comments (v1, now there is improved v2).
https://github.com/eltomjan/ETEhomeTools/blob/master/ArduinoSimulator/Font_big.h
PR for original LCD
adafruit/Adafruit_ILI9340#19
Here graphical demo showing these blocks inside real font
https://eltomjan.github.io/JStoolsSPAdemos/FontPacker/webLog.htm

Log created by a demo C processing text font https://github.com/eltomjan/ETEhomeTools/tree/master/TextFontPackerDemo

I can create PR, but page is quite complex and not sure if there are any "global" changes already ?
Also do not know where to add it to UI - options could be checkbox(-es), new buttons, auto import of packed/plain, etc. ?

PC simulation
https://github.com/eltomjan/ETEhomeTools/tree/master/ArduinoSimulator

Old C# packer to generate fonts (now updated to improved v2)
https://github.com/eltomjan/ETEhomeTools/tree/master/CSharp/GFXpack

Some older generator / list of compression results
https://github.com/eltomjan/ETEhomeTools/blob/02c368e44a83ed0c4cb7ae59315b8c681f98fe11/gfxXorPacker.cpp#L332

Show pixels as squares

Thanks for this awesome tool! Right now the pixels are not displayed as squares but as rectangles. Is there any option to enable this?

Oblique glyphs not completely shown: clipped at xAdvance

For oblique glyphs, the xAdvance can be to the left of the right side of the glyph's bitmap bounding box. I'm including a test example which is just the SOLIDUS glyph from the FreeMonoBoldOblique24pt7b font. Clicking on the "+xAdv" input element of the Customizer page will reveal more of the glyph bitmap. But then the xAdv is being incorrectly set.

(I have my own diagnostic scripts for annotating the GFXfonts which I'm using to draw the bitmaps inline in the headers, as shown).

const uint8_t FreeMonoBoldOblique24pt7bBitmaps[] PROGMEM = {
0x00,0x00,0x00,0x60,0x00,0x00,0x0F,0x00,
0x00,0x01,0xF0,0x00,0x00,0x3E,0x00,0x00,
0x03,0xE0,0x00,0x00,0x7C,0x00,0x00,0x0F,
0x80,0x00,0x00,0xF8,0x00,0x00,0x1F,0x00,
0x00,0x03,0xE0,0x00,0x00,0x3E,0x00,0x00,
0x07,0xC0,0x00,0x00,0xF8,0x00,0x00,0x1F,
0x80,0x00,0x01,0xF0,0x00,0x00,0x3E,0x00,
0x00,0x07,0xE0,0x00,0x00,0x7C,0x00,0x00,
0x0F,0x80,0x00,0x01,0xF8,0x00,0x00,0x1F,
0x00,0x00,0x03,0xE0,0x00,0x00,0x7C,0x00,
0x00,0x07,0xC0,0x00,0x00,0xF8,0x00,0x00,
0x1F,0x00,0x00,0x01,0xF0,0x00,0x00,0x3E,
0x00,0x00,0x07,0xC0,0x00,0x00,0xFC,0x00,
0x00,0x0F,0x80,0x00,0x01,0xF0,0x00,0x00,
0x3F,0x00,0x00,0x03,0xE0,0x00,0x00,0x7C,
0x00,0x00,0x07,0xC0,0x00,0x00,0xF8,0x00,
0x00,0x07,0x00,0x00,0x00,  // 0x2F '/' (28 x 38) @(3,-32) +28
// [   .........................**.]
// [   ........................****]
// [   .......................*****]
// [   ......................*****.]
// [   ......................*****.]
// [   .....................*****..]
// [   ....................*****...]
// [   ....................*****...]
// [   ...................*****....]
// [   ..................*****.....]
// [   ..................*****.....]
// [   .................*****......]
// [   ................*****.......]
// [   ...............******.......]
// [   ...............*****........]
// [   ..............*****.........]
// [   .............******.........]
// [   .............*****..........]
// [   ............*****...........]
// [   ...........******...........]
// [   ...........*****............]
// [   ..........*****.............]
// [   .........*****..............]
// [   .........*****..............]
// [   ........*****...............]
// [   .......*****................]
// [   .......*****................]
// [   ......*****.................]
// [   .....*****..................]
// [   ....******..................]
// [   ....*****...................]
// [   ...*****....................]
// [0  ..******.................>..]
// [   ..*****.....................]
// [   .*****......................]
// [   .*****......................]
// [   *****.......................]
// [   .***........................]
};

const GFXglyph FreeMonoBoldOblique24pt7bGlyphs[] PROGMEM = {
  {0, 28, 38, 28, 3, -32} // 0x2F '/':SOLIDUS
};

const GFXfont FreeMonoBoldOblique24pt7b PROGMEM = {
    (uint8_t *)FreeMonoBoldOblique24pt7bBitmaps,
    (GFXglyph *)FreeMonoBoldOblique24pt7bGlyphs,
    0x2F, 0x2F, 47
};

Option to add/remove glyphs?

Great little program - as fontconvert can produce some very ugly results and needs a lot of cleaning up. I'm wondering if it would be hard to adapt your code to all us to add/remove glyphs?

Char editor boxes have no row separation

Not a bug, but visually hard to distinguish between where a character editor box starts and ends. In mozilla the rows have no gaps in between rows, only a very small rounding of a character box shows the top/bottom of a character editor box. A small, fixed gap would help a lot visually.

Can't parse all the stock Adafruit-GFX-Library/Fonts/

What a fun JS tool!

I tried it on a few of the Fonts/*.h files. Failed to parse the TomThumb.h file. At least one problem I can see is the regex that tries to extract a size from the font's name.
This works for the fontconvert.c -generated Fonts/ files, but TomThumb isn't one of those. There are a few others of that kind in there, like Org_01.h, and PicoPixel.h

var found_size = name.match(re_size)

wrong computation of view boundaries

I've got this font:
https://lovecka.info/tmp/YanoneKaffeesatz-SemiBold13pt8b.h

When I load it into app, characters shows croped from bottom.
image

The data are there - if I click "-base", character rolls up and it contains all the missing parts:
image

I think app computes character boundary wrong...
App can be used for editing of this font - just move every character up by -base, edit and then move down by base+. Font data are not destroyed.

Single char edit

Hello tchap, congratulations for your excellent job. As a suggestion I wonder if there is a single character edit function, with a large screen and large pixels... Do you think it would be usefull ?

Problem with font expending

Hello, I created a font from http://oleddisplay.squix.ch/#/home. Since the German umlauts ä, Ä, ö, Ö, ü, Ü were missing, I wanted to expand them with the font customizer.

But there's a problem. When I import the adapted font into my project, the words are cut off at the umlaut or the letter is simply left out.

When I read the changed font back into the font customizer, my letters were suddenly shifted 1 to the left.

Original Font:

` // Created by http://oleddisplay.squix.ch/ Consider a donation
// In case of problems make sure that you are using the font file with the correct version!
const uint8_t Roboto_11Bitmaps[] PROGMEM = {

// Bitmap Data:
0x00, // ' '
0xAA,0xA2, // '!'
0xDB,0x00, // '"'
0x28,0x93,0xF2,0x85,0x1F,0x14,0x48, // '#'
0x21,0xC9,0x22,0xC0,0xC0,0xA6,0xF0,0x80, // '$'
0xC0,0xA8,0xB0,0xD0,0x2C,0x52,0x52,0x0C, // '%'
0x71,0x22,0x43,0x0A,0x93,0x26,0x7E, // '&'
0x90, // '''
0x46,0x88,0x88,0x88,0x88,0x42, // '('
0x84,0x42,0x22,0x22,0x24,0x48, // ')'
0x22,0xC6,0x94, // '*'
0x10,0x23,0xF0,0x81,0x00, // '+'
0x4A,0x00, // ','
0xE0, // '-'
0x80, // '.'
0x10,0x88,0x42,0x21,0x10,0x80, // '/'
0x72,0x48,0xA2,0x8A,0x49,0x1C, // '0'
0x6A,0x22,0x22,0x22, // '1'
0xF2,0x41,0x04,0x21,0x08,0x3E, // '2'
0xF4,0x84,0xC1,0x0A,0x5E, // '3'
0x18,0x30,0xA2,0x44,0x9F,0x82,0x04, // '4'
0xFA,0x08,0x3C,0x18,0x29,0x9C, // '5'
0x73,0x08,0x3C,0x9A,0x29,0x1C, // '6'
0xFC,0x10,0x20,0x81,0x02,0x08,0x30, // '7'
0xF2,0x49,0x18,0x92,0x29,0x3C, // '8'
0xE4,0xA5,0x2F,0x08,0x4C, // '9'
0x80,0x20, // ':'
0x40,0x00,0x94, // ';'
0x08,0xCC,0x1C,0x08, // '<'
0xF0,0x3C, // '='
0x83,0x04,0xC8,0x00, // '>'
0x73,0x20,0x84,0x20,0x80,0x08, // '?'
0x3C,0x21,0x27,0x54,0xAA,0x55,0x2A,0xB5,0x6C,0x40,0x1E,0x00, // '@'
0x10,0x28,0x28,0x28,0x44,0x7C,0x44,0x82, // 'A'
0xF2,0x28,0xBC,0x8A,0x28,0xBC, // 'B'
0x79,0x12,0x14,0x08,0x10,0xA2,0x3C, // 'C'
0xF1,0x12,0x24,0x28,0x51,0x22,0x78, // 'D'
0xFA,0x08,0x3C,0x82,0x08,0x3E, // 'E'
0xFA,0x08,0x20,0xF2,0x08,0x20, // 'F'
0x79,0x12,0x14,0x09,0xD0,0xB1,0x3C, // 'G'
0x85,0x0A,0x17,0xE8,0x50,0xA1,0x42, // 'H'
0xAA,0xAA, // 'I'
0x08,0x20,0x82,0x08,0x2C,0x9C, // 'J'
0x8D,0x22,0x87,0x0E,0x12,0x22,0x46, // 'K'
0x82,0x08,0x20,0x82,0x08,0x3E, // 'L'
0x83,0x61,0xB1,0x54,0xAA,0x55,0x4A,0x65,0x22, // 'M'
0x85,0x8B,0x95,0x29,0x53,0xA3,0x42, // 'N'
0x79,0x12,0x14,0x28,0x50,0xA2,0x3C, // 'O'
0xF9,0x12,0x14,0x4F,0x90,0x20,0x40, // 'P'
0x79,0x9A,0x14,0x28,0x50,0xB3,0x3C,0x04, // 'Q'
0xF1,0x12,0x24,0x4F,0x12,0x22,0x46, // 'R'
0x72,0x28,0x18,0x18,0x28,0x9C, // 'S'
0xFC,0x20,0x40,0x81,0x02,0x04,0x08, // 'T'
0x8A,0x28,0xA2,0x8A,0x28,0x9C, // 'U'
0x82,0x44,0x44,0x44,0x28,0x28,0x30,0x10, // 'V'
0x8C,0xC9,0x91,0x32,0x2A,0x45,0x30,0x66,0x0C,0xC1,0x08, // 'W'
0xC6,0x4C,0x28,0x10,0x10,0x28,0x4C,0xC6, // 'X'
0xC6,0x44,0x68,0x28,0x10,0x10,0x10,0x10, // 'Y'
0x7C,0x18,0x20,0x82,0x04,0x10,0x7E, // 'Z'
0xD2,0x49,0x24,0x93,0x00, // '['
0x82,0x10,0x82,0x10,0x42,0x10, // '\'
0xC9,0x24,0x92,0x4B,0x00, // ']'
0x4C,0xAA, // '^'
0xF8, // '_'
0xC6, // '`'
0xF0,0xBD,0x29,0x78, // 'a'
0x82,0x0F,0x24,0x8A,0x29,0x3C, // 'b'
0x72,0x48,0xA0,0x99,0xC0, // 'c'
0x08,0x27,0x92,0x8A,0x24,0x9E, // 'd'
0x72,0x4F,0xA0,0x91,0xC0, // 'e'
0x32,0x11,0xE4,0x21,0x08,0x40, // 'f'
0x79,0x28,0xA2,0x49,0xE0,0x9E, // 'g'
0x84,0x3D,0x29,0x4A,0x52, // 'h'
0x8A,0xAA, // 'i'
0x41,0x24,0x92,0x58, // 'j'
0x82,0x08,0x24,0xA3,0x0A,0x28,0x98, // 'k'
0xAA,0xAA,0x80, // 'l'
0xF7,0x4C,0xA4,0x52,0x29,0x14,0x88, // 'm'
0xF4,0xA5,0x29,0x48, // 'n'
0x78,0x92,0x14,0x24,0x8F,0x00, // 'o'
0xF2,0x48,0xA2,0x93,0xC8,0x20, // 'p'
0x79,0x28,0xA2,0x49,0xE0,0x82, // 'q'
0xE8,0x88,0x88, // 'r'
0xF4,0xB8,0x29,0x78, // 's'
0x4E,0x44,0x44,0x20, // 't'
0x94,0xA5,0x29,0x78, // 'u'
0x8A,0x45,0x14,0x60,0x80, // 'v'
0x99,0x4D,0x16,0x8D,0x46,0x61,0x20, // 'w'
0xC9,0x43,0x0C,0x53,0x20, // 'x'
0x89,0x45,0x14,0x20,0x82,0x30, // 'y'
0x78,0x43,0x08,0x43,0xE0, // 'z'
0x31,0x08,0x44,0x61,0x04,0x21,0x0C, // '{'
0xAA,0xAA,0x80, // '|'
0x82,0x10,0x86,0x19,0x88,0x42,0x20 // '}'

};
const GFXglyph Roboto_11Glyphs[] PROGMEM = {
// bitmapOffset, width, height, xAdvance, xOffset, yOffset
{ 0, 1, 1, 4, 0, 0 }, // ' '
{ 1, 2, 8, 4, 1, -8 }, // '!'
{ 3, 3, 3, 5, 1, -8 }, // '"'
{ 5, 7, 8, 8, 1, -8 }, // '#'
{ 12, 6, 10, 7, 1, -9 }, // '$'
{ 20, 8, 8, 9, 1, -8 }, // '%'
{ 28, 7, 8, 8, 1, -8 }, // '&'
{ 35, 3, 2, 3, 0, -8 }, // '''
{ 36, 4, 12, 5, 1, -9 }, // '('
{ 42, 4, 12, 5, 0, -9 }, // ')'
{ 48, 6, 4, 6, 0, -8 }, // '*'
{ 51, 7, 5, 7, 0, -6 }, // '+'
{ 56, 3, 3, 3, 0, -1 }, // ','
{ 58, 4, 1, 4, 0, -4 }, // '-'
{ 59, 2, 1, 4, 1, -1 }, // '.'
{ 60, 5, 9, 6, 0, -8 }, // '/'
{ 66, 6, 8, 7, 1, -8 }, // '0'
{ 72, 4, 8, 7, 1, -8 }, // '1'
{ 76, 6, 8, 7, 1, -8 }, // '2'
{ 82, 5, 8, 7, 1, -8 }, // '3'
{ 87, 7, 8, 7, 0, -8 }, // '4'
{ 94, 6, 8, 7, 1, -8 }, // '5'
{ 100, 6, 8, 7, 1, -8 }, // '6'
{ 106, 7, 8, 7, 0, -8 }, // '7'
{ 113, 6, 8, 7, 1, -8 }, // '8'
{ 119, 5, 8, 7, 1, -8 }, // '9'
{ 124, 2, 6, 4, 1, -6 }, // ':'
{ 126, 3, 8, 3, 0, -6 }, // ';'
{ 129, 6, 5, 7, 0, -6 }, // '<'
{ 133, 5, 3, 7, 1, -5 }, // '='
{ 135, 5, 5, 7, 1, -6 }, // '>'
{ 139, 6, 8, 6, 0, -8 }, // '?'
{ 145, 9, 10, 11, 1, -8 }, // '@'
{ 157, 8, 8, 8, 0, -8 }, // 'A'
{ 165, 6, 8, 8, 1, -8 }, // 'B'
{ 171, 7, 8, 8, 1, -8 }, // 'C'
{ 178, 7, 8, 8, 1, -8 }, // 'D'
{ 185, 6, 8, 7, 1, -8 }, // 'E'
{ 191, 6, 8, 7, 1, -8 }, // 'F'
{ 197, 7, 8, 9, 1, -8 }, // 'G'
{ 204, 7, 8, 9, 1, -8 }, // 'H'
{ 211, 2, 8, 4, 1, -8 }, // 'I'
{ 213, 6, 8, 7, 0, -8 }, // 'J'
{ 219, 7, 8, 8, 1, -8 }, // 'K'
{ 226, 6, 8, 7, 1, -8 }, // 'L'
{ 232, 9, 8, 11, 1, -8 }, // 'M'
{ 241, 7, 8, 9, 1, -8 }, // 'N'
{ 248, 7, 8, 9, 1, -8 }, // 'O'
{ 255, 7, 8, 8, 1, -8 }, // 'P'
{ 262, 7, 9, 9, 1, -8 }, // 'Q'
{ 270, 7, 8, 8, 1, -8 }, // 'R'
{ 277, 6, 8, 8, 1, -8 }, // 'S'
{ 283, 7, 8, 8, 0, -8 }, // 'T'
{ 290, 6, 8, 8, 1, -8 }, // 'U'
{ 296, 8, 8, 8, 0, -8 }, // 'V'
{ 304, 11, 8, 11, 0, -8 }, // 'W'
{ 315, 8, 8, 8, 0, -8 }, // 'X'
{ 323, 8, 8, 8, 0, -8 }, // 'Y'
{ 331, 7, 8, 8, 0, -8 }, // 'Z'
{ 338, 3, 11, 4, 1, -9 }, // '['
{ 343, 5, 9, 6, 0, -8 }, // ''
{ 349, 3, 11, 4, 0, -9 }, // ']'
{ 354, 4, 4, 6, 1, -8 }, // '^'
{ 356, 6, 1, 6, 0, 0 }, // '_'
{ 357, 4, 2, 4, 0, -9 }, // '' { 358, 5, 6, 7, 1, -6 }, // 'a' { 362, 6, 8, 7, 1, -8 }, // 'b' { 368, 6, 6, 7, 1, -6 }, // 'c' { 373, 6, 8, 7, 0, -8 }, // 'd' { 379, 6, 6, 7, 1, -6 }, // 'e' { 384, 5, 9, 5, 0, -9 }, // 'f' { 390, 6, 8, 7, 0, -6 }, // 'g' { 396, 5, 8, 7, 1, -8 }, // 'h' { 401, 2, 8, 4, 1, -8 }, // 'i' { 403, 3, 10, 4, 0, -8 }, // 'j' { 407, 6, 9, 7, 1, -9 }, // 'k' { 414, 2, 9, 4, 1, -9 }, // 'l' { 417, 9, 6, 11, 1, -6 }, // 'm' { 424, 5, 6, 7, 1, -6 }, // 'n' { 428, 7, 6, 7, 0, -6 }, // 'o' { 434, 6, 8, 7, 1, -6 }, // 'p' { 440, 6, 8, 7, 0, -6 }, // 'q' { 446, 4, 6, 5, 1, -6 }, // 'r' { 449, 5, 6, 7, 1, -6 }, // 's' { 453, 4, 7, 5, 0, -7 }, // 't' { 457, 5, 6, 7, 1, -6 }, // 'u' { 461, 6, 6, 6, 0, -6 }, // 'v' { 466, 9, 6, 9, 0, -6 }, // 'w' { 473, 6, 6, 6, 0, -6 }, // 'x' { 478, 6, 8, 6, 0, -6 }, // 'y' { 484, 6, 6, 6, 0, -6 }, // 'z' { 489, 5, 11, 5, 0, -9 }, // '{' { 496, 2, 9, 4, 1, -8 }, // '|' { 499, 5, 11, 5, 0, -9 } // '}' }; const GFXfont Roboto_11 PROGMEM = { (uint8_t *)Roboto_11Bitmaps,(GFXglyph *)Roboto_11Glyphs,0x20, 0x7E, 14};

changed Font:

` const uint8_t Roboto_11Bitmaps[] PROGMEM = {
0x00, 0xAA, 0xA2, 0xDB, 0x00, 0x28, 0x93, 0xF2, 0x85, 0x1F, 0x14, 0x48,
0x21, 0xC9, 0x22, 0xC0, 0xC0, 0xA6, 0xF0, 0x80, 0xC0, 0xA8, 0xB0, 0xD0,
0x2C, 0x52, 0x52, 0x0C, 0x71, 0x22, 0x43, 0x0A, 0x93, 0x26, 0x7E, 0x90,
0x46, 0x88, 0x88, 0x88, 0x88, 0x42, 0x84, 0x42, 0x22, 0x22, 0x24, 0x48,
0x22, 0xC6, 0x94, 0x10, 0x23, 0xF0, 0x81, 0x00, 0x4A, 0x00, 0xE0, 0x80,
0x10, 0x88, 0x42, 0x21, 0x10, 0x80, 0x72, 0x48, 0xA2, 0x8A, 0x49, 0x1C,
0x6A, 0x22, 0x22, 0x22, 0xF2, 0x41, 0x04, 0x21, 0x08, 0x3E, 0xF4, 0x84,
0xC1, 0x0A, 0x5E, 0x18, 0x30, 0xA2, 0x44, 0x9F, 0x82, 0x04, 0xFA, 0x08,
0x3C, 0x18, 0x29, 0x9C, 0x73, 0x08, 0x3C, 0x9A, 0x29, 0x1C, 0xFC, 0x10,
0x20, 0x81, 0x02, 0x08, 0x30, 0xF2, 0x49, 0x18, 0x92, 0x29, 0x3C, 0xE4,
0xA5, 0x2F, 0x08, 0x4C, 0x80, 0x20, 0x40, 0x00, 0x94, 0x08, 0xCC, 0x1C,
0x08, 0xF0, 0x3C, 0x83, 0x04, 0xC8, 0x00, 0x73, 0x20, 0x84, 0x20, 0x80,
0x08, 0x3C, 0x21, 0x27, 0x54, 0xAA, 0x55, 0x2A, 0xB5, 0x6C, 0x40, 0x1E,
0x00, 0x10, 0x28, 0x28, 0x28, 0x44, 0x7C, 0x44, 0x82, 0xF2, 0x28, 0xBC,
0x8A, 0x28, 0xBC, 0x79, 0x12, 0x14, 0x08, 0x10, 0xA2, 0x3C, 0xF1, 0x12,
0x24, 0x28, 0x51, 0x22, 0x78, 0xFA, 0x08, 0x3C, 0x82, 0x08, 0x3E, 0xFA,
0x08, 0x20, 0xF2, 0x08, 0x20, 0x79, 0x12, 0x14, 0x09, 0xD0, 0xB1, 0x3C,
0x85, 0x0A, 0x17, 0xE8, 0x50, 0xA1, 0x42, 0xAA, 0xAA, 0x08, 0x20, 0x82,
0x08, 0x2C, 0x9C, 0x8D, 0x22, 0x87, 0x0E, 0x12, 0x22, 0x46, 0x82, 0x08,
0x20, 0x82, 0x08, 0x3E, 0x83, 0x61, 0xB1, 0x54, 0xAA, 0x55, 0x4A, 0x65,
0x22, 0x85, 0x8B, 0x95, 0x29, 0x53, 0xA3, 0x42, 0x79, 0x12, 0x14, 0x28,
0x50, 0xA2, 0x3C, 0xF9, 0x12, 0x14, 0x4F, 0x90, 0x20, 0x40, 0x79, 0x9A,
0x14, 0x28, 0x50, 0xB3, 0x3C, 0x04, 0xF1, 0x12, 0x24, 0x4F, 0x12, 0x22,
0x46, 0x72, 0x28, 0x18, 0x18, 0x28, 0x9C, 0xFC, 0x20, 0x40, 0x81, 0x02,
0x04, 0x08, 0x8A, 0x28, 0xA2, 0x8A, 0x28, 0x9C, 0x82, 0x44, 0x44, 0x44,
0x28, 0x28, 0x30, 0x10, 0x8C, 0xC9, 0x91, 0x32, 0x2A, 0x45, 0x30, 0x66,
0x0C, 0xC1, 0x08, 0xC6, 0x4C, 0x28, 0x10, 0x10, 0x28, 0x4C, 0xC6, 0xC6,
0x44, 0x68, 0x28, 0x10, 0x10, 0x10, 0x10, 0x7C, 0x18, 0x20, 0x82, 0x04,
0x10, 0x7E, 0xD2, 0x49, 0x24, 0x93, 0x00, 0x82, 0x10, 0x82, 0x10, 0x42,
0x10, 0xC9, 0x24, 0x92, 0x4B, 0x00, 0x4C, 0xAA, 0xF8, 0xC6, 0xF0, 0xBD,
0x29, 0x78, 0x82, 0x0F, 0x24, 0x8A, 0x29, 0x3C, 0x72, 0x48, 0xA0, 0x99,
0xC0, 0x08, 0x27, 0x92, 0x8A, 0x24, 0x9E, 0x72, 0x4F, 0xA0, 0x91, 0xC0,
0x32, 0x11, 0xE4, 0x21, 0x08, 0x40, 0x79, 0x28, 0xA2, 0x49, 0xE0, 0x9E,
0x84, 0x3D, 0x29, 0x4A, 0x52, 0x8A, 0xAA, 0x41, 0x24, 0x92, 0x58, 0x82,
0x08, 0x24, 0xA3, 0x0A, 0x28, 0x98, 0xAA, 0xAA, 0x80, 0xF7, 0x4C, 0xA4,
0x52, 0x29, 0x14, 0x88, 0xF4, 0xA5, 0x29, 0x48, 0x78, 0x92, 0x14, 0x24,
0x8F, 0x00, 0xF2, 0x48, 0xA2, 0x93, 0xC8, 0x20, 0x79, 0x28, 0xA2, 0x49,
0xE0, 0x82, 0xE8, 0x88, 0x88, 0xF4, 0xB8, 0x29, 0x78, 0x4E, 0x44, 0x44,
0x20, 0x94, 0xA5, 0x29, 0x78, 0x8A, 0x45, 0x14, 0x60, 0x80, 0x99, 0x4D,
0x16, 0x8D, 0x46, 0x61, 0x20, 0xC9, 0x43, 0x0C, 0x53, 0x20, 0x89, 0x45,
0x14, 0x20, 0x82, 0x30, 0x78, 0x43, 0x08, 0x43, 0xE0, 0x31, 0x08, 0x44,
0x61, 0x04, 0x21, 0x0C, 0xAA, 0xAA, 0x80, 0x82, 0x10, 0x86, 0x19, 0x88,
0x42, 0x20, 0x50, 0x3C, 0x21, 0x7A, 0x52, 0xF0, 0x00, 0x00, 0x90, 0x03,
0xC4, 0x90, 0xA1, 0x24, 0x78, 0x00, 0x90, 0x25, 0x29, 0x4A, 0x5E
};

const GFXglyph Roboto_11Glyphs[] PROGMEM = {
{ 0, 1, 1, 4, 0, 0 }, // 0x20 ' '
{ 1, 2, 8, 4, 1, -8 }, // 0x21 '!'
{ 3, 3, 3, 5, 1, -8 }, // 0x22 '"'
{ 5, 7, 8, 8, 1, -8 }, // 0x23 '#'
{ 12, 6, 10, 7, 1, -9 }, // 0x24 '$'
{ 20, 8, 8, 9, 1, -8 }, // 0x25 '%'
{ 28, 7, 8, 8, 1, -8 }, // 0x26 '&'
{ 35, 3, 2, 3, 0, -8 }, // 0x27 '''
{ 36, 4, 12, 5, 1, -9 }, // 0x28 '('
{ 42, 4, 12, 5, 0, -9 }, // 0x29 ')'
{ 48, 6, 4, 6, 0, -8 }, // 0x2A '*'
{ 51, 7, 5, 7, 0, -6 }, // 0x2B '+'
{ 56, 3, 3, 3, 0, -1 }, // 0x2C ','
{ 58, 4, 1, 4, 0, -4 }, // 0x2D '-'
{ 59, 2, 1, 4, 1, -1 }, // 0x2E '.'
{ 60, 5, 9, 6, 0, -8 }, // 0x2F '/'
{ 66, 6, 8, 7, 1, -8 }, // 0x30 '0'
{ 72, 4, 8, 7, 1, -8 }, // 0x31 '1'
{ 76, 6, 8, 7, 1, -8 }, // 0x32 '2'
{ 82, 5, 8, 7, 1, -8 }, // 0x33 '3'
{ 87, 7, 8, 7, 0, -8 }, // 0x34 '4'
{ 94, 6, 8, 7, 1, -8 }, // 0x35 '5'
{ 100, 6, 8, 7, 1, -8 }, // 0x36 '6'
{ 106, 7, 8, 7, 0, -8 }, // 0x37 '7'
{ 113, 6, 8, 7, 1, -8 }, // 0x38 '8'
{ 119, 5, 8, 7, 1, -8 }, // 0x39 '9'
{ 124, 2, 6, 4, 1, -6 }, // 0x3A ':'
{ 126, 3, 8, 3, 0, -6 }, // 0x3B ';'
{ 129, 6, 5, 7, 0, -6 }, // 0x3C '<'
{ 133, 5, 3, 7, 1, -5 }, // 0x3D '='
{ 135, 5, 5, 7, 1, -6 }, // 0x3E '>'
{ 139, 6, 8, 6, 0, -8 }, // 0x3F '?'
{ 145, 9, 10, 11, 1, -8 }, // 0x40 '@'
{ 157, 8, 8, 8, 0, -8 }, // 0x41 'A'
{ 165, 6, 8, 8, 1, -8 }, // 0x42 'B'
{ 171, 7, 8, 8, 1, -8 }, // 0x43 'C'
{ 178, 7, 8, 8, 1, -8 }, // 0x44 'D'
{ 185, 6, 8, 7, 1, -8 }, // 0x45 'E'
{ 191, 6, 8, 7, 1, -8 }, // 0x46 'F'
{ 197, 7, 8, 9, 1, -8 }, // 0x47 'G'
{ 204, 7, 8, 9, 1, -8 }, // 0x48 'H'
{ 211, 2, 8, 4, 1, -8 }, // 0x49 'I'
{ 213, 6, 8, 7, 0, -8 }, // 0x4A 'J'
{ 219, 7, 8, 8, 1, -8 }, // 0x4B 'K'
{ 226, 6, 8, 7, 1, -8 }, // 0x4C 'L'
{ 232, 9, 8, 11, 1, -8 }, // 0x4D 'M'
{ 241, 7, 8, 9, 1, -8 }, // 0x4E 'N'
{ 248, 7, 8, 9, 1, -8 }, // 0x4F 'O'
{ 255, 7, 8, 8, 1, -8 }, // 0x50 'P'
{ 262, 7, 9, 9, 1, -8 }, // 0x51 'Q'
{ 270, 7, 8, 8, 1, -8 }, // 0x52 'R'
{ 277, 6, 8, 8, 1, -8 }, // 0x53 'S'
{ 283, 7, 8, 8, 0, -8 }, // 0x54 'T'
{ 290, 6, 8, 8, 1, -8 }, // 0x55 'U'
{ 296, 8, 8, 8, 0, -8 }, // 0x56 'V'
{ 304, 11, 8, 11, 0, -8 }, // 0x57 'W'
{ 315, 8, 8, 8, 0, -8 }, // 0x58 'X'
{ 323, 8, 8, 8, 0, -8 }, // 0x59 'Y'
{ 331, 7, 8, 8, 0, -8 }, // 0x5A 'Z'
{ 338, 3, 11, 4, 1, -9 }, // 0x5B '['
{ 343, 5, 9, 6, 0, -8 }, // 0x5C ''
{ 349, 3, 11, 4, 0, -9 }, // 0x5D ']'
{ 354, 4, 4, 6, 1, -8 }, // 0x5E '^'
{ 356, 6, 1, 6, 0, 0 }, // 0x5F '_'
{ 357, 4, 2, 4, 0, -9 }, // 0x60 '`'
{ 358, 5, 6, 7, 1, -6 }, // 0x61 'a'
{ 362, 6, 8, 7, 1, -8 }, // 0x62 'b'
{ 368, 6, 6, 7, 1, -6 }, // 0x63 'c'
{ 373, 6, 8, 7, 0, -8 }, // 0x64 'd'
{ 379, 6, 6, 7, 1, -6 }, // 0x65 'e'
{ 384, 5, 9, 5, 0, -9 }, // 0x66 'f'
{ 390, 6, 8, 7, 0, -6 }, // 0x67 'g'
{ 396, 5, 8, 7, 1, -8 }, // 0x68 'h'
{ 401, 2, 8, 4, 1, -8 }, // 0x69 'i'
{ 403, 3, 10, 4, 0, -8 }, // 0x6A 'j'
{ 407, 6, 9, 7, 1, -9 }, // 0x6B 'k'
{ 414, 2, 9, 4, 1, -9 }, // 0x6C 'l'
{ 417, 9, 6, 11, 1, -6 }, // 0x6D 'm'
{ 424, 5, 6, 7, 1, -6 }, // 0x6E 'n'
{ 428, 7, 6, 7, 0, -6 }, // 0x6F 'o'
{ 434, 6, 8, 7, 1, -6 }, // 0x70 'p'
{ 440, 6, 8, 7, 0, -6 }, // 0x71 'q'
{ 446, 4, 6, 5, 1, -6 }, // 0x72 'r'
{ 449, 5, 6, 7, 1, -6 }, // 0x73 's'
{ 453, 4, 7, 5, 0, -7 }, // 0x74 't'
{ 457, 5, 6, 7, 1, -6 }, // 0x75 'u'
{ 461, 6, 6, 6, 0, -6 }, // 0x76 'v'
{ 466, 9, 6, 9, 0, -6 }, // 0x77 'w'
{ 473, 6, 6, 6, 0, -6 }, // 0x78 'x'
{ 478, 6, 8, 6, 0, -6 }, // 0x79 'y'
{ 484, 6, 6, 6, 0, -6 }, // 0x7A 'z'
{ 489, 5, 11, 5, 0, -9 }, // 0x7B '{'
{ 496, 2, 9, 4, 1, -8 }, // 0x7C '|'
{ 499, 5, 11, 5, 0, -9 }, // 0x7D '}'
{ 0, 0, 0, 0, 0, 0 }, // 0x7F 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x80 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x81 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x82 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x83 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x84 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x85 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x86 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x87 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x88 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x89 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8A 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8B 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8C 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8D 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8E 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x8F 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x90 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x91 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x92 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x93 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x94 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x95 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x96 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x97 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x98 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x99 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9A 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9B 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9C 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9D 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9E 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0x9F 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0xA0 ' '
{ 0, 0, 0, 0, 0, 0 }, // 0xA1 '¡'
{ 0, 0, 0, 0, 0, 0 }, // 0xA2 '¢'
{ 0, 0, 0, 0, 0, 0 }, // 0xA3 '£'
{ 0, 0, 0, 0, 0, 0 }, // 0xA4 '¤'
{ 0, 0, 0, 0, 0, 0 }, // 0xA5 '¥'
{ 0, 0, 0, 0, 0, 0 }, // 0xA6 '¦'
{ 0, 0, 0, 0, 0, 0 }, // 0xA7 '§'
{ 0, 0, 0, 0, 0, 0 }, // 0xA8 '¨'
{ 0, 0, 0, 0, 0, 0 }, // 0xA9 '©'
{ 0, 0, 0, 0, 0, 0 }, // 0xAA 'ª'
{ 0, 0, 0, 0, 0, 0 }, // 0xAB '«'
{ 0, 0, 0, 0, 0, 0 }, // 0xAC '¬'
{ 0, 0, 0, 0, 0, 0 }, // 0xAD 'non-printable'
{ 0, 0, 0, 0, 0, 0 }, // 0xAE '®'
{ 0, 0, 0, 0, 0, 0 }, // 0xAF '¯'
{ 0, 0, 0, 0, 0, 0 }, // 0xB0 '°'
{ 0, 0, 0, 0, 0, 0 }, // 0xB1 '±'
{ 0, 0, 0, 0, 0, 0 }, // 0xB2 '²'
{ 0, 0, 0, 0, 0, 0 }, // 0xB3 '³'
{ 0, 0, 0, 0, 0, 0 }, // 0xB4 '´'
{ 0, 0, 0, 0, 0, 0 }, // 0xB5 'µ'
{ 0, 0, 0, 0, 0, 0 }, // 0xB6 '¶'
{ 0, 0, 0, 0, 0, 0 }, // 0xB7 '·'
{ 0, 0, 0, 0, 0, 0 }, // 0xB8 '¸'
{ 0, 0, 0, 0, 0, 0 }, // 0xB9 '¹'
{ 0, 0, 0, 0, 0, 0 }, // 0xBA 'º'
{ 0, 0, 0, 0, 0, 0 }, // 0xBB '»'
{ 0, 0, 0, 0, 0, 0 }, // 0xBC '¼'
{ 0, 0, 0, 0, 0, 0 }, // 0xBD '½'
{ 0, 0, 0, 0, 0, 0 }, // 0xBE '¾'
{ 0, 0, 0, 0, 0, 0 }, // 0xBF '¿'
{ 0, 0, 0, 0, 0, 0 }, // 0xC0 'À'
{ 0, 0, 0, 0, 0, 0 }, // 0xC1 'Á'
{ 0, 0, 0, 0, 0, 0 }, // 0xC2 'Â'
{ 0, 0, 0, 0, 0, 0 }, // 0xC3 'Ã'
{ 0, 0, 0, 0, 0, 0 }, // 0xC4 'Ä'
{ 0, 0, 0, 0, 0, 0 }, // 0xC5 'Å'
{ 0, 0, 0, 0, 0, 0 }, // 0xC6 'Æ'
{ 0, 0, 0, 0, 0, 0 }, // 0xC7 'Ç'
{ 0, 0, 0, 0, 0, 0 }, // 0xC8 'È'
{ 0, 0, 0, 0, 0, 0 }, // 0xC9 'É'
{ 0, 0, 0, 0, 0, 0 }, // 0xCA 'Ê'
{ 0, 0, 0, 0, 0, 0 }, // 0xCB 'Ë'
{ 0, 0, 0, 0, 0, 0 }, // 0xCC 'Ì'
{ 0, 0, 0, 0, 0, 0 }, // 0xCD 'Í'
{ 0, 0, 0, 0, 0, 0 }, // 0xCE 'Î'
{ 0, 0, 0, 0, 0, 0 }, // 0xCF 'Ï'
{ 0, 0, 0, 0, 0, 0 }, // 0xD0 'Ð'
{ 0, 0, 0, 0, 0, 0 }, // 0xD1 'Ñ'
{ 0, 0, 0, 0, 0, 0 }, // 0xD2 'Ò'
{ 0, 0, 0, 0, 0, 0 }, // 0xD3 'Ó'
{ 0, 0, 0, 0, 0, 0 }, // 0xD4 'Ô'
{ 0, 0, 0, 0, 0, 0 }, // 0xD5 'Õ'
{ 0, 0, 0, 0, 0, 0 }, // 0xD6 'Ö'
{ 0, 0, 0, 0, 0, 0 }, // 0xD7 '×'
{ 0, 0, 0, 0, 0, 0 }, // 0xD8 'Ø'
{ 0, 0, 0, 0, 0, 0 }, // 0xD9 'Ù'
{ 0, 0, 0, 0, 0, 0 }, // 0xDA 'Ú'
{ 0, 0, 0, 0, 0, 0 }, // 0xDB 'Û'
{ 0, 0, 0, 0, 0, 0 }, // 0xDC 'Ü'
{ 0, 0, 0, 0, 0, 0 }, // 0xDD 'Ý'
{ 0, 0, 0, 0, 0, 0 }, // 0xDE 'Þ'
{ 0, 0, 0, 0, 0, 0 }, // 0xDF 'ß'
{ 0, 0, 0, 0, 0, 0 }, // 0xE0 'à'
{ 0, 0, 0, 0, 0, 0 }, // 0xE1 'á'
{ 0, 0, 0, 0, 0, 0 }, // 0xE2 'â'
{ 0, 0, 0, 0, 0, 0 }, // 0xE3 'ã'
{ 506, 5, 9, 6, 0, -9 }, // 0xE4 'ä'
{ 0, 0, 0, 0, 0, 0 }, // 0xE5 'å'
{ 0, 0, 0, 0, 0, 0 }, // 0xE6 'æ'
{ 0, 0, 0, 0, 0, 0 }, // 0xE7 'ç'
{ 0, 0, 0, 0, 0, 0 }, // 0xE8 'è'
{ 0, 0, 0, 0, 0, 0 }, // 0xE9 'é'
{ 0, 0, 0, 0, 0, 0 }, // 0xEA 'ê'
{ 0, 0, 0, 0, 0, 0 }, // 0xEB 'ë'
{ 0, 0, 0, 0, 0, 0 }, // 0xEC 'ì'
{ 0, 0, 0, 0, 0, 0 }, // 0xED 'í'
{ 0, 0, 0, 0, 0, 0 }, // 0xEE 'î'
{ 0, 0, 0, 0, 0, 0 }, // 0xEF 'ï'
{ 0, 0, 0, 0, 0, 0 }, // 0xF0 'ð'
{ 0, 0, 0, 0, 0, 0 }, // 0xF1 'ñ'
{ 0, 0, 0, 0, 0, 0 }, // 0xF2 'ò'
{ 0, 0, 0, 0, 0, 0 }, // 0xF3 'ó'
{ 0, 0, 0, 0, 0, 0 }, // 0xF4 'ô'
{ 0, 0, 0, 0, 0, 0 }, // 0xF5 'õ'
{ 513, 7, 9, 7, 0, -9 }, // 0xF6 'ö'
{ 0, 0, 0, 0, 0, 0 }, // 0xF7 '÷'
{ 0, 0, 0, 0, 0, 0 }, // 0xF8 'ø'
{ 0, 0, 0, 0, 0, 0 }, // 0xF9 'ù'
{ 0, 0, 0, 0, 0, 0 }, // 0xFA 'ú'
{ 0, 0, 0, 0, 0, 0 }, // 0xFB 'û'
{ 522, 5, 8, 6, 0, -8 } // 0xFC 'ü'
};

const GFXfont Roboto_11 PROGMEM = {
(uint8_t *)Roboto_11Bitmaps, (GFXglyph *)Roboto_11Glyphs, 0x20, 0xFC, 14}; `

Hope someone can help me

MyFontIconsGlyphs does not distinguish hexa and decimal numbers

Example read in:
const GFXfont MyFontIcons PROGMEM = {
(uint8_t *)MyFontIconsBitmaps,
(GFXglyph *)MyFontIconsGlyphs, 32, 80, 24};

Example output, bug 0x32 and 0x80 instead of 32 and 80:
const GFXfont MyFontIcons PROGMEM = {
(uint8_t *)MyFontIconsBitmaps,
(GFXglyph *)MyFontIconsGlyphs, 0x32, 0x80, 24};

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.