2012-01-02 12 views
0

私はC#のWindowsアプリケーションで作業しています。私はメモ帳にいくつかの内容を書いています。書いた後、私は次のコードメモ帳のMalayalamフォントを取得する

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

を使用してプリンタに送信しています。しかしそうするとき、私は印刷にマラヤーラム語のフォントを取得することはできませんよ。しかし、マラヤラムはノートパッドファイルに入り、ノートパッドから直接印刷する場合もあります。 誰でも解決策を提案できます ありがとうございます

答えて

1

テキストがUnicodeでエンコードされていることを確認してください。どうしてノートパッドを使用しているのですか?惑星の他のテキスト編集プログラムは、より良い仕事をするでしょう。

+0

私はメモ帳で見ることができるので、ユニコードで問題はありません。私の問題は、コードを使用してプリンタにメモ帳を送信中にmalayamaフォントが印刷されないことです。私がマニュアルでメモ帳を開き、ctrl + Pを押すとマラヤーラムが印刷されます –

0

コードを使用して、Banglaやヒンディー語などの他の言語を印刷できますか?もしそうでなければ、あなたのC#開発環境はおそらくutf-8を有効にしていません。

+0

これをコメントとして投稿してください。 – SibiCoder

1

メモ帳で作成されたテキストファイル(.txt)には、フォント情報は含まれていません。メモ帳あなたが選択したフォントを使用してテキストを表示しますが、ファイル自体にはフォントやその他の書式(太字、斜体など)が含まれていません。

メモ帳を式から削除し、代わりにRichTextBoxを使用できます。そのファイル形式では、埋め込まれたフォントやその他の情報(テーブルやイメージなど)が許可されます。そのファイルをプリンタに送信して、代わりに印刷を処理するようにアプリケーション(ワードパッドまたはワード).rtfをデフォルトにすることができます。

外部アプリケーションを使用せずに特定のフォントで印刷する場合は、プリンタの内部フォントを設定するためにプリンタに適切なコードを送信するか、代わりにその情報を送信するソフトウェアを使用する必要があります)。

プリンタの内部フォントを設定するのはベンダー固有のもので、プリンタの製造元から入手できるプリンタのブランドとモデルのドキュメントを確認する必要があります。