I am facing an issue with printing in Polish language.
This is not a character related issue but related to the Windows XP locale, Polish.
The printing is done from a system running on WES2009 to a network printer.
The print content is sent to this system by another system over the network.
When the language of the WES2009 system is English the contents are printed in Times-Roman.
But when the language is changed to Polish or Hungarian, the same content is printed in the ISO font.
I am not an expert in postscript commands, and also it has been difficult to browse thru all the legacy source code, one thing I could find out was, the font being sent is "Times-Roman-ISOLatin1".
I tried to debug the issue:
I commented the code which is concatenating the string "-ISOlatin1" to the font string "Times-Roman", now the print is in Times-Roman. Why is this affecting only when in Polish and not in English?
Another part of the code: modifies the font if locale is not Polish.
I removed the check (so it is not locale dependent), but with this change, I see the printer data LED blink twice but doesn't print anything.
My suspect is the first part of the code.
Could someone help me understand the link between the OS locale and ISOLatin1.
I can do some more debugging based on your suggestions.
I have attached prints in both the locales.
Note: I cannot post the exact code here, but I have ensured no miss in logic.
/* Create the iso font name by appending the following string onto the main font name */
strcpy (iso_font_name, font_name);
strcat (iso_font_name, (TEXT *)"-ISOLatin1");
/* Select a font to use */
Specify_A_Font ( output_fd, font_name, iso_font_name,
VOID Specify_A_Font(FILE *output_fd,
GetLocaleInfo(LOCALE_USER_DEFAULT, LOCALE_SABBREVLANGNAME, tsLocaleBuf, dim(tsLocaleBuf)); // LOCALE_USER_DEFAULT - XPe
if ((_tcscmp(tsLocaleBuf, _T("CSY")) != 0) &&
(_tcscmp(tsLocaleBuf, _T("HUN")) != 0) &&
(_tcscmp(tsLocaleBuf, _T("PLK")) != 0) )
/* Write the command to perform the encoding vector conversion */
fprintf(output_fd, (TEXT *)"\n/InitialFontName /%s def /NewFontName /%s def iso_font_convert_function \n", ptr_initial_font_name, ptr_new_font_name);
/* Write the command to set the font_name as the font to use */
fprintf(output_fd, (TEXT *)"/%s findfont %1.0f f ", ptr_font_name,
} /* end Specify_A_Font */