My Marlin configs for Fabrikator Mini and CTC i3 Pro B
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

genallfont.sh 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. #!/usr/bin/env bash
  2. #####################################################################
  3. # genallfont.sh for Marlin
  4. #
  5. # This script will generates font data for language headers
  6. #
  7. # Copyright 2015-2016 Yunhui Fu <yhfudev@gmail.com>
  8. # License: GPL/BSD
  9. #####################################################################
  10. my_getpath () {
  11. PARAM_DN="$1"
  12. shift
  13. #readlink -f
  14. DN="${PARAM_DN}"
  15. FN=
  16. if [ ! -d "${DN}" ]; then
  17. FN=$(basename "${DN}")
  18. DN=$(dirname "${DN}")
  19. fi
  20. cd "${DN}" > /dev/null 2>&1
  21. DN=$(pwd)
  22. cd - > /dev/null 2>&1
  23. echo "${DN}/${FN}"
  24. }
  25. #DN_EXEC=`echo "$0" | ${EXEC_AWK} -F/ '{b=$1; for (i=2; i < NF; i ++) {b=b "/" $(i)}; print b}'`
  26. DN_EXEC=$(dirname $(my_getpath "$0") )
  27. if [ ! "${DN_EXEC}" = "" ]; then
  28. DN_EXEC="$(my_getpath "${DN_EXEC}")/"
  29. else
  30. DN_EXEC="${DN_EXEC}/"
  31. fi
  32. #####################################################################
  33. EXEC_WXGGEN="${DN_EXEC}/uxggenpages.sh"
  34. EXEC_BDF2U8G=`which bdf2u8g`
  35. echo "0 set EXEC_BDF2U8G=$EXEC_BDF2U8G"
  36. if [ ! -x "${EXEC_BDF2U8G}" ]; then
  37. EXEC_BDF2U8G="${DN_EXEC}/bdf2u8g"
  38. fi
  39. if [ ! -x "${EXEC_BDF2U8G}" ]; then
  40. EXEC_BDF2U8G="${PWD}/bdf2u8g"
  41. fi
  42. if [ ! -x "${EXEC_BDF2U8G}" ]; then
  43. echo "ERR: Not found bdf2u8g!" >&2
  44. echo "plaese compile u8blib/tools/font/bdf2u8g/bdf2u8g and link to it from here!" >&2
  45. exit 1
  46. fi
  47. FN_NEWFONT="${DN_EXEC}/ISO10646-0-3.bdf"
  48. if [ ! "$1" = "" ]; then
  49. FN_NEWFONT="$1"
  50. fi
  51. DN_WORK=./tmp1
  52. (cd ${DN_EXEC}; gcc -o genpages genpages.c getline.c)
  53. LANGS_DEFAULT="an bg ca zh_CN zh_TW cz da de el el-gr en es eu fi fr gl hr it jp-kana nl pl pt pt-br ru sk tr uk test"
  54. for LANG in ${MARLIN_LANGS:=$LANGS_DEFAULT} ; do
  55. echo "INFO: generate Marlin language data for '${LANG}'" >&2
  56. rm -rf ${DN_WORK}/
  57. mkdir -p ${DN_WORK}
  58. cp Configuration.h ${DN_WORK}/
  59. cp src/lcd/language/language_${LANG}.h ${DN_WORK}/
  60. cd ${DN_WORK}/
  61. ${EXEC_WXGGEN} "${FN_NEWFONT}"
  62. sed -e 's|fonts//|fonts/|g' -e 's|fonts//|fonts/|g' -e 's|[/0-9a-zA-Z_\-]*buildroot/share/fonts|buildroot/share/fonts|' -i fontutf8-data.h
  63. cd ../
  64. mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/language_data_${LANG}.h
  65. rm -rf ${DN_WORK}/
  66. done
  67. # generate default ASCII font (char range 0-255):
  68. # Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h
  69. #if [ "${MARLIN_LANGS}" == "${LANGS_DEFAULT}" ]; then
  70. if [ 1 = 1 ]; then
  71. rm -rf ${DN_WORK}/
  72. mkdir -p ${DN_WORK}
  73. cd ${DN_WORK}/
  74. ${EXEC_BDF2U8G} -b 1 -e 127 ${FN_NEWFONT} ISO10646_1_5x7 tmp1.h
  75. ${EXEC_BDF2U8G} -b 1 -e 255 ${FN_NEWFONT} ISO10646_1_5x7 tmp2.h
  76. cat << EOF >tmp3.h
  77. #include <U8glib.h>
  78. #if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7)
  79. // reduced font (only sysmbols 1 - 127) - saves about 1278 bytes of FLASH
  80. EOF
  81. cat tmp1.h >>tmp3.h
  82. cat << EOF >>tmp3.h
  83. #else
  84. // extended (original) font (sysmbols 1 - 255)
  85. EOF
  86. cat tmp2.h >>tmp3.h
  87. cat << EOF >>tmp3.h
  88. #endif
  89. EOF
  90. cd ..
  91. mv ${DN_WORK}/tmp3.h src/lcd/dogm/dogm_font_data_ISO10646_1.h
  92. fi