diff options
Diffstat (limited to 'scribus/fonts')
-rw-r--r-- | scribus/fonts/ftface.cpp | 13 | ||||
-rw-r--r-- | scribus/fonts/ftface.h | 20 | ||||
-rw-r--r-- | scribus/fonts/scface.cpp | 16 | ||||
-rw-r--r-- | scribus/fonts/scface.h | 20 | ||||
-rw-r--r-- | scribus/fonts/scface_ttf.cpp | 2 |
5 files changed, 37 insertions, 34 deletions
diff --git a/scribus/fonts/ftface.cpp b/scribus/fonts/ftface.cpp index 6889312..d0dc4d6 100644 --- a/scribus/fonts/ftface.cpp +++ b/scribus/fonts/ftface.cpp @@ -111,11 +111,14 @@ void FtFace::load() const m_strikeoutPos = m_ascent / 3; m_strokeWidth = m_face->underline_thickness / m_uniEM; const_cast<FtFace*>(this)->isFixedPitch = m_face->face_flags & 4; - Ascent = QString::number(m_face->ascender); - CapHeight = QString::number(m_face->height); - Descender = QString::number(m_face->descender); - FontBBox = QString::number(m_face->bbox.xMin)+" "+QString::number(m_face->bbox.yMin)+" "+QString::number(m_face->bbox.xMax)+" "+QString::number(m_face->bbox.yMax); - ItalicAngle = "0"; + m_pdfAscent = QString::number(m_face->ascender / m_uniEM * 1000); + m_pdfCapHeight = QString::number(m_face->height / m_uniEM * 1000); + m_pdfDescender = QString::number(m_face->descender / m_uniEM * 1000); + m_pdfFontBBox = QString::number(m_face->bbox.xMin / m_uniEM * 1000) + " " + + QString::number(m_face->bbox.yMin / m_uniEM * 1000) + " " + + QString::number(m_face->bbox.xMax / m_uniEM * 1000) + " " + + QString::number(m_face->bbox.yMax / m_uniEM * 1000); + m_italicAngle = "0"; //FIXME: FT_Set_Charmap(m_face, m_face->charmaps[m_encoding]); setBestEncoding(m_face); diff --git a/scribus/fonts/ftface.h b/scribus/fonts/ftface.h index 434d10a..db534d6 100644 --- a/scribus/fonts/ftface.h +++ b/scribus/fonts/ftface.h @@ -70,11 +70,11 @@ struct SCRIBUS_API FtFace : public ScFace::ScFaceData qreal underlinePos(qreal sz=1.0) const { return m_underlinePos * sz; } qreal strokeWidth(qreal /*sz*/) const { return m_strokeWidth; } qreal maxAdvanceWidth(qreal sz=1.0) const { return m_maxAdvanceWidth * sz; } - QString ascentAsString() const { return Ascent; } - QString descentAsString() const { return Descender; } - QString capHeightAsString() const { return CapHeight; } - QString FontBBoxAsString() const { return FontBBox; } - QString ItalicAngleAsString() const { return ItalicAngle; } + QString pdfAscentAsString() const { return m_pdfAscent; } + QString pdfDescentAsString() const { return m_pdfDescender; } + QString pdfCapHeightAsString() const { return m_pdfCapHeight; } + QString pdfFontBBoxAsString() const { return m_pdfFontBBox; } + QString ItalicAngleAsString() const { return m_italicAngle; } //FIXME QMap<QString,QString> fontDictionary(qreal sz=1.0) const; @@ -95,13 +95,13 @@ protected: static FT_Library library; - mutable QString Ascent; - mutable QString CapHeight; - mutable QString Descender; - mutable QString ItalicAngle; + mutable QString m_pdfAscent; + mutable QString m_pdfCapHeight; + mutable QString m_pdfDescender; + mutable QString m_italicAngle; + mutable QString m_pdfFontBBox; mutable QString StdVW; QString FontEnc; - mutable QString FontBBox; mutable int m_encoding; diff --git a/scribus/fonts/scface.cpp b/scribus/fonts/scface.cpp index 8be80bc..0d16848 100644 --- a/scribus/fonts/scface.cpp +++ b/scribus/fonts/scface.cpp @@ -208,35 +208,35 @@ const ScFace& ScFace::none() return NONE; } -QString ScFace::ascentAsString() const +QString ScFace::pdfAscentAsString() const { if (m->status == ScFace::UNKNOWN) { m->load(); } - return m->ascentAsString(); + return m->pdfAscentAsString(); } -QString ScFace::descentAsString() const +QString ScFace::pdfDescentAsString() const { if (m->status == ScFace::UNKNOWN) { m->load(); } - return m->descentAsString(); + return m->pdfDescentAsString(); } -QString ScFace::capHeightAsString() const +QString ScFace::pdfCapHeightAsString() const { if (m->status == ScFace::UNKNOWN) { m->load(); } - return m->capHeightAsString(); + return m->pdfCapHeightAsString(); } -QString ScFace::fontBBoxAsString() const +QString ScFace::pdfFontBBoxAsString() const { if (m->status == ScFace::UNKNOWN) { m->load(); } - return m->FontBBoxAsString(); + return m->pdfFontBBoxAsString(); } QString ScFace::italicAngleAsString() const diff --git a/scribus/fonts/scface.h b/scribus/fonts/scface.h index 8281505..f7c3aa0 100644 --- a/scribus/fonts/scface.h +++ b/scribus/fonts/scface.h @@ -161,12 +161,12 @@ public: // dummy implementations virtual qreal ascent(qreal sz) const { return sz; } - virtual QString ascentAsString() const { return "0" ; } - virtual QString descentAsString() const { return "0"; } - virtual QString capHeightAsString() const { return "0"; } - virtual QString FontBBoxAsString() const { return "0 0 0 0"; } + virtual QString pdfAscentAsString() const { return "0" ; } + virtual QString pdfDescentAsString() const { return "0"; } + virtual QString pdfCapHeightAsString() const { return "0"; } + virtual QString pdfFontBBoxAsString() const { return "0 0 0 0"; } virtual QString ItalicAngleAsString() const { return "0"; } - virtual qreal descent(qreal /*sz*/) const { return 0.0; } + virtual qreal descent(qreal /*sz*/) const { return 0.0; } virtual qreal xHeight(qreal sz) const { return sz; } virtual qreal capHeight(qreal sz) const { return sz; } virtual qreal height(qreal sz) const { return sz; } @@ -308,11 +308,11 @@ public: QString variant() const { return m->variant; } // font metrics - QString ascentAsString() const; - QString descentAsString() const; - QString capHeightAsString() const; - QString fontBBoxAsString() const; - QString italicAngleAsString() const; + QString pdfAscentAsString() const; + QString pdfDescentAsString() const; + QString pdfCapHeightAsString() const; + QString pdfFontBBoxAsString() const; + QString italicAngleAsString() const; qreal ascent(qreal sz=1.0) const; qreal descent(qreal sz=1.0) const; qreal xHeight(qreal sz=1.0) const; diff --git a/scribus/fonts/scface_ttf.cpp b/scribus/fonts/scface_ttf.cpp index e436d36..c8f65ae 100644 --- a/scribus/fonts/scface_ttf.cpp +++ b/scribus/fonts/scface_ttf.cpp @@ -603,7 +603,7 @@ bool ScFace_ttf::EmbedFont(QString &str) const str+="/FontName /" + psName + " def\n"; str+="/Encoding /ISOLatin1Encoding where {pop ISOLatin1Encoding} {StandardEncoding} ifelse def\n"; str+="/PaintType 0 def\n/FontMatrix [1 0 0 1 0 0] def\n"; - str+="/FontBBox ["+FontBBox+"] def\n"; + str+="/FontBBox ["+m_pdfFontBBox+"] def\n"; str+="/FontType 42 def\n"; str+="/FontInfo 8 dict dup begin\n"; str+="/FamilyName (" + psName + ") def\n"; |