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::styleHint() const { QFont *item = qscriptvalue_cast<QFont*>(thisObject()); if (item) return item->styleHint(); return 0; }
void QWinTerminalImpl::setTerminalFont (const QFont& f) { d->m_font = f; d->m_font.setFamily (f.family()); d->m_font.setPointSize (f.pointSize()); d->m_font.setStyleHint (f.styleHint()); d->m_consoleView->setFont (f); d->updateConsoleSize (true); }
void DFont :: FromODataLayout (ODataLayout *pODataLayout ) { QFont *qfont = NULL; QColor *qcolor = NULL; BEGINSEQ if ( !pODataLayout ) LEAVESEQ if ( qfont = pODataLayout->get_font() ) { strcpy(family_name,QS2SZ(qfont->family())); weight = (ADK_FontWeight)qfont->weight(); italic = qfont->italic(); underline = qfont->underline(); strike_out = qfont->strikeOut(); fixed_pitch = qfont->fixedPitch(); style_hint = (ADK_FontStyle)qfont->styleHint(); style_strategy = (ADK_FontStyleStrategy)qfont->styleStrategy(); stretch = qfont->stretch(); } prefer_quality = NO; if ( style_strategy && QFont::PreferQuality ) { prefer_quality = YES; style_strategy = (ADK_FontStyleStrategy)(style_strategy - QFont::PreferQuality); } if ( qcolor = pODataLayout->get_text_color() ) text_color = QCOLOR2DCOLOR(*qcolor); if ( qcolor = pODataLayout->get_bg_color() ) bg_color = QCOLOR2DCOLOR(*qcolor); use_pixel = NO; if ( (size = qfont->pointSize()) == -1 ) // pixel size used { use_pixel = YES; size = qfont->pixelSize(); } ENDSEQ }
void toString(const QFont & font, QString & szBuffer) { QString szFamily(font.family()); szBuffer.sprintf("%s,%d,%d,%d", szFamily.toUtf8().data(), font.pointSize(), font.styleHint(), font.weight()); QString szOptions; if(font.bold()) szOptions.append('b'); if(font.italic()) szOptions.append('i'); if(font.underline()) szOptions.append('u'); if(font.strikeOut()) szOptions.append('s'); if(font.fixedPitch()) szOptions.append('f'); if(!szOptions.isEmpty()) { szBuffer.append(','); szBuffer.append(szOptions); } }