info.txt 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. https://github.com/harfbuzz/harfbuzz/tree/11.2.1
  2. User Manual
  3. https://harfbuzz.github.io/
  4. hb-shape unifont-16.0.04.otf "नमस्ते"
  5. hb-shape unifont-16.0.04.otf "नमस्ते" --no-glyph-names --show-extents --output-format=json
  6. [
  7. {"g":2345,"cl":0,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
  8. {"g":2351,"cl":1,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
  9. {"g":2361,"cl":2,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
  10. {"g":2382,"cl":2,"dx":0,"dy":0,"ax":0,"ay":0,"xb":-28,"yb":4,"w":16,"h":-12},
  11. {"g":2341,"cl":4,"dx":0,"dy":0,"ax":64,"ay":0,"xb":0,"yb":44,"w":64,"h":-40},
  12. {"g":2376,"cl":4,"dx":0,"dy":0,"ax":0,"ay":0,"xb":-52,"yb":56,"w":24,"h":-12}
  13. ]
  14. hb-view unifont-16.0.04.otf "नमस्ते"
  15. ~/git/bdf2ttf/bdf2ttf -v unifont.ttf ~/git/bdf2ttf/sample.ini ../bdf/unifont.bdf
  16. hb-shape unifont.ttf "नमस्ते" --no-glyph-names --show-extents --output-format=json
  17. hb-shape unifont-15.1.05.otf "नमस्ते" --font-size=16 --output-format=json > test.json
  18. [
  19. {"g":"gid2345","cl":0,"dx":0,"dy":0,"ax":16,"ay":0},
  20. {"g":"gid2351","cl":1,"dx":0,"dy":0,"ax":16,"ay":0},
  21. {"g":"gid2361","cl":2,"dx":0,"dy":0,"ax":16,"ay":0},
  22. {"g":"gid2382","cl":2,"dx":0,"dy":0,"ax":0,"ay":0},
  23. {"g":"gid2341","cl":4,"dx":0,"dy":0,"ax":16,"ay":0},
  24. {"g":"gid2376","cl":4,"dx":0,"dy":0,"ax":0,"ay":0}
  25. ]
  26. static const unsigned char teststr[] U8X8_PROGMEM = {
  27. 0x09, 0x28, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 2344);
  28. 0x09, 0x2e, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 2350);
  29. 0x09, 0x38, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2360);
  30. 0x09, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2381);
  31. 0x09, 0x24, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2340);
  32. 0x09, 0x47, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2375);
  33. 0x00, 0x00 // end of binary
  34. };
  35. Further tests:
  36. https://github.com/olikraus/u8g2/issues/1015
  37. അഷ്ഹദ്
  38. static const unsigned char testarabic[] U8X8_PROGMEM = {
  39. 0x0d, 0x05, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 3333);
  40. 0x0d, 0x37, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 3383);
  41. 0x0d, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 3405);
  42. 0x0d, 0x39, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 3385);
  43. 0x0d, 0x26, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 3366);
  44. 0x0d, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 3405);
  45. 0x00, 0x00 // end of binary
  46. };
  47. https://github.com/olikraus/u8g2/issues/640
  48. String msg = "ﺍﻟﺸُﻮﻛُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸُﻜُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸِﻴﻜُﻮﻻَﺗَﺔ أﻭ ﺍﻟﺸﻮﻛﻮﻻ أﻭ ﺍﻟﺸﻜﻼﻁ";
  49. //String msg = "Hello world! This is a test string.";
  50. arabic "Hello World", u8g2_font_unifont_t_arabic
  51. مرحبًا
  52. static const unsigned char testarabic[] U8X8_PROGMEM = {
  53. 0x06, 0x27, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 1575);
  54. 0x06, 0x28, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 8, 0, 1576);
  55. 0x06, 0x4b, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 8, 0, 1611);
  56. 0x06, 0x2d, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 1581);
  57. 0x06, 0x31, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 24, 0, 1585);
  58. 0x06, 0x45, 0x08, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 1605);
  59. 0x00, 0x00 // end of binary
  60. };
  61. hb-shape unifont-15.1.05.otf "नमस्ते" --font-size=16 --output-format=json | ./hbshape2u8g2 "नमस्ते" teststr
  62. static const unsigned char teststr[] U8X8_PROGMEM = { // "नमस्ते"
  63. 0x09, 0x28, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 0, 0, 2344);
  64. 0x09, 0x2e, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 16, 0, 2350);
  65. 0x09, 0x38, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2360);
  66. 0x09, 0x4d, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 32, 0, 2381);
  67. 0x09, 0x24, 0x10, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2340);
  68. 0x09, 0x47, 0x00, 0x00, // u8g2_DrawGlyph(&u8g2, 48, 0, 2375);
  69. 0x00, 0x00 // end of binary
  70. };