ラベル PDFCreator の投稿を表示しています。 すべての投稿を表示
ラベル PDFCreator の投稿を表示しています。 すべての投稿を表示

2009/05/31

PDFCreator日本語問題まとめ

いろいろありましたが、まとめ、いきましょう。とりあえずPDFCreatorのverは0.9.8になります。

PDFCreator0.9.8 (日本語対応バイナリ配布)

コンパイル環境のない方の為に、やすさんからいただいたバイナリとソースをUPしておきますね。やすさん、ありがとう!

配布
  1. PDFCreator0.9.8 (日本語対応exeファイル)
    PDFCreator_0516.zip
    (MD5 : 91ae1b27a964be1cfdbd111b286e445f)
  2. 参考 PDFCreator0.9.8(上記ソース)
    Version 0.9.8_090516.zip
    (MD5 : db8944afaa2e672b31d9f66a8a473060)
使い方
  1. 本家からPDFCreator0.9.8をDLしていただき、一旦インストールします。
  2. その後、PDFCreator.exeを上記1.の日本語版exeファイルと差し替えます。
動作環境の報告

当バイナリは、W2K(SP4)/XP(SP3)での動作が確認されています。

Vista(32bit SP2)環境では、"VB6JP.DLL"をインストールする必要があるようです(これはVisual Basic 6.0 SP6あたりのランタイムを入れれば入ると思われ…)。

Ω Ω Ω

以下は上記ソースにいたるまでの解説・経緯のまとめになります。本家でバージョンアップがされたときのために…。

メニュー画面の日本語化について。

  1. PDFCreatorの文字化けをなおす…必須
  2. PDFCreatorの文字化けをなおす2…小手先
  3. PDFCreatorの文字化け問題-修正箇所発見…Vb6.0でコンパイルできるヒト向け(これで完璧に)

PDF情報の日本語入力について(※すべて、VB6.0でコンパイルできるヒト向け)

  1. PDFCreatorの日本語問題-PDF情報編2
  2. PDFCreatorの日本語問題-PDF情報編…(2)EncodeCharsについての部分のみ利用してください

2.の記事にある「(1)ReplaceEncodingCharsについて」は不完全だということがわかりましたので、以下がやすさんの差し替えソースです。

[Common]-[modPDF.bas]

Public Function ReplaceEncodingChars(Str1 As String) As String
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
On Error GoTo ErrPtnr_OnError
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
50010  Dim i As Integer, tStr As String
'---2009/05/16-START--- by yasu
       Dim bStr() As Byte
       Dim j, k As Integer
'---2009/05/16-End--- by yasu
50020  tStr = ""
50030  ' First we look for oct encoding chars
'---2009/05/16-START--- by yasu
'50040  For i = 127 To 255
'50050   Str1 = Replace$(Str1, "\" & Oct$(i), Chr$(i))
'50060  Next i
50070  ReplaceEncodingChars = Str1

        j = 0
        ReDim bStr(Len(Str1))
        For i = 1 To Len(Str1)
        Do
            If Mid$(Str1, i, 1) <> "\" Then
                bStr(j) = AscB(Mid$(Str1, i, 1)): j = j + 1
            Else
                If i <> Len(Str1) Then
                    If Mid$(Str1, i + 1, 1) Like "[\{}()]" Then
                        bStr(j) = AscB(Mid$(Str1, i + 1, 1)): j = j + 1: i = i + 1
                        Exit Do
                    End If
                End If
                If Len(Str1) - i > 3 Then
                    For k = 1 To 3
                        If Not Mid$(Mid$(Str1, i + 1, 3), k, 1) Like "[0-9]" Then
                            Exit For
                        End If
                    Next
                    If k = 4 Then
                        bStr(j) = CByte("&O" & Mid$(Str1, i + 1, 3)): j = j + 1: i = i + 3
                    Else
                        bStr(j) = AscB(Mid$(Str1, i, 1)): j = j + 1
                    End If
                Else
                    bStr(j) = AscB(Mid$(Str1, i, 1)): j = j + 1
                End If
            End If
        Loop Until 1
        Next
        tStr = StrConv(bStr, vbUnicode)
'---2009/05/16-End--- by yasu
50080  ' Second we look for hex encoding chars
50090  If Len(Str1) >= 4 Then
50100   If Mid$(Str1, 1, 1) = "<" And Mid$(Str1, Len(Str1), 1) = ">" Then
50110    If Len(Str1) Mod 2 = 0 Then
'---2009/05/16-START--- by yasu
          ReDim bStr((Len(Str1) - 2) / 2)
'---2009/05/16-END---
50120     For i = 2 To Len(Str1) - 1 Step 2
50130      If IsNumeric("&H" & Mid$(Str1, i, 2)) = True Then
50140        If CByte("&H" & Mid$(Str1, i, 2)) > 255 Then
50150          Exit Function
50160         Else
'---2009/05/09-START--- by yasu
               bStr((i - 2) / 2) = CByte("&H" & Mid$(Str1, i, 2))
'50170          tStr = tStr & Chr$(CByte("&H" & Mid$(Str1, i, 2)))
'---2009/05/09-END--- by yasu
50180        End If
50190       Else
50200        Exit Function
50210      End If
50220     Next i
'---2009/05/09-START--- by yasu
          tStr = StrConv(bStr, vbUnicode)
'---2009/05/09-END--- by yasu
50230    End If
50240   End If
50250  End If
50260  If Len(tStr) > 0 Then
50270   ReplaceEncodingChars = tStr
50280  End If
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
Exit Function
ErrPtnr_OnError:
Select Case ErrPtnr.OnError("modPDF", "ReplaceEncodingChars")
Case 0: Resume
Case 1: Resume Next
Case 2: Exit Function
Case 3: End
End Select
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
End Function

後半だけでなく、前半の8進変換もどきもバイト配列に一端いれてから日本語変換する必要があったようです。

前段の8進もどきで一体なにをやっているかといいますと…。

たとえば「\203R\203\201\203\223\203g\202\360\223\212\215e」を日本語にすると「コメントの投稿」となるわけですが。「\203R」の「\数値3桁」を16進数に変換、アルファベットをASCIIの16進数に変換すると「83 54」。これはS-JISでの「コ」…。以下略。──という具合に日本語に変換していかなくてはならないわけですよ。数値にアルファベットと入り交ざっているこいつらを一端16進数に戻して、S-JISに変換する、という流れ。

引数で受け取る値を見ても、一見「!?」という感じですし、暗号でも見ている気分でしたよ。やすさんスゴイ!!ヽ(´ー`)ノ

2009/05/18

PDFCreatorの日本語問題-PDF情報編2

やすさんのUPしてくださったソースと比較して、日本語(マルチバイトの文字列)が混ざると、PDFを[保存]できない原因がわかりました。

[保存]できない現象に対しての、修正箇所は

[Common]-[modCDlg.bas]-[SaveFileDialog]

もともとこのモジュールではOPENFILENAMEに対して下記のようにセットしていますが。

オリジナル

50160  With ofn
50170   .nStructSize = Len(ofn)
50180   .hWndOwner = hwnd
50190   .sFilter = tFil
50200   .nFilterIndex = FilterIndex
50210   .sFile = InitFilename & Space$(1024) & vbNullChar & vbNullChar
50220   .nMaxFile = Len(.sFile)
50230   .sDefFileExt = DefaultFileExtension & vbNullChar & vbNullChar
50240   .sFileTitle = vbNullChar & Space$(512) & vbNullChar & vbNullChar
50250   .nMaxTitle = Len(ofn.sFileTitle)

50260   If InitDir = vbNullString Then
50270     .sInitialDir = GetPDFCreatorApplicationPath & vbNullChar & vbNullChar
50280    Else
50290     .sInitialDir = InitDir & vbNullChar & vbNullChar
50300   End If
50310   .sDialogTitle = DialogTitle
50320   .Flags = Flags
50330  End With

OPENFILENAME構造体は、


.nMaxFile   :ファイル名のバッファのサイズを設定

.nMaxFileTitle :フルパス用のバッファのサイズを設定


ですので、オリジナルのようにLenで計算している(行番号07.、10.)と、マルチバイトの文字列が入るとおかしくなっちゃうんですねー。

というわけで、下記のようにLenBにあらためます。

修正後

50160  With ofn
50170   .nStructSize = Len(ofn)
50180   .hWndOwner = hwnd
50190   .sFilter = tFil
50200   .nFilterIndex = FilterIndex
50210   .sFile = InitFilename & Space$(1024) & vbNullChar & vbNullChar
'50220   .nMaxFile = Len(.sFile)
50220   .nMaxFile = LenB(.sFile)  
50230   .sDefFileExt = DefaultFileExtension & vbNullChar & vbNullChar
50240   .sFileTitle = vbNullChar & Space$(512) & vbNullChar & vbNullChar
'50250   .nMaxTitle = Len(ofn.sFileTitle)
50250   .nMaxTitle = LenB(ofn.sFileTitle)

50260   If InitDir = vbNullString Then
50270     .sInitialDir = GetPDFCreatorApplicationPath & vbNullChar & vbNullChar
50280    Else
50290     .sInitialDir = InitDir & vbNullChar & vbNullChar
50300   End If
50310   .sDialogTitle = DialogTitle
50320   .Flags = Flags
50330  End With

この部分を修正すると無事、マルチバイトの文字列が入っていても、[保存]できるようになりますねぇ。

ちなみに[ReplaceEncodingChars]については、前回の16進変換の修正のみのモジュールのままでも、とりあえずのところは動きました(←そして8進変換の役割が、相変わらず、わかっていないじょにでした。[\XXX]の8進数を文字に置換しているのはわかっていても、「何故変換するのか。なにが入ってきて、どう変換すべきなのか」というそもそもの役割とかが見えきていないッス・泣)。

2009/05/10

PDFCreatorの日本語問題-PDF情報編

「PDFCreatorの文字化け問題-修正箇所発見」のやすさんのコメント欄からの記事になります。

PDFCreatorは家使いなのでそこまで使いきっている感じでもなく、これまで私は素通りしていましたが。PDFCreatorは印刷時のPDF情報を設定する際、日本語が混じっているとその部分はスルーする、という現象があるのですね。日本語を入れるとはじかれる、無視される…。

私の場合、家にはVB6.0環境がないので、とりあえず、やすさんのコメント欄とソースコードを頼りにロジックのみ考えてみました。

ちなみに問題のモジュールを含む本家オリジナルのソースはこちら

(1)ReplaceEncodingCharsについて

やすさんの修正案のコードの全貌。

Public Function ReplaceEncodingChars(Str1 As String) As String
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
On Error GoTo ErrPtnr_OnError
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
50010  Dim i As Integer, tStr As String
50011  Dim bStr() As Byte
50020  tStr = ""
50030  ' First we look for oct encoding chars
50040  For i = 127 To 255
50050   Str1 = Replace$(Str1, "\" & Oct$(i), Chr$(i))
50060  Next i
50070  ReplaceEncodingChars = Str1
50080  ' Second we look for hex encoding chars
50090  If Len(Str1) >= 4 Then
50100   If Mid$(Str1, 1, 1) = "<" And Mid$(Str1, Len(Str1), 1) = ">" Then
50110    If Len(Str1) Mod 2 = 0 Then
50111     ReDim bStr((Len(Str1) - 2) / 2)
50120     For i = 2 To Len(Str1) - 1 Step 2
50130      If IsNumeric("&H" & Mid$(Str1, i, 2)) = True Then
50140        If CByte("&H" & Mid$(Str1, i, 2)) > 255 Then
50150          Exit Function
50160         Else
'50170     tStr = tStr & Chr$(CByte("&H" & Mid$(Str1, i, 2)))
50170          bStr((i - 2) / 2) = CByte("&H" & Mid$(Str1, i, 2))
50180        End If
50190       Else
50200        Exit Function
50210      End If
50220     Next i
50221     tStr = StrConv(bStr, vbUnicode)
50230    End If
50240   End If
50250  End If
50260  If Len(tStr) > 0 Then
50270   ReplaceEncodingChars = tStr
50280  End If
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
Exit Function
ErrPtnr_OnError:
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
End Function

ReplaceEncodingCharsの役割としては、

  1. 引数には、バイナリの文字列が渡される。
     たとえば「<82E282B782B382F182B182F182CE82F182CD8142>」こんな文字列を引き渡される。
  2. 返り値としては、日本語の文字列を返せばOK。

という関数なわけですね?(コードから推測…)

だとすると、やすさんの修正案通り、バイトの配列を一端作る流れが妥当だと私も思います。

いまのところ、敢えて修正案を出すなら

50130      If IsNumeric("&H" & Mid$(Str1, i, 2)) = True Then
50140        If CByte("&H" & Mid$(Str1, i, 2)) > 255 Then
50150          Exit Function
50160         Else

あたりの分岐はコメントアウトしちゃっていいんじゃないの?と思ったくらいでしょうか。「なんかもー、どうせバイト変換できないときに抜けちゃうなら、エラー処理でいいんじゃないの?」と思うので…。

それにしてもオリジナルのコードは明らかにおかしいですよね。2桁ずつゲットして文字変換されても、マルチバイトな言語では明らかに困るだろう。(;´Д`)

(2)EncodeCharsについて

やすさんの修正案のコードの全貌。

Public Function EncodeChars(ByVal CodePage As eCodePage, ByVal Str1 As String) As String ' UTF-16, UTF-8 conversion
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
On Error GoTo ErrPtnr_OnError
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
50010  Dim i As Long, tStr As String, Size As Long, buffer() As Byte, c As Long, tL As Long
50020
50030  If LenB(Str1) = 0 Then
50040   Exit Function
50050  End If
50061  Select Case CodePage
        Case eCodePage.CP_NoEncoding
50080    EncodeChars = "(" & Str1 & ")"
50090   Case eCodePage.CP_UTF8
50100    For i = 1 To Len(Str1)
50110     c = AscW(Mid$(Str1, i, 1))
50121     Select Case c
           Case 0 To &H7F&
50140       tStr = tStr & String(2 - Len(Hex(c)), "0") & Hex(c)
50150      Case &H80& To &H7FF&
50160       tL = &HC0& Or ((c And &H3FC0&) \ &H40&)
50170       tStr = tStr & String(2 - Len(Hex(tL)), "0") & Hex(tL)
50180       tL = &H80& Or (c And &H3F&)
50190       tStr = tStr & String(2 - Len(Hex(tL)), "0") & Hex(tL)
50200      Case &H800& To &HFFFF&
50210       tL = &HE0& Or ((c And &HF000&) \ &H1000&)
50220       tStr = tStr & String(2 - Len(Hex(tL)), "0") & Hex(tL)
50230       tL = &H80& Or ((c And &HFC0&) \ &H40&)
50240       tStr = tStr & String(2 - Len(Hex(tL)), "0") & Hex(tL)
50250       tL = &H80& Or (c And &H3F&)
50260       tStr = tStr & String(2 - Len(Hex(tL)), "0") & Hex(tL)
50270     End Select
50280    Next i
50290    EncodeChars = "<BFBBEF" & tStr & ">"
50540   Case eCodePage.CP_UTF16
50550    For i = 1 To Len(Str1)
50560     c = AscW(Mid$(Str1, i, 1))
'50570     tStr = tStr & String(4 - Len(Hex(c)), "0") & Hex(c)
50570     tStr = tStr & Right("0000" & Hex(c), 4)
50580    Next i
50590    EncodeChars = "<FEFF" & tStr & ">"
50600  End Select
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
Exit Function
ErrPtnr_OnError:

'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
End Function

引数でエンコーディング、及び文字列を渡して、引数で決めたエンコーディングの16進を返すファンクションですね(eCodePageはEnumで、CP_NoEncoding/CP_UTF8/CP_UTF16の三択です)。

AscWが負の値のとき(たとえば「髙」とか)、オリジナルのコードだとHex(c)に「FFFF9AD9」などアタマ4桁に余計なコードがついて16進数を返せなくなくなりますね。36行目を

50560 c = CLng("&H" & Hex(AscW(Mid$(Str1, i, 1))))

このように修正すれば、どうにか…、という感じですけど。

やすさんのRight関数を使っての4桁取得が妥当ですよね。エレガントだし、これはこれで完成っぽいですね。


やすさんへ

いろいろネタ的には初めて尽くしで、すごく勉強になりました!ありがとうございます。

(1)の方は、根本的にこれ以上のロジックが私のアタマで浮かぶか怪しいですが、しばらく考えてみます。

もともとどこかでbyteの配列をゲットしているチャンスがあるんだから、そのままどーにかならなかったの?とか思わなくもありませんが。そこまで手を広げていくと、収拾つかなくなっていきそうですよね…。

いやー、それにしてもこうしてみてみると、つくづくと面白いですね!(←だんだんノってきた) +。:.゚ヽ(*´∀`)ノ゚.:。+゚

2009/05/08

PDFCreatorの文字化け問題-修正箇所発見

昨日に引き続き、ソースを見ていたらキャラセット問題は解決したので、「記事を書こうかなー」と思っていたところ、前回の記事のコメント欄で匿名さんからまさに同じ結論がくだされていて笑いました。本日私が修正したソースとあまりに同じ結果でしたので。…行番号まで(w)

匿名さんのおっしゃる通り、標準モジュール([Common])の[modGeneral2]-[SetFrame]を下記のように書き換えれば(13、14行目を追加すればOK。フォントサイズも変更したければ、匿名さんのコメントどおり、11行目を「50070 ctl.Font.Name = Options.ProgramFont」に変更)、日本語表示はどーにかなります。とゆーか、キャラセット問題は全面解決しそうな予感…。未確認ですが、現状だと欧文以外は多分全部文字化けしていると思うんですよね。

Public Sub SetFrame(ByRef ctl As Control, Optional TempOptionsDesign = -1)
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
On Error GoTo ErrPtnr_OnError
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
50010  Dim tOD As Long
50020  If TempOptionsDesign > -1 Then
50030    tOD = TempOptionsDesign
50040   Else
50050    tOD = Options.OptionsDesign
50060  End If
50070  ctl.Font.Size = 10
'-----------------// 追加ここから //------------------------
50071  ctl.Font.Name = Options.ProgramFont
50072  ctl.Font.Charset = Options.ProgramFontCharset
'-----------------//  ここまで  //------------------------
50080  ctl.TextShaddowColor = &HC00000
50090  If ComputerScreenResolution <= 8 Or tOD = 1 Then
50100    ctl.UseGradient = False: ctl.Caption3D = [Flat Caption]
50110    If UCase$(ctl.Name) = "DMFRADESCRIPTION" Then
50120      ctl.BarColorFrom = vbRed
50130     Else
50140      ctl.BarColorFrom = vbBlue
50150    End If
50160   Else
50170    ctl.UseGradient = True: ctl.Caption3D = [Raised Caption]
50180    If UCase$(ctl.Name) = "DMFRADESCRIPTION" Then
50190      ctl.BarColorFrom = &HB0BED  '&HA0A0FF ' &HFB&
50200      ctl.BarColorTo = &H20564  '&HE0& ' &HDDFF&
50210     Else
50220      ctl.BarColorFrom = &HED0B0B '&HFFA0A0
50230      ctl.BarColorTo = &H640502 '&H600000
50240    End If
50250  End If
'---ErrPtnr-OnError-START--- DO NOT MODIFY ! ---
Exit Sub
ErrPtnr_OnError:
Select Case ErrPtnr.OnError("modGeneral2", "SetFrame")
Case 0: Resume
Case 1: Resume Next
Case 2: Exit Sub
Case 3: End
End Select
'---ErrPtnr-OnError-END--- DO NOT MODIFY ! ---
End Sub

これをコンパイルして、exeファイルを上書きしたら、ちゃんと日本語表示されました(色々訳アリで、setup.exeを作ってないので、exeの上書き)。

SourceForge.netだとこの辺のソース


本家で直してもらわないと、バージョンアップの度にこの作業をしなくちゃならないのでフィードバックしたいなぁ、と思っているわけですが。なにせSourceForgeみたいなものを使ったことがないので(スタンドアローン、バッチ処理、ほぼ単独での開発が身の上)、参加の仕方がわからない。(;´Д`)

Trackerの辺りで発言するのが手っ取り早そうだけれども、気後れ状態…。あーでも頑張りますー(たぶんね)。

追記→5/9、Trackerで投稿してみました。

…これからどうなるんでしょう。ヽ(。_°)ノ?

2009/05/07

PDFCreatorの文字化け問題(研究)

あいかわらずぼちぼちPDFCreatorの文字化け関連にまつわる記事にはアクセスいただいているようなので、久しぶりに本家をのぞいてみました。すると0.9.8まで出ているのですね。早速アップデート。

…しかしやはり日本語は化けますね。

オープンソースなので、落としてソースをみてみたところ、なんだよVB6.0じゃんか…(.NetだったらExpressで家でも開けるのに!テキストエディタで見るのはシンドイわ…)。

VB6.0の[フォーム]のプロパティの「Font」の「...」をクリックすると出てくるあの画面デス。

ちょいちょいと見た限りでは、フォームのFontプロパティの文字セットが[欧文]のままになっていて、化け化けになるように見受けられますな(※図参照)。

なんとなーくどの辺のモジュールでセットしているのかは、分かってきたけれども時間切れ。…中途半端なネタですいません。しかしこれVB6.0でいまだに開発しているのですね。それもちょっとショック(まだver0.9ですけど。ver1.0までこのまま突っ走るのでしょうかね)。C#なら張り切るのに!!

2008/08/24

PDFCreatorの文字化けをなおす2

[PDFCreatorの文字化けをなおす]でインストールしたPDFCreatorですが、ある程度日本語化しても、肝心のPDF保存の画面で化けるんですね。

▲文字化けしないところは日本語で…。化ける、化けないの違いは一体何故なんだ…。

[\PDFCreator\languages]フォルダを調べると、「TransTool.exe」というソフトがあり、どうやらこのツールで日本語ファイルを作るようです。ところが、このソフトでjapanese.iniファイルを作りなおしても、PDF保存の画面だけは、どうもうまくいかないようです。

…というわけで、文字化けする部分のみ、ひとまず英語で使いまわそうと思って処理(化けるよりはマシです)。english.iniファイルをコピーすることにしました。

  1. japanese.iniをコピーして[japanese_02.ini]ファイルを作成。
  2. [japanese_02.ini]の3行目あたりで「Languagename=Japanese (日本語)」→「Languagename=Japanese2 (日本語)」
  3. [Printing] のあたりをごそっと差し替えて保存。
Author=A&uthor:
BMPFiles=BMP-Files
Cancel=キャンセル (&C)
Collect=まとめて保存 (&W)
CreationDate=Creation &Date:
DocumentTitle=Document &Title:
EMail=&eMail
EPSFiles=EPS(Encapsulated PostScript)
JPEGFiles=JPEG
Keywords=&Keywords:
ModifyDate=&Modify Date:
Now=現在日時
PCXFiles=PCX
PDFFiles=PDF
PNGFiles=PNG
PSFiles=PS
Save=保存 (&S)
StartStandardProgram=ファイル保存後、PDF文書を開く (&A)
Status=ファイル作成中...
Subject=Su&bject:
TIFFFiles=TIFF
  1. [設定]→[言語] の[現在の言語設定]で[Japanese2 (日本語)]を設定

以上、お粗末さまでした。

2008/06/16

PDFCreatorの文字化けをなおす

PDFCreator0.9.5をインストールしました。任意のソフト経由で印刷可能な各種ファイルを、PDF形式に変換できるソフトです。フリーなので自宅マシンのお供に…。

PDF自体は問題なく生成できるわけですが、デフォルトだと、ソフト自身のメニューが凄い文字化けなんですね。何故ならメニュー画面のフォントが合っていないから。

というわけで、手順のメモ。文字化けの嵐なので画像つき。

▲そのイチ:[設定]画面

▲そのニ:[プログラムの設定]画面

  • PDFCreatorを起動する。
  • [プリンタ]→[設定]→[プログラム設定]→[フォント]
  • [プログラムのフォント]→MS UI Gothicを選択
  • [キャラクタ]→128
  • [サイズ]→10くいらい?
  • [保存]

ソフトを再起動すると、文字化けがおさまっているハズです。はー、スッキリ。

Ω Ω Ω

蛇足。会社で私はSOURCENEXTの「いきなりPDF」を使っているのですが、こいつのことをイシカワさんは「どこでもPDF」(それはOpenOffice.orgの拡張機能なのでは…?DokodemoPDF)呼ばわりしたり、「なんでもPDF」(それはシルバースタージャパンの製品なのでは?)呼ばわりするので、「イシカワさん、この辺、大雑把だからなー…」と思っていたわけですが。よくよく考えて見ると、勘違いする程度にどれもかなり似たり寄ったりの名前ですね(そして機能も)。商品名の争いとかにはならないんでしょうかね。ちょっと不思議。

memo→PDFCreatorの文字化けをなおす2

PDF保存の画面で化ける件について…。