| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- https://github.com/harfbuzz/harfbuzz/tree/11.2.1
- User Manual
- https://harfbuzz.github.io/
- hb-shape unifont-16.0.04.otf "नमस्ते"
- hb-shape unifont-16.0.04.otf "नमस्ते" --no-glyph-names --show-extents --output-format=json
- [
- {"g":2345,"cl":0,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
- {"g":2351,"cl":1,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
- {"g":2361,"cl":2,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
- {"g":2382,"cl":2,"dx":0,"dy":0,"ax":0,"ay":0,"xb":-28,"yb":4,"w":16,"h":-12},
- {"g":2341,"cl":4,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
- {"g":2376,"cl":4,"dx":0,"dy":0,"ax":0,"ay":0,"xb":-52,"yb":56,"w":24,"h":-12}
- ]
- hb-view unifont-16.0.04.otf "नमस्ते"
- ~/git/bdf2ttf/bdf2ttf -v unifont.ttf ~/git/bdf2ttf/sample.ini ../bdf/unifont.bdf
- hb-shape unifont.ttf "नमस्ते" --no-glyph-names --show-extents --output-format=json
- hb-shape unifont-15.1.05.otf "नमस्ते" --font-size=16 --output-format=json > test.json
- [
- {"g":"gid2345","cl":0,"dx":0,"dy":0,"ax":16,"ay":0},
- {"g":"gid2351","cl":1,"dx":0,"dy":0,"ax":16,"ay":0},
- {"g":"gid2361","cl":2,"dx":0,"dy":0,"ax":16,"ay":0},
- {"g":"gid2382","cl":2,"dx":0,"dy":0,"ax":0,"ay":0},
- {"g":"gid2341","cl":4,"dx":0,"dy":0,"ax":16,"ay":0},
- {"g":"gid2376","cl":4,"dx":0,"dy":0,"ax":0,"ay":0}
- ]
- static const unsigned char teststr[] U8X8_PROGMEM = {
- 0x09, 0x28, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 2344);
- 0x09, 0x2e, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 2350);
- 0x09, 0x38, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2360);
- 0x09, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2381);
- 0x09, 0x24, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2340);
- 0x09, 0x47, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2375);
- 0x00, 0x00 // end of binary
- };
- Further tests:
- https://github.com/olikraus/u8g2/issues/1015
- അഷ്ഹദ്
- static const unsigned char testarabic[] U8X8_PROGMEM = {
- 0x0d, 0x05, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 3333);
- 0x0d, 0x37, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 3383);
- 0x0d, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 3405);
- 0x0d, 0x39, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 3385);
- 0x0d, 0x26, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 3366);
- 0x0d, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 3405);
- 0x00, 0x00 // end of binary
- };
- https://github.com/olikraus/u8g2/issues/640
- String msg = "ﺍﻟﺸُﻮﻛُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸُﻜُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸِﻴﻜُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸﻮﻛﻮﻻ أﻭ ﺍﻟﺸﻜﻼﻁ";
- //String msg = "Hello world! This is a test string.";
- arabic "Hello World", u8g2_font_unifont_t_arabic
- مرحبًا
- static const unsigned char testarabic[] U8X8_PROGMEM = {
- 0x06, 0x27, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 1575);
- 0x06, 0x28, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 8, 0, 1576);
- 0x06, 0x4b, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 8, 0, 1611);
- 0x06, 0x2d, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 1581);
- 0x06, 0x31, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 24, 0, 1585);
- 0x06, 0x45, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 1605);
- 0x00, 0x00 // end of binary
- };
- hb-shape unifont-15.1.05.otf "नमस्ते" --font-size=16 --output-format=json | ./hbshape2u8g2 "नमस्ते" teststr
- static const unsigned char teststr[] U8X8_PROGMEM = { // "नमस्ते"
- 0x09, 0x28, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 2344);
- 0x09, 0x2e, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 2350);
- 0x09, 0x38, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2360);
- 0x09, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2381);
- 0x09, 0x24, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2340);
- 0x09, 0x47, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2375);
- 0x00, 0x00 // end of binary
- };
|