Files

110 lines
2.9 KiB
C++

// SPDX-FileCopyrightText: Copyright 2024 shadPS4 Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "prx/libSceFontFt/include/FontFtDriver.hpp"
#include "prx/libc/include/General.hpp"
#pragma GCC visibility push(default)
struct FontFtAliases;
struct FontFtGlyphSelection;
extern "C" {
const Font::SysDriver* APS5_VABI sceFontSelectLibraryFt(int value) {
return value == 0 ? FontFt::DriverTable() : nullptr;
}
const Font::RendererSelection* APS5_VABI sceFontSelectRendererFt(int value) {
return value == 0 ? FontFt::RendererTable() : nullptr;
}
int APS5_VABI sceFontFtInitAliases(FontFtAliases** aliases) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSetAliasFont(const char* alias, std::uint32_t fontId) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSetAliasPath(const char* alias, const char* path) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSupportBdf(FontLibrary library) {
return FontFt::SupportFormats(library, {"bdf"});
}
int APS5_VABI sceFontFtSupportCid(FontLibrary library) {
return FontFt::SupportFormats(library, {"t1cid"});
}
int APS5_VABI sceFontFtSupportFontFormats(FontLibrary library, std::uint32_t formats) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSupportOpenType(FontLibrary library) {
return FontFt::SupportFormats(library, {"cff", "truetype"});
}
int APS5_VABI sceFontFtSupportOpenTypeOtf(FontLibrary library) {
return FontFt::SupportFormats(library, {"cff"});
}
int APS5_VABI sceFontFtSupportOpenTypeTtf(FontLibrary library) {
return FontFt::SupportFormats(library, {"truetype"});
}
int APS5_VABI sceFontFtSupportPcf(FontLibrary library) {
return FontFt::SupportFormats(library, {"pcf"});
}
int APS5_VABI sceFontFtSupportPfr(FontLibrary library) {
return FontFt::SupportFormats(library, {"pfr"});
}
int APS5_VABI sceFontFtSupportSystemFonts(FontLibrary library) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSupportTrueType(FontLibrary library) {
return FontFt::SupportFormats(library, {"truetype"});
}
int APS5_VABI sceFontFtSupportTrueTypeGx(FontLibrary library) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
int APS5_VABI sceFontFtSupportType1(FontLibrary library) {
return FontFt::SupportFormats(library, {"type1"});
}
int APS5_VABI sceFontFtSupportType42(FontLibrary library) {
return FontFt::SupportFormats(library, {"type42"});
}
int APS5_VABI sceFontFtSupportWinFonts(FontLibrary library) {
return FontFt::SupportFormats(library, {"winfonts"});
}
int APS5_VABI sceFontFtTermAliases(FontFtAliases** aliases) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
const FontFtGlyphSelection* APS5_VABI sceFontSelectGlyphsFt(std::int32_t selector) {
NotImplemented_nid_no_patch(__func__);
return 0;
}
}
#pragma GCC visibility pop