#include "core/fpdfapi/font/cpdf_type3font.h"
#include <algorithm>
#include <iterator>
#include <type_traits>
#include <utility>
#include "core/fpdfapi/font/cpdf_type3char.h"
#include "core/fpdfapi/parser/cpdf_array.h"
#include "core/fpdfapi/parser/cpdf_dictionary.h"
#include "core/fpdfapi/parser/cpdf_stream.h"
#include "core/fxcrt/autorestorer.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/fx_system.h"
namespace {
constexpr int kMaxType3FormLevel = …;
}
CPDF_Type3Font::CPDF_Type3Font(CPDF_Document* pDocument,
RetainPtr<CPDF_Dictionary> pFontDict,
FormFactoryIface* pFormFactory)
: … { … }
CPDF_Type3Font::~CPDF_Type3Font() = default;
bool CPDF_Type3Font::IsType3Font() const { … }
const CPDF_Type3Font* CPDF_Type3Font::AsType3Font() const { … }
CPDF_Type3Font* CPDF_Type3Font::AsType3Font() { … }
void CPDF_Type3Font::WillBeDestroyed() { … }
bool CPDF_Type3Font::Load() { … }
void CPDF_Type3Font::LoadGlyphMap() { … }
void CPDF_Type3Font::CheckType3FontMetrics() { … }
CPDF_Type3Char* CPDF_Type3Font::LoadChar(uint32_t charcode) { … }
int CPDF_Type3Font::GetCharWidthF(uint32_t charcode) { … }
FX_RECT CPDF_Type3Font::GetCharBBox(uint32_t charcode) { … }