blob: 0c53dc44852c5860ccaa9e28ce576957e4e254bc [file] [log] [blame]
/*
* Copyright 2016 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#ifndef SkPDFMakeToUnicodeCmap_DEFINED
#define SkPDFMakeToUnicodeCmap_DEFINED
#include "include/core/SkTypes.h"
#include "src/core/SkTHash.h"
#include <memory>
class SkDynamicMemoryWStream;
class SkPDFGlyphUse;
class SkStreamAsset;
class SkString;
std::unique_ptr<SkStreamAsset> SkPDFMakeToUnicodeCmap(
const SkUnichar* glyphToUnicode,
const skia_private::THashMap<SkGlyphID, SkString>& glyphToUnicodeEx,
const SkPDFGlyphUse* subset,
bool multiByteGlyphs,
SkGlyphID firstGlyphID,
SkGlyphID lastGlyphID);
// Exposed for unit testing.
void SkPDFAppendCmapSections(const SkUnichar* glyphToUnicode,
const skia_private::THashMap<SkGlyphID, SkString>& glyphToUnicodeEx,
const SkPDFGlyphUse* subset,
SkDynamicMemoryWStream* cmap,
bool multiByteGlyphs,
SkGlyphID firstGlyphID,
SkGlyphID lastGlyphID);
#endif // SkPDFMakeToUnicodeCmap_DEFINED