在记事本中获取马拉雅拉姆字体

时间:2012-01-02 06:54:55

标签: c#-2.0 notepad

我在C#Windows应用程序中工作,我正在写一些内容到记事本,print.txt位于启动位置。写完后,我使用以下代码将其发送到打印机

PrintDialog pd = new PrintDialog();  
RawPrinterHelper.SendFileToPrinter(
    pd.PrinterSettings.PrinterName, 
    Application.StartupPath + "\\print.txt");

但是当这样做时,我无法在打印中获得malayalam字体。但马拉雅拉姆进入记事本文件,甚至直接从记事本打印。 任何人都可以提出解决方案 提前致谢

3 个答案:

答案 0 :(得分:1)

确保您的文字采用Unicode编码,为什么地球上甚至使用记事本?这个星球上的任何其他文本编辑程序都会做得更好。

答案 1 :(得分:1)

使用记事本创建的文本文件(.txt)不包含任何字体信息。记事本使用您选择的字体显示您的文本,但文件本身不包含字体或任何其他格式(粗体,斜体等)。

您可以从公式中删除记事本,然后使用RichTextBox代替;该文件格式允许嵌入字体和其他信息(如表格和图像)。然后,您可以将该文件发送到打印机,然后让默认的.rtf应用程序(写字板或Word)处理打印。

如果要在不使用外部应用程序的情况下以特定字体打印,则需要将正确的代码发送到打印机以设置打印机的内部字体,或使用发送该信息的软件(如Word或PDF)

设置打印机的内部字体是特定于供应商的,您需要查看打印机品牌和型号的文档,该文档应该从打印机制造商处获得。

答案 2 :(得分:0)

您可以使用代码打印孟加拉语或印地语等其他语言吗?如果没有,则可能是您的C#开发环境未启用utf-8。