aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar halcanary <halcanary@google.com>2015-05-05 10:24:09 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-05-05 10:24:09 -0700
commitbf51cfdbd9e41a2e9e2d16dc8d97ac74d9dd84da (patch)
tree247f486c973db598b860cbe5b1dd9ad7cf92a6f3 /src
parentcb8979d088a66ebaf41f10ba6f5c830615aa0e03 (diff)
SkPDF: clean up uses of deprecated calls in SkPDFFont
Diffstat (limited to 'src')
-rw-r--r--src/pdf/SkPDFFont.cpp97
1 files changed, 49 insertions, 48 deletions
diff --git a/src/pdf/SkPDFFont.cpp b/src/pdf/SkPDFFont.cpp
index c9de907dcc..567806f758 100644
--- a/src/pdf/SkPDFFont.cpp
+++ b/src/pdf/SkPDFFont.cpp
@@ -344,7 +344,7 @@ SkPDFArray* composeAdvanceData(
appendAdvance(advanceInfo->fAdvance[j], emSize,
advanceArray.get());
result->appendInt(advanceInfo->fStartId);
- result->append(advanceArray.get());
+ result->appendObject(advanceArray.detach());
break;
}
case SkAdvancedTypefaceMetrics::WidthRange::kRun: {
@@ -960,8 +960,8 @@ bool SkPDFFont::addCommonFontDescriptorEntries(int16_t defaultWidth) {
fDescriptor->insertScalar("CapHeight",
scaleFromFontUnits(fFontInfo->fCapHeight, emSize));
fDescriptor->insertInt("ItalicAngle", fFontInfo->fItalicAngle);
- fDescriptor->insert("FontBBox", makeFontBBox(fFontInfo->fBBox,
- fFontInfo->fEmSize))->unref();
+ fDescriptor->insertObject(
+ "FontBBox", makeFontBBox(fFontInfo->fBBox, fFontInfo->fEmSize));
if (defaultWidth > 0) {
fDescriptor->insertScalar("MissingWidth",
@@ -982,11 +982,12 @@ void SkPDFFont::populateToUnicodeTable(const SkPDFGlyphSet* subset) {
if (fFontInfo == NULL || fFontInfo->fGlyphToUnicode.begin() == NULL) {
return;
}
- SkAutoTUnref<SkPDFStream> pdfCmap(
- generate_tounicode_cmap(fFontInfo->fGlyphToUnicode, subset,
- multiByteGlyphs(), firstGlyphID(),
- lastGlyphID()));
- insert("ToUnicode", new SkPDFObjRef(pdfCmap.get()))->unref();
+ this->insertObjRef("ToUnicode",
+ generate_tounicode_cmap(fFontInfo->fGlyphToUnicode,
+ subset,
+ multiByteGlyphs(),
+ firstGlyphID(),
+ lastGlyphID()));
}
///////////////////////////////////////////////////////////////////////////////
@@ -1031,8 +1032,8 @@ bool SkPDFType0Font::populate(const SkPDFGlyphSet* subset) {
SkAutoTUnref<SkPDFCIDFont> newCIDFont(
new SkPDFCIDFont(fontInfo(), typeface(), subset));
SkAutoTUnref<SkPDFArray> descendantFonts(new SkPDFArray());
- descendantFonts->append(new SkPDFObjRef(newCIDFont.get()))->unref();
- insert("DescendantFonts", descendantFonts.get());
+ descendantFonts->appendObjRef(newCIDFont.detach());
+ this->insertObject("DescendantFonts", descendantFonts.detach());
populateToUnicodeTable(subset);
@@ -1057,11 +1058,12 @@ bool SkPDFCIDFont::addFontDescriptor(int16_t defaultWidth,
const SkTDArray<uint32_t>* subset) {
SkAutoTUnref<SkPDFDict> descriptor(new SkPDFDict("FontDescriptor"));
setFontDescriptor(descriptor.get());
- insert("FontDescriptor", new SkPDFObjRef(descriptor.get()))->unref();
if (!addCommonFontDescriptorEntries(defaultWidth)) {
+ this->insertObjRef("FontDescriptor", descriptor.detach());
return false;
}
if (!canEmbed()) {
+ this->insertObjRef("FontDescriptor", descriptor.detach());
return true;
}
@@ -1087,8 +1089,7 @@ bool SkPDFCIDFont::addFontDescriptor(int16_t defaultWidth,
SkASSERT(fontStream.get());
fontStream->insertInt("Length1", fontSize);
- descriptor->insert("FontFile2",
- new SkPDFObjRef(fontStream.get()))->unref();
+ descriptor->insertObjRef("FontFile2", fontStream.detach());
break;
}
case SkAdvancedTypefaceMetrics::kCFF_Font:
@@ -1103,13 +1104,13 @@ bool SkPDFCIDFont::addFontDescriptor(int16_t defaultWidth,
} else {
fontStream->insertName("Subtype", "CIDFontType0c");
}
- descriptor->insert("FontFile3",
- new SkPDFObjRef(fontStream.get()))->unref();
+ descriptor->insertObjRef("FontFile3", fontStream.detach());
break;
}
default:
SkASSERT(false);
}
+ this->insertObjRef("FontDescriptor", descriptor.detach());
return true;
}
@@ -1153,10 +1154,10 @@ bool SkPDFCIDFont::populate(const SkPDFGlyphSet* subset) {
}
SkAutoTUnref<SkPDFDict> sysInfo(new SkPDFDict);
- sysInfo->insert("Registry", new SkPDFString("Adobe"))->unref();
- sysInfo->insert("Ordering", new SkPDFString("Identity"))->unref();
+ sysInfo->insertString("Registry", "Adobe");
+ sysInfo->insertString("Ordering", "Identity");
sysInfo->insertInt("Supplement", 0);
- insert("CIDSystemInfo", sysInfo.get());
+ this->insertObject("CIDSystemInfo", sysInfo.detach());
if (fontInfo()->fGlyphWidths.get()) {
int16_t defaultWidth = 0;
@@ -1165,10 +1166,11 @@ bool SkPDFCIDFont::populate(const SkPDFGlyphSet* subset) {
fontInfo()->fEmSize, &appendWidth,
&defaultWidth));
if (widths->size())
- insert("W", widths.get());
+ this->insertObject("W", widths.detach());
if (defaultWidth != 0) {
- insertScalar("DW", scaleFromFontUnits(defaultWidth,
- fontInfo()->fEmSize));
+ this->insertScalar(
+ "DW",
+ scaleFromFontUnits(defaultWidth, fontInfo()->fEmSize));
}
}
if (fontInfo()->fVerticalMetrics.get()) {
@@ -1181,13 +1183,14 @@ bool SkPDFCIDFont::populate(const SkPDFGlyphSet* subset) {
fontInfo()->fEmSize, &appendVerticalAdvance,
&defaultAdvance));
if (advances->size())
- insert("W2", advances.get());
+ this->insertObject("W2", advances.detach());
if (defaultAdvance.fVerticalAdvance ||
defaultAdvance.fOriginXDisp ||
defaultAdvance.fOriginYDisp) {
- insert("DW2", appendVerticalAdvance(defaultAdvance,
- fontInfo()->fEmSize,
- new SkPDFArray))->unref();
+ this->insertObject("DW2",
+ appendVerticalAdvance(defaultAdvance,
+ fontInfo()->fEmSize,
+ new SkPDFArray));
}
}
@@ -1209,9 +1212,8 @@ SkPDFType1Font::SkPDFType1Font(const SkAdvancedTypefaceMetrics* info,
SkPDFType1Font::~SkPDFType1Font() {}
bool SkPDFType1Font::addFontDescriptor(int16_t defaultWidth) {
- if (getFontDescriptor() != NULL) {
- SkPDFDict* descriptor = getFontDescriptor();
- insert("FontDescriptor", new SkPDFObjRef(descriptor))->unref();
+ if (SkPDFDict* descriptor = getFontDescriptor()) {
+ this->insertObjRef("FontDescriptor", SkRef(descriptor));
return true;
}
@@ -1233,11 +1235,10 @@ bool SkPDFType1Font::addFontDescriptor(int16_t defaultWidth) {
fontStream->insertInt("Length1", header);
fontStream->insertInt("Length2", data);
fontStream->insertInt("Length3", trailer);
- descriptor->insert("FontFile",
- new SkPDFObjRef(fontStream.get()))->unref();
+ descriptor->insertObjRef("FontFile", fontStream.detach());
}
- insert("FontDescriptor", new SkPDFObjRef(descriptor.get()))->unref();
+ this->insertObjRef("FontDescriptor", descriptor.detach());
return addCommonFontDescriptorEntries(defaultWidth);
}
@@ -1277,18 +1278,17 @@ bool SkPDFType1Font::populate(int16_t glyphID) {
addWidthInfoFromRange(defaultWidth, widthRangeEntry);
- SkAutoTUnref<SkPDFDict> encoding(new SkPDFDict("Encoding"));
- insert("Encoding", encoding.get());
SkAutoTUnref<SkPDFArray> encDiffs(new SkPDFArray);
- encoding->insert("Differences", encDiffs.get());
-
encDiffs->reserve(lastGlyphID() - firstGlyphID() + 2);
encDiffs->appendInt(1);
for (int gID = firstGlyphID(); gID <= lastGlyphID(); gID++) {
encDiffs->appendName(fontInfo()->fGlyphNames->get()[gID].c_str());
}
+ SkAutoTUnref<SkPDFDict> encoding(new SkPDFDict("Encoding"));
+ encoding->insertObject("Differences", encDiffs.detach());
+ this->insertObject("Encoding", encoding.detach());
return true;
}
@@ -1316,9 +1316,9 @@ void SkPDFType1Font::addWidthInfoFromRange(
} else {
appendWidth(defaultWidth, 1000, widthArray.get());
}
- insertInt("FirstChar", firstChar);
- insertInt("LastChar", firstChar + widthArray->size() - 1);
- insert("Widths", widthArray.get());
+ this->insertInt("FirstChar", firstChar);
+ this->insertInt("LastChar", firstChar + widthArray->size() - 1);
+ this->insertObject("Widths", widthArray.detach());
}
///////////////////////////////////////////////////////////////////////////////
@@ -1351,16 +1351,12 @@ bool SkPDFType3Font::populate(uint16_t glyphID) {
// Flip about the x-axis and scale by 1/1000.
SkMatrix fontMatrix;
fontMatrix.setScale(SkScalarInvert(1000), -SkScalarInvert(1000));
- insert("FontMatrix", SkPDFUtils::MatrixToArray(fontMatrix))->unref();
+ this->insertObject("FontMatrix", SkPDFUtils::MatrixToArray(fontMatrix));
SkAutoTUnref<SkPDFDict> charProcs(new SkPDFDict);
- insert("CharProcs", charProcs.get());
-
SkAutoTUnref<SkPDFDict> encoding(new SkPDFDict("Encoding"));
- insert("Encoding", encoding.get());
SkAutoTUnref<SkPDFArray> encDiffs(new SkPDFArray);
- encoding->insert("Differences", encDiffs.get());
encDiffs->reserve(lastGlyphID() - firstGlyphID() + 2);
encDiffs->appendInt(1);
@@ -1394,11 +1390,16 @@ bool SkPDFType3Font::populate(uint16_t glyphID) {
new SkPDFStream(glyphStream.get()));
}
- insert("FontBBox", makeFontBBox(bbox, 1000))->unref();
- insertInt("FirstChar", 1);
- insertInt("LastChar", lastGlyphID() - firstGlyphID() + 1);
- insert("Widths", widthArray.get());
- insertName("CIDToGIDMap", "Identity");
+ encoding->insertObject("Differences", encDiffs.detach());
+
+ this->insertObject("CharProcs", charProcs.detach());
+ this->insertObject("Encoding", encoding.detach());
+
+ this->insertObject("FontBBox", makeFontBBox(bbox, 1000));
+ this->insertInt("FirstChar", 1);
+ this->insertInt("LastChar", lastGlyphID() - firstGlyphID() + 1);
+ this->insertObject("Widths", widthArray.detach());
+ this->insertName("CIDToGIDMap", "Identity");
populateToUnicodeTable(NULL);
return true;