Some fonts are missing from the font file list.

Started by ander_cc, April 14, 2026, 08:58:13 AM

Previous topic - Next topic

ander_cc

Like "Cascadia Mono", I can't see it in font name list. But can set in theme file.
Btw: When I was translating rc file, I noticed line 3409 had still read "version 13.00".
See attach files.
Pelles C v14, Windows 11 pro Chinese (Samplify) 25H2

John Z

#1
Hi ander_cc,

On my system the Cascadia fonts are there. See attachment.
Windows 11 Home 25H2, so seems they 'should' be there on Pro . . . it is not a Pelles IDE issue I think...

Try going to windows settings, personalization, fonts, then see what is there.

John Z

P.S. The title on the resource 9 file also shows 13 I believe

ander_cc

Quote from: John Z on April 14, 2026, 01:55:09 PMHi ander_cc,

On my system the Cascadia fonts are there. See attachment.
Windows 11 Home 25H2, so seems they 'should' be there on Pro . . . it is not a Pelles IDE issue I think...

Try going to windows settings, personalization, fonts, then see what is there.

John Z

P.S. The title on the resource 9 file also shows 13 I believe
I also try it in my laptop, it is Win11 Home 25h2, and a Win10 pc, but miss some fonts too. Maybe this issue is only related to the Windows Chinese Edition.

John Z

You could be right, seems like it.  Did you check windows settings, personalization, fonts ..... that would be definitive if it is not showing there.

You might try Microsoft Store and see if the font is available to be installed.

John Z

TimoVJL

#4
Silly example to check if font exists
#define WIN32_LEAN_AND_MEAN
#include <windows.h>

int CALLBACK EnumFontFamProc(const LOGFONT *lpelf, const TEXTMETRIC *lpntm,
  DWORD FontType, LPARAM lParam)
{
    static int nCnt;
    OutputDebugString(lpelf->lfFaceName);
    if (!lstrcmp(lpelf->lfFaceName, (TCHAR*)lParam))
        nCnt++;
    return nCnt;
}

void __cdecl WinMainCRTStartup(void)
{
    HDC hDC = GetDC(GetDesktopWindow());
    //int nFont = EnumFontFamilies(hDC, TEXT("Consolas"), EnumFontFamProc, (LPARAM)TEXT("Consolas"));
    int nFont = EnumFontFamilies(hDC, TEXT("Cascadia Mono"), EnumFontFamProc, (LPARAM)TEXT("Cascadia Mono"));
    if (nFont) MessageBox(0, "font found", "Font", MB_OK);
    else MessageBox(0, "font not found", "Font", MB_OK);
    ExitProcess(0);
}
May the source be with you

Vortex

Hi Timo,

Compiling your code, I get the font not found message on Windows 7 Sp1.
Code it... That's all...

TimoVJL

May the source be with you

Pelle

I am deliberately filtering the fonts list. At least last time I checked, several years ago, not doing this filtering gave me many fonts I couldn't use.
I will have to think about this (when I can find the time)...
/Pelle

Pelle

Quote from: ander_cc on April 14, 2026, 08:58:13 AMLike "Cascadia Mono", I can't see it in font name list. But can set in theme file.
Btw: When I was translating rc file, I noticed line 3409 had still read "version 13.00".
The version is in many places, this place is less important. I will fix this some day.

To get some progress here, could you please compile and run the following program. If you see fonts in the output that you want, but don't see in the IDE, please post the following info:

1) The 6 lines following "#1: LOCALE FONT SIGNATURE"
2) The 3-9 lines from "#2: LIST OF FONTS" for the missing font(s).

#define WIN32_LEAN_AND_MEAN
#define UNICODE
#include <windows.h>
#include <stdio.h>

#pragma comment(lib, "user32.lib")
#pragma comment(lib, "gdi32.lib")

#define DWFMT  "%#010lx"

static wchar_t *CharSetName(BYTE bCharSet)
{
#define CASE(x) case x: return L"" # x
    switch (bCharSet)
    {
        CASE(ANSI_CHARSET);
        CASE(ARABIC_CHARSET);
        CASE(BALTIC_CHARSET);
        CASE(CHINESEBIG5_CHARSET);
        CASE(DEFAULT_CHARSET);
        CASE(EASTEUROPE_CHARSET);
        CASE(GB2312_CHARSET);
        CASE(GREEK_CHARSET);
        CASE(HANGEUL_CHARSET);
        CASE(HEBREW_CHARSET);
        CASE(JOHAB_CHARSET);
        CASE(MAC_CHARSET);
        CASE(OEM_CHARSET);
        CASE(RUSSIAN_CHARSET);
        CASE(SHIFTJIS_CHARSET);
        CASE(SYMBOL_CHARSET);
        CASE(THAI_CHARSET);
        CASE(TURKISH_CHARSET);
        CASE(VIETNAMESE_CHARSET);
        default: return L"?";
    }
#undef CASE
}

static wchar_t *FontTypeName(DWORD dwFontType)
{
#define CASE(x) case x: return L"" # x
    switch (dwFontType)
    {
        CASE(DEVICE_FONTTYPE);
        CASE(RASTER_FONTTYPE);
        CASE(TRUETYPE_FONTTYPE);
        case 0: return L"0";
        default: return L"?";
    }
#undef CASE
}

static int CALLBACK EnumFontFaceProc(const ENUMLOGFONTEX *pelf,
    const NEWTEXTMETRICEX *pntm, DWORD dwFontType, LPARAM lParam)
{
    LOCALESIGNATURE *pls = (void *)lParam;

    printf("  ------------------------------\n");

    printf("  lfFaceName: \"%ls\"\n", pelf->elfLogFont.lfFaceName);
    printf("  dwFontType: %ls\n", FontTypeName(dwFontType));
    printf("  lfCharSet: %ls\n", CharSetName(pelf->elfLogFont.lfCharSet));

    if ((dwFontType & TRUETYPE_FONTTYPE) != 0)
    {
        printf("  ntmFontSig.fsUsb[0]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsUsb[0],
            (pntm->ntmFontSig.fsUsb[0] & pls->lsUsb[0]));

        printf("  ntmFontSig.fsUsb[1]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsUsb[1],
            (pntm->ntmFontSig.fsUsb[1] & pls->lsUsb[1]));

        printf("  ntmFontSig.fsUsb[2]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsUsb[2],
            (pntm->ntmFontSig.fsUsb[2] & pls->lsUsb[2]));

        printf("  ntmFontSig.fsUsb[3]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsUsb[3],
            (pntm->ntmFontSig.fsUsb[3] & pls->lsUsb[3]));


        printf("  ntmFontSig.fsCsb[0]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsCsb[0],
            (pntm->ntmFontSig.fsCsb[0] & pls->lsCsbSupported[0]));

        printf("  ntmFontSig.fsCsb[1]: " DWFMT " (mask locale => " DWFMT ")\n",
             pntm->ntmFontSig.fsCsb[1],
            (pntm->ntmFontSig.fsCsb[1] & pls->lsCsbSupported[1]));
    }

    return 1;
}

int main(void)
{
    HDC hdc = GetDC(NULL);
    if (hdc != NULL)
    {
        LOCALESIGNATURE ls;

        if (!GetLocaleInfoEx(LOCALE_NAME_USER_DEFAULT, LOCALE_FONTSIGNATURE,
            (WCHAR *)&ls, sizeof(ls) / sizeof(WCHAR)))
            return 1;

        printf("#1: LOCALE FONT SIGNATURE:\n");
        printf("  ls.lsUsb[0]: " DWFMT "\n", ls.lsUsb[0]);
        printf("  ls.lsUsb[1]: " DWFMT "\n", ls.lsUsb[1]);
        printf("  ls.lsUsb[2]: " DWFMT "\n", ls.lsUsb[2]);
        printf("  ls.lsUsb[3]: " DWFMT "\n", ls.lsUsb[3]);
        printf("  ls.lsCsbSupported[0]: " DWFMT "\n", ls.lsCsbSupported[0]);
        printf("  ls.lsCsbSupported[1]: " DWFMT "\n", ls.lsCsbSupported[1]);

        printf("\n#2: LIST OF FONTS:\n");
        LOGFONT lf = {
            .lfCharSet = DEFAULT_CHARSET,
            .lfFaceName[0] = L'\0',
            .lfPitchAndFamily = 0,
        };
        EnumFontFamiliesEx(hdc, &lf, (FONTENUMPROC)EnumFontFaceProc, (LPARAM)&ls, 0);

        ReleaseDC(NULL, hdc);
        return 0;
    }
    return 1;
}
/Pelle

ander_cc

Quote from: Pelle on April 19, 2026, 09:36:31 PMThe version is in many places, this place is less important. I will fix this some day.

To get some progress here, could you please compile and run the following program. If you see fonts in the output that you want, but don't see in the IDE, please post the following info:

1) The 6 lines following "#1: LOCALE FONT SIGNATURE"
2) The 3-9 lines from "#2: LIST OF FONTS" for the missing font(s).
Thank you!
#1: LOCALE FONT SIGNATURE:
  ls.lsUsb
  • : 0000000000
  ls.lsUsb[1]: 0x28010000
  ls.lsUsb[2]: 0x00000002
  ls.lsUsb[3]: 0x80000000
  ls.lsCsbSupported
  • : 0x00040000
  ls.lsCsbSupported[1]: 0000000000

#2: LIST OF FONTS:

Cascadia font family all miss and Consolas font.

  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ANSI_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: GREEK_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: TURKISH_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: BALTIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: EASTEUROPE_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: RUSSIAN_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Consolas"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: VIETNAMESE_CHARSET
  ntmFontSig.fsUsb[0]: 0xe00006ff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0x0000fcff (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00000001 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x6000019f (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xdfd70000 (mask locale => 0000000000)
   lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ANSI_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: HEBREW_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ARABIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: GREEK_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: TURKISH_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: BALTIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: EASTEUROPE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: RUSSIAN_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Code"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: VIETNAMESE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
   ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ANSI_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: HEBREW_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ARABIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: GREEK_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: TURKISH_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: BALTIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: EASTEUROPE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: RUSSIAN_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: VIETNAMESE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ANSI_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: HEBREW_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: ARABIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: GREEK_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: TURKISH_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: BALTIC_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: EASTEUROPE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: RUSSIAN_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)
  ------------------------------
  lfFaceName: "Cascadia Mono SemiBold"
  dwFontType: TRUETYPE_FONTTYPE
  lfCharSet: VIETNAMESE_CHARSET
  ntmFontSig.fsUsb[0]: 0xa1002aff (mask locale => 0000000000)
  ntmFontSig.fsUsb[1]: 0xc200f9fb (mask locale => 0000000000)
  ntmFontSig.fsUsb[2]: 0x00040020 (mask locale => 0000000000)
  ntmFontSig.fsUsb[3]: 0000000000 (mask locale => 0000000000)
  ntmFontSig.fsCsb[0]: 0x600001ff (mask locale => 0000000000)
  ntmFontSig.fsCsb[1]: 0xffff0000 (mask locale => 0000000000)

ander_cc

Quote from: Pelle on April 18, 2026, 05:58:35 PMI am deliberately filtering the fonts list. At least last time I checked, several years ago, not doing this filtering gave me many fonts I couldn't use.
I will have to think about this (when I can find the time)...
I check the output of your code paste below.
I think you filter the fonts with "GB2312_CHARSET" ? Maybe add "ANSI_CHARSET" could fix it.