main.c 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #include "u8g2.h"
  2. #include <stdio.h>
  3. u8g2_t u8g2;
  4. const uint16_t my_kerning_table[] =
  5. {
  6. /* first char, second char, gap reduction value */
  7. 0x0E17, 0x0E34, 14, /* ท and ิ */
  8. /* add more pairs here... */
  9. /* this line terminates the table */
  10. 0xffff, 0xffff, 0xffff
  11. };
  12. int main(void)
  13. {
  14. int x, y;
  15. int k;
  16. int i;
  17. u8g2_SetupBuffer_SDL_128x64_4(&u8g2, &u8g2_cb_r0);
  18. u8x8_InitDisplay(u8g2_GetU8x8(&u8g2));
  19. u8x8_SetPowerSave(u8g2_GetU8x8(&u8g2), 0);
  20. //u8g2_SetFont(&u8g2, u8g2_font_helvB18_tr);
  21. x = 50;
  22. y = 30;
  23. for(;;)
  24. {
  25. #ifdef U8G2_WITH_HVLINE_COUNT
  26. u8g2.hv_cnt = 0UL;
  27. #endif /* U8G2_WITH_HVLINE_COUNT */
  28. /*
  29. u8g2_ClearBuffer(&u8g2);
  30. u8g2_SetFontDirection(&u8g2, 0);
  31. u8g2_DrawStr(&u8g2, x, y, "ABC");
  32. u8g2_SetFontDirection(&u8g2, 1);
  33. u8g2_DrawStr(&u8g2, x, y, "abc");
  34. u8g2_SetFontDirection(&u8g2, 2);
  35. u8g2_DrawStr(&u8g2, x, y, "abc");
  36. u8g2_SetFontDirection(&u8g2, 3);
  37. u8g2_DrawStr(&u8g2, x, y, "abc");
  38. u8g2_SendBuffer(&u8g2);
  39. */
  40. u8g2_SetFont(&u8g2, u8g2_font_etl24thai_t);
  41. u8g2_FirstPage(&u8g2);
  42. i = 0;
  43. do
  44. {
  45. u8g2_SetFontDirection(&u8g2, 0);
  46. u8g2_DrawExtUTF8(&u8g2, x, y, 0, NULL, "[ทิ]");
  47. u8g2_DrawExtUTF8(&u8g2, x, y+20, 0, my_kerning_table, "[ทิ]");
  48. i++;
  49. } while( u8g2_NextPage(&u8g2) );
  50. #ifdef U8G2_WITH_HVLINE_COUNT
  51. printf("hv cnt: %ld\n", u8g2.hv_cnt);
  52. #endif /* U8G2_WITH_HVLINE_COUNT */
  53. do
  54. {
  55. k = u8g_sdl_get_key();
  56. } while( k < 0 );
  57. if ( k == 273 ) y -= 7;
  58. if ( k == 274 ) y += 7;
  59. if ( k == 276 ) x -= 7;
  60. if ( k == 275 ) x += 7;
  61. if ( k == 'e' ) y -= 1;
  62. if ( k == 'x' ) y += 1;
  63. if ( k == 's' ) x -= 1;
  64. if ( k == 'd' ) x += 1;
  65. if ( k == 'q' ) break;
  66. }
  67. //u8x8_Set8x8Font(u8g2_GetU8x8(&u8g2), bdf_font);
  68. //u8x8_Draw8x8String(u8g2_GetU8x8(&u8g2), 0, 0, "Hello World!");
  69. return 0;
  70. }