2017-04-03 2 views
1

私はreport4pdf(bob nemec)パッケージを使用してPDFとしてレポートを生成しています。私は右のいくつかの素敵なセルのパディングをしようとしているとき以外はすべてうまくいく。VisualWorks 8.1で「フォントが見つかりませんでした」というエラーを解決するにはどうすればよいですか?

だから私は、公開リポジトリに接続し、次の更新日:

Report4PDF 1.4.0.1 (コメントはこれがPDFの開発1.4.3.0およびフォントの開発1.3.3.2で一致しましたので、それらあまりにも更新されました。 )。

しかし、コードを更新して実行すると、「フォントが見つかりません」と表示されます。 私は、デバッガを実行すると、デバッガから自己loadedFonts部に「点検」と、案の定:私は辞書オブジェクトを開いたとしてsymbolOrFilenameString =#「はHelvetica-太字」

^self loadedFonts at: aSymbolOrFilenameString ifAbsent: [ 
     FontNotFound raiseSignal: aSymbolOrFilenameString , ' was not found'] 

、フォントがそこにあった。キーが一致しなかっただけです。私はこのアップデート以外のすべてのキーを更新したと推測しています。 とにかく皆さんが私を助けてくれることを願っています。

ありがとうございました!

更新1:

こんにちは!だから、私はloadedFontsのifNilブロックを実行しました。しかし、私は新しい誤りを犯しました。それは言う:OrderedCollection(コレクション)>> notFoundError。 だから、その Graphic.Fonts.OpenType.CmapSubtableクラス>> classForから何かを取得しようとしている:: `

コードビーイング:formatIntegerが4

classFor: formatInteger 
^self allSubclasses detect: [:sc | sc subclasses isEmpty and: [ sc formatNumber = formatInteger]] 

======= 。

ScreenShot of Debugger

+0

「at:」の引数を '(aSymbolOrFilenameString copyWithout:$ - )asSymbol'に置き換えるのが速くて面倒な修正です。しかし、私はこれがあなたが探している解決策の種類であるとは確信していません。 –

+0

うん。より洗練されたソリューションを探していましたが、他に何もない場合は試してみてください...ありがとうございました:) – Mujasoft

答えて

1

Fontクラス>> loadedFonts最新の「フォントの基礎」パッケージに変更され、Report4PDFは新しい名前を使用するように変更されました。ただし、Graphics.Fonts.FontのLoadedFontsクラス変数は、最初の参照で初期化されます。新しいリストを取得するには、最新のコードをロードした後、Fontクラス>> loadedFontsのifNil:[]ブロックを実行する必要があります。

私のイメージでは、最新のコードがロードされているので、# 'Helvetica-Bold'はLoadedFontsで定義されています。

+0

こんにちは!だから、私はloadedFontsのifNilブロックを実行しました。しかし、私は新しい誤りを犯しました。それは言う:OrderedCollection(コレクション)>> notFoundError。 <><><><><> Graphic.Fonts.OpenTypeから何かを取得しようとしています。CmapSubtableクラス>> classFor :: <><><><>< コードビーイング: ================ classFor:formatInteger \t ^自己allSubclassesが検出: [:sc | \t \t SCサブクラスのisEmptyと:[ \t \t SCのFormatNumber = formatInteger] formatInteger 4. ============== Iドンである =======ここからどこへ進んでいくのか知りません。貧弱な書式設定に対する謝罪。私はコメントの中でコーディング権を得るように思えます。 – Mujasoft

関連する問題