Hi Dalyoung,
This is a very interesting situation, because it highlights how crucial
it is to work with stable, well-sourced font files, and to run tests on
different machines using exactly the same font binaries, in order to
properly isolate the source of the problem.
In particular, forcing fonts via explicit |file:| paths and
clearing/rebuilding the font cache seems essential here, given the
potential collisions between /Noto KR/ and /Noto CJK KR/ variants (TTF
vs OTF/CFF, variable vs static instances).
It might also be worth checking whether this behaviour is already
documented somewhere in ConTeXt Garden, or whether it should be added as
a note, since this kind of issue is likely to confuse users working with
CJK fonts and outlines.
Le 16/02/2026 à 21:02, Jeong Dal via ntg-context a écrit :
Dear Hans,
Thank you for your concern.
I run the following command in the terminal.
mtxrun --script cache —erase
mtxrun —generate
Don't forget : mtxrun --script fonts --reload
After that I compile “oepsmp.tex”.
But the pdf output is different from yours.
The first one(NotoSansKrregular) is correct, but the second
one(notosanscjkregular) is overlapped text.
It is strange that in the usual output(of my code and Jean-Pierre’s
code) CJK Kr font gives the correct output but just Kr font gives
overlapped output.
% I attached the pdf output in which body font is "Noto Serif CJK Kr”.
There is no
% overlapping in the main text(page 2)
I attach the pdf output of Hans’ code only because of the message
from the list says that it is held for sometime for checking because
of the size of pdf output file.
If I changed the body font to “Noto serif Kr”, then the overlapping is
appeared.
Now, Wolfgang gets the correct outline for both fonts.
*I wonder what is wrong in my system.*
At this point, the most likely explanations seem to be:
1.
/Font resolution collisions/: ConTeXt may resolve |Noto Sans/Serif
KR| and |Noto Sans/Serif CJK KR| to different binaries on different
systems, especially on macOS where system fonts, local fonts, and
cached fonts can coexist.
2.
/Stale or mixed font cache/: even after updating font files, older
font metadata may still be used unless the cache is fully cleared
and rebuilt.
3.
/Font technology differences/: the KR fonts (TrueType / quadratic
outlines, often variable + instances) and the CJK KR fonts (OTF
PostScript / CFF outlines) are technically different, and this may
affect outline extraction in borderline cases.
4.
/Different binaries despite identical names/: using |name:| instead
of |file:| can hide the fact that different font files are actually
being loaded.
I checked the difference between NotoSerif/Sans Kr and NotoSerif/Sans
CJK Kr.
It is the type of the fonts.
NotoSerif/Sans CJK Kr - OpenType PostScript
NotoSerif/Sans Kr - OpenType TrueType
To isolate the issue more reliably, it might help to run a strictly
controlled test:
*
Place the exact font files to be tested (one KR font and one CJK KR
font) in a local directory next to the MWE.
*
Force font loading via explicit |\definedfont[file:…]| paths
(preferably absolute), avoiding any name-based lookup.
*
Clear and rebuild the font cache (|mtxrun --script cache --erase|,
|mtxrun --generate|, |mtxrun --script font --reload|) before
recompiling.
This should make it clear whether the overlap is caused by font
resolution/cache issues or by a platform- or font-specific problem.
I am using OS X 11.7.11 and the version of ConTeXt is
ConTeXt ver: 2026.01.08 23:30 LMTX fmt: 2026.2.16
On macOS, font lookup can easily be affected by system fonts,
duplicates, and cached metadata. To isolate whether the issue comes from
font resolution or from the font files themselves, it may help to run a
strictly controlled local test.
1. Use a local font directory next to the MWE
Create a local directory containing the exact font files you want to test:
|oepsmp/oepsmp.texfonts/NotoSerifCJKkr-Regular.otfNotoSerifCJKkr-Bold.otfNotoSerifKR-Regular.ttfNotoSerifKR-Bold.ttf|
This avoids any interaction with system-installed fonts.
2. Force font loading via explicit file paths
In the preamble, define font synonyms using |file:| paths relative to
the project directory:
|% Local fonts (macOS): no system lookup, no name
collision\definefontsynonym[MySerifCJK-Regular][file:fonts/NotoSerifCJKkr-Regular.otf]
\definefontsynonym[MySerifCJK-Bold] [file:fonts/NotoSerifCJKkr-Bold.otf]
\definefontsynonym[MySerifKR-Regular]
[file:fonts/NotoSerifKR-Regular.ttf] \definefontsynonym[MySerifKR-Bold]
[file:fonts/NotoSerifKR-Bold.ttf] |
This ensures ConTeXt uses exactly these binaries, regardless of system
fonts or cache state.
3. Test both fonts explicitly in |lmt_outline|
For example:
|\startMPpagedraw lmt_outline [ kind = "both", text =
"\definedfont[MySerifKR-Regular]알", fillcolor = "gray", ] scaled 10 ;
draw lmt_outline [ kind = "both", text =
"\definedfont[MySerifCJK-Regular]알", fillcolor = "gray", ] scaled 10
shifted (10*BodyFontSize,0); \stopMPpage|
If the overlap still occurs with this setup, then the issue is likely
font- or platform-specific. If it disappears, it strongly suggests a
font lookup or cache collision.
Thank you your concern.
Best regards,
Dalyoung
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist :[email protected]
/https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage :https://www.pragma-ade.nl /https://context.aanhet.net (mirror)
archive :https://github.com/contextgarden/context
wiki :https://wiki.contextgarden.net
___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : [email protected] /
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive : https://github.com/contextgarden/context
wiki : https://wiki.contextgarden.net
___________________________________________________________________________________