I’m looking into using Docker Engine to run Windows containers.
My requirements are as follows:
1) I run a program that print documents on a Windows container.
2) The print documents file must use external characters (EUDC.TTE).
My problem is that I can’t print using external characters (EUCD.TTE) on a Windows container.
Has anyone successfully used external characters (EUDC.TTE) on a Windows container?
Or if you have any related knowledge please let me know.
Here’s what I’ve tried:
-
Windows containers are run using Docker Engine.
-
The Docker version is “version 28.4.0, build d8eb465”.
-
They run on Windows Server 2025 with “Hyper-V isolation”.
-
The OS base image is “
mcr.microsoft.com/windows/server:ltsc2025”. -
It has been confirmed that program 1 can print documents using external characters (EUDC.TTE) correctly in a standard Windows environment.
-
It has also been confirmed that program 1 can print documents excluding external characters (EUDC.TTE) in a Windows container.
-
I wrote the following operations in the DockerFile:
-
Install the language pack
-
Change the system locale to Japanese
-
Change the user language list to Japanese
RUN dism /online /add-package /packagepath:C:\Fonts\Microsoft-Windows-Server-Language-Pack_x64_ja-jp.cab RUN powershell -Command Set-WinSystemLocale ja-JP RUN powershell -Command Set-WinUserLanguageList ja-JP -Force -
Copy the EUDC file
RUN COPY c:\Fonts\Eudc.tte C:\Windows\Fonts\EUDC.TTE RUN COPY c:\Fonts\Eudc.euf C:\Windows\Fonts\EUDC.EUF -
Register the EUDC file in the registry
RUN reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\EUDC" /v "932" /t REG_SZ /d "C:\Windows\Fonts\EUDC.TTE" /f -
Delete the font cache
RUN sc stop FontCache || exit 0 && del /F /Q C:\Windows\System32\FNTCACHE.DAT && sc start FontCache || exit 0
-
-
After building the above DockerFile, the following process was performed when the container was executed, and then program 1 was executed.
-
Set the locale and user language list to Japanese
powershell -Command Set-WinSystemLocale ja-JP powershell -Command Set-WinUserLanguageList ja-JP -ForceNote: Even though it’s written in the DockerFile,
powershell -Command Set-WinSystemLocale ja-JPThe command didn’t take effect and the locale was set to “en-us (the default for Windows containers),” so
it was re-executed when the container started. -
Clear the font cache
As written in the DockerFile,
we also clear the font cache again here.REM --- Stop the FontCache service --- sc stop FontCache REM --- Clear the font cache --- del /F /Q C:\Windows\System32\FNTCACHE.DAT REM --- Start the FontCache service --- sc start FontCache -
Finally, print a document containing external characters using a printing program.
-