[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[mgp-users-jp 00462] Re: Magic Point on NetBSD-current
- To: mgp-users-jp@mew.org
- Subject: [mgp-users-jp 00462] Re: Magic Point on NetBSD-current
- From: HEO SeonMeyong <seirios@Matrix.IRI.Co.Jp>
- Date: Fri, 2 Apr 1999 02:16:21 +0900
- Cc: seirios@Matrix.iri.co.jp
- In-reply-to: <>
- Posted: Fri, 02 Apr 1999 02:15:49 +0900
- References: <> <>
- Reply-to: mgp-users-jp@mew.org
IRI許です。
> 千葉大の山本です。少し前の話題ですが…。
一番最初に問題を投げた許です。
> VFlib 2.24.2 を使って、vfontcap 中で ft=truetype となっているフォント
> に対し、VF_OpenFont と VF_CloseFont を交互に何度も適用していくという簡
> 単なテストプログラムを実行してみたところ、126 回目の VF_OpenFont で失
> 敗(負の値を返す)してしまいました。どうも VFlib の file manager(fman.c)
> でのリソースの再利用がうまくいっていないようです。ft=freetype となって
> いるフォントの場合は file manager を利用していないためにこの問題は起こ
> らないみたいです。
私はZeitの書体クラブフォントやZ'sWord JG系フォントを全部で21書体持っ
ているので、それを使っています。
ttfも10書体程度はありますが、ZeitのFontを昔から使っている事情もあり
vfontcapに登録していません。
というわけで、Zeit の方でどうなるかを確認しておく必要がありそうです。
VFlib の tools にある fmtestをちょっとだけいじって同様の実験をしまし
た。
ft=jg ft=zeit
zmin0by zkgo0by mincho gothic
83回 83回 125回 125回
で、それぞれ、VF_OpenFontが負の値を返します。
> VFlib の方に手を加えるのが正攻法でしょうが、既に VFlib version 2 がか
> なり普及していると思われることと、毎回 VF_CloseFont をするのもそれなり
> に overhead があることを考慮して、
>
> ・通常は VF_CloseFont しない
> ・フォントテーブルを使いきった時点で VF_Deinit, VF_Init を再度行う
>
> という方針にするというのはいかがでしょうか? 実際には VF_OpenFont の返
> り値が負であったことからだけでは、「フォントテーブルを使いきった」のか、
> 「そもそもそういうフォントがない」のか判定できないので、VF_OpenFont に
> 失敗したときは VF_Deinit, VF_Init して再度 VF_OpenFont を試してみる、
> といったようなことが必要になると思いますが。
私の投げた最初の VF_CloseFont を呼ばないというアプローチは、取り合え
ずFontTableを使い切らないだろうと言う消極的理由で処置したものです。
ですから、個人的には、この対処方法は正しいものであるような気がします。
ほ