Qt on Android 字体挑选



  • Qt on Android 字体挑选

    在开发安卓应用的时候,发现,字体是个很大的问题,毕竟安卓上没有微软雅黑,不能直接设置微软雅黑。

    方法如下:

    1. 使用 qrc 资源文件加载 ttf,但是毕竟微软雅黑的块头在那,这么嗨大。在编译 qrc 的时候,cpu 占用极高。

    2. 挑选安卓系统上现有的字体

      在我的魅蓝 note 2 上,使用 Qt.fontFamilies() 可以打印安卓系统上的字体库。

      AndroidClock
      AndroidClock-Large
      Carrois Gothic SC
      Clockopia
      Coming Soon
      Cutive Mono
      Dancing Script
      Droid Sans Mono
      Lohit Odia
      MotoyaLMaru
      Noto Color Emoji
      Noto Naskh Arabic
      Noto Naskh Arabic UI
      Noto Sans
      Noto Sans Armenian
      Noto Sans Balinese
      Noto Sans Batak
      Noto Sans Bengali
      Noto Sans Bengali UI
      Noto Sans Buginese
      Noto Sans Buhid
      Noto Sans Canadian Aboriginal
      Noto Sans Cham
      Noto Sans Cherokee
      Noto Sans Coptic
      Noto Sans Devanagari
      Noto Sans Devanagari UI
      Noto Sans Ethiopic
      Noto Sans Georgian
      Noto Sans Glagolitic
      Noto Sans Gujarati
      Noto Sans Gujarati UI
      Noto Sans Gurmukhi
      Noto Sans Gurmukhi UI
      Noto Sans Hanunoo
      Noto Sans Hebrew
      Noto Sans Javanese
      Noto Sans JP
      Noto Sans Kannada
      Noto Sans Kannada UI
      Noto Sans Kayah Li
      Noto Sans KR
      Noto Sans Lao
      Noto Sans Lao UI
      Noto Sans Lepcha
      Noto Sans Limbu
      Noto Sans Malayalam
      Noto Sans Malayalam UI
      Noto Sans Meetei Mayek
      Noto Sans Myanmar
      Noto Sans Myanmar UI
      Noto Sans Ol Chiki
      Noto Sans Rejang
      Noto Sans Saurashtra
      Noto Sans SC
      Noto Sans Sinhala
      Noto Sans Sundanese
      Noto Sans Syloti Nagri
      Noto Sans Symbols
      Noto Sans Tagbanwa
      Noto Sans Tai Le
      Noto Sans Tai Tham
      Noto Sans Tai Viet
      Noto Sans Tamil
      Noto Sans Tamil UI
      Noto Sans TC
      Noto Sans Telugu
      Noto Sans Telugu UI
      Noto Sans Thaana
      Noto Sans Thai
      Noto Sans Thai UI
      Noto Sans Tifinagh
      Noto Sans Yi
      Noto Serif
      Roboto
      Roboto Condensed
      Source Han Sans CN
      Source Han Sans JP
      Source Han Sans KR
      

    但是看起来貌似都不靠谱呢。现在是使用 NotoSansHans-DemiLight 这个字体(7.95MB 呢)。

    求推荐。



  • Android最好字体不设置。在Windows phone系统上,字体也要换成等线字体。



  • @jiangcaiyang

    什么是等线字体?



  • @qyvlik Windows Phone 8特有的字体。是默认字体。



  • @qyvlik 说:

    字体是个很大的问题,毕竟安卓上没有微软雅黑

    刚才无意中看到墨迹天气的安卓包里assets目录下有个font文件夹你可以参考一下

    0_1449800814870_upload-c975aaef-24f7-41d0-8d45-4970035cf61a



  • @Zero 嗯,可以将字体放在assets文件夹中。这样的好处是不必在程序启动前就将该字体载入其中。


 

最近的回复

  • 0_1531879249244_9090909.jpg
    各位上午好哦。很高兴告诉大家,我们的萌梦社区又进行了一波更新了!
    这次主要更新在论坛代码层面上的,也就是说我们根据NodeBB官方的指示,将论坛从1.9.3升级到了1.10.1了!整个升级过程会产生一些服务暂停的现象,不过没有关系,很快就可以得到恢复,现在咱们可以顺利地在新的论坛上玩耍了!
    这次更新按照NodeBB官方的说法,主要在论坛的稳定性和迎合欧盟的GPDR政策(隐私权保护政策)上,也就是说,咱们论坛默认是支持用户的隐私权保护的~不要担心自己的隐私会被黑客利用什么的,但是大家还是要保护好平时论坛登录的密码哦。合适的时候还是使用浏览器的记住密码功能~

    此外,之前萌梦论坛之前的SSL加密是免费的,费时效果又不好。在手机浏览器上显示并非可靠的颁发者,现在换了新的证书,感觉好了不少。现在又可以在论坛上玩耍啦。

    好了,就是这样~

    阅读更多
  • @jiangcaiyang 是不支持QVector3D类型么,需要引用头文件还是需要转换类型呢

    阅读更多
  • 可能是Qt制作的Python绑定Shiboken遇到了问题。求先行者能够解忧~😵

    阅读更多
  • 0_1531804634749_5.jpg
    我使用的是PyCharm作为IDE,下载了Qt for Python(使用Qt 5.11),并且使用git克隆了pyside的源代码 + 例子。因为自己对OpenGL感兴趣,所以随手运行了一个例子。首先是PyOpenGL没有安装。

    0_1531804316021_1f365ea0-46b3-460d-9a00-c8cdeccf98af-image.png

    通过对话框弹出的命令,在terminal上运行

    python -m pip install PyOpenGL PyOpenGL_accelerate

    就可以了。

    虽然窗体以及3D内容出来了,但是命令提示符中会出现一些问题:

    D:/QtProject/pyside-setup/examples/opengl/hellogl2.py:394: RuntimeWarning: SbkConverter: Unimplemented C++ array type. self.program.setUniformValue(self.lightPosLoc, QVector3D(0, 0, 70)) D:/QtProject/pyside-setup/examples/opengl/hellogl2.py:423: RuntimeWarning: SbkConverter: Unimplemented C++ array type. self.program.setUniformValue(self.projMatrixLoc, self.proj) D:/QtProject/pyside-setup/examples/opengl/hellogl2.py:424: RuntimeWarning: SbkConverter: Unimplemented C++ array type. self.program.setUniformValue(self.mvMatrixLoc, self.camera * self.world) D:/QtProject/pyside-setup/examples/opengl/hellogl2.py:426: RuntimeWarning: SbkConverter: Unimplemented C++ array type. self.program.setUniformValue(self.normalMatrixLoc, normalMatrix)

    刚学习Python,还不清楚是怎么回事,怎么解决才好。

    阅读更多

关注我们

微博
QQ群











召唤伊斯特瓦尔