QT/E中的字体

Qt Embedded:简介与平台插件介绍 嵌入式 Linux 发行版上的 Qt 属于 Qt 的 Embedded Linux 分支平台(本文简称为 Qt/E)。Qt/E 在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。同桌面版的 Qt/X11 相比,嵌入式的 Qt/E 很节省内存,因为它不需要 X server 或是 Xlib 库,它在底层摒弃了 Xlib,采用 Framebuffer(帧缓冲)作为底层图形接口。Qt/E 的应用程序可以直接写内核帧缓冲,这避免开发者使用繁琐的 Xlib/Server 系统。 阅读详情

QT/E支持以下四种字体文件

1.       TrueType(TTF)  可缩放的矢量字体,显示用。

2.       Postscript Type1 (PFA/PFB) 可缩放的矢量字体,打印机使用。

3.       Bitmap Distribution Format fonts (BDF) 不可缩放的像素字体。最好不要在产品系统中使用,其载入速度很慢且占用了大量的存储空间。

4.       Qt Prerendered Font (QPF) 轻量级的不可缩放字体,QT/E专用。

开启或关闭对这些字体(1-3)的支持可以参照qfeatures.h中的宏定义,4则是始终支持的。为了提高效率,可以先开启1-3的支持,然后将其保存为格式为4的文件,最后再关闭对1-3的支持。具体可参考makeqpf命令(位于tools目录下):

makeqpf [-A] [-f spec-file] [font ...]

-A - Render and save all fonts in fontdir

-f - File of lines: fontname character-ranges e.g. "smoothtimes 0-ff,20a0-20af"

font - Font to render and save

      

使用TTF字体时,每个指定大小的字符只有在第一次显示时才会被渲染。而BDF字体则是第一次使用该字体时所有字符都被渲染。使用QPF字体时,每个字符都按照Qt图形绘制的格式进行存储,在绘图时,只需要将字符数据映射过来即可,而不必像其它格式一样要先载入并转化、渲染。

TTF, PFA,和QPF都能采用光滑的抗锯齿方式进行渲染。

QT/E使用的所有字体都采用Unicode方式进行编码。

当QT/E应用程序运行时,会先去找

$QTDIR/lib/fonts/fontdir 或 /usr/local/qt-embedded/lib/fonts/fontdir

里面定义了程序可使用的字体,定义格式为:

name file renderer italic weight size flags

name: Helvetica, Times, etc.

file:  helvR0810.bdf, verdana.ttf, etc.

renderer: BDF or FT

italic: y or n

weight: 50 is normal, 75 is bold, etc.

size: 0表示可缩放120 或 12pt表示字体大小为12

flags:s表示抗锯齿 u/a表示保存字体时的范围为unicode还是ascii

 

上面的dd是对于TTF和BDF字体来说的,对QPF字体,它们是直接通过*.qpf文件载入的,*.qpf文件的命名格式为:

name_size_weightitalicflag.qpf

name:helvetica, times, etc

size:120 或 12pt表示字体大小为12

italicflag:i表示斜体,没有i则表示正常

weight:50 is normal, 75 is bold, etc.

 

如果应用程序运行时带有-savefonts的参数,那么当一个TTF或BDF的字体被使用时,一个相应的QPF文件就会被保存。对于那些内存要求比较苛刻的程序,还可以生成只包含指定文字的QPF文件,具体参考QMemoryManager::savePrerenderedFont()

此外,还可以生成旋转后的字体,此时应用程序要加上旋转参数。

Arm-Linux嵌入式开发环境搭建:交叉编译+Qt+FL2440实战指南 Arm-Linux是嵌入式Linux开发的核心范式,其本质是通过交叉编译工具链在宿主机上生成可在ARM目标板运行的可执行程序。该技术依赖宿主-目标分离架构,关键在于工具链匹配、头文件与库的ABI一致性,以及运行时环境(如Framebuffer、QWS)的正确配置。其技术价值在于可控性强、资源占用低、贴近硬件,广泛应用于工业控制、教学平台和轻量级IoT设备。典型应用场景包括基于S3C2440等经典SoC的Qt嵌入式GUI开发、U-Boot/Linux/BusyBox系统构建及裸机调试闭环。本文以FL2440开 阅读详情

相关推荐

家用电器维修必备:手把手教你用双向可控硅改造单相电机调速(附电路图)

本文提供了一份详细的家用电器维修指南,手把手教你如何利用双向可控硅为核心元件,为单相交流电机(如风扇、排气扇)实现平滑的无级调速改造。内容涵盖核心原理、安全须知、元件选型(如BT136、DB3)、电路图解析、分步搭建教程以及常见故障排查方法,旨在帮助维修爱好者和DIY用户安全、成功地完成这一实用且富有成就感的项目。

read5的博客 838

Qt Embedded之一:简介与平台插件介绍

嵌入式 Linux 发行版上的 Qt 属于 Qt 的 Embedded Linux 分支平台(本文简称为 Qt/E)。Qt/E 在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。同桌面版的 Qt/X11 相比,嵌入式的 Qt/E 很节省内存,因为它不需要 X server 或是 Xlib 库,它在底层摒弃了 Xlib,采用 Framebuffer(帧缓冲)作为底层图形接口。Qt/E 的应用程序可以直接写内核帧缓冲,这避免开发者使用繁琐的 Xlib/Server 系统。

szembed的博客 1882

ROS-订阅与处理激光雷达scan话题

激光雷达通常有四个性能衡量指标:测距分辨率、扫描频率(有时也用扫描周期)、角度分辨率及可视范围。测距分辨率衡量在一个给定的距离下测距的精确程度,通常与距离真实值相差在5-20mm;扫描频率衡量激光雷达完成一次完整扫描的快慢,通常在10Hz及以上;角度分辨率直接决定激光雷达一次完整扫描能返回多少个样本点;可视范围指激光雷达完整扫描的广角,可视范围之外即为盲区。

weixin_42438635的博客 4477

【学QT】2 - QT/E环境的建立

Arm-Linux嵌入式QT/E环境的建立(qt/e 3.x系列) QT/E 3.x系列比QT/E 2.x系列有非常大的改进,大大提高了开发进度,不再使用tmake,安装也更简单。但目前在网上关于QT/E 3.x系列的介绍还是比较少,所以本文介绍一下QT/E 3.x系列的安装。 二、编译QT 1、QT/E自由版可到官网ftp下载...

weixin_30699955的博客 238

Zephyr,设备树概述

Zephyr使用设备树(DTS)描述硬件配置,通过设备树源码和绑定文件生成C头文件供开发使用。设备树采用树状结构,节点对应硬件设备,属性描述硬件特性。示例展示了I2C总线及其外设的节点层级关系,包括单元地址、兼容性标识等关键属性。构建系统将设备树转换为devicetree.h中的宏,使开发者能通过DT_前缀宏访问硬件信息,同时保留Kconfig覆盖默认值的能力。

汽车电子软件领域知识分享 722

Simulink小白必看:用Simscape轻松搭建二阶倒立摆模型(附完整参数配置)

本文为Simulink初学者提供了使用Simscape Multibody模块库,从零开始搭建二阶倒立摆非线性物理模型的完整实战教程。文章详细讲解了如何通过物理组件(如刚体、关节)直观建模,替代复杂的数学推导,并涵盖参数配置、仿真调试及模型线性化方法,帮助读者快速掌握这一高效的物理建模路径。

grpc6streamer的博客 1046

QT/E相关软件下载 安装

一,QT/E的安装。在本机中安装了包括QT4.0.1(WINDOWS版本)以及QT/E2。3。7(LINUX版本)。QT/E我安装在我的虚拟机中。因为QT/E2.3.7的版本问题,其适宜在REDHAT9。0版本(或更低版本)下安装,否则安装不成功。QT/E安装过程复杂,具体细节可以参考下面这篇文章。《Qt/Embedded开发环境建立的过程》此文在网上可搜索到。本机下虚拟机中QT/E安装路径为:/

learndkid的专栏 7876

Python读取Matlab v7.3数据

文章目录Matlab保存数据Python读取 v7.3 Mat Matlab保存数据 在matlab设置中,常规->MAT文件,选择MATLAB版本7.3或更高版本保存数据。 注意保存数据的文件名为 corre.mat,保存的数据数组为data; 后面python的读取中会用到这两个参数 Python读取 v7.3 Mat 先安装hdf5storage库,再使用以下代码,就可以读取到mat中的数据,注意 import hdf5storage import numpy as np dataDi

weixin_43121914的博客 1081

Qt/E服务器客户端架构

Qt/E是专门为嵌入式系统开发的GUI平台,因此它并没有像Qt/X11版一样依赖复杂的X-Server,而是专门针对嵌入式平台特性开发了简化且高效的Server端,底层只支持Frame buffer设备,两者之间的通信方式仍然采用Unix域Socket,但是通信协议相比X11大大简化,这样在保证API一致性的前提下,提供了跨平台的支持。采用专用的服务器客户端架构是Qt/E与桌面系统最...

weixin_30784945的博客 120

结构力学仿真软件:STAAD.Pro:结构抗震设计与STAAD.Pro应用_2024-08-10_11-49-29.Tex

STAAD.Pro是一款广泛应用于结构工程领域的仿真软件,由Bentley Systems开发。它能够进行结构分析和设计,支持多种结构类型,包括桥梁、建筑物、塔架等。STAAD.Pro提供了强大的建模工具,用户可以轻松创建复杂的结构模型,并进行静态和动态分析。软件还支持多种载荷组合,包括地震载荷,以及提供详细的报告和图纸输出,便于工程师进行设计和审查。STAAD.Pro是一款广泛应用于结构工程设计的软件,其界面直观,功能强大,能够进行结构分析与设计。菜单栏。

977

AUTOSAR NvM 实车故障深度剖析:车载存储问题快速定位与工程解决方案

软件配置与代码逻辑无问题时,排查底层驱动与ECU硬件,步骤如下:底层驱动排查:排查Fls/Eep驱动配置,是否适配目标MCU(如TC397、S32K),编程/擦除/读取时序是否合理;检查Fls/Eep驱动错误处理逻辑,是否未处理Flash编程失败、读取错误等异常;验证Flash高速编程模式是否启用,是否能提升写入/读取速度;排查MemIf层配置,是否正确对接NvM与Fls/Eep驱动,是否存在调度延迟。

getusushu的博客 78

QT/E字体库(QPF)的制作

QT/E程序可以直接使用TTF矢量库,但是效率不高,而且体积过大。所以有必要制作QT专用的QPF库,下面做一简单介绍:1) 必备环境首先,需要安装好qt/e2系统, 这个很简单,过程从略。其次,需要编译好两个工具:qvfb,makeqpf这两个工具都在$QTDIR/tools下,以makeqpf的编译为例:cd $QTDIR/tools/makeqpfg++ -c -I$(

写呀写的专栏 6473

基于matlab实现的水果识别系统设计

本项目针对多种常见水果混合的图像,利用 Matlab 软件,对水果的识别进行研究。根据水果和背景的差别选取阈值,对去噪增强对比度后的图像进行二值化处理。再对图像进行边缘检测,选定连通区域,标记后再对不同种水果的颜色,形状,大小等特征进行快速识别水果,从而实现对水果的正确分拣。:水果识别、MATLAB、数字图像处理。

热情、奔放、快乐编程! 4854

然后从windows的 ttf 制作QT/E字体库(QPF),哈哈

先用ttf试一下看多大的字体适合你。如果flash够大那就免了,因为ttf文件比较大,得10多兆。 参考这篇文章: http://blog.youkuaiyun.com/ghostwriter/archive/2006/07/11/906260.aspx QT/E程序可以直接使用TTF矢量库,但是效率不高,而且体积过大。所以有必要制作QT专用的QPF库,下面做一简单介绍:1) 必备

LYJ个人博客,记录技术、八卦、生活,分享各种心得,期待与朋友们一同进步 4116

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

QT/E 更换字体问题

在解决pda软件字体的问题。现在已经发现根本原因:qte自带的默认字体本身不好(标准特级残废)。通过查找资料找到了几种种解决途径:     1 使用其它unicode版本的ttf字体(windows下有很多ttf字体,但不知是不是unicode编码),但这个需要安装freetype插件。我编译好了一个新版本,但还没有安装成功。后来编译了一个freetype库,可以使用windows下的ttf字体

脑袋不好使 765

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

qt/e在arm板上显示中文的方法

QTCN社区 -> Qt嵌入式开发 -> 求qt/e在arm板上显示中文的方法 [打印本页] 登录 注册 回复主题 发表主题 newalan 2008-04-15 00:38 求qt/e在arm板上显示中文的方法 求qt/e在arm板上显示中文的方法 arm板是2410的,我在pc上的交叉编译环境是基于

linuxheik的专栏 915

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

QT/E和QT/X11

0 引言 随着嵌人式系统在信息家电、移动通信、手持设备以及工业控制等众多领域的广泛应用,国内用户对支持中文输入法的轻量级GUI的需求日益迫切。 Qt/E是Nokia公司发布的面向嵌人式系统的Qt版本,正日益成为嵌入式GUI开发的主流,被越来越多的国内外厂商用于便携式电子设备的开发,然而它并没有提供中文输入法。目前国内在Qt/E平台下开发的中文输入法主要有2种方式: 1)移植现有的PC机系统下

厚积薄发 3520

Qt显示多种字号大小

Qt显示多种字号大小            ZZZ:http://hi.baidu.com/weiweisuo1986/item/4f6b9797999836bc83d29501   最近在做的项目,固网信息机,遇到了Qt中文化的问题。倒不是显示不了中文,而是大小的问题。 项目中移植了文泉驿的中文字库,能够很好的地显示中文!(这里非常感谢文泉驿,给我们的Qt中文化提

蓝松SDK 2715

嵌入式Qt开发之环境配置

一、Qt/E的开发流程 1、Qt源码—–>交叉编译—–>生成Qt库 2、Qt库的作用: a、用在开发主机上,供编译Qt应用程序使用; b、用于目标板上,运行Qt应用程序时动态加载。 二、Qt源码交叉编译 1、开发板厂商通常会提供交叉编译好的Qt库,例如飞凌嵌入式提供了编译好的Qt4.8.5库qt4.8.5-sdk-32bit.tar

light_in_dark的博客 3539

Embedded QT 开发环境的建立 转

 本文主要内容为编译器的安装,安装与建立Qt 桌面运行环境,Qt/E 的交叉编译,建立本机Qtopia 虚拟平台。 预备:编译器安装 编译器: arm-linux-gcc-3.4.1.tar.bz2  一. 安装与建立Qt 桌面运行环境软件:PC 机操作系统FC2+MINICOM + ARM-LINUX 开发环境tmake-1.13.tar.gz qt-embedded-2.3.10-fr

timequark的专栏 981

关于QT/E安装,编译,以及执行

关于QT/E安装,编译,以及执行一, QT/E的安装。在本机中安装了包括QT4.0.1(WINDOWS版本)以及QT/E2。3。7(LINUX版本)。QT/E我安装在我的虚拟机中。因为QT/E2.3.7的版本问题,其适宜在REDHAT9。0版本(或更低版本)下安装,否则安装不成功。QT/E安装过程复杂,具体细节可以参考下面这篇文章。《Qt/Embedded开发环境建立的过程》此文在网上可搜索到。本

Steven.Leong的专栏 1822
上一篇: qt字库的移植(使其很好的显示中文)
下一篇: Linux中find常见用法示例
HiRuyue
博客等级 码龄14年 47粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值