Caps-exported font, some glyphs don't work/render

,

Windows, SDK 3.0.5, reproduced on Simulator and Device

Can someone tell me what’s going wrong here?

I’ve got a Korean font I’ve exported from Caps, and the Korean glyphs render fine in Caps (note the ‘X’ shown for the space character, that character isn’t in the font yet):

But this is what shows up in Simulator and on device (all that shows up is the English text and the ‘X’ for the missing space):

The code is dirt-simple (main.lua):

local gfx = playdate.graphics

theFont = gfx.font.new("fonts/Mulmaru-12px")

gfx.setColor(gfx.kColorWhite)
gfx.setImageDrawMode(gfx.kDrawModeCopy)

function playdate.update()
gfx.fillRect(0, 0, 400, 240)
theFont:drawText("Test:한국어 글리프", 5, 10)
end

Test case:

ktest.pdx.zip (59.3 KB)

Project/source, including .fnt/.png used:

KoreanFontTest2.zip (391.5 KB)

(I know this may be somewhat redundant with the discussion going on over here, but IMO this thread has isolated the problem to either a Caps issue or an SDK issue, as I’ve removed all non-Panic-bits from the scenario, hopefully as presented here this issue will be straightforward to at least reproduce)

Edit: Note that it’s not just that the glyphs don’t render, there’s not only not an ‘X’ where they should be if they weren’t ‘found’ in the font, there’s nothing… not even an empty space. It’s like pdc itself saw ‘한‘ etc. and just said ‘Nope!’ and skipped over them entirely.

More investigation…

I swapped in a 'ひ' code for the '한' code in the .fnt file (kept the same glyph for '한' in the .png:

And the Korean glyph in the .png now shows up:

So, the .png is good. It’s the ‘한‘ in the .fnt file that something in the pipeline doesn’t like.

SDK Lua docs state:

And some googling shows:

image

So it looks like the character is in range?

Maybe not? But the font creator seems to have gotten them to work:

Scratching my head, here.

This is looking more and more like a bug… folks digging in and discussing here for reference.