DOBON.NET DOBON.NETプログラミング掲示板過去ログ

外字エディタを起動したい

環境/言語:[Windows7 64bit、VB2008]
分類:[.NET]

VB2008で外字エディタを以下のコードで起動しようとしております。

(PG1)proc.StartInfo.FileName = "eudcedit.exe"

プログラムを使用せずに外字エディタを実行すると作成した外字が表示されますが、PG1から外字エディタを起動すると「・」となってしまい、表示できません。
編集する際は、表示されますが、実際に外字を利用しようとIMEパッドで入力しようとすると「・」となってしまいます。

どうしたら、プログラムから外字エディタを実行した時も、作成した外字が表示されるようになるでしょうか?
どなたかわかる方よろしくお願いします。
  • 題名: Re[1]: 外字エディタを起動したい
  • 著者: 魔界の仮面弁士
  • 日時: 2014/07/24 11:58:36
  • ID: 32498
  • この記事の返信元:
  • この記事への返信:
    • (なし)
  • ツリーを表示
■No32496に返信(セキさんの記事)
> 編集する際は、表示されますが、実際に外字を利用しようとIMEパッドで入力しようとすると「・」となってしまいます。

当方では再現できませんでした。外字を正しく利用できています。


以下、当方の状況:
・Windows 7x64 Pro with SP1, VS2008 with SP1
・実行ユーザー:管理者としてログオン

(1)外字エディタを起動してみる。未登録状態。
(2)試しに、Shift_JIS=F040、Unicode=E000 に、任意の字形を描画。
(3)フォントのリンクは「すべてのフォントにリンクする」で保存。
(4)VB2008にて以下のコードを実行。
 VB2008は一般ユーザーにて実行。app.manifest は使用しない。

 Dim c As Char = ChrW(&HE000)
 Label1.Text = c
 TextBox1.Text = c

先ほど登録した字形が表示されていることを確認。
また、IMEパッドからの入力も問題なし。

(5)外字エディタ起動コードを実行。
先ほど登録した字形が表示されていることを確認。

 Dim proc As New Process
 'proc.StartInfo.Verb = "RunAs"
 proc.StartInfo.FileName = "eudcedit.exe"
 proc.Start()
 proc.WaitForExit()
 Me.Refresh()

上記コードで起動したエディタで同じ文字を編集し、エディタを閉じると
画面上の外字も即座に新しい字形に変更される。

※Me.Refresh が無かった場合は、次回再描画時までは
TextBox や Label に、古い文字が表示されている。

DOBON.NET | プログラミング道 | プログラミング掲示板