Add Length1 in TrueType font streams
Bug: pdfium:892
Change-Id: Ica0377515589a96a8919cb8ed2a3da1d1c9f6191
Reviewed-on: https://pdfium-review.googlesource.com/15030
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Nicolás Peña Moreno <npm@chromium.org>
diff --git a/fpdfsdk/fpdfedit_embeddertest.cpp b/fpdfsdk/fpdfedit_embeddertest.cpp
index 9f43054..1fb0cde 100644
--- a/fpdfsdk/fpdfedit_embeddertest.cpp
+++ b/fpdfsdk/fpdfedit_embeddertest.cpp
@@ -82,6 +82,10 @@
// Check that the font stream is the one that was provided
CPDF_Stream* font_stream = font_desc->GetStreamFor(present);
ASSERT_EQ(size, font_stream->GetRawSize());
+ if (font_type == FPDF_FONT_TRUETYPE) {
+ ASSERT_EQ(static_cast<int>(size),
+ font_stream->GetDict()->GetIntegerFor("Length1"));
+ }
uint8_t* stream_data = font_stream->GetRawData();
for (size_t j = 0; j < size; j++)
EXPECT_EQ(data[j], stream_data[j]) << " at byte " << j;
diff --git a/fpdfsdk/fpdfedittext.cpp b/fpdfsdk/fpdfedittext.cpp
index bac1108..22c6266 100644
--- a/fpdfsdk/fpdfedittext.cpp
+++ b/fpdfsdk/fpdfedittext.cpp
@@ -71,6 +71,11 @@
CPDF_Stream* pStream = pDoc->NewIndirect<CPDF_Stream>();
pStream->SetData(data, size);
+ // TODO(npm): Lengths for Type1 fonts.
+ if (font_type == FPDF_FONT_TRUETYPE) {
+ pStream->GetDict()->SetNewFor<CPDF_Number>("Length1",
+ static_cast<int>(size));
+ }
ByteString fontFile = font_type == FPDF_FONT_TYPE1 ? "FontFile" : "FontFile2";
fontDesc->SetNewFor<CPDF_Reference>(fontFile, pDoc, pStream->GetObjNum());
return fontDesc;