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 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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. local PARAM_DN="$1"
  12. shift
  13. #readlink -f
  14. local DN="${PARAM_DN}"
  15. local 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_FONT="${1:-}"
  48. FN_FONT="${DN_EXEC}/marlin-6x12-3.bdf"
  49. if [ ! "$1" = "" ]; then
  50. FN_FONT="$1"
  51. fi
  52. DN_FONT0=`dirname ${FN_FONT}`
  53. DN_FONT="$(my_getpath ${DN_FONT0})"
  54. FN_FONT="$(my_getpath "${DN_FONT}")/"`basename ${FN_FONT}`
  55. [ -z "${FN_FONT}" ] && FN_FONT=${DN_DATA}/../${FN_FONT_BASE}.bdf
  56. [ -f "${FN_FONT}" ] || FN_FONT=${DN_EXEC}/${FN_FONT_BASE}.bdf
  57. [ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/wenquanyi/${FN_FONT_BASE}.bdf"
  58. [ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/X11/misc/${FN_FONT_BASE}.bdf"
  59. [ -f "${FN_FONT}" ] || FN_FONT="$FONTHOME/misc/${FN_FONT_BASE}.bdf"
  60. echo "genallfont.sh: FN_FONT=${FN_FONT}"
  61. DN_WORK=./tmp1
  62. (cd ${DN_EXEC}; gcc -o genpages genpages.c getline.c)
  63. 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"
  64. for LANG in ${MARLIN_LANGS:=$LANGS_DEFAULT} ; do
  65. echo "INFO: generate Marlin language data for '${LANG}'" >&2
  66. rm -rf ${DN_WORK}/
  67. mkdir -p ${DN_WORK}
  68. cp Configuration.h ${DN_WORK}/
  69. cp src/lcd/language/language_${LANG}.h ${DN_WORK}/
  70. cd ${DN_WORK}/
  71. ${EXEC_WXGGEN} "${FN_FONT}"
  72. 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
  73. cd ../
  74. mv ${DN_WORK}/fontutf8-data.h src/lcd/dogm/language_data_${LANG}.h
  75. rm -rf ${DN_WORK}/
  76. done
  77. # generate default ASCII font (char range 0-255):
  78. # Marlin/src/lcd/dogm/dogm_font_data_ISO10646_1.h
  79. #if [ "${MARLIN_LANGS}" == "${LANGS_DEFAULT}" ]; then
  80. if [ 1 = 1 ]; then
  81. rm -rf ${DN_WORK}/
  82. mkdir -p ${DN_WORK}
  83. cd ${DN_WORK}/
  84. ${EXEC_BDF2U8G} -b 1 -e 127 ${FN_FONT} ISO10646_1_5x7 tmp1.h
  85. ${EXEC_BDF2U8G} -b 1 -e 255 ${FN_FONT} ISO10646_1_5x7 tmp2.h
  86. cat << EOF >tmp3.h
  87. #include <U8glib.h>
  88. #if defined(__AVR__) && ENABLED(NOT_EXTENDED_ISO10646_1_5X7)
  89. // reduced font (only symbols 1 - 127) - saves about 1278 bytes of FLASH
  90. EOF
  91. cat tmp1.h >>tmp3.h
  92. cat << EOF >>tmp3.h
  93. #else
  94. // extended (original) font (symbols 1 - 255)
  95. EOF
  96. cat tmp2.h >>tmp3.h
  97. cat << EOF >>tmp3.h
  98. #endif
  99. EOF
  100. cd ..
  101. mv ${DN_WORK}/tmp3.h src/lcd/dogm/dogm_font_data_ISO10646_1.h
  102. fi