#include <array>
#include <iterator>
#include <memory>
#include <utility>
#include "build/build_config.h"
#include "core/fxcrt/check.h"
#include "core/fxcrt/compiler_specific.h"
#include "core/fxcrt/fx_codepage.h"
#include "core/fxcrt/stl_util.h"
#include "core/fxge/cfx_folderfontinfo.h"
#include "core/fxge/cfx_fontmgr.h"
#include "core/fxge/cfx_gemodule.h"
#include "core/fxge/fx_font.h"
#include "core/fxge/systemfontinfo_iface.h"
#if !BUILDFLAG(IS_LINUX) && !BUILDFLAG(IS_CHROMEOS) && !defined(OS_ASMJS)
#error "Included on the wrong platform"
#endif
namespace {
enum JpFontFamilyRowIndex : uint8_t { … };
constexpr size_t kJpFontFamilyColumnCount = …;
JpFontFamilyRow;
constexpr auto kJpFontTable = …;
const char* const kGbFontList[] = …;
const char* const kB5FontList[] = …;
const char* const kHGFontList[] = …;
JpFontFamilyRowIndex GetJapanesePreference(const ByteString& face,
int weight,
int pitch_family) { … }
class CFX_LinuxFontInfo final : public CFX_FolderFontInfo { … };
void* CFX_LinuxFontInfo::MapFont(int weight,
bool bItalic,
FX_Charset charset,
int pitch_family,
const ByteString& face) { … }
bool CFX_LinuxFontInfo::ParseFontCfg(const char** pUserPaths) { … }
}
class CLinuxPlatform : public CFX_GEModule::PlatformIface { … };
std::unique_ptr<CFX_GEModule::PlatformIface>
CFX_GEModule::PlatformIface::Create() { … }