修改高通默认关机充电电量显示字体为robot 36x64

embrace21soul 2017-07-04 08:23:09
1、替换bootable/recovery/minui/font_10x18.h字库文件,制作成roboto 36x64大小的字库文件,如何制作出这个字库文件?
2、我用BMfont生成Png文件,然后用gimp转换成gimp_image结构体,利用mkfont.c文件生成font_36x64文件,但显示依然是乱码的,这个字库具体该怎么做?
...全文
2490 1 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
embrace21soul 2018-03-29
  • 打赏
  • 举报
回复
1、将python脚本mkfonten.py和Inconsolata.ttf字库文件放在同一目录下,特别注意,用来生成字体最好选择等高等宽字体,不然会出现两个文字显示间隙过大 2、执行python mkfonten.py,根据提示输入需要生成的字体大小 3、将生成所需的字库文件 mkfonten.py文件如下 #!/usr/bin/env python from struct import * from PIL import Image, ImageDraw, ImageFont, ImageFilter import sys print "preparing data" s = '' data = "" n = 0 for i in range(32,128): s += "%c"%i data += "{0:#06x}, ".format(i) n += 1 if ((n%12) == 0): data += "\n" print "count:%d" %len(s) if (len(sys.argv) > 1): fontsize_en = int(sys.argv[1]) else: print u"enter font size" fontsize_en = int(raw_input()) font_name = "Inconsolata.ttf" font_en = ImageFont.truetype(font_name, fontsize_en) width_en,height_en = font_en.getsize("W") top_margin=0 height_spacing=0 height_en=height_en+height_spacing print "fontsize: %d" %(fontsize_en) print "font en: %dx%d" %(width_en,height_en) im_en = Image.new('P', (width_en*len(s), height_en), 0) text = ImageDraw.Draw(im_en) #print "painting ascii" size = "" for i in range(len(s)): text.text((i*width_en, top_margin), s[i], 255, font_en) im_en.save("data_en_%d_%dx%d.png"%(fontsize_en,width_en,height_en)) print "generating png file data_en_%d_%dx%d.png"%(fontsize_en,width_en,height_en) pixs_en = im_en.load() pixels = [ ] width,height = im_en.size run_count = 1 run_val = "" for y in range(height): for x in range(width): r = (pixs_en[x,y] > 0xC0) if run_val != "": val = (0x80 if r else 0x00) if (val == run_val) & (run_count < 127): run_count += 1 else: pixels.append(run_count | run_val) run_val = val run_count = 1 else: run_val = (0x80 if r else 0x00) pixels.append(run_count | run_val) pixels.append(0) print "generating header files font_%d_%dx%d.h" %(fontsize_en,width_en,height_en) # gen font data f = open('fonten%d_%dx%d.h'%(fontsize_en,width_en,height_en), 'wb') f.write("//top_margin=%d height_spacing=%d font_name=%s\n"%(top_margin,height_spacing,font_name)) f.write("struct {\n") f.write(" unsigned width;\n") f.write(" unsigned height;\n") f.write(" unsigned cwidth;\n") f.write(" unsigned cheight;\n") f.write(" unsigned char rundata[];\n") f.write("} font = {\n") f.write(" .width = %s,\n"%width) f.write(" .height = %s,\n"%height) f.write(" .cwidth = %s,\n"%width_en) f.write(" .cheight = %s,\n"%height_en) f.write(" .rundata = {\n") n = 0 for pix in pixels: f.write(("0x%02x,"%pix)) n += 1 if ((n%15) == 0): f.write("\n") f.write("}\n") f.write('};') f.close()
内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。

4,659

社区成员

发帖
与我相关
我的任务
社区描述
本论坛以AI、WoS 、XR、IoT、Auto、生成式AI等核心板块组成,为开发者提供便捷及高效的学习和交流平台。 高通开发者专区主页:https://qualcomm.csdn.net/
人工智能物联网机器学习 技术论坛(原bbs) 北京·东城区
社区管理员
  • csdnsqst0050
  • chipseeker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧