From da64a36fdd78516e02e69833e900eb9f1408e751 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Sun, 30 May 2021 12:21:22 +0200 Subject: [PATCH] Fixed font bitmap generation --- cmake/Bitmaps.cmake | 2 +- radio/src/fonts/extra_13px.png | Bin 1367 -> 0 bytes radio/src/fonts/extra_15px.png | Bin 1367 -> 0 bytes radio/src/fonts/extra_24px.png | Bin 1367 -> 0 bytes radio/src/fonts/extra_32px.png | Bin 1367 -> 0 bytes radio/src/fonts/extra_64px.png | Bin 1367 -> 0 bytes radio/src/fonts/extra_9px.png | Bin 1367 -> 0 bytes tools/build-font-bitmap.py | 7 +++++-- 8 files changed, 6 insertions(+), 3 deletions(-) delete mode 100644 radio/src/fonts/extra_13px.png delete mode 100644 radio/src/fonts/extra_15px.png delete mode 100644 radio/src/fonts/extra_24px.png delete mode 100644 radio/src/fonts/extra_32px.png delete mode 100644 radio/src/fonts/extra_64px.png delete mode 100644 radio/src/fonts/extra_9px.png diff --git a/cmake/Bitmaps.cmake b/cmake/Bitmaps.cmake index 48b16f5a9..41a8589b6 100644 --- a/cmake/Bitmaps.cmake +++ b/cmake/Bitmaps.cmake @@ -41,7 +41,7 @@ macro(add_truetype_font_target name size subset effect args) OUTPUT ${target}.png ${target}.specs ${target}.lbm COMMAND ${PYTHON_EXECUTABLE} ${TOOLS_DIR}/build-font-bitmap.py --subset ${subset} --size ${size} --font ${font} --output ${target} COMMAND ${PYTHON_EXECUTABLE} ${UTILS_DIR}/bin2lbm.py ${target}.png ${target}.lbm - DEPENDS ${TOOLS_DIR}/build-font-bitmap.py ${TOOLS_DIR}/charset.py ${LIBOPENUI_TOOLS_DIR}/encode-bitmap.py ${RADIO_SRC_DIR}/translations/cn.h.txt ${RADIO_SRC_DIR}/fonts/extra_${size}px.png + DEPENDS ${TOOLS_DIR}/build-font-bitmap.py ${TOOLS_DIR}/charset.py ${LIBOPENUI_TOOLS_DIR}/encode-bitmap.py ) add_custom_target(truetype_font_${name} DEPENDS ${target}.png ${target}.specs) set(truetype_fonts_targets ${truetype_fonts_targets} truetype_font_${name}) diff --git a/radio/src/fonts/extra_13px.png b/radio/src/fonts/extra_13px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/radio/src/fonts/extra_15px.png b/radio/src/fonts/extra_15px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/radio/src/fonts/extra_24px.png b/radio/src/fonts/extra_24px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/radio/src/fonts/extra_32px.png b/radio/src/fonts/extra_32px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/radio/src/fonts/extra_64px.png b/radio/src/fonts/extra_64px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/radio/src/fonts/extra_9px.png b/radio/src/fonts/extra_9px.png deleted file mode 100644 index cbeb4758ea771f9bc56d6ee15e567ba9d25cdf99..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1367 zcmV-d1*rOoP) zaB^>EX>4U6ba`-PAZ2)IW&i+q+U=KHvg0TWhTmDmECJmREC+L`njOsY=LeJY$?40S zu6~-Tm>95(C81Apk}&@HdxpPoaFiI-Jg1UU#GyqCS4?uekGgw`y8C#p9^;EVJZ~^& zf>G|voQ`}z&REY!-j1FMxqVPn#<_95-l#_r=VRbu@E8)h4a9yF)uTxGSl0XcI+jz( z{&5TExwU;d<37XcRGgC~az(Ek-BZClb5uv%`f^l!+kYDRd>tN35qahzBysn8dnwq0 z6shQW_i+5oF}BckJ(9s@ZF71X^_T| z%O`s2Ic|CQe1q)AxHr=e9=SdZ^NU9=PaE+g)^*O=^PJ<}UDbpwr?aWYPAIGy7G5g} z_G1anaT?~nTS3bxmj={5ws@g6D#SoMNvTt%8EEWDqXr+92RlaQ#?)ATt0}ikU_E0s%7P4kuYf64;;!U^?I#r@fYqZ#mwQAYqck!3L!XSgMBn zam~n~YGP_;$=tFPt4WduR9H%$*6X&qxVm|A_w2=MmaN%w%ARvBxfU*hx3LwJW67nI zT4A$7b4{UQeTC%WOD?_aN|#^xDpzetpQg=PYTj}yt#O`(hnL2Hz=`+tV>yz4{`d#}CYILaaCbic2lNzM%_ZW7*K*?eTVypz>z6c

w3au97#v!67hOpzL*zcXze-_V1Zye?K6ma)w2t++Y9z00v@9 zM??Ss00000`9r&Z00009a7bBm000XU000XU0RWnu7ytkO2XskIMF-;y4GRe_YTvIn z0000PbVXQnLvL+uWo~o;Lvm$dbY)~9cWHEJAV*0}P*;Ht7XSbN4M{{nR0!8&IDPu` Ze*g$417U9NgjfIo002ovPDHLkV1o2-bt(V= diff --git a/tools/build-font-bitmap.py b/tools/build-font-bitmap.py index 7ad1a7181..be9f6b236 100755 --- a/tools/build-font-bitmap.py +++ b/tools/build-font-bitmap.py @@ -7,6 +7,7 @@ import sys from PIL import Image, ImageDraw, ImageFont from charset import get_chars, special_chars, extra_chars, standard_chars, is_cjk_char +EXTRA_BITMAP_MAX_WIDTH = 297 class FontBitmap: def __init__(self, language, font_size, font_name, foreground, background): @@ -17,7 +18,9 @@ class FontBitmap: self.background = background self.font = self.load_font(font_name) self.extra_bitmap = self.load_extra_bitmap() - #self.extra_bitmap = None + self.extra_bitmap_width = EXTRA_BITMAP_MAX_WIDTH + if self.extra_bitmap is not None: + self.extra_bitmap_width = self.extra_bitmap.width def load_extra_bitmap(self): try: @@ -63,7 +66,7 @@ class FontBitmap: (_,baseline), (offset_x, offset_y) = self.font.font.getsize(self.chars) (text_width, text_height) = self.get_text_dimensions(self.chars) - img_width = text_width + self.extra_bitmap.width + img_width = text_width + self.extra_bitmap_width image = Image.new("RGB", (img_width, text_height), self.background) draw = ImageDraw.Draw(image)