Моя цель — получить имя файла шрифта, выбранного в HDC, без использования DirectWrite.
Для этого я подумал, что могу использовать TTGetEmbeddedFontInfo(), потому что doc говорит:
Указатель на структуру TTLOADINFO, содержащую URL-адрес, из которого был получен встроенный объект шрифта.
Но сейчас, когда я вызываю TTGetEmbeddedFontInfo(), моя программа выходит из строя. Вероятно, это связано с моей функцией read_proc, которая является READEMBEDPROC, но я не могу понять, почему это происходит.
#define _CRT_SECURE_NO_DEPRECATE
#include
#include
#include
#pragma comment(lib, "t2embed.lib")
unsigned long write_proc(void* tFile, const void* buffer,
const unsigned long count)
{
return (unsigned long)fwrite((char*)buffer, 1, count, (FILE*)tFile);
}
unsigned long read_proc(void* tFile, void* buffer,
const unsigned long count)
{
return (unsigned long)fread((char*)buffer, 1, count, (FILE*)tFile);
}
int main()
{
HDC hdc = CreateCompatibleDC(nullptr);
if (hdc == nullptr)
throw std::runtime_error("Failed to call CreateCompatibleDC");
WCHAR tempPath[MAX_PATH];
WCHAR tempFileName[MAX_PATH];
UINT uRetVal;
if (GetTempPathW(MAX_PATH, tempPath) == 0)
throw std::runtime_error("Failed to call GetTempPathW");
if (GetTempFileNameW(tempPath, L"TMP", 0, tempFileName) == 0)
throw std::runtime_error("Failed to call GetTempFileNameW");
std::wcout
Подробнее здесь: https://stackoverflow.com/questions/789 ... edfontinfo
Почему мой код аварийно завершает работу при вызове TTGetEmbeddedFontInfo? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Программа JNI C++ аварийно завершает работу при вызове Rest API в цикле
Anonymous » » в форуме Linux - 0 Ответы
- 78 Просмотры
-
Последнее сообщение Anonymous
-
-
-
.NET аварийно завершает работу, когда собственный код передает NULL в выходной параметр CCW
Anonymous » » в форуме C# - 0 Ответы
- 45 Просмотры
-
Последнее сообщение Anonymous
-