压力算法移植前

This commit is contained in:
2026-06-29 14:54:30 +08:00
parent 507781d127
commit ef2eecf972
1652 changed files with 312373 additions and 29 deletions
+461
View File
@@ -0,0 +1,461 @@
#include "DialogFontSize.h"
#include "ui_dialogfontsize.h"
#include <QDebug>
#include <QFileInfo>
#include <QDateTime>
#include <QFontDatabase>
#include <QString>
#include <QDir>
#include <iostream>
#include "myinclude.h"
#include "Public.h"
DialogFontSize::DialogFontSize(QWidget *parent) :
QDialog(parent),
ui(new Ui::DialogFontSize)
{
ui->setupUi(this);
this->setFixedSize(this->geometry().width(),this->geometry().height());
this->setWindowTitle(tr("选择字体大小"));
font.setFamily("WenQuanYi12");
QString langurageType = Public::ReadLanguageName();
if(langurageType != "English" && langurageType != "Chinese")
font.setFamily("Yanglabeldot12");
font.setPixelSize(12);
ui->lineEdit->setFont(font);
connect(ui->radioButton7Bangla,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton7PointNum,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton5Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
connect(ui->radioButton7Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton9Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
connect(ui->radioButton12Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton16Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriL(bool)));
connect(ui->radioButton24Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton21PointNum,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
connect(ui->radioButton32Point,SIGNAL(clicked(bool)),this,SLOT(Button7HoriR(bool)));
#ifdef VNLGXX
ui->checkBoxBold->hide();
ui->radioButton5Point->hide();
ui->radioButton7Point->hide();
ui->radioButton9Point->hide();
ui->radioButton12Point->hide();
ui->radioButton16Point->hide();
ui->radioButton24Point->hide();
#else
// ui->checkBoxBold->hide();
// ui->labelFont->hide();
// ui->fontComboBox->hide();
// ui->comboBoxFontSize->hide();
#endif
GetFileInfo();
flagOfLeft = false;
flagOfRight = false;
#ifdef EnableBangla
ui->radioButton7Bangla->setEnabled(1);
#else
ui->radioButton7Bangla->setEnabled(0);
#endif
//ui->checkBox_Left->setStyleSheet("QCheckBox { font-size: 24pt; }");
}
DialogFontSize::~DialogFontSize()
{
delete ui;
}
void DialogFontSize::Button7HoriL(bool ok){
int pixsize;
getValue(&pixsize);
//qDebug()<<ui->lineEdit->font().family()<<ui->lineEdit->font().pixelSize();
}
void DialogFontSize::Button7HoriR(bool ok){
int pixsize;
getValue(&pixsize);
//qDebug()<<ui->lineEdit->font().family()<<ui->lineEdit->font().pixelSize();
}
void DialogFontSize::ChangeFont(QString fontFamily){
font.setFamily(fontFamily);
//font.setPixelSize(pixelSize);
ui->lineEdit->setFont(font); // 设置预览字体
// if(fontFamily=="wenquanyi" ){
// ui->comboBoxFontSize->clear();
// ui->comboBoxFontSize->addItem("12");
// ui->comboBoxFontSize->addItem("16");
// //ui->comboBoxFontSize->addItem("12");
// }
// else if(fontFamily=="biyang"){
// ui->comboBoxFontSize->clear();
// ui->comboBoxFontSize->addItem("5");
// ui->comboBoxFontSize->addItem("7");
// ui->comboBoxFontSize->addItem("9");
// //ui->comboBoxFontSize->addItem("10");
// }
// else {
// ui->comboBoxFontSize->clear();
// ui->comboBoxFontSize->addItem("14");
// ui->comboBoxFontSize->addItem("16");
// ui->comboBoxFontSize->addItem("18");
// ui->comboBoxFontSize->addItem("20");
// ui->comboBoxFontSize->addItem("24");
// ui->comboBoxFontSize->addItem("28");
// ui->comboBoxFontSize->addItem("32");
// ui->comboBoxFontSize->addItem("36");
// }
}
void DialogFontSize::GetFileInfo(){
QString fileName;
QString fileDate="";
QString fontPath="/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/";
QDir FontsFile("/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/");
if(FontsFile.exists("/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/"))//2451
{
fontPath = "/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib/fonts/";
}
if(FontsFile.exists("/usr/lib/fonts/"))//am335x
{
fontPath = "/usr/lib/fonts/";
}
fileName.sprintf("_%d_50.qpf2",font.pixelSize());
QFileInfo fileInfo;
if(font.family()=="SerifL")
fileName = fontPath +"serifl_7_50.qpf2";
else if(font.family()=="SerifR")
fileName = fontPath +"serifr_7_50.qpf2";
else if(font.family()=="SerifL9")
fileName = fontPath +"serifl_9_50.qpf2";
else if(font.family()=="SerifR9")
fileName = fontPath +"serifr_9_50.qpf2";
else fileName = fontPath +font.family()+fileName;
fileInfo.setFile(fileName);
QDateTime dt= fileInfo.created();
//fileInfo.lastModified();
QString s = dt.toString("yyyy-MM-dd hh:mm:ss");
//qDebug()<<"GetFileInfo"<<font.family()<<fileName;
//qDebug()<< s<<fileInfo.baseName();
QFile fp;
fp.setFileName(fileName);
fp.open(QFile::ReadOnly);
QByteArray fdat =fp.read(fp.size());
unsigned int chsum = qChecksum(fdat,fp.size());
//ui->labFontInfo->setText(fileInfo.fileName()+" "+s+"");
ui->labFontInfo->setText( QString("%1").arg(chsum));
}
/*
void DialogFontSize::getValue(int *size){
int pixelSize = 12;
bool ok;
font.setFamily("wenquanyi");
#ifdef VNLGXX
int n = ui->comboBoxFontSize->currentText().toInt(&ok,10);
if(ok) pixelSize = n;
#else
if(ui->radioButton5Point->isChecked()){
pixelSize = 5;
font.setFamily("biyang");
}
else if(ui->radioButton7Point->isChecked()){
pixelSize = 7;
font.setFamily("biyang");
}
else if(ui->radioButton9Point->isChecked()){
pixelSize = 9;
font.setFamily("biyang");
}
else if(ui->radioButton12Point->isChecked()){
pixelSize = 12;
}
else if(ui->radioButton16Point->isChecked()){
pixelSize = 16;
}
else if(ui->radioButton24Point->isChecked()){
pixelSize = 24;
}
else if(ui->radioButton7HoriL->isChecked()){
pixelSize = 5;
font.setFamily("SerifL");
}
else if(ui->radioButton7HoriR->isChecked()){
pixelSize = 5;
font.setFamily("SerifR");
}
else if(ui->radioButton9HoriL->isChecked()){
pixelSize = 7;
font.setFamily("SerifL9");
}
else if(ui->radioButton9HoriR->isChecked()){
pixelSize = 7;
font.setFamily("SerifR9");
}
else if(ui->radioButton7Bangla->isChecked()){
pixelSize = 7;
font.setFamily("bangla");
}
else if(ui->radioButton7PointNum->isChecked()){
pixelSize = 7;
font.setFamily("biyangF");
}
else if(ui->radioButton21PointNum->isChecked()){
pixelSize = 24;
font.setFamily("biyangF");
}
else if(ui->radioButton12NewRoman->isChecked()){
pixelSize = 12;
font.setFamily("Roman");
}
else if(ui->radioButton32Point->isChecked()){
pixelSize = 32;
}
// radioButton7Hori
// else if(ui->radioButton28Point->isChecked()){
// pixelSize = 28;
// }
// else if(ui->radioButton32Point->isChecked()){
// pixelSize = 32;
// }
#endif
font.setPixelSize(pixelSize);
ui->lineEdit->setFont(font); // 设置预览字体
*size = pixelSize;
}
*/
void DialogFontSize::getValue(int *size){
int pixelSize = 12;
bool ok;
font.setFamily("WenQuanYi12");
if(ui->radioButton5Point->isChecked()){
pixelSize = 5;
if(flagOfLeft){
font.setFamily("biyangL");
}
else if(flagOfRight){
font.setFamily("biyangR");
}else{
font.setFamily("WenQuanYi5");
}
}
else if(ui->radioButton7Point->isChecked()){
pixelSize = 7;
if(flagOfLeft){
font.setFamily("biyangL");
}
else if(flagOfRight){
font.setFamily("biyangR");
}else{
font.setFamily("WenQuanYi7");
}
}
else if(ui->radioButton9Point->isChecked()){
pixelSize = 9;
if(flagOfLeft){
font.setFamily("biyangL");
}
else if(flagOfRight){
font.setFamily("biyangR");
}else{
font.setFamily("Dinkie9");
}
}
else if(ui->radioButton12Point->isChecked()){
pixelSize = 12;
if(flagOfLeft){
font.setFamily("wenquanyiL");
}
if(flagOfRight){
font.setFamily("wenquanyiR");
}
else{
font.setFamily("WenQuanYi12");
}
}
else if(ui->radioButton16Point->isChecked()){
pixelSize = 16;
if(flagOfLeft){
font.setFamily("wenquanyiL");
}
else if(flagOfRight){
font.setFamily("wenquanyiR");
}
else{
font.setFamily("WenQuanYi16");
}
}
else if(ui->radioButton24Point->isChecked()){
pixelSize = 24;
if(flagOfLeft){
font.setFamily("wenquanyiL");
}
if(flagOfRight){
font.setFamily("wenquanyiR");
}
else{
font.setFamily("WenQuanYi24");
}
}
else if(ui->radioButton7Bangla->isChecked()){
pixelSize = 7;
font.setFamily("bangla");
}
else if(ui->radioButton7PointNum->isChecked()){
pixelSize = 7;
font.setFamily("biyangF");
}
else if(ui->radioButton21PointNum->isChecked()){
pixelSize = 24;
font.setFamily("biyangF");
}
else if(ui->radioButton12NewRoman->isChecked()){
pixelSize = 12;
font.setFamily("Roman");
}
else if(ui->radioButton32Point->isChecked()){
pixelSize = 32;
font.setFamily("WenQuanYi32");
}
font.setPixelSize(pixelSize);
ui->lineEdit->setFont(font); // 设置预览字体
*size = pixelSize;
}
void DialogFontSize::setValue(int value){
#ifdef VNLGXX
//QString s;
//s.sprintf("%d",value);
//ui->comboBoxFontSize->setEditText(s);
//if(value<12) ui->fontComboBox->setCurrentIndex(0);
#else
if(value == 5 && font.family()=="biyang"){
ui->radioButton5Point->setChecked(true);
}
// else if(value == 5 && font.family()=="SerifL"){
// ui->radioButton7HoriL->setChecked(true);
// }
// else if(value == 5 && font.family()=="SerifR" ){
// ui->radioButton7HoriR->setChecked(true);
// }
// else if(value == 7 && font.family()=="SerifL9"){
// ui->radioButton9HoriL->setChecked(true);
// }
// else if(value == 7 && font.family()=="SerifR9"){
// ui->radioButton9HoriR->setChecked(true);
// }
else if(value == 7 && font.family()=="bangla"){
ui->radioButton7Bangla->setChecked(true);
}
else if(value == 7 && font.family()=="biyangF"){
ui->radioButton7PointNum->setChecked(true);
}
else if(value == 21 && font.family()=="biyangF"){
ui->radioButton21PointNum->setChecked(true);
}
else if(value == 12 && font.family()=="Roman"){
ui->radioButton12NewRoman->setChecked(true);
}
else if(value == 7){
ui->radioButton7Point->setChecked(true);
}
else if(value == 9){
ui->radioButton9Point->setChecked(true);
}
else if(value == 12){
ui->radioButton12Point->setChecked(true);
}
else if(value == 16){
ui->radioButton16Point->setChecked(true);
}
else if(value == 24){
ui->radioButton24Point->setChecked(true);
}
else if(value == 32){
ui->radioButton32Point->setChecked(true);
}
/*
else if(value == 28){
ui->radioButton28Point->setChecked(true);
}
else if(value == 32){
ui->radioButton32Point->setChecked(true);
}
*/
#endif
}
QString DialogFontSize::getFontFamily(){
return ui->lineEdit->font().family();
}
QFont DialogFontSize::getFont(){
return ui->lineEdit->font();
}
void DialogFontSize::on_pushButton_pressed()
{
GetFileInfo();// 显示字库校验码
}
void DialogFontSize::on_checkBox_Left_clicked()
{
ui->checkBox_Right->setChecked(false);
flagOfRight = false;
flagOfLeft = !flagOfLeft;
int pixsize;
getValue(&pixsize);
}
void DialogFontSize::on_checkBox_Right_clicked()
{
ui->checkBox_Left->setChecked(false);
flagOfLeft = false;
flagOfRight = !flagOfRight;
int pixsize;
getValue(&pixsize);
}