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
___________________________________________________________________________________

Reply via email to