void message_view::setFont(const QFont& font) { m_headersv->setFont(font); QString s="body {"; if (!font.family().isEmpty()) { s.append("font-family:\"" + font.family() + "\";"); } if (font.pointSize()>1) { s.append(QString("font-size:%1 pt;").arg(font.pointSize())); } else if (font.pixelSize()>1) { s.append(QString("font-size:%1 px;").arg(font.pixelSize())); } if (font.bold()) { s.append("font-weight: bold;"); } if (font.style()==QFont::StyleItalic) { s.append("font-style: italic;"); } else if (font.style()==QFont::StyleOblique) { s.append("font-style: oblique;"); } s.append("}\n"); m_bodyv->set_body_style(s); // m_bodyv->redisplay(); }
void body_view::set_font(const QFont& font) { QString s; if (!font.family().isEmpty()) { s.append("font-family:\"" + font.family() + "\";"); } if (font.pointSize()>1) { s.append(QString("font-size:%1 pt;").arg(font.pointSize())); } else if (font.pixelSize()>1) { s.append(QString("font-size:%1 px;").arg(font.pixelSize())); } if (font.bold()) { s.append("font-weight: bold;"); } if (font.style()==QFont::StyleItalic) { s.append("font-style: italic;"); } else if (font.style()==QFont::StyleOblique) { s.append("font-style: oblique;"); } m_font_css=s; set_body_style(); }
void FontSetupPage::changeFont(const QString &style) { QFont font = m_plainTextEdit->font(); bool bold = font.bold(); QFont::Style italic = font.style(); if (style == "Italic") { bold = false; italic = QFont::StyleItalic; } else if (style == "Bold") { bold = true; italic = QFont::StyleNormal; } else if (style == "Bold Italic") { bold = true; italic = QFont::StyleItalic; } else if (style == "Normal") { bold = false; italic = QFont::StyleNormal; } font.setBold(bold); font.setStyle(italic); m_plainTextEdit->setFont(font); m_font = font; }
QFont stripStyleName(QFont &f, QFontDatabase &db) { const QString &styleName = f.styleName(); if (styleName.isEmpty()) { return f; } else { QFont g = (db.styleString(f) != styleName) ? db.font(f.family(), styleName, f.pointSize()) : QFont(f.family(), f.pointSize(), f.weight()); if (auto s = f.pixelSize() > 0) { g.setPixelSize(s); } g.setStyleHint(f.styleHint(), f.styleStrategy()); g.setStyle(f.style()); if (f.underline()) { g.setUnderline(true); } if (f.strikeOut()) { g.setStrikeOut(true); } if (f.fixedPitch()) { g.setFixedPitch(true); } return g; } }
int QFontProto::style() const { QFont *item = qscriptvalue_cast<QFont*>(thisObject()); if (item) return item->style(); return 0; }
void KoOdtFrameReportTextBox::createStyle(KoGenStyles *coll) { QFont font = textBox()->textStyle().font; KoGenStyle ps(KoGenStyle::ParagraphStyle, "paragraph"); m_paragraphStyleName = coll->insert(ps, "P"); // text style KoGenStyle ts(KoGenStyle::TextStyle, "text"); ts.addProperty("fo:font-family", font.family()); ts.addPropertyPt("fo:font-size", font.pointSizeF()); ts.addProperty("fo:font-weight", font.weight() * 10); ts.addProperty("fo:color", textBox()->textStyle().foregroundColor.name()); QString fs; switch (font.style()) { case QFont::StyleNormal: fs = "normal"; break; case QFont::StyleItalic: fs = "italic"; break; case QFont::StyleOblique: fs = "oblique"; break; } ts.addProperty("fo:font-style", fs); m_textStyleName = coll->insert(ts, "T"); KoGenStyle gs(KoGenStyle::GraphicStyle, "graphic"); QPen pen; pen.setColor(textBox()->lineStyle().lineColor); pen.setWidthF(textBox()->lineStyle().weight); pen.setStyle(textBox()->lineStyle().style); KoOdfGraphicStyles::saveOdfStrokeStyle(gs, coll, pen); gs.addProperty("style:horizontal-pos", "from-left"); gs.addProperty("style:horizontal-rel", "page"); gs.addProperty("style:vertical-pos", "from-top"); gs.addProperty("style:vertical-rel", "page"); gs.addProperty("fo:background-color", textBox()->textStyle().backgroundColor.name()); m_frameStyleName = coll->insert(gs, "F"); }
void LocalHelpManager::setFallbackFont(const QFont &font) { setOrRemoveSetting(kFontFamilyKey, font.family(), defaultFallbackFontFamily()); setOrRemoveSetting(kFontStyleKey, font.style(), kDefaultFallbackFontStyle); setOrRemoveSetting(kFontWeightKey, font.weight(), kDefaultFallbackFontWeight); setOrRemoveSetting(kFontSizeKey, font.pointSize(), kDefaultFallbackFontSize); emit m_instance->fallbackFontChanged(font); }
void tst_QFontDialog::task256466_wrongStyle() { QFontDatabase fdb; FriendlyFontDialog dialog; QListView *familyList = reinterpret_cast<QListView*>(dialog.d_func()->familyList); QListView *styleList = reinterpret_cast<QListView*>(dialog.d_func()->styleList); QListView *sizeList = reinterpret_cast<QListView*>(dialog.d_func()->sizeList); for (int i = 0; i < familyList->model()->rowCount(); ++i) { QModelIndex currentFamily = familyList->model()->index(i, 0); familyList->setCurrentIndex(currentFamily); const QFont current = dialog.currentFont(), expected = fdb.font(currentFamily.data().toString(), styleList->currentIndex().data().toString(), sizeList->currentIndex().data().toInt()); QCOMPARE(current.family(), expected.family()); QCOMPARE(current.style(), expected.style()); QCOMPARE(current.pointSizeF(), expected.pointSizeF()); } }
void userfont::saveFont( QFont Font ) { int k = Font.pointSize() ; QString s = QString( "%1\n%2\n" ).arg( Font.family() ).arg( QString::number( k ) ) ; if( Font.style() == QFont::StyleNormal ){ s = s + QString( "normal\n" ) ; }else if( Font.style() == QFont::StyleItalic ){ s = s + QString( "italic\n" ) ; }else{ s = s + QString( "oblique\n" ) ; } if( Font.weight() == QFont::Normal ){ s = s + QString( "normal\n" ) ; }else{ s = s + QString( "bold" ) ; } QFile f( QDir::homePath() + QString( "/.zuluCrypt/font" ) ) ; f.open( QIODevice::WriteOnly | QIODevice::Truncate ) ; f.write( s.toAscii() ) ; f.close(); }
void StyleSheetEditorDialog::slotAddFont() { bool ok; QFont font = QFontDialog::getFont(&ok, this); if (ok) { QString fontStr; if (font.weight() != QFont::Normal) { fontStr += QString::number(font.weight()); fontStr += QLatin1Char(' '); } switch (font.style()) { case QFont::StyleItalic: fontStr += QLatin1String("italic "); break; case QFont::StyleOblique: fontStr += QLatin1String("oblique "); break; default: break; } fontStr += QString::number(font.pointSize()); fontStr += QLatin1String("pt \""); fontStr += font.family(); fontStr += QLatin1Char('"'); insertCssProperty(QLatin1String("font"), fontStr); QString decoration; if (font.underline()) decoration += QLatin1String("underline"); if (font.strikeOut()) { if (!decoration.isEmpty()) decoration += QLatin1Char(' '); decoration += QLatin1String("line-through"); } insertCssProperty(QLatin1String("text-decoration"), decoration); } }
/*virtual*/ bool nsLookAndFeel::GetFontImpl(FontID aID, nsString& aFontName, gfxFontStyle& aFontStyle, float aDevPixPerCSSPixel) { QFont qFont = QGuiApplication::font(); NS_NAMED_LITERAL_STRING(quote, "\""); nsString family((char16_t*)qFont.family().data()); aFontName = quote + family + quote; aFontStyle.systemFont = true; aFontStyle.style = qFont.style(); aFontStyle.weight = qFont.weight(); aFontStyle.stretch = qFont.stretch(); // use pixel size directly if it is set, otherwise compute from point size if (qFont.pixelSize() != -1) { aFontStyle.size = qFont.pixelSize(); } else { aFontStyle.size = qFont.pointSizeF() * qApp->primaryScreen()->logicalDotsPerInch() / 72.0f; } return true; }
/** * Returns the CSS code for a QFont * Thank you to Phil Weinstein for the code */ QString Note::encodeCssFont(const QFont& refFont) { //----------------------------------------------------------------------- // This function assembles a CSS Font specification string from // a QFont. This supports most of the QFont attributes settable in // the Qt 4.8 and Qt 5.3 QFontDialog. // // (1) Font Family // (2) Font Weight (just bold or not) // (3) Font Style (possibly Italic or Oblique) // (4) Font Size (in either pixels or points) // (5) Decorations (possibly Underline or Strikeout) // // Not supported: Writing System (e.g. Latin). // // See the corresponding decode function, below. // QFont decodeCssFontString (const QString cssFontStr) //----------------------------------------------------------------------- QStringList fields; // CSS font attribute fields // *************************************************** // *** (1) Font Family: Primary plus Substitutes *** // *************************************************** const QString family = refFont.family(); // NOTE [9-2014, Qt 4.8.6]: This isn't what I thought it was. It // does not return a list of "fallback" font faces (e.g. Georgia, // Serif for "Times New Roman"). In my testing, this is always // returning an empty list. // QStringList famSubs = QFont::substitutes (family); if (!famSubs.contains (family)) famSubs.prepend (family); static const QChar DBL_QUOT ('"'); const int famCnt = famSubs.count(); QStringList famList; for (int inx = 0; inx < famCnt; ++inx) { // Place double quotes around family names having space characters, // but only if double quotes are not already there. // const QString fam = famSubs [inx]; if (fam.contains (' ') && !fam.startsWith (DBL_QUOT)) famList << (DBL_QUOT + fam + DBL_QUOT); else famList << fam; } const QString famStr = QString ("font-family: ") + famList.join (", "); fields << famStr; // ************************************** // *** (2) Font Weight: Bold or Not *** // ************************************** const bool bold = refFont.bold(); if (bold) fields << "font-weight: bold"; // **************************************************** // *** (3) Font Style: possibly Italic or Oblique *** // **************************************************** const QFont::Style style = refFont.style(); switch (style) { case QFont::StyleNormal: break; case QFont::StyleItalic: fields << "font-style: italic"; break; case QFont::StyleOblique: fields << "font-style: oblique"; break; } // ************************************************ // *** (4) Font Size: either Pixels or Points *** // ************************************************ const double sizeInPoints = refFont.pointSizeF(); // <= 0 if not defined. const int sizeInPixels = refFont.pixelSize(); // <= 0 if not defined. if (sizeInPoints > 0.0) fields << QString ("font-size: %1pt") .arg (sizeInPoints); else if (sizeInPixels > 0) fields << QString ("font-size: %1px") .arg (sizeInPixels); // *********************************************** // *** (5) Decorations: Underline, Strikeout *** // *********************************************** const bool underline = refFont.underline(); const bool strikeOut = refFont.strikeOut(); if (underline && strikeOut) fields << "text-decoration: underline line-through"; else if (underline) fields << "text-decoration: underline"; else if (strikeOut) fields << "text-decoration: line-through"; const QString cssFontStr = fields.join ("; "); return cssFontStr; }
// Return the attributes of a character and surrounding text. QString QsciAccessibleScintillaBase::attributes(int offset, int *startOffset, int *endOffset) const { QsciScintillaBase *sb = sciWidget(); int position = offsetAsPosition(sb, offset); int style = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, position); // Find the start of the text with this style. int start_position = position; int start_text_position = offset; while (start_position > 0) { int before = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONBEFORE, start_position); int s = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, before); if (s != style) break; start_position = before; --start_text_position; } *startOffset = start_text_position; // Find the end of the text with this style. int end_position = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONAFTER, position); int end_text_position = offset + 1; int last_position = sb->SendScintilla( QsciScintillaBase::SCI_GETTEXTLENGTH); while (end_position < last_position) { int s = sb->SendScintilla(QsciScintillaBase::SCI_GETSTYLEAT, end_position); if (s != style) break; end_position = sb->SendScintilla(QsciScintillaBase::SCI_POSITIONAFTER, end_position); ++end_text_position; } *endOffset = end_text_position; // Convert the style to attributes. QString attrs; int back = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETBACK, style); addAttribute(attrs, "background-color", colourAsRGB(back)); int fore = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETFORE, style); addAttribute(attrs, "color", colourAsRGB(fore)); QFont font = fontForStyle(style); QString family = font.family(); family = family.replace('\\', QLatin1String("\\\\")); family = family.replace(':', QLatin1String("\\:")); family = family.replace(',', QLatin1String("\\,")); family = family.replace('=', QLatin1String("\\=")); family = family.replace(';', QLatin1String("\\;")); family = family.replace('\"', QLatin1String("\\\"")); addAttribute(attrs, "font-familly", QLatin1Char('"') + family + QLatin1Char('"')); int font_size = int(font.pointSize()); addAttribute(attrs, "font-size", QString::fromLatin1("%1pt").arg(font_size)); QFont::Style font_style = font.style(); addAttribute(attrs, "font-style", QString::fromLatin1((font_style == QFont::StyleItalic) ? "italic" : ((font_style == QFont::StyleOblique) ? "oblique": "normal"))); int font_weight = font.weight(); addAttribute(attrs, "font-weight", QString::fromLatin1( (font_weight > QFont::Normal) ? "bold" : "normal")); int underline = sb->SendScintilla(QsciScintillaBase::SCI_STYLEGETUNDERLINE, style); if (underline) addAttribute(attrs, "text-underline-type", QString::fromLatin1("single")); return attrs; }