[fondue-commits] [SCM] Fondue Font Editor branch, master, updated. 2f660c606d28eb19c70ec2b13095419175f260cc
Eugeniy Meshcheryakov
eugen at debian.org
Wed Apr 2 14:22:37 UTC 2008
The following commit has been merged in the master branch:
commit b2647c9ed8aa896e8f437300005b8fdf6680ff84
Author: Eugeniy Meshcheryakov <eugen at debian.org>
Date: Wed Apr 2 16:16:56 2008 +0200
check for Glyph::computeMetrics() retval
diff --git a/nongui/ttfwriter.cxx b/nongui/ttfwriter.cxx
index 8f005a9..10c7faa 100644
--- a/nongui/ttfwriter.cxx
+++ b/nongui/ttfwriter.cxx
@@ -255,6 +255,7 @@ bool TTFWriter::writeGlyphs()
firstGlyph = sortedGlyphs.at(1);
if (firstGlyph) {
qreal xMin, xMax, yMin, yMax;
+ // FIXME this can fail
firstGlyph->computeMetrics(xMin, xMax, yMin, yMax);
qint16 ascent = (qint16)yMax;
qint16 descent = (qint16)yMin;
@@ -715,20 +716,21 @@ bool TTFWriter::writeHmtx()
if (g) {
qreal xMin, xMax, yMin, yMax;
- g->computeMetrics(xMin, xMax, yMin, yMax);
- lsb = (quint16)xMin;
- advance = (qint16)g->horizAdvX();
- qint16 ascent = (qint16)yMax;
- qint16 descent = (qint16)yMin;
- qint16 rsb = (qint16)xMax;
- qint16 extent = rsb; // FIXME is this correct?
-
- if (maxAscent < ascent) maxAscent = ascent;
- if (maxDescent > descent) maxDescent = descent;
- if (maxAdvanceWidth < advance) maxAdvanceWidth = advance;
- if (minLSB > lsb) minLSB = lsb;
- if (minRSB > rsb) minRSB = rsb;
- if (maxExtent < extent) maxExtent = extent;
+ if (g->computeMetrics(xMin, xMax, yMin, yMax)) {
+ lsb = (quint16)xMin;
+ advance = (qint16)g->horizAdvX();
+ qint16 ascent = (qint16)yMax;
+ qint16 descent = (qint16)yMin;
+ qint16 rsb = (qint16)xMax;
+ qint16 extent = rsb; // FIXME is this correct?
+
+ if (maxAscent < ascent) maxAscent = ascent;
+ if (maxDescent > descent) maxDescent = descent;
+ if (maxAdvanceWidth < advance) maxAdvanceWidth = advance;
+ if (minLSB > lsb) minLSB = lsb;
+ if (minRSB > rsb) minRSB = rsb;
+ if (maxExtent < extent) maxExtent = extent;
+ }
}
ret = ret && writeBigEndian(&buffer, advance); // Advance width
--
Fondue Font Editor
More information about the fondue-commits
mailing list